Microsoft Entra ID を接続する

このページでは、Microsoft Entra ID を Gemini Enterprise に接続する方法について説明します。

データソースを設定してデータを初めてインポートすると、データストアは設定時に選択した頻度でそのソースからデータを同期します。

サポート対象のバージョン

Entra ID コネクタは、Microsoft Graph API v1.0 を介して、Entra ID のすべてのホスト型バージョンをサポートしています。

始める前に

データストアを設定してデータをインポートする前に、認証用のクライアント ID とシークレットを取得し、アプリケーションに必要な最小限の権限を構成する必要があります。このセクションでは、これらのタスクを完了する方法について説明します。

Entra ID のアクセス制御を設定する

Gemini Enterprise でデータソースのアクセス制御を適用してデータを保護するには、ID プロバイダが構成されていることを確認してください。

クライアント ID とクライアント シークレットを取得する

  1. Entra ID アプリケーションを作成する

    1. 管理者として Microsoft Entra 管理センターにログインし、[アプリケーション] をクリックします。
    2. [アプリケーション] プルダウン リストで、[アプリの登録] をクリックします。
    3. [アプリの登録] ページで、[新規登録] をクリックします。
    4. [新規登録を追加] をクリックして、次の操作を行います。
      • アプリケーションの名前を入力します。
      • [サポートされているアカウントの種類] で、[この組織ディレクトリ内のアカウントのみ] を選択します。
      • [リダイレクト URI] で、https://login.microsoftonline.com/common/oauth2/nativeclient を指すウェブ リダイレクト URI を追加します。
    5. [Register] をクリックします。
  2. 認証情報を保存する

    登録済みアプリケーションのウィンドウで、後で使用するために次の値を保存します。

    1. アプリケーション(クライアント)ID を使用して、クライアント ID パラメータを設定します。
    2. ディレクトリ(テナント)ID を使用して、Azure テナント パラメータを設定します。
  3. クライアント シークレットを作成する

    1. [証明書とシークレット] に移動します。
    2. [新しいクライアント シークレット] をクリックして、期間を指定します。
    3. クライアント シークレットを保存し、後で使用するためにクライアント シークレットの値をコピーします。
save-client-secret-value
クライアント シークレット値を保存する

アプリケーションに必要な最小限の権限を構成する

  1. 登録済みアプリケーションのウィンドウで、[API 権限] をクリックします。
  2. [構成済みの権限] で [Microsoft Graph] を選択し、次の権限を構成します。

    • User.Read
    • User.Read.All (Application)

    profileCardAttributes を取り込む場合は、次の権限を構成します。

    • People.Read.All (Application)
    • PeopleSettings.Read.All (Application)
    • PeopleSettings.Read.All (Delegated)

  3. 追加したすべての権限に対して [管理者の同意] を付与します。認証フローでクライアント認証情報を使用するには、管理者の同意が必要です。

最小権限

次の表に、Entra ID コネクタの作成に必要な最小限の権限を示します。

権限 使用理由 説明
User.Read データの取り込み 接続の確立時に組織の詳細を読み取ります。
User.Read.All (Application) データの取り込み 組織内のすべてのユーザーを読み取ります。
People.Read.All (Application) データの取り込み 組織内のすべてのユーザーの連絡先などの関連するユーザー情報をすべて読み取ります。
PeopleSettings.Read.All (Application) データの取り込み 組織内のすべてのユーザーのユーザー構成(profileCardSettings など)を読み取ります。
PeopleSettings.Read.All (Delegated) データの取り込み 組織内のすべてのユーザーのユーザー構成(profileCardSettings など)を読み取ります。

Entra ID のデータストアを作成する

