66
例示のJWKファイルは、RFC標準に記載されている3つの初期タイプのキーを表しま
す 。こ れ ら の キ ー の 形 式 も RFC標 準の 一 部です。kty 属 性 が キ ー の 種 類 で す 。こ の フ ァ
イル は オクテットシ ー ケンス ( oct)、楕円円形 (EC) およびRSAタイプの3つの主要なタ
イプ を 示します。kid属性はキーIDです。これらのキーの他の属性は、そのタイプの
キーの標準で指定されています。詳細については、これらの標準のRFCドキュメン
トを 参 照してくだ さい 。
解説
さまざまな言語で利用できるライブラリが多数存在し、JWKを生 成するために使用で
きます。JWKを定期的に作成およびローテーションするための、JWKの中心的な権限
である主要なサービスを作成することをお勧めします。セキュリティを強化するため
に、JWKをSSL/TLS証明書と同様に安全にすることをお勧めします。キーファイルを適
切なユーザーやグループ 権 限で安全に保護してください。それらをホストのメモリに保
持することがベストプラクティスです。ramfsのようなメモリ内ファイルシステムを作成
してこれを実 行できます。一 定の間 隔でキーをローテーションさせることも重 要です。
公開鍵と秘密鍵を作成し、APIを 介して アプ リケー ションと NGINXに提供する鍵サー
ビスを作成することも選択できます。
関連項目
JSON Web Key RFC 標準ドキュメンテーション
6.5 NGINX Plus でのJSON Webトークンの照合
問題
NGINX PlusでJSON Webトークンを照 合する必 要があります。
解決法
NGINX Plusに付属のJWTモジュールを使用して、ロケーションまたはサーバーを保護
し 、照 合 す るト ー ク ン と して $cookie_auth_tokenを使 用するようにauth_jwtディレク
ティブに指 示します。
location /private/ {
auth_jwt "Google Oauth" token=$cookie_auth_token;
auth_jwt_key_file /etc/nginx/google_certs.jwk;
}
この構成は、JWT照合を使用して/private/ URIパスを保護するようにNGINX Plusに指示
しますGoogle OAuth 2.0 OpenID Connectは 、デ フ ォ ル ト の ベ ア ラ ー ト ー ク ン で は な く
auth_tokenを 使 用 し ま す 。そ の た め 、NGINX Plusの デ フ ォ ル ト の 場 所 で は な く 、こ の cookie
| 第6章:認 証