推奨される (RS256) を選択すると、Auth0 は公開鍵暗号方式を使用してアプリケーションとの信頼関係を確立します。一般的には、公開鍵と秘密鍵のペアで構成される署名鍵を使用します。
署名鍵は、アプリケーションまたは API に送信される 、、 アサーション、および アサーションの署名に使用されます。署名鍵は JSON Web Key (JWK) であり、署名された (JWT) の署名を検証するために使われる、公開された既知の公開鍵を含みます。JSON Web Key Set (JWKS) は、 によって発行され、RS256 署名アルゴリズムで署名された任意の JWT を検証するための公開鍵を含む鍵セットです。サービスは Web トークンの検証に 1 つの JWK しか使用しない場合がありますが、署名証明書がローテーションされている場合、JWKS には複数の鍵が含まれることがあります。
ユーザーがアプリケーションにサインインすると、Auth0 はユーザー情報を含むトークンを作成し、そのトークンをアプリケーションに返す前に秘密鍵で署名します。この秘密鍵は Auth0 によって保護されており、テナントごとに一意です。
トークンが有効であり、Auth0 によって発行されたものであることを確認するため、アプリケーションは公開鍵を使用してトークンの署名を検証します。また、Auth0 は Dashboard と の両方で、その他のアプリケーションセキュリティ鍵管理機能も提供しています。
Auth0 では、セキュリティ侵害が発生した場合に迅速に対応できるよう、鍵を定期的にローテーションすることを推奨しています。
追加のアプリケーション署名証明書は以下に表示されます。
これらのリンクは、現在アクティブなテナントに基づいて生成され、正確な情報を提供します。これらのリンクにアクセスするには、テナントの認証情報を使用して auth0.com/docs にログインしている必要があります。サインインするには、右上の Log in を選択します。ログイン後は、プロフィールアイコンを選択して Switch tenant を選ぶと、テナントを切り替えられます。
この情報は、 から個別のアプリケーションについて取得することもできます。その場合は、対象のアプリケーションの Settings ページに移動します。次に、Advanced Settings を展開し、Certificates タブを選択します。
Auth0 は、アプリケーションに送信されるアサーションに署名するために、アプリケーション署名鍵を使用します。これらのアサーションには、IDトークン、アクセストークン、SAML アサーション、WS-Fed アサーションが含まれる場合があります。なお、これらの鍵は、接続とのやり取りで使用される鍵とは異なります。これには、IDプロバイダー (IdP) への SAML リクエストの署名や、IdP からのレスポンスの暗号化が含まれます。デフォルトでは、IdP 接続の SAML アサーションには署名が付与されます。これは推奨設定です。IdP の設定に使用できる公開鍵を取得するには、SAML Identity Provider Configuration: Signed Assertions を参照してください。
ローテーションと失効のプロセスは、運用上の方針に応じた柔軟な対応を可能にし、アプリケーションの円滑な移行を支援します。まずアプリケーションを更新してから鍵をローテーションし、失効させることもできます。逆に、先に鍵をローテーションし、その後でアプリケーションを更新して古い鍵を失効させることもできます。
使用可能な鍵は次のとおりです。
- Currently used: 現在、すべての新しいアサーションへの署名に使用されている鍵。
- Previously used: 以前使用されていたが、ローテーションによって置き換えられた鍵。この鍵で生成されたアサーションは引き続き有効です。
- Next in queue: キューに入っている鍵。次回アプリケーション署名鍵がローテーションされる際に、現在の鍵と置き換わります。
本番環境でアプリケーション署名鍵をローテーションする前に、必ず開発用テナントで署名鍵のローテーションをテストしてください。
署名鍵のローテーションには、他の API エンドポイントよりも厳しいレート制限が適用されます。詳しくは、Management API のレート制限を参照してください。