Google Cloud コンソールを使用して Entra ID から Gemini Enterprise にデータを同期する手順は次のとおりです。

  1. Google Cloud コンソールで、[Gemini Enterprise] ページに移動します。

    Gemini Enterprise

  2. ナビゲーション メニューで [データストア] をクリックします。

  3. [データストアを作成] をクリックします。

  4. [データソースを選択] ページで、Entra ID をスクロールするか検索して、サードパーティ ソースを接続します。

  5. [認証設定] で、クライアント ID とクライアント シークレットを入力します。

  6. 詳細オプションを設定する

    • 必要に応じて、[静的 IP アドレスを有効にする] をクリックします。コネクタを作成したら、同期実行を成功させるために、登録済みの静的 IP を許可リストに登録する必要があります。
    • コネクタがディレクトリ オブジェクトにカスタム プロパティを追加するために使用される拡張機能のプロパティを取得できるようにするには、[拡張機能のプロパティを有効にする] チェックボックスをオンにします。
    • 取り込んだユーザー情報をフィルタする場合は、カスタム SQL フィルタを指定します。フィルタは有効な SQL 文字列である必要があります。

      フィルタ文字列のキーは、次のフィールドに対応している必要があります。

      • Id
      • employeeType
      • onPremisesSyncEnabled
      • accountEnabled

      有効な SQL フィルタの例を次に示します。

      id = 'abc' AND accountEnabled = true
      
      employeeType='E' AND onPremisesSyncEnabled= true
      
    • [Azure テナント] フィールドに、Entra ID アプリケーションの作成時に取得した Azure テナント ID を入力します。

    • コネクタが Entra ID インスタンスに送信するクエリにレート制限を適用するには、[Max QPS] フィールドに最大秒間クエリ数を指定します。デフォルト値は 80 QPS です。

    • [続行] をクリックします。

  7. 同期するエンティティを選択する

    • [ユーザー プロファイル] をクリックします。 データの取り込みの Id に基づいてデータをフィルタするには、[フィルタ] をクリックして、次の操作を行います。
      • 検索インデックスに含めるデータを指定するには、[インデックスに含める] を選択し、[ID] フィールドにフィルタ文字列を指定します。
      • 検索インデックスから除外するデータを指定するには、[インデックスから除外] を選択し、[ID] フィールドにフィルタ文字列を指定します。
    • 完全同期の頻度を選択します。
  8. [続行] をクリックします。

  9. [データコネクタを構成する] で、データストアのリージョンを選択します。

  10. データストアの名前を入力します。

  11. [作成] をクリックします。Gemini Enterprise によってデータストアが作成され、[データストア] ページにデータストアが表示されます。

  12. [詳細オプション] で [静的 IP アドレスを有効にする] を選択した場合は、コネクタに登録されている静的 IP アドレスを表示し、Entra ID の許可リストに追加します。

    1. [データストア] ページに移動し、コネクタ名をクリックして、[データ] ページで詳細を確認します。
    2. [静的 IP] フィールドで、[IP の表示と確認] をクリックします。
    3. コネクタの静的 IP アドレスをコピーします。
    4. Microsoft Entra 管理センターで、既存の条件付きアクセス ポリシー内の名前付きの場所または信頼できる場所に静的 IP アドレスを追加します。詳細については、条件付きアクセス: ネットワークの割り当てをご覧ください。

コネクタの状態を確認する

  1. 取り込みのステータスを確認するには、[データストア] ページに移動し、コネクタ名をクリックして、[データ] ページで詳細を表示します。データの同期が開始されると、[コネクタの状態] が [作成中] から [実行中] に変わります。取り込みが完了すると、ステータスが [アクティブ] に変わり、データソースへの接続がセットアップされ、次回のスケジュール設定された同期を待機していることを示します。

    取り込みには、データのサイズに応じて、数分から数時間かかることがあります。

  2. コネクタの状態が [有効] に変わったら、[エンティティ] タブに移動します。

  3. [userprofiles] エンティティをクリックします。

  4. 取り込まれたドキュメントの数を確認し、Entra ID のユーザー数と一致していることを確認します。

次の標準ユーザー属性は、各ユーザー レコードの一部として取り込まれます。

