次の方法で共有


Microsoft Graph アプリケーションを登録する

重要

2025 年 5 月 1 日より、Azure AD B2C は新規のお客様向けに購入できなくなります。 詳細については、FAQ を参照してください

Microsoft Graph を使用すると、顧客のユーザー アカウントやカスタム ポリシーなど、Azure AD B2C テナント内の多くのリソースを管理できます。 Microsoft Graph API を呼び出すスクリプトまたはアプリケーションを記述することで、次のようなテナント管理タスクを自動化できます。

  • 既存のユーザー ストアを Azure AD B2C テナントに移行する
  • Azure DevOps で Azure Pipeline を使用してカスタム ポリシーをデプロイし、カスタム ポリシー キーを管理する
  • 独自のページでユーザー登録をホストし、バックグラウンドで Azure AD B2C ディレクトリにユーザー アカウントを作成する
  • アプリケーションの登録を自動化する
  • 監査ログを取得する

次のセクションは、Microsoft Graph API を使用して Azure AD B2C ディレクトリ内のリソースの管理を自動化するための準備を行う際に役立ちます。

Microsoft Graph API の対話モード

Microsoft Graph API を使用して Azure AD B2C テナント内のリソースを管理するときに使用できる通信モードは 2 つあります。

  • 対話型 - 一度実行するタスクに適しています。B2C テナントの管理者アカウントを使用して管理タスクを実行します。 このモードでは、管理者が Microsoft Graph API を呼び出す前に、資格情報を使用してサインインする必要があります。

  • 自動 - スケジュールされたタスクまたは継続的に実行されるタスクの場合、このメソッドは、管理タスクを実行するために必要なアクセス許可で構成したサービス アカウントを使用します。 Azure AD B2C で "サービス アカウント" を作成するには、アプリケーションとスクリプトがアプリケーション (クライアント) IDOAuth 2.0 クライアント資格情報 の付与を使用して認証に使用するアプリケーションを登録します。 この場合、アプリケーションは、前に説明した対話型メソッドのように管理者ユーザーではなく、Microsoft Graph API を呼び出す役割を果たします。

自動 対話シナリオ を有効にするには、次のセクションに示すアプリケーション登録を作成します。

Azure AD B2C 認証サービスは OAuth 2.0 クライアント資格情報付与フロー (現在パブリック プレビュー段階) を直接サポートしていますが、Microsoft Graph API を使用して Azure AD B2C リソースを管理するために使用することはできません。 ただし、Azure AD B2C テナント内のアプリケーションの Microsoft Entra ID と Microsoft ID プラットフォーム エンドポイントを使用して/tokenを設定できます。

管理アプリケーションの登録

スクリプトとアプリケーションが Microsoft Graph API と対話して Azure AD B2C リソースを管理できるようにするには、必要な API アクセス許可を付与するアプリケーション登録を Azure AD B2C テナントに作成する必要があります。

  1. Azure portal にサインインします。
  2. 複数のテナントにアクセスできる場合、上部のメニューの [設定] アイコンを選択し、[ディレクトリとサブスクリプション] メニューからお使いの Azure AD B2C テナントに切り替えます。
  3. Azure portal で、 [Azure AD B2C] を検索して選択します。
  4. [アプリの登録] を選択し、[新しい登録] を選択します。
  5. アプリケーションの名前を入力します。 たとえば、 managementapp1 です。
  6. [ この組織のディレクトリ内のアカウントのみ] を選択します
  7. [アクセス許可] で、[openid と offline_access アクセス許可への管理者の同意を付与 ] チェック ボックスをオフにします。
  8. 登録 を選択します。
  9. アプリケーションの概要ページに表示されるアプリケーション (クライアント) ID を 記録します。 この値は、後の手順で使用します。

API アクセスを許可する

アプリケーションが Microsoft Graph のデータにアクセスするには、登録されているアプリケーションに関連する アプリケーションのアクセス許可を付与します。 アプリケーションの有効なアクセス許可は、そのアクセス許可が暗示する完全なレベルの権限になります。 たとえば、Azure AD B2C テナント内のすべてのユーザーを 作成読み取り更新削除 するには、 User.ReadWrite.All アクセス許可を追加します。

