> ## 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テナントで 送信者制約 を設定する方法の概要。

# 送信者制約 を設定する

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Demonstrating Proof-of-Possession (DPoP) による 送信者制約 は、現在 Early Access です。この機能へのアクセスをリクエストするには、Auth0 の担当者にお問い合わせください。
</Callout>

[送信者制約](/ja/docs/secure/sender-constraining) は、アクセストークンと <Tooltip tip="" cta="用語集を表示" href="/ja/docs/glossary?term=refresh+tokens">リフレッシュトークン</Tooltip> を、それらを取得した特定のクライアントアプリケーションに暗号学的に結び付けることで、トークンの盗難や不正使用を防ぐ <Tooltip tip="" cta="用語集を表示" href="/ja/docs/glossary?term=OAuth+2.0">OAuth 2.0</Tooltip> および <Tooltip tip="" cta="用語集を表示" href="/ja/docs/glossary?term=OpenID">OpenID</Tooltip> Connect (OIDC) のセキュリティメカニズムです。

Auth0 は、mTLS 送信者制約 と Demonstrating Proof-of-Possession (DPoP) をサポートしています。クライアントアプリケーションで 送信者制約 を有効にする場合は、API 呼び出し先の <Tooltip tip="" cta="用語集を表示" href="/ja/docs/glossary?term=resource+server">リソースサーバー</Tooltip> に対してもこれを強制する必要があります。

Auth0 で 送信者制約 を設定するには、次の作業が必要です。

