> ## 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 エンドポイントエイリアスを設定して相互 TLS 接続を受け入れることで、テナントレベルで mTLS を有効にします。

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

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

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  以下の例では、**\$management\_access\_token** または [Management API access token](/docs/ja-jp/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](/docs/ja-jp/secure/tokens/access-tokens/get-access-tokens) をご覧ください。
</Callout>

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

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

テナントレベルでは、[Management API](https://auth0.com/docs/api/management/v2) で mTLS ヘッダーを受け入れられるように、[カスタムドメイン](/docs/ja-jp/customize/custom-domains) を設定する必要があります。[customer edge](/docs/ja-jp/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="/docs/ja-jp/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` が含まれます。これは、エッジ/リバースプロキシを設定する際に必要です。このキーは秘密にしておく必要があり、転送されたリクエストの検証に使用されます。

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

mTLS エンドポイントエイリアスは、<Tooltip tip="Management API: お客様が管理タスクを実行できるようにする製品。" cta="用語集を表示" href="/docs/ja-jp/glossary?term=Auth0+Dashboard">Auth0 Dashboard</Tooltip> と <Tooltip tip="Auth0 Dashboard: サービスを設定するための Auth0 の主要製品。" cta="用語集を表示" href="/docs/ja-jp/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 サブドメインの両方を失う可能性があります。これは、[カスタムドメイン](/docs/ja-jp/customize/custom-domains) を使用する場合に特に重要です。
      * `mtls.auth.saasapp.com` など、mTLS サブドメイン用の 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` に設定します。詳細については、[Update tenant settings](https://auth0.com/docs/api/management/v2/tenants/patch-settings) API ドキュメントを参照してください。
  </Tab>
</Tabs>

<div id="learn-more">
  ## 詳細はこちら
</div>

* [mTLS で認証する](/docs/ja-jp/get-started/authentication-and-authorization-flow/authenticate-with-mtls)
* [Customer Edge を設定する](/docs/ja-jp/get-started/applications/configure-mtls/set-up-the-customer-edge)
* [クライアント向けの mTLS 認証を設定する](/docs/ja-jp/get-started/applications/configure-mtls/configure-mtls-for-a-client)
