> ## 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.

> テナントの mTLS 認証を設定する方法について説明します。

# テナントの mTLS 認証を設定する

テナントの mTLS 認証を設定する方法を説明します。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  以下の例では、**\$management\_access\_token** または [Management API アクセストークン](/ja/docs/secure/tokens/access-tokens/management-api-access-tokens) を指定しています。これらは、少なくとも次のスコープを含むアクセストークンに置き換える必要があります。

  * `create:custom_domains`
  * `read:custom_domains`
  * `create:clients`
  * `update:clients`
  * `update:client_credentials`
  * `update:client_keys`
  * `update:tenant_settings`

  必要なスコープを持つアクセストークンを取得する方法について詳しくは、[Get Access Tokens](/ja/docs/secure/tokens/access-tokens/get-access-tokens) を参照してください。
</Callout>

まず、[カスタムドメイン](/ja/docs/customize/custom-domains) を設定して検証する必要があります。

<div id="create-a-custom-domain">
  ### カスタムドメインを作成する
</div>

テナント レベルで mTLS ヘッダーを [Management API](https://auth0.com/docs/api/management/v2) で受け入れるには、[カスタムドメイン](/ja/docs/customize/custom-domains) を設定する必要があります。[カスタマーエッジ](/ja/docs/get-started/applications/configure-mtls/set-up-the-customer-edge) がクライアント証明書の検証を担当するため、POST リクエストでは `type` を `self_managed_certs` に設定します。

```bash lines theme={null}
curl --location --request POST 'https://$tenant/api/v2/custom-domains' \
  --header 'Authorization: Bearer $management_access_token' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "domain":"string",
  "type":"self_managed_certs",
  "verification_method":"txt", 
  "tls_policy":"recommended",
  "custom_client_ip_header":"true-client-ip"
}'
```

リクエストが成功すると、<Tooltip tip="カスタムドメイン: 専用名またはバニティ名を持つサードパーティのドメイン。" cta="用語集を表示" href="/ja/docs/glossary?term=custom+domain">カスタムドメイン</Tooltip>の検証に使用する識別子が返されます。詳細については、[新しいカスタムドメインを設定する](https://auth0.com/docs/api/management/v2/custom-domains/post-custom-domains) API ドキュメントを参照してください。

<div id="patch-an-existing-custom-domain">
  ### 既存のカスタムドメインをパッチ適用する
</div>

[Management API](https://auth0.com/docs/api/management/v2) を使用すると、既存のカスタムドメインが mTLS ヘッダーを受け入れるように設定できます。ただし、既存のカスタムドメインの `type` は更新できません。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  mTLS に使用できるのは、`self_managed_certs` タイプのカスタムドメインのみです。Auth0 は現在、mTLS で `auth0_managed_certs` タイプをサポートしていません。
</Callout>

次の POST リクエストは、既存のカスタムドメインが mTLS ヘッダーを受け入れるように設定します。

```bash lines theme={null}
curl --location --request POST 'https://$tenant/api/v2/custom-domains/:id' \
  --header 'Authorization: Bearer $management_access_token' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "tls_policy":"recommended",
  "custom_client_ip_header":"true-client-ip"
}'
```

詳細については、[カスタムドメイン設定を更新する](https://auth0.com/docs/api/management/v2/custom-domains/patch-custom-domains-by-id) API ドキュメントを参照してください。

<div id="verify-the-custom-domain">
  ### カスタムドメインを検証する
</div>

Auth0 がカスタムドメインの作成および更新リクエストを受け付けるには、まずそのドメインを検証する必要があります。カスタムドメインを検証するには、[Management API](https://auth0.com/docs/api/management/v2) を使用して次の POST リクエストを送信します。

```bash wrap lines theme={null}
curl --location --request POST 'https://$tenant/api/v2/custom-domains/:id/verify'
```

検証状態を確認するには、`status` フィールドを確認します。検証が完了しても、カスタムドメインがリクエストを受け付けられるようになるまでに最大 10 分かかる場合があります。

Auth0 がカスタムドメインを初めて検証すると、レスポンスに `cname_api_key` が含まれます。これは、エッジ/リバースプロキシの設定に必要です。このキーは秘密として保持する必要があり、転送されたリクエストの検証に使用されます。

詳細については、[Verify a custom domain](https://auth0.com/docs/api/management/v2/custom-domains/patch-custom-domains-by-id) API ドキュメントを参照してください。

<div id="enable-mtls-endpoint-aliases">
  ### mTLS エンドポイントエイリアスを有効にする
</div>

mTLS ハンドシェイクでクライアント証明書の提示が求められると、Web ブラウザーはユーザーに証明書を選択するためのモーダルダイアログを表示します。これはユーザー体験の妨げになるため、`/authorize` エンドポイントのように mTLS が不要なエンドポイントでは避けるべきです。そのため、mTLS トラフィックと非 mTLS トラフィックを異なるドメインでサポートする場合は、mTLS エンドポイントエイリアスを有効にする必要があります。

mTLS エンドポイントエイリアスは、クライアントが OIDC ディスカバリードキュメントの `mtls_endpoint_aliases` プロパティで指定されたエンドポイントに mTLS トラフィックを送信する必要があることを示します。非 mTLS トラフィックは通常のエンドポイントに送信されます。`mtls_endpoint_aliases` プロパティの詳細については、[リソースサーバーを呼び出す](/ja/docs/get-started/authentication-and-authorization-flow/authenticate-with-mtls#call-the-resource-server)を参照してください。

mTLS エンドポイントエイリアスは、<Tooltip tip="Management API: 顧客が管理タスクを実行できるようにする製品です。" cta="用語集を表示" href="/ja/docs/glossary?term=Auth0+Dashboard">Auth0 Dashboard</Tooltip> と <Tooltip tip="Auth0 Dashboard: サービスを構成するための Auth0 の主要製品です。" cta="用語集を表示" href="/ja/docs/glossary?term=Management+API">Management API</Tooltip> で有効にできます。

<Tabs>
  <Tab title="Auth0 Dashboard">
    Auth0 Dashboard を使用して mTLS エンドポイントエイリアスを有効にするには、次の手順に従います。

    1. [Auth0 Dashboard](https://manage.auth0.com/#/tenant/general) に移動し、サイドメニューから **Settings** を選択します。
    2. Tenant Settings で **Advanced** タブを選択します。
    3. **Allow mTLS Endpoint Aliases** を見つけてオンにします。これにより、mTLS トラフィックは `mtls.<your custom domain>`**.** というエンドポイントにルーティングされます。
  </Tab>

  <Tab title="Management API">
    [Management API](https://auth0.com/docs/api/management/v2) を使用して mTLS エンドポイントエイリアスを有効にするには、テナントの `enable_endpoint_aliases` プロパティを `true` に設定します。

    ```bash lines theme={null}
    curl --location --request PATCH 'https://$tenant/api/v2/tenants/settings' \
      --header 'Authorization: Bearer $management_access_token' \
      --header 'Content-Type: application/json' \
      --data-raw '{
      "mtls": {
        "enable_endpoint_aliases": true
      }
    }'
    ```

    mTLS エンドポイントエイリアスでは、設定済みのカスタムドメインに `mtls.` プレフィックスが追加されます。たとえば、設定済みのカスタムドメインが `auth.saasapp.com` の場合、mTLS エンドポイントエイリアスでは `mtls.auth.saasapp.com` が使用されます。今後は、寄せられたフィードバックに応じて、mTLS エンドポイントエイリアスを設定できるようになる可能性があります。

    <Warning>
      mTLS サブドメインは Auth0 の管理範囲外です。管理者はサブドメインに伴うリスクを理解し、適切に対処する必要があります。これには以下が含まれますが、これらに限定されません。

      * mTLS で使用するトップレベルドメインとサブドメインについて、所有権と管理権限を確保すること。これを怠ると、ログインハンドラーと mTLS サブドメインの両方を失う可能性があります。これは特に [カスタムドメイン](/ja/docs/customize/custom-domains) を使用する場合に重要です。
      * mTLS サブドメイン、つまり `mtls.auth.saasapp.com` 用の SSL 証明書を用意すること。`*.saasapp.com` のワイルドカード証明書には mTLS サブドメインは含まれません。

      IP が使用されなくなった場合に、宙づりの DNS エントリによるサブドメイン乗っ取りを防止すること。詳細については、Mozilla Developer Network (MDN) の [Subdomain takeovers](https://developer.mozilla.org/en-US/docs/Web/Security/Subdomain_takeovers) ドキュメントを参照してください。
    </Warning>

    mTLS エンドポイントエイリアスを無効にするには、`enable_endpoint_aliases` の値を `false` に設定します。詳細については、[テナント設定を更新する](https://auth0.com/docs/api/management/v2/tenants/patch-settings) API ドキュメントを参照してください。
  </Tab>
</Tabs>

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

* [mTLS で認証する](/ja/docs/get-started/authentication-and-authorization-flow/authenticate-with-mtls)
* [カスタマーエッジ をセットアップする](/ja/docs/get-started/applications/configure-mtls/set-up-the-customer-edge)
* [クライアントの mTLS 認証を設定する](/ja/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client)
