Auf dieser Seite wird erläutert, wie ein Gemini Enterprise-Administrator die API verwenden kann, um die detaillierte Zugriffssteuerung für einzelne Gemini Enterprise-Apps zu verwalten.
Wenn Sie detaillierte Zugriffssteuerungen auf Ressourcenebene für Apps und Datenspeicher konfigurieren müssen, lesen Sie Detaillierte Zugriffssteuerungen für Apps und Datenspeicher konfigurieren.
Standardmäßig werden IAM-Berechtigungen häufig auf Projektebene verwaltet. IAM auf App-Ebene ermöglicht eine detailliertere Steuerung, mit der Administratoren Folgendes tun können:
- Den Nutzerzugriff auf bestimmte Apps innerhalb desselben Google Cloud Projekts beschränken.
- Berechtigungen an die Anforderungen der Organisation und Datensilos für Ihre Gemini Enterprise-Bereitstellungen anpassen.
Nehmen wir als Beispiel eine Organisation mit einer HR-App und einer unternehmensweiten App. Ein Mitglied des HR-Teams mit Berechtigungen auf Projektebene kann auf beide Apps zugreifen. Mit einer IAM-Richtlinie auf App-Ebene können Sie einem Mitglied des Vertriebsteams jedoch nur Zugriff auf die unternehmensweite App gewähren und so verhindern, dass es auf die HR-App zugreift.

