Microsoft Azure API Management の validate-jwt policy を使用する方法

2019年12月30日
投稿者:岩佐 孝浩
カテゴリ:Microsoft Azure タグ:

Microsoft Azure API Management の validate-jwt policy を使用する方法

鈴木商店の岩佐です。
Azure API Management の validate-jwt policy を使用する必要がありましたので、備忘録として残します。
署名アルゴリズムはHS256 (共通鍵) を使用していますが、要件に応じてRS256も検討して下さい。

validate-jwt policy を追加

設定画面を開く

api-management-01

api-management-02

設定

api-management-03

JWT 仕様
Azure API Management | JWT を検証する

例として以下の値を設定しています。要件に応じて適宜変更して下さい。
・Validated by
 ・Header
・Header name
 ・Authorization
・Failed validation HTTP code
 ・401 – Unauthorized
・Require expiration time / Required signed tokens
 ・YES
・Require scheme
 ・Bearer
・Issuer signing keys
 ・推測が困難な任意の値(例として、 date +%s | sha256sum | base64 の値を使用)
 ・重要:128bit 以上の値を指定しないと、正常なJWTも401 Unauthorizedとなります。
  ・https://stackoverflow.com/questions/51039420/azure-api-management-jwt-validation-fails
・Audiences/Issuers/Required claims
 ・任意の値
 ・必須項目ではありませんが、JWTの標準的なペイロードのため、設定することが望ましいと考えられます。

APIを試す

下記の {{API Endpoint}}, {{JWT}}, {{API Management Subscription Key}} に適切な値を設定して、実行して下さい。
お手軽にJWTを生成したい場合、JWT.ioが便利です。

以上、お役に立てれば幸いです。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です