* [クライアントアプリケーションで 送信者制約 を設定する](#configure-sender-constraining-for-a-client-application)。
* [リソースサーバーで 送信者制約 を設定する](#configure-sender-constraining-for-a-resource-server)。

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

<Tooltip tip="" cta="用語集を表示" href="/ja/docs/glossary?term=Access+tokens">アクセストークン</Tooltip> が Auth0 で送信者制約付きになるかどうかは、クライアントアプリケーションとリソースサーバーで送信者制約をどのように設定しているかによって決まります。

1. **要求するオーディエンス:** トークンリクエストで、要求するオーディエンスが `/userinfo` のみか、[`/userinfo`](https://auth0.com/docs/api/authentication/user-profile/get-user-info) エンドポイントでのみ使用することを意図しているか、または `openid` スコープも要求した場合に `/userinfo` を含む可能性があるカスタム API かによって、アクセストークンが送信者制約付きになるかどうかが変わります。
2. **クライアントアプリケーション:** クライアントアプリケーションで送信者制約を `required` に設定しているかどうか。
3. **リソースサーバー:** リソースサーバーで送信者制約を設定しているかどうか。

   1. `none`: リソースサーバーで送信者制約を設定していません。
   2. `allowed`: 送信者制約方式を設定して、リソースサーバーで送信者制約を有効にしています。
   3. `required`: リソースサーバーで送信者制約を必須に設定しています。つまり、アクセストークンはアプリケーションに対して送信者制約付きである必要があります。送信者制約方式の設定が必要です。

* **所持証明:** クライアントアプリケーションがトークンリクエストで所持証明アサーションを送信したかどうか。

  * mTLS 送信者制約: 所持証明は、TLS ハンドシェイク中にクライアントが特定の秘密鍵 (クライアント証明書に関連付けられたもの) を使用できることを正常に示すことで証明されます。
  * DPoP: 所持証明は、クライアントが自身の秘密鍵で暗号学的に署名して DPoP Proof JWT を作成し、関連付けられたアクセストークンを使用するすべてのリクエストの DPoP HTTP ヘッダーに `DPoP` Proof JWT を含めることで実現されます。

次の表は、さまざまなクライアントリクエストパラメーターと Auth0 リソースサーバーの設定に基づいて、アクセストークンがどのように発行されるか、および送信者制約付きかどうかを示しています。

| 要求するオーディエンスの種類                   | クライアントで PoP が必須か | クライアントが所持証明 (PoP) を送信したか | Auth0 リソースサーバーポリシー: None | Auth0 リソースサーバーポリシー: Allowed (必須ではない) | Auth0 リソースサーバーポリシー: Required |
| -------------------------------- | ---------------- | ------------------------ | ------------------------ | ------------------------------------ | ---------------------------- |
| Userinfo のみ                      | いいえ              | いいえ                      | 発行される、送信者制約なし            | N/A                                  | N/A                          |
| Userinfo のみ                      | いいえ              | はい                       | 発行される、送信者制約あり            | N/A                                  | N/A                          |
| Userinfo のみ                      | はい               | いいえ                      | 発行されない                   | N/A                                  | N/A                          |
| Userinfo のみ                      | はい               | はい                       | 発行される、送信者制約あり            | N/A                                  | N/A                          |
| カスタム オーディエンス (Userinfo を含む場合がある) | いいえ              | いいえ                      | 発行される、送信者制約なし            | 発行される、送信者制約なし                        | 発行されない                       |
| カスタム オーディエンス (Userinfo を含む場合がある) | いいえ              | はい                       | 発行される、送信者制約なし            | 発行される、送信者制約あり                        | 発行される、送信者制約あり                |
| カスタム オーディエンス (Userinfo を含む場合がある) | はい               | いいえ                      | 発行されない                   | 発行されない                               | 発行されない                       |
| カスタム オーディエンス (Userinfo を含む場合がある) | はい               | はい                       | 発行されない                   | 発行される、送信者制約あり                        | 発行される、送信者制約あり                |

<div id="configure-sender-constraining-for-a-client-application">
  ## クライアントアプリケーションの 送信者制約 を設定する
</div>

クライアントアプリケーションで 送信者制約 を必須にすると、アクセストークンはそのアプリケーションに制約されます。Auth0 はリクエストを検証し、トークンを要求したアプリケーションだけが、そのトークンを使用して関連リソースにアクセスできるようにします。

クライアントアプリケーションで 送信者制約 を必須に設定すると、リソースサーバーの設定時に 送信者制約方式 として mTLS または DPoP を指定できます。

クライアントアプリケーションの 送信者制約 は、<Tooltip tip="" cta="用語集を表示" href="/ja/docs/glossary?term=Auth0+Dashboard">Auth0 Dashboard</Tooltip> または <Tooltip tip="" cta="用語集を表示" href="/ja/docs/glossary?term=Management+API">Management API</Tooltip> を使用して設定できます。

<Tabs>
  <Tab title="Auth0 Dashboard">
    1. [Dashboard > Applications > Applications](https://manage.auth0.com/#/applications) に移動し、設定するアプリケーションを選択します。
    2. **Settings** で、**Token Sender-Constraining** までスクロールします。
    3. **Require Sender Constraining** をオンにします。アプリケーションの 送信者制約 必須設定を解除するには、オフにします。

    <Frame>
      <img src="https://mintcdn.com/translations/3nS3prIggmJG9TUI/docs/images/cdy7uua7fh8z/3BoGW9NEYKPBkfk2tPBL7l/0f884ac3f64f17b23fd6a0e9436bb472/Screenshot_2024-07-23_at_1.30.19_PM.png?fit=max&auto=format&n=3nS3prIggmJG9TUI&q=85&s=085696f753798fd16adf27de995d4b93" alt="" width="1900" height="380" data-path="docs/images/cdy7uua7fh8z/3BoGW9NEYKPBkfk2tPBL7l/0f884ac3f64f17b23fd6a0e9436bb472/Screenshot_2024-07-23_at_1.30.19_PM.png" />
    </Frame>
  </Tab>

  <Tab title="Management API">
    クライアントの 送信者制約 を設定するには、[Management API](https://auth0.com/docs/api/management/v2) を使用します。

    クライアントで 送信者制約 を必須にするには、[クライアント設定を更新する](https://auth0.com/docs/api/management/v2/clients/patch-clients-by-id) PATCH リクエストを送信します。`require_proof_of_possession` パラメーターを `true` に設定します。

    ```json lines theme={null}
    "require_proof_of_possession": true
    ```

    送信者制約 の必須設定を解除するには、`require_proof_of_possession` パラメーターを `false` に設定します。

    ```json lines theme={null}
    "require_proof_of_possession": false
    ```
  </Tab>
</Tabs>

<div id="configure-sender-constraining-for-a-resource-server">
  ## リソースサーバーの送信者制約を設定する
</div>

Auth0 が発行するアクセストークンは、リソースサーバー上の API にアクセスする必要がある送信者 (つまりクライアントアプリケーション) に制約できます。

Auth0 Dashboard または Management API を使用して、リソースサーバーの送信者制約を設定できます。

<Tabs>
  <Tab title="Auth0 Dashboard">
    トークンバインディングまたは送信者制約を有効にするには、API の **API Settings** を設定します。

    1. [Auth0 Dashboard > Applications > APIs](https://manage.auth0.com/#/apis) に移動します。
    2. 設定する API を選択します。
    3. **Settings** タブで、**Token Sender-Constraining** セクションを探します。
    4. 以下を設定します。

       1. Sender Constraining Method:

          1. **None:** リソースサーバーに対して送信者制約方式を有効にしません。
          2. **mTLS**: リソースサーバーの送信者制約方式として mTLS を有効にします。
          3. **DPoP:** リソースサーバーの送信者制約方式として DPoP を有効にします。

    B. **Require Token Sender Constraining** をオンにします。この API 用にアプリケーションに発行されるすべてのアクセストークンは、そのアプリケーションに制約されます。

    <Frame>
      <img src="https://mintlify.s3.us-west-1.amazonaws.com/translations/docs/images/cdy7uua7fh8z/3Dv98iZosdpJMcZXfXyurn/823fa368ab874218fbb737aacac9b262/Screenshot_2025-07-28_at_3.59.01_PM.png" alt="Auth0 Dashboard > APIs > Settings > トークン バインディング" />
    </Frame>
  </Tab>

  <Tab title="Management API">
    Management API で送信者制約を有効にするには、[リソースサーバーを更新する](https://auth0.com/docs/api/management/v2/resource-servers/patch-resource-servers-by-id) ための PATCH リクエストを送信します。`proof_of_possession` オブジェクトのパラメーターを次のように設定します。

    | パラメーター      | 説明                                                                                                               |
    | ----------- | ---------------------------------------------------------------------------------------------------------------- |
    | `mechanism` | 送信者制約方式を設定します: `none`、`mtls`、または `dpop`。                                                                         |
    | `required`  | `true` に設定すると、この API 用にアプリケーションに発行されるすべてのアクセストークンは、そのアプリケーションに制約されます。`false` に設定すると、そのアプリケーションでは送信者制約は必須ではありません。 |

    次のコードサンプルは、リソースサーバーに対して mTLS 送信者制約を設定するリクエストボディの例です。

    ```json lines theme={null}
    "proof_of_possession": {
        "mechanism": "mtls",
        "required": true
      }
    ```
  </Tab>
</Tabs>
