> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 署名鍵

> Auth0 は RS256 署名鍵ペアを使用して ID トークン、アクセストークン、SAML アサーションに署名します。ローテーションによって、アプリケーションが有効なキーを信頼し続ける仕組みについて説明します。

export const AuthLink = ({href, target = "_blank", rel = "noopener noreferrer", children}) => {
  const [processedHref, setProcessedHref] = useState(null);
  useEffect(() => {
    let unsubscribe = null;
    function init() {
      unsubscribe = window.autorun(() => {
        let processedHref = href;
        for (const [key, value] of window.rootStore.variableStore.values.entries()) {
          const escapedKey = key.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
          processedHref = processedHref.replace(new RegExp(escapedKey, "g"), value);
        }
        if (processedHref !== href) {
          setProcessedHref(processedHref);
        }
      });
    }
    if (window.rootStore) {
      init();
    } else {
      window.addEventListener("adu:storeReady", init);
    }
    return () => {
      window.removeEventListener("adu:storeReady", init);
      unsubscribe?.();
    };
  }, [href]);
  if (!processedHref) {
    return <code>{href}</code>;
  }
  return <a className="link" href={processedHref} target={target} rel={rel}>
      {children}
    </a>;
};

推奨される <Tooltip tip="署名アルゴリズム: トークンが改ざんされていないことを保証するために、トークンにデジタル署名する際に使用されるアルゴリズムです。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=signing+algorithm">署名アルゴリズム</Tooltip> (RS256) を選択すると、Auth0 は公開鍵暗号方式を使用してアプリケーションとの信頼関係を確立します。より一般的に言うと、公開鍵と秘密鍵のペアで構成される署名鍵を使用します。

署名鍵は、アプリケーションまたは API に送信される <Tooltip tip="署名アルゴリズム: トークンが改ざんされていないことを保証するために、トークンにデジタル署名する際に使用されるアルゴリズムです。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=ID+tokens">ID トークン</Tooltip>、<Tooltip tip="ID トークン: リソースへのアクセスではなく、クライアント自体を対象としたクレデンシャルです。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=access+tokens">アクセストークン</Tooltip>、<Tooltip tip="アクセストークン: API へのアクセスに使用される、opaque な文字列または JWT 形式の認可クレデンシャルです。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=SAML">SAML</Tooltip> アサーション、および <Tooltip tip="Security Assertion Markup Language (SAML): パスワードなしで 2 者間が認証情報を交換できるようにする標準化されたプロトコルです。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=WS-Fed">WS-Fed</Tooltip> アサーションの署名に使用されます。署名鍵は、署名された <Tooltip tip="JSON Web トークン (JWT): 2 者間でクレームを安全に表現するために使用される標準的な ID トークン形式（および多くの場合はアクセストークン形式）です。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=JSON+web+token">JSON Web トークン</Tooltip> (JWT) の署名を検証するための、well-known な公開鍵を含む JSON web key (JWK) です。JSON web key set (JWKS) は、<Tooltip tip="認可サーバー: ユーザーのアクセス範囲の境界を定義するのに役立つ中央集約型サーバーです。たとえば、認可サーバーはユーザーが利用できるデータ、タスク、機能を制御できます。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=authorization+server">認可サーバー</Tooltip> によって発行され、RS256 署名アルゴリズムで署名されたあらゆる JWT を検証するために使用される公開鍵を含むキーのセットです。Web トークンの検証に使用する JWK は通常サービスごとに 1 つですが、署名証明書がローテーションされている場合は、JWKS に複数のキーが含まれることがあります。

<div id="how-it-works">
  ## 仕組み
</div>

ユーザーがあなたのアプリケーションにサインインすると、Auth0 はそのユーザーに関する情報を含むトークンを作成し、アプリケーションに返す前に秘密鍵でそのトークンに署名します。この秘密鍵は Auth0 によって保護されており、テナントごとに一意です。

トークンが有効であり、Auth0 から発行されたものであることを確認するために、アプリケーションは公開鍵を使ってトークンの署名を検証します。また、アプリケーションのセキュリティキー管理機能は、Auth0 Dashboard と <Tooltip tip="Management API: お客様が管理タスクを実行できるようにする製品です。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=Management+API">Management API</Tooltip> の両方から利用できます。

