メインコンテンツへスキップ
Auth0 では、コンプライアンス要件を満たし、秘密鍵の漏えいによってセキュリティが損なわれることを防ぐために、鍵マテリアルを定期的にローテーションすることを推奨しています。 または を使用して、新しい鍵に切り替えることができます。新しい認証情報を作成し、それを private_key_jwt 認証方法に関連付けて、古い認証情報または未使用の認証情報を削除する必要があります。
現在、アプリケーションに保存できる認証情報は同時に 2 つまでです。新しい認証情報を繰り返しローテーションするには、未使用の認証情報を削除する必要があります。
Auth0 Dashboard を使用してアプリケーションの認証情報をローテーションするには、次の手順に従います。
  1. Auth0 Dashboard > Applications > Application に移動し、更新するアプリケーションを選択します。
  2. Credentials タブに切り替えます。
  3. Available Credentials セクションで、Add New Key を選択します。
  4. 新しい認証情報の名前、PEM 形式の公開鍵、およびその認証情報のアルゴリズムを設定します。
  5. Add Credential を選択します。
  6. 新しい認証情報を有効にするには、その認証情報のメニューに移動し、Enable for Private Key JWT use を選択します。
  7. アプリケーションが新しい認証情報を使用するよう更新したら、元の認証情報を無効にします。
    1. Disable for Private Key JWT Use を選択します。
    2. 無効にしたら、認証情報のメニューに戻って Delete Credential を選択します。

有効な認証情報

ダウンタイムを発生させないようにするため、ローテーション中は複数の認証情報を有効な状態のままにしておくことができます。キーが更新されるまで、アプリケーションは古いキーを使用して通常どおり動作できます。アプリケーションは、有効な認証情報のいずれの組み合わせでも署名付きアサーションを送信できます。 Auth0 では、複数の認証情報を同時に使用する期間はできるだけ短くすることを推奨しています。以下の例では、関連する複数の認証情報を使用しています。
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 }]
             }
          }
 }'

詳しく見る