このページでは、Gemini Enterprise の管理者が API を使用して個々の Gemini Enterprise アプリのきめ細かいアクセス制御を管理する方法について説明します。
デフォルトでは、IAM 権限はプロジェクト レベルで管理されることがよくあります。アプリレベルの IAM を使用すると、よりきめ細かい制御が可能になり、管理者は次の操作を行うことができます。
- 同じ Google Cloud プロジェクト内の特定のアプリへのユーザー アクセスを制限します。
- Gemini Enterprise のデプロイで、組織のニーズとデータサイロに合わせて権限を調整します。
たとえば、人事アプリと全社アプリがある組織を考えてみましょう。プロジェクト レベルの権限を持つ人事チームのメンバーは、両方のアプリにアクセスできます。一方、アプリレベルの IAM ポリシーを使用すると、営業チームのメンバーに会社全体のアプリへのアクセス権のみを付与し、人事アプリへのアクセスを禁止できます。

始める前に
Gemini Enterprise 管理者ロールがあることを確認します。
有効なライセンスをお持ちのすべての Gemini Enterprise ユーザーに Gemini Enterprise 制限付きユーザーのロールが割り当てられていることを確認します。
アプリの IAM ポリシーを管理する
Gemini Enterprise アプリへのアクセスを管理するには、getIamPolicy と setIamPolicy の API メソッドを使用します。
次の手順では、現在のポリシーを取得し、ユーザー アクセス権を付与または取り消すように更新する方法について説明します。
アプリの IAM ポリシーを取得する
getIamPolicy メソッドを使用して、アプリの現在の IAM ポリシーを取得します。現在の権限が上書きされないように、まず既存のポリシーを取得することをおすすめします。
REST
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID:getIamPolicy"
次のように置き換えます。
PROJECT_ID: 実際のプロジェクトの ID。ENDPOINT_LOCATION: API リクエストのマルチリージョン。次のいずれかの値を指定します。- 米国のマルチリージョンの場合は
us - EU のマルチリージョンの場合は
eu - グローバル ロケーションの場合は
global
- 米国のマルチリージョンの場合は
LOCATION: データストアのマルチリージョン(global、us、eu)APP_ID: 構成するアプリの ID。
アプリの IAM ポリシーを更新する
アプリに対するユーザー アクセス権を付与または取り消すには、setIamPolicy メソッドを使用してアプリの IAM ポリシーを更新します。
IAM ポリシーは、Gemini Enterprise ユーザー(roles/discoveryengine.agentspaceUser)ロールを使用して、ユーザーにアプリへの直接アクセス権を付与します。
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"policy": {
"etag": "ETAG",
"bindings": [
{
"role": "roles/discoveryengine.agentspaceUser",
"members": [
"user:USER_EMAIL_1",
"user:USER_EMAIL_2"
]
}
]
}
}' \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID:setIamPolicy"
次のように置き換えます。
ETAG:getIamPolicyメソッドを使用したときにレスポンスとして取得したetag値。USER_EMAIL_1、USER_EMAIL_2: 1 つ以上のユーザーのメールアドレス。アクセス権を付与するには、
members配列にユーザーのメールアドレスを追加します。各メールアドレスの先頭にはuserを付けます。アクセス権を取り消すには、
members配列からユーザーのメールアドレスを削除します。
PROJECT_ID: 実際のプロジェクトの ID。ENDPOINT_LOCATION: API リクエストのマルチリージョン。次のいずれかの値を指定します。- 米国のマルチリージョンの場合は
us - EU のマルチリージョンの場合は
eu - グローバル ロケーションの場合は
global
- 米国のマルチリージョンの場合は
LOCATION: データストアのマルチリージョン(global、us、eu)。APP_ID: 構成するアプリの ID。
次のステップ
IAM ポリシーを含むアプリを削除する場合は、アプリを削除する前にポリシーからユーザーを削除できます。詳細については、IAM ポリシーを含むアプリを削除するためのベスト プラクティスをご覧ください。