Auth0 では、セキュリティ侵害が発生した場合にも確実に対応できるよう、キーを定期的にローテーションすることを推奨しています。

追加のアプリケーション署名証明書は以下のとおりです。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  これらのリンクは、正確な情報を提供するために、現在アクティブなテナントに基づいて生成されます。これらのリンクにアクセスするには、テナントの資格情報を使用して `auth0.com/docs` にログインしている必要があります。

  サインインするには、右上の **Log in** を選択します。ログイン後は、プロフィールアイコンを選択し、**Switch tenant** を選ぶことでテナントを切り替えられます。
</Callout>

* <AuthLink href="https://{yourDomain}/cer">CER</AuthLink>
* <AuthLink href="https://{yourDomain}/pem">PEM</AuthLink>
* <AuthLink href="https://{yourDomain}/rawpem">raw PEM</AuthLink>
* <AuthLink href="https://{yourDomain}/pb7">PB7</AuthLink>
* <AuthLink href="https://{yourDomain}/fingerprint">Fingerprint</AuthLink>

この情報は、<Tooltip tip="Auth0 Dashboard: サービスを設定するための Auth0 の主要製品です。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=Auth0+Dashboard">Auth0 Dashboard</Tooltip> から個々のアプリケーションについて取得することもできます。その場合は、対象のアプリケーションの **設定** ページに移動し、**Advanced Settings** を展開して **Certificates** タブを選択します。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Auth0 は、アプリケーションに送信されるアサーションに署名するために、アプリケーション署名鍵を使用します。これらのアサーションには、ID トークン、アクセストークン、SAML アサーション、WS-Fed アサーションが含まれる場合があります。なお、これらのキーは、IdP への SAML request の署名や IdP からのレスポンスの暗号化など、接続とのやり取りで使用されるキーとは異なります。

  デフォルトでは、IdP 接続の SAML アサーションには署名が付与されます。これは推奨される設定です。IdP の設定に使用できる公開鍵を取得するには、[SAML Identity Provider Configuration: Signed Assertions](/docs/ja-jp/authenticate/protocols/saml/saml-identity-provider-configuration-settings) を参照してください。
</Callout>

ローテーションと取り消しのプロセスは、希望する手順に合わせて柔軟に進められるようになっており、アプリケーションを円滑に移行できます。たとえば、先にアプリケーションを更新してからキーをローテーションし、その後でキーを取り消すこともできます。あるいは、先にキーをローテーションしてからアプリケーションを更新し、古いキーを取り消すことも可能です。

利用可能なキーは次のとおりです。

* **Currently used**: 現在、すべての新しいアサーションの署名に使用されているキー。
* **Previously used**: 以前使用されていたキー。すでにローテーションされていますが、このキーで生成されたアサーションは引き続き機能します。
* **Next in queue**: キューに入っているキー。次回アプリケーション署名鍵がローテーションされる際に、現在のキーと置き換わります。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  本番環境でアプリケーション署名鍵をローテーションする前に、必ず開発用テナントで署名鍵のローテーションをテストしてください。
</Callout>

<div id="limitations">
  ## 制限事項
</div>

署名鍵のローテーションには、他のAPIエンドポイントよりも厳しいレート制限が適用されます。詳しくは、[Management API Rate Limits](/docs/ja-jp/troubleshoot/customer-support/operational-policies/rate-limit-policy/management-api-endpoint-rate-limits)をご覧ください。

<div id="learn-more">
  ## 詳細
</div>

* [署名鍵のローテーション](/docs/ja-jp/get-started/tenant-settings/signing-keys/rotate-signing-keys)
* [署名鍵の取り消し](/docs/ja-jp/get-started/tenant-settings/signing-keys/revoke-signing-keys)
* [署名証明書の表示](/docs/ja-jp/get-started/tenant-settings/signing-keys/view-signing-certificates)
* [アプリケーションの署名アルゴリズムを変更](/docs/ja-jp/get-started/applications/change-application-signing-algorithms)
