Skip to main content

概要

主なポイント
  • 手順に従って 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 の Quickstart: Register an application with the Microsoft identity platform を参照してください。
Azure AD のディレクトリが複数ある場合は、Auth0 で使用するアプリを登録する際に、正しいディレクトリを選択していることを確認してください。
登録時に、次の設定を行います。

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

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

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

を作成するには、Microsoft の Microsoft’s Add and manage application credentials in Microsoft Entra ID - Add a Client Secret を参照してください。 生成したら、この値は必ず控えておいてください
有効期限付きのシークレットを設定する場合は、有効期限を記録しておいてください。サービスの中断を避けるため、その日までにキーを更新する必要があります。

権限を追加

権限を追加するには、Microsoft の Quickstart: Configure a client application to access web APIs - Add permissions to access web APIs を参照してください。 権限を設定する際は、次の点に注意してください。 拡張属性 (Extended ProfileSecurity Groups など) を有効にする場合は、Microsoft Graph API に対して次の権限を設定する必要があります。

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

Auth0 で Azure AD エンタープライズ接続を作成して設定します。Microsoft Azure portal でアプリを設定する際に生成された Application (client) IDクライアントシークレット を必ず用意してください。
  1. Auth0 Dashboard > Authentication > Enterprise に移動し、Microsoft Azure AD を見つけて + を選択します。
    Dashboard - Connections - Enterprise
  2. 接続の詳細を入力し、Create を選択します。
  1. Provisioning ビューでは、Auth0 でユーザープロファイルをどのように作成および更新するかを設定できます。
  1. Login Experience ビューでは、この接続を使ったユーザーのログイン方法を設定できます。
任意項目は Universal Login でのみ使用できます。クラシックログインを使用している場合、Add ボタン、ボタンの表示名、ボタンロゴ URL は表示されません。
  1. ユーザーがログインできるよう、アプリケーションへの同意を付与するための適切な Azure AD 管理者権限を持っている場合は、Continue をクリックします。 Azure AD アカウントにログインして、同意を付与するよう求められます。そうでない場合は、表示された URL を管理者に渡し、管理者が同意を付与できるようにしてください。

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

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

接続をテストする

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

トラブルシューティング

トラブルシューティングのヒントをいくつか紹介します。 Azure AD にアプリケーションを登録したのに、Azure Active Directory の [App registrations] に戻っても自分のアプリケーションが表示されません。 誤って別の Azure AD ディレクトリにアプリを登録してしまった可能性があります (あるいは、アプリを登録する前に Azure AD ディレクトリを作成していなかった可能性があります) 。通常は、Azure AD でアプリを登録し直すのが最も簡単です。アプリを登録する際は、正しいディレクトリを選択していることを確認してください。Azure AD ディレクトリを作成する必要がある場合は、Microsoft の Quickstart: Azure Active Directory で新しいテナントを作成する - organization 用に新しいテナントを作成する を参照してください。 次のエラーメッセージが表示されます: “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 で設定したエンタープライズ接続の Client Secret を更新してください。

Azure AD における署名鍵のロールオーバー

署名鍵は、が発行する認証トークンに署名するために使用され、利用側のアプリケーション (この場合は Auth0) では、生成されたトークンが真正なものかどうかを検証するために使用されます。 セキュリティ上の理由から、Azure AD の署名鍵は定期的にロールオーバーされます。この場合でも、特に対応は必要ありません。Auth0 は新しいキーを自動的に使用します。

未確認ラベルを削除する

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

次のステップ