Vertex AI スキーマ フィールド名 Entra ID 属性名
name.displayName 表示名
name.familyName
name.givenName
name.username ユーザー プリンシパル名
email.value メール
employeeId 従業員 ID
personId
employeeType 従業員タイプ
hireDate 従業員の雇用開始日
department 部門
organizations.jobTitle 役職
organizations.location オフィス所在地
Phone 会社の電話番号
managers.emailmanagers.personId 直接の属性ではない(直属のマネージャーから最上位のマネージャーまでの管理系統)
directManager.personId 直接の属性ではない(マネージャーの personId
displayphoto.imagebinary.data Base64 でエンコードされたプロフィール写真

Entra ID アプリにカスタム属性を取り込むための必要な権限が付与されている場合、レコードごとに最大 15 個のプロファイル カード属性が取り込まれます。デフォルトでは、カスタム属性は検索できません。

検索可能な属性を構成する

カスタム属性を検索可能にするには、次の操作を行います。

  1. [userprofiles] ページで、[スキーマ] タブに移動します。
  2. [編集] をクリックします。
  3. アドレスなどの属性を [取得可能、検索可能、インデックス登録可能] から選択解除し、[保存] をクリックします。

    [編集] ボタンは数分間無効のままになり、その後再び有効になります。

  4. [編集] ボタンが有効な状態になったら、[編集] をクリックします。

  5. 必要なカスタム属性の [取得可能]、[検索可能]、[インデックス登録可能] の各チェックボックスをオンにします。

  6. 検索を有効にします。

  7. [保存] をクリックします。

検索エンジンをテストする

検索エンジンを構成したら、その機能をテストして、ユーザー アクセスに基づいて正確な結果が返されるかどうかを確認します。

  1. ウェブアプリを有効にします。

    1. アプリ統合の構成に移動し、[ウェブアプリを有効にする] をオンにします。
  2. ウェブアプリをテストする:

    1. ウェブアプリのリンクの横にある [開く] をクリックして、ユーザーとしてログインします。

    2. 検索結果が、ユーザーがアクセスできるアイテムに制限されていることを確認します。

ユーザー検索の結果をプレビューする

  1. 検索アプリで、[プレビュー] に移動し、Google IdP を使用している場合はコンソール内で検索を開始します。

    • または、提供されたリンクに移動し、IdP でログインして検索を開始します。
    • 検索結果はユーザーカードとして表示され、名前、役職、メールアドレス、プロフィール写真などのユーザーの詳細が表示されます。
  2. ユーザーカードをクリックすると、詳細なプロフィール ページが表示されます。このページには次の情報が含まれます。

    • 名前
    • プロフィール写真
    • 役職
    • 部門
    • 管理チェーン
    • 直属の部下
  3. カスタム属性(プロファイル カードのプロパティ)が取り込まれ、インデックス登録可能、検索可能、取得可能になっている場合:

    • カスタム属性値で検索すると、その属性を含むユーザー プロファイルのみが返されます。
    • カスタム属性は検索結果に表示されますが、Vertex Search ユーザー インターフェースではなく、API を介してのみアクセスできます。

SSO を使用しない Google 以外の IdP の Workforce プールを構成する

  1. 従業員が Google 以外の IdP を使用している場合、Google との SSO がない場合、または Google Workspace のお客様でない場合は、[カスタム データソースのアクセス制御を構成する][data-source-access-control] で説明されているように、従業員検索を有効にするためにワークフォース プールを設定します。

    Workforce プールを使用すると、 Google Cloud コンソール内で Azure や Okta などの外部 ID プロバイダのユーザーを管理および認証できます。

  2. Workforce プールを構成し、ユーザーがシームレスにアクセスできるようにウェブアプリを有効にするには、次の操作を行います。

    1. 適切な設定マニュアルに沿って、 Google Cloud で組織レベルの Workforce プールを作成します。

      1. Azure OIDC の設定
      2. Azure SAML の設定
      3. Okta と OIDC の設定
      4. Okta と SAML の設定
    2. アプリを作成するリージョンの [Gemini Enterprise] > [設定] で、Workforce プールを構成します。

推奨されるレートの上限

次の表に、ユーザー数に基づく推奨レート制限を示します。上限を超えるリクエストはスロットルされます。

割り当てグループ 1 秒あたりのリクエスト数
S(50 人未満のユーザー) 105
M(50 ~ 500 人のユーザー) 150
L(500 人超) 240

既知の制限事項

Entra ID コネクタの既知の制限事項は次のとおりです。

  • 増分同期はサポートされていません。
  • アクセス制御リスト(ACL)はサポートされていません。すべてのユーザーが組織全体でアクセスできます。
  • 接続を作成した後にプロジェクトを VPC Service Controls 境界に追加すると、コネクタの同期実行が失敗し、次のエラーが返されます。 Connector is blocked due to the project being added to the VPC-SC perimeter. Please re-create the data store. VPC Service Controls 境界内で動作するようにデータストアを再作成します。

エラー メッセージ

次の表に、Entra ID コネクタの使用時に表示される可能性のあるエラー メッセージを示します。

エラー メッセージ 説明 トラブルシューティング
Authorization_RequestDenied: オペレーションを完了する権限が不足しています。 ユーザー アカウントに、データを読み取るために必要なスコープが含まれていません。 接続の作成に使用するユーザー アカウントに必要なスコープを付与します。
OAuth トークン情報を取得できませんでした コネクタの構成時に指定されたクライアント認証情報が無効です。 以下を確認します。
  • クライアント ID に対応するクライアント シークレットが提供されます。接続を構成するときは、シークレット ID ではなくクライアント シークレット値を指定します。
  • テナント ID は有効です。
  • クライアント シークレットの有効期限が切れていない。クライアント シークレットの有効期限が切れている場合は、接続を編集して新しいクライアント シークレットを指定します。
プロジェクトが VPC-SC 境界に追加されたため、コネクタがブロックされています。データストアを再作成してください。 コネクタは、プロジェクトが VPC Service Controls 境界に追加される前に作成されました。 データストアを再作成して、VPC Service Controls の境界内で動作できるようにします。

次のステップ

  • データストアをアプリに接続するには、アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。

  • アプリとデータストアが設定された後に検索結果がどのように表示されるかをプレビューするには、検索結果を取得するをご覧ください。