メインコンテンツへスキップ

概要

Key Concepts
  • 手順に従って、Azure AD にアプリケーションを登録し、Auth0 インスタンスに接続します。
  • 設定を本番環境に反映する前に、接続をテストします。
  • トラブルシューティングのヒントを確認します。
重要: Azure Active Directory (v1) 接続の拡張属性 Microsoft は Azure AD Graph API を非推奨化して廃止を進めているため、Azure Active Directory (v1) Identity API を使用する接続では、Get extended profile、Get user groups、Get nested groups (options.ext_profileoptions.ext_groupsoptions.ext_nested_groups) を新たに有効にできなくなりました。既存の v1 接続では、これらのオプションがすでに有効になっている場合に限り引き続き使用できますが、Microsoft の Graph API の廃止が 2025 年に完了すると、完全に機能しなくなります。拡張属性は、Microsoft Graph を利用し、委任された権限 User.ReadDirectory.Read.All を必要とする Microsoft Identity Platform (v2) Identity API を使用する接続では、引き続きサポートされます。
Microsoft Azure Active Directory (AD) と統合すると、次のことが可能になります。
  • 自社のユーザーが、あなたまたは組織が管理する Azure AD からアプリケーションを利用できます。
  • 他社の Azure AD のユーザーもアプリケーションを利用できます。 (外部ディレクトリは別個の接続として設定することをおすすめします。)
Azure AD エンタープライズ接続から返されるクレームは固定されているため、カスタムクレームやオプション クレームはユーザープロファイルに表示されません。ユーザープロファイルにカスタムクレームまたはオプション クレームを含める必要がある場合は、代わりに SAML または OIDC 接続を使用してください。

手順

アプリケーションを Azure AD に接続するには、次の手順を実行します。
  1. Azure AD にアプリを登録する
  2. Auth0 でエンタープライズ接続を作成する
  3. Auth0 アプリケーションでエンタープライズ接続を有効にする
  4. 接続をテストする

Azure AD にアプリを登録する

Azure AD にアプリを登録するには、Microsoft のクイックスタート: Microsoft ID プラットフォームにアプリケーションを登録するを参照してください。
Azure AD ディレクトリが複数ある場合は、Auth0 で使用するアプリを登録するときに、正しいディレクトリを選択していることを確認してください。
登録時に、次の設定を構成します。
OptionSetting
Supported account typesこのディレクトリからの SCIM ベースのユーザープロビジョニングを有効にするには、Accounts in this organizational directory only (Single tenant) を選択します。外部の組織 (他の Azure AD ディレクトリなど) のユーザーも許可する場合は、適切なマルチテナント オプションを選択します。マルチテナント オプションには、Accounts in any organizational directory (Any Azure AD directory - Multitenant) があります。
Redirect URIWeb を Redirect URI の種類として選択し、コールバック URL https://{yourDomain}/login/callback を入力します。

リダイレクト用の Auth0 ドメイン名を確認する

上記に Auth0 のドメイン名が表示されておらず、custom domains 機能を使用していない場合、ドメイン名はテナント名、リージョンのサブドメイン、auth0.com をドット (.) で連結したものになります。たとえば、テナント名が exampleco-enterprises で、テナントが米国リージョンにある場合、Auth0 のドメイン名は exampleco-enterprises.us.auth0.com となり、Redirect URIhttps://exampleco-enterprises.us.auth0.com/login/callback になります。ただし、テナントが米国リージョンにあり、2020 年 6 月より前に作成されている場合、Auth0 のドメイン名は exampleco-enterprises.auth0.com となり、Redirect URIhttps://exampleco-enterprises.auth0.com/login/callback になります。custom domains を使用している場合、Redirect URIhttps://<YOUR CUSTOM DOMAIN>/login/callback になります。
このプロセスで、Microsoft によりアプリケーションの Application (client) ID が生成されます。この値はアプリの Overview 画面で確認できます。この値は控えておいてください。

クライアントシークレットを作成する

