メインコンテンツへスキップ
Auth0では、コンプライアンスを強化するため、また、秘密鍵の漏洩によってセキュリティが損なわれないように、定期的な鍵素材のローテーションを推奨しています。を使用すると、新しい鍵にローテーションして使うことができます。新しい資格情報を作成し、private_key_jwtでの認証方法と関連付けて、未使用または古い資格情報を削除する必要があります。
アプリケーションでのストレージは、現在、一度に2つの資格情報までに制限されています。新しい資格情報を繰り返しローテーションするには、使用していない資格情報を削除する必要があります。
  • Auth0 Dashboardの使用
  • Management APIの使用
Auth0 Dashboardでアプリケーションの資格情報をローテーションする方法:
  1. [Auth0 Dashboard] > [Applications(アプリケーション)] > [Applications(アプリケーション)]に移動し、更新したいアプリケーションを選択します。
  2. [Credentials(資格情報)] タブに切り替えます。
  3. [Available Credentials(利用可能な資格情報)] セクションで、[Add New Key(新しいキーを追加)] を選択します。
  4. 新しい資格情報の名前、PEM形式の公開鍵、新しい資格情報のアルゴリズムを設定します。
  5. [Add Credential(資格情報の追加)] を選択します。
  6. 新しい資格情報を有効にするには、資格情報のメニューに移動し、[Enable for Private Key JWT use(秘密鍵JWTの使用を有効にする)] を選択します。
  7. 新しい資格情報を使用するためにアプリケーションを更新したら、元の資格情報は無効にします。
    1. [Disable for Private Key JWT Use(秘密鍵JWTの使用を無効にする)] を選択します。
    2. 無効にしたら、資格情報のメニューに戻り、[Delete Credential(資格情報の削除)] を選択します。

アクティブな資格情報

ダウンタイムが発生しないように、ローテーション中は複数の資格情報がアクティブであっても構いません。鍵が更新されるまでは、アプリケーションが古い鍵を使用しても正常に動作します。アプリケーションは、アクティブであればどのような資格情報を使っても、署名のあるアサーションを送信することができます。 ただし、複数の資格情報が使われる時間は最小限に留めることをお勧めします。以下は、複数の資格情報を使用している例です。
curl --location --request PATCH 'https://$tenant/api/v2/clients/$client_id' \
  --header 'Authorization: Bearer $management_access_token' \
  --header 'Content-Type: application/json' \
  --data-raw '{
          "client_authentication_methods": {
             "private_key_jwt": {
                "credentials": [{ "id": $credential1.id }, { "id": $credential2.id }]
             }
          }
 }'

もっと詳しく

I