User.ReadWrite.All アクセス許可には、ユーザー アカウント パスワードの更新機能は含まれません。 アプリケーションでユーザー アカウント パスワードを更新する必要がある場合は、 ユーザー管理者ロールを付与しますユーザー管理者ロールを付与する場合、User.ReadWrite.All は必要ありません。 ユーザー管理者ロールには、ユーザーを管理するために必要なすべてのものが含まれます。

アプリケーションに複数のアプリケーションのアクセス許可を付与できます。 たとえば、アプリケーションで Azure AD B2C テナントのグループも管理する必要がある場合は、 Group.ReadWrite.All アクセス許可も追加します。

アプリの登録

  1. [管理] で API 許可を選択します。
  2. [構成されたアクセス許可] の下で [アクセス許可の追加] を選択します。
  3. [Microsoft API] タブを選択し、 [Microsoft Graph] を選択します。
  4. [アプリケーションのアクセス許可] を選択します。
  5. 適切なアクセス許可グループを展開し、管理アプリケーションに付与するアクセス許可のチェック ボックスをオンにします。 例えば:
    • [User](ユーザー)>[User.ReadWrite.All] : ユーザー移行またはユーザー管理のシナリオの場合。
    • [Group](グループ)>[Group.ReadWrite.All] : グループの作成、グループ メンバーシップの読み取りと更新、グループの削除を行う場合。
    • [AuditLog]>[AuditLog.Read.All] :ディレクトリの監査ログを読み取る場合。
    • [Policy](ポリシー)>[Policy.ReadWrite.TrustFramework] :継続的インテグレーション/継続的デリバリー (CI/CD) のシナリオの場合。 たとえば、Azure Pipelines を使用したカスタム ポリシーの展開などです。
  6. アクセス許可の追加 を選択します。 指示に従って、数分待ってから次の手順に進みます。
  7. [<テナント名> に管理者の同意を与えます] を選択します。
  8. クラウド アプリケーション管理者ロールが割り当てられている Azure AD B2C テナントのアカウントでサインインし、[管理者の同意を付与する ] (テナント名) を選択します。
  9. [更新] を選択し、[状態] に、"... に付与されました" と表示されていることを確認します。 アクセス許可が反映されるまでに数分かかる場合があります。

[省略可能]ユーザー管理者ロールを付与する

アプリケーションまたはスクリプトでユーザーのパスワードを更新する必要がある場合は、アプリケーションに ユーザー管理者 ロールを割り当てる必要があります。 ユーザー管理者ロールには、アプリケーションに付与する固定のアクセス許可セットがあります。

ユーザー管理者ロールを追加するには、次の手順に従います。

  1. Azure portal にサインインします。
  2. 複数のテナントにアクセスできる場合、上部のメニューの [設定] アイコンを選択し、[ディレクトリとサブスクリプション] メニューからお使いの Azure AD B2C テナントに切り替えます。
  3. Azure AD B2C を検索して選択します。
  4. [ 管理] で、[ ロールと管理者] を選択します。
  5. ユーザー管理者ロールを選択します。
  6. [ 割り当ての追加] を選択します
  7. [ 選択 ] テキスト ボックスに、前に登録したアプリケーションの名前または ID ( managementapp1 など) を入力します。 検索結果に表示されたら、アプリケーションを選択します。
  8. [] を選択し、[] を追加します。 アクセス許可が完全に反映されるまでに数分かかる場合があります。

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

アプリケーションでは、トークンを要求するときにその ID を証明するためにクライアント シークレットが必要です。 クライアント シークレットを追加するには、次の手順に従います。

  1. [管理] で、[証明書とシークレット] を選択します。
  2. 新しいクライアント シークレットを選択します。
  3. [説明] ボックスに、クライアント シークレットの説明を入力します。 たとえば、clientsecret1 のようにします。
  4. [有効期限] で、シークレットが有効な期間を選択してから、 [追加] を選択します。
  5. シークレットのを記録します。 この値は、後の手順で構成に使用します。

次のステップ

管理アプリケーションを登録し、必要なアクセス許可を付与したので、アプリケーションとサービス (Azure Pipelines など) は、その資格情報とアクセス許可を使用して Microsoft Graph API と対話できます。