を作成するには、Microsoft の Microsoft Entra ID でアプリケーション資格情報を追加および管理する - クライアント シークレットを追加する を参照してください。 生成したら、この値を必ず控えておいてください
有効期限のあるシークレットを設定する場合は、有効期限を記録しておいてください。サービスの中断を避けるため、その日までにシークレットを更新する必要があります。

権限を追加する

権限を追加するには、Microsoft の クイックスタート: Web API にアクセスするためのクライアント アプリケーションを構成する - Web API にアクセスするための権限を追加する を参照してください。 権限を設定する際は、次の点を考慮してください。 拡張属性 (拡張プロファイルセキュリティ グループ など) を有効にする場合は、Microsoft Graph API に対して次の権限を設定する必要があります。
委任された権限説明
Users > User.Readアプリでユーザーがサインインし、サインイン中のユーザーのプロファイルを読み取れるようにします。
Directory > Directory.Read.Allアプリがサインイン中のユーザーに代わってディレクトリ データを読み取れるようにします。

Auth0 でエンタープライズ接続を作成する

Auth0 で Azure AD エンタープライズ接続を作成して設定します。Microsoft Azure ポータルでアプリを設定した際に生成された Application (client) IDクライアントシークレット を用意してください。
  1. Auth0 Dashboard > Authentication > Enterprise に移動し、Microsoft Azure AD を見つけて + を選択します。
    Dashboard - Connections - Enterprise
  2. 接続の詳細を入力し、Create を選択します。
FieldDescription
Connection name接続の論理識別子です。テナント内で一意である必要があります。設定後、この名前は変更できません。
Microsoft Azure AD DomainAzure AD のドメイン名です。Microsoft Azure ポータルの Azure AD ディレクトリの概要ページで確認できます。
Client ID登録済み Azure AD アプリケーションの一意識別子です。Azure AD に登録したアプリの Application (client) ID の保存済みの値を入力します。
クライアントシークレット登録済み Azure AD アプリケーションへのアクセスに使用する文字列です。Azure AD に登録したアプリの クライアントシークレット の保存済みの値を入力します。
User ID Attribute TypeAuth0 の user_id プロパティにマッピングされる IDトークン内の属性です。選択肢は、Microsoft のドキュメントで説明されている、サポートされている 2 種類の ID タイプに対応しています: ID token claims reference - Microsoft identity platform
Use common endpoint(任意) 有効にすると、アプリケーションは新しいディレクトリのユーザーを動的に受け入れられるようになります。通常は、Azure AD に登録したアプリケーションのサポートされるアカウントの種類としてマルチテナント オプションを選択した場合に有効にします。Auth0 はユーザーを Azure の共通ログイン エンドポイントにリダイレクトし、Azure はユーザーのメールアドレスのドメインに基づいて Home Realm Discovery を実行します。
Identity APIAuth0 が Azure AD エンドポイントとやり取りするために使用する API です。動作の違いについては、Microsoft の Why update to Microsoft identity platform (v2.0) ドキュメントを参照してください。
Attributesサインインしたユーザーについて、アプリがアクセスできる基本属性です。Auth0 のユーザープロファイルに保存する情報量を示します。
Extended Attributes (optional)サインインしたユーザーについて、アプリがアクセスできる拡張属性です。
Auth0 APIs (optional)選択すると、Azure AD API を呼び出す機能が必要であることを示します。これにより、ユーザーが一度も Auth0 にログインしていなくても、Azure AD Graph でユーザーを検索できます。
Email VerificationAuth0 がユーザープロファイルの email_verified フィールドをどのように設定するかを選択します。詳細については、Email Verification for Azure AD and ADFS を参照してください。
Purpose認証、Token Vault の Connected Accounts、またはその両方で接続を有効にします。詳細については、User authentication vs Connected Accounts を参照してください。
  1. Provisioning ビューでは、Auth0 でのユーザープロファイルの作成方法と更新方法を設定できます。
FieldDescription
Sync user profile attributes at each login有効にすると、Auth0 はユーザーがログインするたびにユーザープロファイルデータを自動的に同期し、接続元で行われた変更が Auth0 に自動的に反映されるようにします。
Sync user profiles using SCIM有効にすると、Auth0 は SCIM を使用したユーザープロファイルデータの同期を許可します。詳細については、Configure Inbound SCIM を参照してください。
  1. Login Experience ビューでは、この接続を使用したユーザーのログイン方法を設定できます。
