Zugriffssteuerung für Apps konfigurieren

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 Anwendungen und Datenspeicher konfigurieren müssen, finden Sie weitere Informationen unter Detaillierte Zugriffssteuerungen für Anwendungen und Datenspeicher konfigurieren.

Standardmäßig werden IAM-Berechtigungen häufig auf Projektebene verwaltet. IAM auf Anwendungsebene ermöglicht eine detailliertere Steuerung, sodass Administratoren Folgendes tun können:

  • Den Nutzerzugriff auf bestimmte Apps innerhalb desselben Google Cloud -Projekts einschränken.
  • Berechtigungen an die Anforderungen Ihrer Organisation und an Datensilos für Ihre Gemini Enterprise-Bereitstellungen anpassen.

Beispiel: Eine Organisation hat eine HR-App und eine unternehmensweite App. Ein Mitglied des HR-Teams mit Berechtigungen auf Projektebene kann auf beide Apps zugreifen. Wenn Sie dagegen eine IAM-Richtlinie auf Anwendungsebene verwenden, können Sie einem Mitglied des Vertriebsteams nur Zugriff auf die unternehmensweite Anwendung gewähren und so den Zugriff auf die HR-Anwendung verhindern.

Diagramm mit Beispielen für IAM-Richtlinien auf Anwendungsebene.

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 auf Projektebene die Rolle Gemini Enterprise Restricted User (roles/discoveryengine.agentspaceRestrictedUser) zugewiesen ist. Eine Anleitung finden Sie unter Nutzern Berechtigungen gewähren.

    Diese Rolle gewährt keinen Zugriff auf Apps. Sie bietet den Zugriff auf Projektebene, den Nutzer benötigen, und Sie gewähren dann Zugriff auf einzelne Anwendungen. Wenn Sie anstelle der vordefinierten Rolle roles/discoveryengine.agentspaceRestrictedUser eine benutzerdefinierte Rolle auf Projektebene verwenden, muss diese die Berechtigungen discoveryengine.locations.buildAuthorizationUrl, discoveryengine.dataStores.get, discoveryengine.collections.get und discoveryengine.devToolsConfigs.get enthalten. Wenn Sie discoveryengine.devToolsConfigs.get weglassen, wird in Cloud-Audit-Logs ein 403 PERMISSION_DENIED-Fehler verursacht, wenn die Webanwendung devToolsConfig prüft.

Umstellung von Zugriff auf Projektebene auf Zugriff auf App-Ebene

Wenn Sie Nutzer 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 Apps gewähren.

So stellen Sie den Zugriff eines Nutzers von der Projekt- auf die App-Ebene um: Sie verwenden die Google Cloud Console für die Änderungen auf Projektebene und die API für die Zuweisung auf Anwendungsebene, die von der Google Cloud Console nicht unterstützt wird.

  1. Rufen Sie in der Google Cloud Console die Seite IAM auf.
  2. Suchen Sie den Nutzer und entfernen Sie die Rolle „Gemini Enterprise User“ (roles/discoveryengine.agentspaceUser) aus seinen Berechtigungen auf Projektebene.
  3. Weisen Sie dem Nutzer, falls noch nicht geschehen, die Rolle „Gemini Enterprise Restricted User“ (roles/discoveryengine.agentspaceRestrictedUser) auf Projektebene zu.
  4. Verwenden Sie die Methode setIamPolicy, um dem Nutzer die Rolle „Gemini Enterprise User“ (roles/discoveryengine.agentspaceUser) für jede spezifische App zuzuweisen, auf die er zugreifen muss. Weitere Informationen finden Sie unter IAM-Richtlinien für Anwendungen 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 gezeigt, wie Sie die aktuelle Richtlinie abrufen und dann aktualisieren, um Nutzerzugriff zu gewähren oder zu widerrufen.

IAM-Richtlinie für die Anwendung abrufen

Rufen Sie die aktuelle IAM-Richtlinie Ihrer Anwendung mit der Methode getIamPolicy 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:
  • us für die Multiregion „USA“
  • eu für die Multiregion „EU“
  • global für den Standort „Global“
Weitere Informationen zum Festlegen multiregionaler Standorte für Ihren Datenspeicher.
  • LOCATION: Der multiregionale Standort Ihres Datenspeichers: global, us oder eu.
  • APP_ID: die ID der App, die Sie erstellen möchten.

  • IAM-Richtlinie der Anwendung 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 User (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: Der etag-Wert, den Sie als Antwort erhalten haben, als Sie die Methode getIamPolicy verwendet haben.

    • USER_EMAIL, GROUP_EMAIL: eine oder mehrere E-Mail-Adressen von Nutzern oder Gruppen. Zusätzlich zu user und group sind principal und principalSet gültige Mitgliedstypen für die Identitätsföderation von Arbeitslasten.

      • Fügen Sie dem Array members Hauptkonten hinzu, um Zugriff zu gewähren. Beispiel: "user:cloudysanfrancisco@gmail.com" oder "group:mcymbalgroup@google.com".

      • Wenn Sie den Zugriff widerrufen möchten, entfernen Sie die Hauptkonten aus dem members-Array.

    • POOL_ID: Die ID Ihres Workload Identity-Pools.

    • SUBJECT_ID: Die Subjektkennung 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:

      • us für die Multiregion „USA“
      • eu für die Multiregion „EU“
      • global für den Standort „Global“
      Weitere Informationen zum Festlegen multiregionaler Standorte für Ihren Datenspeicher.

    • LOCATION: Der multiregionale Standort Ihres Datenspeichers: global, us oder eu.

    • 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.