> ## 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) を使用したトークンの送信者制約は、現在アーリーアクセス提供中です。この機能へのアクセスをリクエストするには、Auth0 の担当者にお問い合わせください。
</Callout>

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

Auth0 は、mTLS による送信者制約と Demonstrating Proof-of-Possession (DPoP) をサポートしています。クライアント アプリケーションで送信者制約を有効にする場合は、API 呼び出し先の <Tooltip tip="" cta="用語集を見る" href="/docs/ja-jp/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="/docs/ja-jp/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`: リソースサーバーで送信者制約を必須として設定しており、アクセストークンはアプリケーションに対して送信者制約されている必要があります。送信者制約の方式が必要です。

* **Proof-of-Possession:** トークンリクエストで、クライアントアプリケーションが Proof-of-Possession アサーションを送信したかどうか。

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

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

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

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

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

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

クライアントアプリケーションの送信者制約は、<Tooltip tip="" cta="用語集を見る" href="/docs/ja-jp/glossary?term=Auth0+Dashboard">Auth0 Dashboard</Tooltip> または <Tooltip tip="" cta="用語集を見る" href="/docs/ja-jp/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">
    Token Binding または送信者制約を有効にするには、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 > Token binding" />
    </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` オブジェクトのパラメーターを次のように設定します。

    | Parameter   | Description                                                                                                       |
    | ----------- | ----------------------------------------------------------------------------------------------------------------- |
    | `mechanism` | 送信者制約方式を設定します。指定できる値は `none`、`mtls`、`dpop` です。                                                                    |
    | `required`  | `true` に設定すると、この API に対してアプリケーションに発行されるすべてのアクセストークンは、そのアプリケーションに制約されます。`false` に設定すると、そのアプリケーションで送信者制約は必須ではありません。 |

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

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