Configurare i controlli dell'accesso per le app

Questa pagina spiega come un amministratore di Gemini Enterprise può utilizzare l'API per gestire il controllo dell'accesso granulare per le singole app Gemini Enterprise.

Per impostazione predefinita, le autorizzazioni IAM vengono spesso gestite a livello di progetto. IAM a livello di app consente un controllo più granulare, consentendo agli amministratori di:

  • Limitare l'accesso degli utenti a determinate app all'interno dello stesso progetto Google Cloud .
  • Allinea le autorizzazioni alle esigenze organizzative e ai silos di dati per i tuoi deployment di Gemini Enterprise.

Ad esempio, considera un'organizzazione con un'app per le risorse RU e un'app a livello aziendale. Un membro del team delleRUe con autorizzazioni a livello di progetto può accedere a entrambe le app. Al contrario, utilizzando un criterio IAM a livello di app, puoi concedere a un membro del team di vendita l'accesso solo all'app a livello aziendale, impedendogli così di accedere all'app RU.

Diagramma di esempi di criteri IAM a livello di app.

Prima di iniziare

Transizione dall'accesso a livello di progetto a quello a livello di app

Per limitare gli utenti ad app specifiche, devi rimuovere il ruolo corrispondente dalle autorizzazioni a livello di progetto e poi concederlo a livello di app.

Ad esempio, per spostare un utente con il ruolo Utente Gemini Enterprise (roles/discoveryengine.agentspaceUser) dal livello di progetto al livello di app, segui questi passaggi:

  1. Nella console Google Cloud vai alla pagina IAM.
  2. Trova l'utente e rimuovi il ruolo roles/discoveryengine.agentspaceUser dalle sue autorizzazioni a livello di progetto.
  3. Utilizza il metodo setIamPolicy per concedere all'utente il ruolo roles/discoveryengine.agentspaceUser per l'app specifica. Per ulteriori informazioni, consulta Gestire le policy IAM per le app.

Gestire i criteri IAM per le app

Per gestire l'accesso alla tua app Gemini Enterprise, puoi utilizzare i metodi API getIamPolicy e setIamPolicy.

I passaggi riportati di seguito mostrano come recuperare il criterio corrente e poi aggiornarlo per concedere o revocare l'accesso utente.

Recupera il criterio IAM dell'app

Recupera la policy IAM attuale della tua app utilizzando il metodo getIamPolicy. Ti consigliamo di recuperare prima la policy esistente per evitare di sovrascrivere le autorizzazioni attuali.

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"

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto.
  • ENDPOINT_LOCATION: la multiregione per la tua richiesta API. Specifica uno dei seguenti valori:
    • us per la multi-regione Stati Uniti
    • eu per la multiregione EU
    • global per la località globale
    Per saperne di più, consulta Specifica una multi-regione per il datastore.
  • LOCATION: la regione multipla del datastore: global, us o eu
  • APP_ID: l'ID dell'app che vuoi configurare.

Aggiorna la policy IAM dell'app

Per concedere o revocare l'accesso utente all'app, aggiorna il criterio IAM dell'app utilizzando il metodo setIamPolicy.

Il criterio IAM utilizza il ruolo Utente Gemini Enterprise (roles/discoveryengine.agentspaceUser) per concedere agli utenti l'accesso diretto all'app.

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"

Sostituisci quanto segue:

  • ETAG: il valore etag ottenuto come risposta quando hai utilizzato il metodo getIamPolicy.

  • USER_EMAIL, GROUP_EMAIL: uno o più indirizzi email di utenti o gruppi. Oltre a user e group, principal e principalSet sono tipi di membri validi per la federazione delle identità per i workload.

    • Per concedere l'accesso, aggiungi le entità all'array members. Ad esempio, "user:cloudysanfrancisco@gmail.com" o "group:mcymbalgroup@google.com".

    • Per revocare l'accesso, rimuovi le entità dall'array members.

  • POOL_ID: l'ID del pool di identità del workload.

  • SUBJECT_ID: l'identificatore del soggetto per un'identità specifica.

  • NAME: il nome di un attributo.

  • VALUE: il valore di un attributo.

  • PROJECT_ID: l'ID progetto.

  • ENDPOINT_LOCATION: la multiregione per la tua richiesta API. Specifica uno dei seguenti valori:

    • us per la multi-regione Stati Uniti
    • eu per la multiregione EU
    • global per la località globale
    Per saperne di più, consulta Specifica una multi-regione per il datastore.

  • LOCATION: la multiregione del datastore: global, us o eu.

  • APP_ID: l'ID dell'app che vuoi configurare.

Passaggi successivi

Se vuoi eliminare un'app con una policy IAM, puoi rimuovere gli utenti dalla policy prima di eliminare l'app. Per saperne di più, consulta Best practice per l'eliminazione di un'app con una policy IAM.