メインコンテンツへスキップ
テナントの mTLS 認証を設定する方法を説明します。
以下の例では、$management_access_token または Management API アクセストークン を指定しています。これらは、少なくとも次のスコープを含むアクセストークンに置き換える必要があります。
  • create:custom_domains
  • read:custom_domains
  • create:clients
  • update:clients
  • update:client_credentials
  • update:client_keys
  • update:tenant_settings
必要なスコープを持つアクセストークンを取得する方法について詳しくは、Get Access Tokens を参照してください。
まず、カスタムドメイン を設定して検証する必要があります。

カスタムドメインを作成する

テナント レベルで mTLS ヘッダーを Management API で受け入れるには、カスタムドメイン を設定する必要があります。カスタマーエッジ がクライアント証明書の検証を担当するため、POST リクエストでは typeself_managed_certs に設定します。
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"
}'
リクエストが成功すると、の検証に使用する識別子が返されます。詳細については、新しいカスタムドメインを設定する API ドキュメントを参照してください。

既存のカスタムドメインをパッチ適用する

Management API を使用すると、既存のカスタムドメインが mTLS ヘッダーを受け入れるように設定できます。ただし、既存のカスタムドメインの type は更新できません。
mTLS に使用できるのは、self_managed_certs タイプのカスタムドメインのみです。Auth0 は現在、mTLS で auth0_managed_certs タイプをサポートしていません。
次の POST リクエストは、既存のカスタムドメインが mTLS ヘッダーを受け入れるように設定します。
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"
}'
詳細については、カスタムドメイン設定を更新する API ドキュメントを参照してください。

カスタムドメインを検証する

Auth0 がカスタムドメインの作成および更新リクエストを受け付けるには、まずそのドメインを検証する必要があります。カスタムドメインを検証するには、Management API を使用して次の POST リクエストを送信します。
curl --location --request POST 'https://$tenant/api/v2/custom-domains/:id/verify'
検証状態を確認するには、status フィールドを確認します。検証が完了しても、カスタムドメインがリクエストを受け付けられるようになるまでに最大 10 分かかる場合があります。 Auth0 がカスタムドメインを初めて検証すると、レスポンスに cname_api_key が含まれます。これは、エッジ/リバースプロキシの設定に必要です。このキーは秘密として保持する必要があり、転送されたリクエストの検証に使用されます。 詳細については、Verify a custom domain API ドキュメントを参照してください。

mTLS エンドポイントエイリアスを有効にする

mTLS ハンドシェイクでクライアント証明書の提示が求められると、Web ブラウザーはユーザーに証明書を選択するためのモーダルダイアログを表示します。これはユーザー体験の妨げになるため、/authorize エンドポイントのように mTLS が不要なエンドポイントでは避けるべきです。そのため、mTLS トラフィックと非 mTLS トラフィックを異なるドメインでサポートする場合は、mTLS エンドポイントエイリアスを有効にする必要があります。 mTLS エンドポイントエイリアスは、クライアントが OIDC ディスカバリードキュメントの mtls_endpoint_aliases プロパティで指定されたエンドポイントに mTLS トラフィックを送信する必要があることを示します。非 mTLS トラフィックは通常のエンドポイントに送信されます。mtls_endpoint_aliases プロパティの詳細については、リソースサーバーを呼び出すを参照してください。 mTLS エンドポイントエイリアスは、 で有効にできます。
Auth0 Dashboard を使用して mTLS エンドポイントエイリアスを有効にするには、次の手順に従います。
  1. Auth0 Dashboard に移動し、サイドメニューから Settings を選択します。
  2. Tenant Settings で Advanced タブを選択します。
  3. Allow mTLS Endpoint Aliases を見つけてオンにします。これにより、mTLS トラフィックは mtls.<your custom domain>. というエンドポイントにルーティングされます。

詳細情報