メインコンテンツへスキップ
テナントの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
必要なスコープを含んだアクセストークンの取得については、「 アクセストークンを取得する」をお読みください。
まず最初に、カスタムドメインを構成して検証する必要があります。

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

Management APIでmTLSヘッダーを受け入れるためのカスタムドメインをテナントレベルで構成する必要があります。カスタマーエッジはクライアント証明書を検証する責任を負うため、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が含まれます。これはエッジ/リバースプロキシを構成する際に必要です。このキーは秘密にしておく必要があり、転送された要求の検証に使われます。 詳しくは、APIドキュメントの「カスタムドメインの検証」をご覧ください。

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

mTLSハンドシェイクでクライアントからのクライアント証明書が要求される場合、Webブラウザーはユーザーに証明書を選択するためのモーダルダイアログを表示します。これではユーザーエクスペリエンスに摩擦が生じるため、/authorizeエンドポイントのようにmTLSが不要なエンドポイントでは回避すべきです。結果として、異なるドメインでmTLSトラフィックと非mTLSトラフィックに対応するお客様は、mTLSエンドポイントエイリアスを有効にするべきです。 mTLSエンドポイントエイリアスは、クライアントがOIDCディスカバリードキュメントのmtls_endpoint_aliasesプロパティで指定するエンドポイントにmTLSトラフィックを送るべきであることを示します。クライアントは非mTLSトラフィックを通常のエンドポイントに送ります。mtls_endpoint_aliasesプロパティに関する詳細は、「リソースサーバーの呼び出し」をお読みください。 mTLSエンドポイントエイリアスは、で有効にすることができます。
  • Auth0 Dashboard
  • Management API
Auth0 Dashboardを使用して、mTLSエンドポイントエイリアスを有効にする方法:
  1. [Auth0 Dashboard]に行き、サイドメニューの [Settings(設定)] を選択します。
  2. [Tenant Settings(テナント設定)]の下の、[Advanced(詳細設定)] タブを選択します。
  3. [Allow mTLS Endpoint Aliases(mTLSエンドポイントエイリアスを許可する)] を見つけ、有効にしますこれによりmtls.<your custom domain>というエンドポイントにmTLSトラフィックを定めます。

もっと詳しく

I