Hinweis
Sie benötigen die Rolle „Gemini Enterprise Admin (
roles/discoveryengine.agentspaceAdmin)“.Alle Gemini Enterprise-Nutzer müssen eine gültige Lizenz haben und die Rolle Gemini Enterprise Restricted User (
roles/discoveryengine.agentspaceRestrictedUser) auf Projektebene zugewiesen bekommen. Eine Anleitung finden Sie unter Berechtigungen für Nutzer gewähren.Diese Rolle gewährt keinen Zugriff auf eine App. Sie bietet den Zugriff auf Projektebene, den Nutzer benötigen, und Sie gewähren dann Zugriff auf einzelne Apps. Wenn Sie anstelle der vordefinierten Rolle
roles/discoveryengine.agentspaceRestrictedUsereine benutzerdefinierte Rolle auf Projektebene verwenden, muss diese die Berechtigungendiscoveryengine.locations.buildAuthorizationUrl,discoveryengine.dataStores.get,discoveryengine.collections.getunddiscoveryengine.devToolsConfigs.getenthalten. Wenn Siediscoveryengine.devToolsConfigs.getweglassen, wird ein403 PERMISSION_DENIEDFehler in Cloud-Audit-Logs angezeigt, wenn die Web-AppdevToolsConfigApp Check prüft.
Von Zugriff auf Projektebene zu Zugriff auf App-Ebene wechseln
Wenn Sie den Zugriff von Nutzern auf bestimmte Apps beschränken möchten, müssen Sie ihre Rolle „Gemini Enterprise User“ auf Projektebene durch die Rolle „Gemini Enterprise Restricted User“ ersetzen und dann die Rolle „Gemini Enterprise User“ auf der Ebene der einzelnen App gewähren.
Führen Sie die folgenden Schritte aus, um den Zugriff eines Nutzers von Projektebene auf App-Ebene umzustellen. Sie verwenden die Google Cloud Console für die Änderungen auf Projektebene, und die API für die Berechtigung auf App-Ebene, die von der Google Cloud Console nicht unterstützt wird.
- Rufen Sie in der Google Cloud Console die Seite IAM auf.
- Suchen Sie den Nutzer und entfernen Sie die Rolle „Gemini Enterprise User“ (
roles/discoveryengine.agentspaceUser) aus seinen Berechtigungen auf Projektebene. - Wenn Sie es noch nicht getan haben, weisen Sie dem Nutzer die Rolle „Gemini Enterprise Restricted User“ (
roles/discoveryengine.agentspaceRestrictedUser) auf Projektebene zu. - Verwenden Sie die Methode
setIamPolicy, um dem Nutzer die Rolle „Gemini Enterprise User“ (roles/discoveryengine.agentspaceUser) für jede App zuzuweisen, auf die er zugreifen muss. Weitere Informationen finden Sie unter IAM-Richtlinien für Apps verwalten.
IAM-Richtlinien für Apps verwalten
Mit den API-Methoden getIamPolicy und setIamPolicy können Sie den Zugriff auf Ihre Gemini Enterprise-App verwalten.
In den folgenden Schritten wird beschrieben, wie Sie die aktuelle Richtlinie abrufen und dann aktualisieren, um den Nutzerzugriff zu gewähren oder zu widerrufen.
IAM-Richtlinie der App abrufen
Rufen Sie die aktuelle IAM-Richtlinie Ihrer App mit der
getIamPolicy
Methode ab. Es wird empfohlen, zuerst die vorhandene Richtlinie abzurufen, um zu vermeiden, dass aktuelle Berechtigungen überschrieben werden.
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"
Ersetzen Sie Folgendes:
PROJECT_ID: Die Projekt-ID.ENDPOINT_LOCATION: die Multiregion für Ihre API-Anfrage. Geben Sie einen der folgenden Werte an:usfür die Multiregion „USA“eufür die Multiregion „EU“globalfür den Standort „Global“
LOCATION: Der multiregionale Standort Ihres Datenspeichers: global, us oder eu.APP_ID: die ID der App, die Sie erstellen möchten.
IAM-Richtlinie der App aktualisieren
Wenn Sie den Nutzerzugriff auf die App gewähren oder widerrufen möchten, aktualisieren Sie die IAM
Richtlinie der App mit der
setIamPolicy
Methode.
Die IAM-Richtlinie verwendet die Gemini Enterprise
User
(roles/discoveryengine.agentspaceUser)-Rolle, um Nutzern direkten Zugriff auf
die App zu gewähren.
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",
"group:GROUP_EMAIL",
"principal://iam.googleapis.com/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ID",
"principalSet://iam.googleapis.com/locations/global/workloadIdentityPools/POOL_ID/attribute.NAME/VALUE"
]
}
]
}
}' \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID:setIamPolicy"
Ersetzen Sie Folgendes:
ETAG: Der Wertetag, den Sie als Antwort erhalten haben, als Sie die MethodegetIamPolicyverwendet haben.USER_EMAIL,GROUP_EMAIL: Eine oder mehrere E-Mail-Adressen von Nutzern oder Gruppen. Nebenuserundgroup,principalundprincipalSetsind gültige Mitgliedstypen für die Identitätsföderation von Arbeitslasten.Fügen Sie Hauptkonten dem Array
membershinzu, um Zugriff zu gewähren. Beispiel:"user:cloudysanfrancisco@gmail.com"oder"group:mcymbalgroup@google.com".Entfernen Sie Hauptkonten aus dem Array
members, um den Zugriff zu widerrufen.
POOL_ID: Die ID Ihres Workload Identity-Pools.SUBJECT_ID: Die Subjekt-ID für eine bestimmte Identität.NAME: Der Name eines Attributs.VALUE: Der Wert eines Attributs.PROJECT_ID: Die Projekt-ID.ENDPOINT_LOCATION: die Multiregion für Ihre API-Anfrage. Geben Sie einen der folgenden Werte an:usfür die Multiregion „USA“eufür die Multiregion „EU“globalfür den Standort „Global“
LOCATION: Der multiregionale Standort Ihres Datenspeichers:global,usodereu.APP_ID: die ID der App, die Sie erstellen möchten.
Nächste Schritte
Wenn Sie eine App mit einer IAM-Richtlinie löschen möchten, können Sie die Nutzer aus der Richtlinie entfernen, bevor Sie die App löschen. Weitere Informationen finden Sie unter Best Practices zum Löschen einer App mit einer IAM-Richtlinie.