フィールド説明
Home Realm Discoveryユーザーのメールアドレスのドメインを、指定されたIDプロバイダーのドメインと照合します。詳細については、Configure Identifier First Authentication を参照してください
接続ボタンを表示このオプションを有効にすると、アプリケーションの接続ボタンをカスタマイズするための以下の選択肢が表示されます。
ボタン表示名 (任意)Universal Login のログインボタンをカスタマイズするためのテキストです。設定すると、ボタンには「{Button display name}で続行」と表示されます。
ボタンロゴURL (任意)Universal Login のログインボタンをカスタマイズするための画像の URL です。設定すると、Universal Login のログインボタンに画像が 20px x 20px の正方形で表示されます。
任意のフィールドは Universal Login でのみ使用できます。Classic Login を使用している場合、Add ボタン、ボタン表示名、ボタンロゴURL は表示されません。
  1. ユーザーがログインできるようにアプリケーションへの同意を付与するための適切な Azure AD 管理者権限がある場合は、続行 をクリックします。 Azure AD アカウントにログイン し、同意を付与するよう求められます。そうでない場合は、管理者が同意を付与できるよう、表示された URL を管理者に共有してください。

Auth0 アプリケーションでエンタープライズ接続を有効にする

新しい Azure AD エンタープライズ接続を使用するには、まず Auth0 アプリケーションで接続を有効にする必要があります。

接続をテストする

これで、接続をテストする準備ができました。

トラブルシューティング

トラブルシューティングのヒントをいくつか紹介します。 Azure AD にアプリケーションを登録しましたが、Azure Active Directory の [アプリの登録] に戻っても、アプリケーションが表示されません。 誤って別の Azure AD ディレクトリにアプリを登録してしまった可能性があります (または、アプリを登録する前に Azure AD ディレクトリ自体を作成していなかった可能性があります) 。通常は、Azure AD でアプリを再登録するのが最も簡単です。アプリを登録する際は、正しいディレクトリを選択していることを確認してください。Azure AD ディレクトリを作成する必要がある場合は、Microsoft の クイックスタート: Azure Active Directory で新しいテナントを作成する - 組織用に新しいテナントを作成する に従ってください。 次のエラーメッセージが表示されます: “Access cannot be granted to this service because the service listing is not properly configured by the publisher”. これを解決するには、登録済みの Azure AD アプリの Supported account types を変更してみてください。Azure AD アプリの Authentication 設定で、適切なマルチテナント オプションを選択していることを確認してください。マルチテナント オプションには、次のものがあります: Accounts in any organizational directory (Any Azure AD directory - Multitenant) ユーザーがログインしようとすると、次のエラーメッセージが表示されます: “invalid_request; failed to obtain ”. このエラーの最も一般的な原因は、Azure AD の クライアントシークレット が無効、または期限切れであることです。これを解決するには、Azure AD でアプリ用の新しい クライアントシークレット を生成し、Auth0 で設定されているエンタープライズ接続の クライアントシークレット を更新してください。

Azure AD の署名キーのロールオーバー

署名キーは、が発行する認証トークンへの署名と、利用側アプリケーション (この場合は Auth0) によるそのトークンの真正性の検証に使用されます。 セキュリティ上の理由から、Azure AD の署名キーは定期的にロールオーバーされます。これが発生しても、対応は不要です。Auth0 は新しいキーを自動的に使用します。

「未確認」ラベルを削除する

を使用している場合、Azure AD ログインのアプリケーションの同意プロンプトで、ドメインに「未確認」というラベルが表示されることがあります。このラベルを削除するには、次の手順を実行します。
  1. Auth0 アプリケーションのドメインを検証します: Azure Active Directory portal を使用してカスタム ドメイン名を追加する
  2. 検証済みのドメインを Auth0 アプリケーションに割り当てます: 方法: アプリケーションの発行元ドメインを構成する

次のステップ