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 ad app specifiche all'interno dello stesso Google Cloud progetto.
- Allineare le autorizzazioni alle esigenze organizzative e ai silos di dati per i deployment di Gemini Enterprise.
Ad esempio, considera un'organizzazione con un'app per RU e un'app a livello aziendale. Un membro del team delle RU con autorizzazioni a livello di progetto può accedere a entrambe le app. Al contrario, utilizzando una policy IAM a livello di app, puoi concedere a un membro del team di vendita l'accesso solo all'app a livello aziendale, impedendogli di accedere all'app per le RU.

Prima di iniziare
Assicurati di avere il ruolo di amministratore di Gemini Enterprise.
Assicurati che tutti gli utenti di Gemini Enterprise con una licenza valida abbiano il ruolo Utente con limitazioni di Gemini Enterprise.
Eseguire la 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 di Gemini Enterprise (roles/discoveryengine.agentspaceUser) dal livello di progetto a quello di app, segui questi passaggi:
- Nella Google Cloud console vai alla pagina IAM.
- Trova l'utente e rimuovi il ruolo
roles/discoveryengine.agentspaceUserdalle autorizzazioni a livello di progetto. - Utilizza il metodo
setIamPolicyper concedere all'utente ilroles/discoveryengine.agentspaceUserruolo per l'app specifica. Per saperne di più, consulta Gestire le policy IAM per le app.
Gestire le policy IAM per le app
Per gestire l'accesso all'app Gemini Enterprise, puoi utilizzare i metodi API getIamPolicy e setIamPolicy.
I passaggi riportati di seguito mostrano come recuperare la policy attuale e poi aggiornarla per concedere o revocare l'accesso degli utenti.
Recuperare la policy IAM dell'app
Recupera la policy IAM attuale dell'app utilizzando il
getIamPolicy
metodo. 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 multi-regione per la richiesta API. Specifica uno dei seguenti valori:usper la multi-regione Stati Unitieuper la multi-regione UEglobalper la località globale
LOCATION: la multi-regione del datastore:global,usoeuAPP_ID: l'ID dell'app che vuoi configurare.
Aggiornare la policy IAM dell'app
Per concedere o revocare l'accesso degli utenti all'app, aggiorna la policy IAM
dell'app utilizzando il
setIamPolicy
metodo.
La policy IAM utilizza il
ruolo Utente di 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 valoreetagche hai ricevuto come risposta quando hai utilizzato il metodogetIamPolicy.USER_EMAIL,GROUP_EMAIL: uno o più indirizzi email di utenti o email di gruppo. Oltre auseregroup,principaleprincipalSetsono 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 multi-regione per la richiesta API. Specifica uno dei seguenti valori:usper la multi-regione Stati Unitieuper la multi-regione UEglobalper la località globale
LOCATION: la multi-regione del datastore:global,usoeu.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.