Auf dieser Seite wird beschrieben, 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 den Abschnitt 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, sodass Administratoren Folgendes tun können:
- Sie können den Nutzerzugriff auf bestimmte Apps innerhalb desselben Google Cloud -Projekts einschränken.
- Berechtigungen an die Organisationsanforderungen und Datensilos für Ihre Gemini Enterprise-Bereitstellungen anpassen
Nehmen wir beispielsweise eine Organisation mit einer HR-App und einer unternehmensweiten App an. Ein HR-Teammitglied mit Berechtigungen auf Projektebene kann auf beide Apps zugreifen. Wenn Sie dagegen eine IAM-Richtlinie auf App-Ebene verwenden, können Sie einem Vertriebsmitarbeiter Zugriff nur auf die unternehmensweite App gewähren und so verhindern, dass er auf die HR-App zugreift.

Hinweis
Prüfen Sie, ob Sie die Rolle Gemini Enterprise-Administrator (
roles/discoveryengine.agentspaceAdmin) haben.Prüfen Sie, ob alle Gemini Enterprise-Nutzer eine gültige Lizenz haben und ihnen die Rolle Gemini Enterprise Restricted User (
roles/discoveryengine.agentspaceRestrictedUser) auf Projektebene zugewiesen ist. Eine Anleitung finden Sie unter Nutzern Berechtigungen erteilen.Diese Rolle gewährt nicht von sich aus 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 in Cloud-Audit-Logs ein403 PERMISSION_DENIED-Fehler protokolliert, wenn die Web-AppdevToolsConfigprüft.
Umstellung von Zugriff auf Projektebene auf Zugriff auf App-Ebene
Wenn Sie die Nutzung auf bestimmte Apps beschränken möchten, müssen Sie die 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 Apps zuweisen.
So stellen Sie den Zugriff eines Nutzers von Projektebene auf App-Ebene um: Sie verwenden die Google Cloud Console für Änderungen auf Projektebene und die API für die Erteilung 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. - Weisen Sie dem Nutzer die Rolle „Gemini Enterprise Restricted User“ (
roles/discoveryengine.agentspaceRestrictedUser) auf Projektebene zu, falls Sie das noch nicht getan haben. - Verwenden Sie die Methode
setIamPolicy, um dem Nutzer die Rolle „Gemini Enterprise User“ (roles/discoveryengine.agentspaceUser) für jede bestimmte App zuzuweisen, auf die er zugreifen muss. Weitere Informationen finden Sie unter IAM-Richtlinien für Apps verwalten.
IAM-Richtlinien für Apps verwalten
Wenn Sie den Zugriff auf Ihre Gemini Enterprise-App verwalten möchten, können Sie die API-Methoden getIamPolicy und setIamPolicy verwenden.
In den folgenden Schritten wird beschrieben, wie Sie die aktuelle Richtlinie abrufen und dann aktualisieren, um Nutzerzugriff zu gewähren oder zu widerrufen.
IAM-Richtlinie der App abrufen
Rufen Sie die aktuelle IAM-Richtlinie Ihrer App mit der Methode getIamPolicy ab. Wir empfehlen, die vorhandene Richtlinie zuerst 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 Nutzern Zugriff auf die App gewähren oder entziehen möchten, aktualisieren Sie die IAM-Richtlinie der App mit der Methode setIamPolicy.
In der IAM-Richtlinie wird die Rolle Gemini Enterprise-Nutzer (roles/discoveryengine.agentspaceUser) verwendet, 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: Deretag-Wert, den Sie als Antwort erhalten haben, als Sie diegetIamPolicy-Methode verwendet haben.USER_EMAIL,GROUP_EMAIL: eine oder mehrere E-Mail-Adressen von Nutzern oder Gruppen. NebenuserundgroupsindprincipalundprincipalSetgültige Mitgliedstypen für die Identitätsföderation von Arbeitslasten.Wenn Sie Zugriff gewähren möchten, fügen Sie dem Array
membersHauptkonten hinzu. Beispiel:"user:cloudysanfrancisco@gmail.com"oder"group:mcymbalgroup@google.com".Wenn Sie den Zugriff widerrufen möchten, entfernen Sie die Hauptkonten aus dem Array
members.
POOL_ID: Die ID Ihres Workload Identity-Pools.SUBJECT_ID: Die Betreff-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.