Questa pagina spiega come un amministratore di Gemini Enterprise può configurare autorizzazioni IAM granulari a livello di risorsa per limitare l'accesso a specifici data store e app Gemini Enterprise utilizzando la consoleGoogle Cloud , Google Cloud CLI o l'API REST.
Se devi solo limitare l'accesso degli utenti finali a livello di app senza configurare le autorizzazioni del datastore o i ruoli personalizzati a livello di progetto, consulta Configurare i controlli dell'accesso per le app.
Panoramica
Per impostazione predefinita, le autorizzazioni IAM concesse a livello di progetto Google Cloudsi applicano a tutte le app e a tutti i datastore Gemini Enterprise nel progetto. Se la tua organizzazione deve limitare gli utenti a specifiche app o data store all'interno di un singolo progetto, puoi utilizzare i controlli dell'accesso a livello di risorsa.
I controlli dell'accesso a livello di risorsa consentono agli amministratori di:
- Concedi agli utenti l'accesso ad app specifiche e ad archivi di dati collegati senza esporre altre app nello stesso progetto.
- Delega l'amministrazione delle app o il monitoraggio di sola lettura per app specifiche senza concedere ampi diritti amministrativi a livello di progetto.
- Applica in modo forzato i confini dei dati e le norme di conformità dell'organizzazione.
Come funzionano i controlli di accesso
Per concedere l'accesso a livello di risorsa, gli amministratori devono configurare due associazioni di ruoli per ogni utente o gruppo di destinazione. Le autorizzazioni vengono valutate in modo indipendente: per ricevere risposte da un datastore in un'app, a un utente devono essere concesse autorizzazioni sia per l'app di destinazione sia per il datastore di destinazione.
| Livello di associazione del ruolo | Tipo di ruolo | Scopo, ambito ed esempi di ruoli |
|---|---|---|
| Livello di progetto | Ruolo personalizzato |
I ruoli personalizzati che crei in questa guida concedono le autorizzazioni necessarie all'utente per autenticarsi o caricare le pagine delle schede della console nel progetto senza esporre contenuti specifici di app o datastore. Ruoli di esempio: |
| Livello risorsa | Ruolo predefinito |
I ruoli predefiniti che assegni alla risorsa app o datastore concedono autorizzazioni operative, come la chat, la configurazione delle impostazioni o la visualizzazione delle analisi, esclusivamente per quella risorsa. Ruoli di esempio:
|
Scenario di esempio
Considera un progetto Google Cloud in Cymbal denominato cymbal-ai-project
contenente due app e più datastore:
| Scenario di esempio: limitazione dell'accesso a app e datastore | |
|---|---|
| Contesto | Un progetto Google Cloud in Cymbal denominato cymbal-ai-project
contiene due app:
|
| Obiettivo | Concedi ad Alex (alex@cymbal.com) l'accesso per utilizzare l'app Cymbal Finance ed eseguire query solo nell'archivio dati General Finance, negando l'accesso all'archivio dati Confidential Payroll e all'app Cymbal HR. |
| Configurazioni richieste |
Segui questi passaggi per configurare i controlli dell'accesso:
|
| Risultato | Quando Alex accede, può aprire l'app Cymbal Finance ed eseguire query nel datastore General Finance. Anche se l'datastore Paga riservata è collegato alla stessa app, Alex non può visualizzarlo o interrogarlo. Anche i tentativi di accedere all'app Cymbal HR o di eseguire query sul datastore Cymbal HR vengono negati. |
Il seguente diagramma illustra il funzionamento combinato delle impostazioni a livello di progetto e delle autorizzazioni IAM indipendenti a livello di risorsa in questo scenario:

Prima di iniziare
- Verifica di disporre del ruolo
Amministratore Gemini Enterprise
(
roles/discoveryengine.agentspaceAdmin). - Assicurati che agli utenti che necessitano di accesso limitato non siano assegnati i ruoli Discovery Engine a livello di progetto.
- Crea i ruoli personalizzati a livello di progetto richiesti per le tue buyer persona di destinazione in Crea ruoli personalizzati a livello di progetto.
Abilitare il controllo dell'accesso alle app e ai datastore
Prima di poter configurare autorizzazioni granulari per app e datastore o visualizzare la scheda Autorizzazioni utente nella console Google Cloud , abilita il controllo dell'accesso ad app e datastore nel tuo progetto utilizzando la console Google Cloud o l'API REST:
Console
Per abilitare controllo dell'accesso alle app e ai datastore nella console Google Cloud , segui questi passaggi:
Nella console Google Cloud , vai alla pagina Gemini Enterprise > Impostazioni.
Seleziona la scheda Controllo dell'accesso alle risorse.
Attiva il pulsante di attivazione/disattivazione Controllo dell'accesso alle risorse.
Fai clic su Salva.
Nella finestra di dialogo Attivare controllo dell'accesso alle risorse?, fai clic su Attiva.
REST
Per abilitare controllo dell'accesso all'app e al datastore utilizzando l'API REST, chiama il metodo
projects.patch:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "x-goog-user-project: PROJECT_ID" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID?updateMask=customer_provided_config.resource_access_control_config.data_store_access_control_enabled" \
-d '{
"customer_provided_config": {
"resource_access_control_config": {
"data_store_access_control_enabled": true
}
}
}'
Sostituisci quanto segue:
PROJECT_ID: l'ID del tuo Google Cloud progetto.ENDPOINT_LOCATION: la multiregione per la tua richiesta API. Specifica uno dei seguenti valori:usper la multi-regione Stati Unitieuper la multiregione EUglobalper la località Globale
Creare ruoli personalizzati a livello di progetto
I ruoli personalizzati a livello di progetto concedono autorizzazioni senza esporre tutte le risorse del progetto. Devi creare ogni ruolo personalizzato una sola volta per Google Cloud progetto.
Creare un ruolo utente finale con accesso limitato personalizzato
Il ruolo customRestrictedEndUser concede le autorizzazioni a livello di progetto necessarie
agli utenti finali per caricare l'endpoint di autorizzazione Gemini Enterprise e
la configurazione degli strumenti per sviluppatori (discoveryengine.locations.buildAuthorizationUrl
e discoveryengine.devToolsConfigs.get). Non concede l'accesso per ispezionare
o interrogare app o datastore specifici.
Console
Per creare il ruolo personalizzato nella console Google Cloud :
Nella console Google Cloud , vai alla pagina Ruoli.
Selezionare il tuo progetto Google Cloud .
Fai clic su + Crea ruolo personalizzato.
Inserisci i dettagli del ruolo:
- Titolo:
Custom Gemini Enterprise Restricted End User - Descrizione:
Base project-level permissions to access Gemini Enterprise apps - ID ruolo:
customRestrictedEndUser - Fase di lancio del ruolo: seleziona Disponibilità generale.
- Titolo:
Fai clic su + Aggiungi autorizzazioni.
Filtra e seleziona le seguenti autorizzazioni:
discoveryengine.devToolsConfigs.getdiscoveryengine.locations.buildAuthorizationUrl
Fai clic su Aggiungi.
Fai clic su Crea.
gcloud
Per creare il ruolo personalizzato utilizzando Google Cloud CLI, segui questi passaggi:
Esegui
gcloud iam roles describeper verificare se il ruolo esiste nel tuo progetto:gcloud iam roles describe customRestrictedEndUser --project=PROJECT_IDSostituisci
PROJECT_IDcon l'ID del tuo progettoGoogle Cloud .Esegui
gcloud iam roles createper creare il ruolo:gcloud iam roles create customRestrictedEndUser \ --project=PROJECT_ID \ --title="Custom Gemini Enterprise Restricted End User" \ --description="Base project-level permissions to access Gemini Enterprise apps." \ --stage=GA \ --permissions=discoveryengine.devToolsConfigs.get,discoveryengine.locations.buildAuthorizationUrlSostituisci
PROJECT_IDcon l'ID del tuo progettoGoogle Cloud .
REST
Per creare il ruolo personalizzato utilizzando l'API REST, chiama il metodo roles.create:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"roleId": "customRestrictedEndUser",
"role": {
"title": "Custom Gemini Enterprise Restricted End User",
"description": "Base project-level permissions to access Gemini Enterprise apps.",
"stage": "GA",
"includedPermissions": [
"discoveryengine.devToolsConfigs.get",
"discoveryengine.locations.buildAuthorizationUrl"
]
}
}' \
"https://iam.googleapis.com/v1/projects/PROJECT_ID/roles"
Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud.
Creare un ruolo amministratore con limitazioni personalizzato
Il ruolo customRestrictedAdmin concede le autorizzazioni a livello di progetto necessarie
per consentire ad amministratori e visualizzatori delegati di visualizzare gli elenchi di risorse e le barre laterali
nella console Google Cloud senza concedere l'accesso per visualizzare o modificare contenuti specifici
di app o datastore. Per delegare il controllo amministrativo su un'app o un datastore specifico, assegna questo ruolo personalizzato a livello di progetto, quindi assegna Amministratore Gemini Enterprise (roles/discoveryengine.agentspaceAdmin) direttamente alla risorsa di destinazione.
Console
Per creare il ruolo personalizzato nella console Google Cloud :
Nella console Google Cloud , vai alla pagina Ruoli.
Selezionare il tuo progetto Google Cloud .
Fai clic su + Crea ruolo.
Inserisci i dettagli del ruolo:
- Titolo:
Custom Gemini Enterprise Restricted Admin - Descrizione:
Base project-level permissions to list and view Gemini Enterprise configuration pages - ID ruolo:
customRestrictedAdmin - Fase di lancio del ruolo: seleziona Disponibilità generale.
- Titolo:
Fai clic su + Aggiungi autorizzazioni.
Filtra e seleziona le seguenti autorizzazioni:
discoveryengine.aclConfigs.getdiscoveryengine.collections.listdiscoveryengine.dataStores.listdiscoveryengine.devToolsConfigs.getdiscoveryengine.engines.listdiscoveryengine.licenseConfigs.listdiscoveryengine.locations.buildAuthorizationUrldiscoveryengine.locations.getConnectorSourcediscoveryengine.locations.listConnectorSourcesdiscoveryengine.projects.getdiscoveryengine.userStores.listUserLicensesresourcemanager.projects.get
Fai clic su Aggiungi.
Fai clic su Crea.
gcloud
Per creare il ruolo personalizzato utilizzando Google Cloud CLI, segui questi passaggi:
Esegui
gcloud iam roles describeper verificare se il ruolo esiste nel tuo progetto:gcloud iam roles describe customRestrictedAdmin --project=PROJECT_IDSostituisci
PROJECT_IDcon l'ID del tuo progettoGoogle Cloud .Esegui
gcloud iam roles createper creare il ruolo:gcloud iam roles create customRestrictedAdmin \ --project=PROJECT_ID \ --title="Custom Gemini Enterprise Restricted Admin" \ --description="Base project-level permissions to list and view Gemini Enterprise configuration pages." \ --stage=GA \ --permissions=discoveryengine.aclConfigs.get,discoveryengine.collections.list,discoveryengine.dataStores.list,discoveryengine.devToolsConfigs.get,discoveryengine.engines.list,discoveryengine.licenseConfigs.list,discoveryengine.locations.buildAuthorizationUrl,discoveryengine.locations.getConnectorSource,discoveryengine.locations.listConnectorSources,discoveryengine.projects.get,discoveryengine.userStores.listUserLicenses,resourcemanager.projects.getSostituisci
PROJECT_IDcon l'ID del tuo progettoGoogle Cloud .
REST
Per creare il ruolo personalizzato utilizzando l'API REST, chiama il metodo roles.create:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"roleId": "customRestrictedAdmin",
"role": {
"title": "Custom Gemini Enterprise Restricted Admin",
"description": "Base project-level permissions to list and view Gemini Enterprise configuration pages.",
"stage": "GA",
"includedPermissions": [
"discoveryengine.aclConfigs.get",
"discoveryengine.collections.list",
"discoveryengine.dataStores.list",
"discoveryengine.devToolsConfigs.get",
"discoveryengine.engines.list",
"discoveryengine.licenseConfigs.list",
"discoveryengine.locations.buildAuthorizationUrl",
"discoveryengine.locations.getConnectorSource",
"discoveryengine.locations.listConnectorSources",
"discoveryengine.projects.get",
"discoveryengine.userStores.listUserLicenses",
"resourcemanager.projects.get"
]
}
}' \
"https://iam.googleapis.com/v1/projects/PROJECT_ID/roles"
Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud.
Aggiornare un ruolo personalizzato esistente
Se nel tuo progetto esiste già un ruolo personalizzato e devi aggiungere autorizzazioni mancanti, aggiorna il ruolo:
Console
Per aggiornare un ruolo personalizzato nella console Google Cloud :
Nella console Google Cloud , vai alla pagina Ruoli.
Seleziona il progetto Google Cloud in cui hai creato il ruolo personalizzato.
Seleziona la scheda Personalizzato o filtra l'elenco per individuare il tuo ruolo personalizzato (
customRestrictedEndUserocustomRestrictedAdmin).Fai clic sul nome del ruolo personalizzato.
Fai clic su Modifica ruolo.
Fai clic su + Aggiungi autorizzazioni.
Cerca e seleziona le autorizzazioni da aggiungere, quindi fai clic su Aggiungi.
Fai clic su Salva.
gcloud
Per aggiornare un ruolo personalizzato esistente utilizzando Google Cloud CLI, esegui
gcloud iam roles update:
Per il ruolo utente finale con limitazioni, esegui questo comando:
gcloud iam roles update customRestrictedEndUser \ --project=PROJECT_ID \ --add-permissions=discoveryengine.devToolsConfigs.get,discoveryengine.locations.buildAuthorizationUrlSostituisci
PROJECT_IDcon l'ID del tuo progettoGoogle Cloud .Per il ruolo di amministratore con limitazioni, esegui questo comando:
gcloud iam roles update customRestrictedAdmin \ --project=PROJECT_ID \ --add-permissions=discoveryengine.locations.buildAuthorizationUrl,discoveryengine.locations.listConnectorSourcesSostituisci
PROJECT_IDcon l'ID del tuo progettoGoogle Cloud .
REST
Per aggiornare un ruolo personalizzato utilizzando l'API REST, chiama il metodo roles.patch.
Tieni presente che roles.patch sostituisce l'elenco includedPermissions. Specifica tutte le autorizzazioni che vuoi includere nel ruolo:
Per il ruolo utente finale con limitazioni, esegui questo comando:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "includedPermissions": [ "discoveryengine.devToolsConfigs.get", "discoveryengine.locations.buildAuthorizationUrl" ] }' \ "https://iam.googleapis.com/v1/projects/PROJECT_ID/roles/customRestrictedEndUser?updateMask=includedPermissions"Sostituisci
PROJECT_IDcon l'ID del tuo progettoGoogle Cloud .Per il ruolo di amministratore con limitazioni, esegui questo comando:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "includedPermissions": [ "discoveryengine.aclConfigs.get", "discoveryengine.collections.list", "discoveryengine.dataStores.list", "discoveryengine.devToolsConfigs.get", "discoveryengine.engines.list", "discoveryengine.licenseConfigs.list", "discoveryengine.locations.buildAuthorizationUrl", "discoveryengine.locations.getConnectorSource", "discoveryengine.locations.listConnectorSources", "discoveryengine.projects.get", "discoveryengine.userStores.listUserLicenses", "resourcemanager.projects.get" ] }' \ "https://iam.googleapis.com/v1/projects/PROJECT_ID/roles/customRestrictedAdmin?updateMask=includedPermissions"Sostituisci
PROJECT_IDcon l'ID del tuo progettoGoogle Cloud .
Assegnare un ruolo personalizzato a livello di progetto
Assegna i ruoli di progetto personalizzati a un utente o un gruppo di destinazione.
Console
Per assegnare il ruolo personalizzato utilizzando la console Google Cloud , segui questi passaggi:
Nella console Google Cloud vai alla pagina IAM.
Seleziona il progetto Google Cloud in cui hai creato il ruolo personalizzato.
Fai clic su Concedi l'accesso per aggiungere una nuova entità o modificarne una esistente.
In Nuove entità, inserisci l'indirizzo email dell'utente o dell'email di gruppo.
Seleziona il ruolo personalizzato creato per la tua persona, ad esempio uno dei seguenti:
- Custom Gemini Enterprise Restricted End User
- Amministratore Gemini Enterprise Restricted personalizzato
Fai clic su Salva.
gcloud
Per assegnare il ruolo personalizzato utilizzando Google Cloud CLI, esegui questo comando:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:USER_EMAIL" \
--role="projects/PROJECT_ID/roles/CUSTOM_ROLE_ID"
Sostituisci quanto segue:
PROJECT_ID: l'ID del tuo Google Cloud progetto.CUSTOM_ROLE_ID: l'ID del ruolo personalizzato che vuoi assegnare:customRestrictedEndUserocustomRestrictedAdmin.USER_EMAIL: l'indirizzo email dell'utente o del gruppo.
REST
Per assegnare il ruolo personalizzato utilizzando l'API Cloud Resource Manager, completa i seguenti passaggi utilizzando un pattern di lettura-modifica-scrittura:
Recupera la policy IAM corrente utilizzando il metodo
getIamPolicyper recuperare la policy corrente e il relativoetag:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{}' \ "https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy"Sostituisci
PROJECT_IDcon l'ID del tuo progettoGoogle Cloud .Imposta la policy IAM aggiornata utilizzando il metodo
setIamPolicycon il payload della policy aggiornata:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "policy": { "etag": "ETAG", "bindings": [ { "role": "EXISTING_ROLE", "members": [ "user:EXISTING_USER_EMAIL" ] }, { "role": "projects/PROJECT_ID/roles/CUSTOM_ROLE_ID", "members": [ "user:USER_EMAIL" ] } ] } }' \ "https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy"Sostituisci quanto segue:
ETAG: il valoreetagottenuto come risposta quando hai utilizzato il metodogetIamPolicy.EXISTING_ROLEeEXISTING_USER_EMAIL: i binding di ruoli ed entità esistenti restituiti dal metodogetIamPolicyche vuoi conservare.PROJECT_ID: l'ID del tuo Google Cloud progetto.CUSTOM_ROLE_ID: l'ID del ruolo personalizzato a livello di progetto che vuoi assegnare. Specifica una delle seguenti opzioni:customRestrictedEndUser: concede al progetto le autorizzazioni per consentire agli utenti finali di autenticarsi e accedere alle app.customRestrictedAdmin: concede agli amministratori le autorizzazioni del progetto per visualizzare gli elenchi di risorse nella console Google Cloud .
USER_EMAIL: l'indirizzo email dell'utente o del gruppo.
Configurare le autorizzazioni app
Concedi autorizzazioni a livello di risorsa per la risorsa app di destinazione utilizzando la consoleGoogle Cloud o l'API REST.
Se vuoi assegnare un ruolo personalizzato anziché un ruolo predefinito nel criterio IAM a livello di app, assicurati che il ruolo personalizzato includa tutte le autorizzazioni del ruolo predefinito corrispondente, ad esempio Gemini Enterprise User (roles/discoveryengine.agentspaceUser) o Gemini Enterprise Admin (roles/discoveryengine.agentspaceAdmin).
Console
Per configurare le autorizzazioni dell'app nella console Google Cloud , segui questi passaggi:
Nella console Google Cloud , vai alla pagina Gemini Enterprise > App.
Seleziona l'app di destinazione.
Fai clic su Autorizzazioni utente e poi su Aggiungi utente.
Seleziona il ruolo per l'utente o il gruppo:
- Utente: assegna
Utente Gemini Enterprise
(
roles/discoveryengine.agentspaceUser). - Amministratore: assegna
Amministratore Gemini Enterprise
(
roles/discoveryengine.agentspaceAdmin). - Visualizzatore: assegna
Gemini Enterprise Viewer
(
roles/discoveryengine.agentspaceViewer).
- Utente: assegna
Utente Gemini Enterprise
(
Fai clic su Salva.
REST
Per configurare le autorizzazioni dell'app utilizzando l'API REST, completa i seguenti passaggi utilizzando un pattern di lettura-modifica-scrittura:
Recupera la policy IAM corrente utilizzando il metodo
getIamPolicyper recuperare la policy corrente e il relativoetag: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:usper la multi-regione Stati Unitieuper la multiregione EUglobalper la località Globale
LOCATION: la multiregione del datastore:global,usoeu.APP_ID: l'ID dell'app che vuoi configurare.
Imposta la policy IAM aggiornata utilizzando il metodo
setIamPolicycon il payload della policy aggiornata:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "policy": { "etag": "ETAG", "bindings": [ { "role": "EXISTING_ROLE", "members": [ "user:EXISTING_USER_EMAIL" ] }, { "role": "PREDEFINED_ROLE", "members": [ "user:USER_EMAIL" ] } ] } }' \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID:setIamPolicy"Sostituisci quanto segue:
ETAG: il valoreetagottenuto come risposta quando hai utilizzato il metodogetIamPolicy.EXISTING_ROLEeEXISTING_USER_EMAIL: i binding di ruoli ed entità esistenti restituiti dal metodogetIamPolicyche vuoi conservare.USER_EMAIL: l'indirizzo email dell'utente o del gruppo (ad esempioalex@example.com).- Per concedere l'accesso, aggiungi le email degli utenti all'array
members, ognuna con il prefissouser:. Evita spazi aggiuntivi prima o dopo l'indirizzo email. - Per revocare l'accesso, rimuovi l'indirizzo email dell'utente dall'array
members.
- Per concedere l'accesso, aggiungi le email degli utenti all'array
PREDEFINED_ROLE: il ruolo predefinito che vuoi assegnare all'app. Ad esempio, Gemini Enterprise User (roles/discoveryengine.agentspaceUser) per gli utenti finali, Gemini Enterprise Admin (roles/discoveryengine.agentspaceAdmin) per gli amministratori o Gemini Enterprise Viewer (roles/discoveryengine.agentspaceViewer) per i visualizzatori. Per ulteriori informazioni, vedi Ruoli predefiniti.PROJECT_ID: l'ID del tuo Google Cloud progetto.ENDPOINT_LOCATION: la multiregione per la tua richiesta API. Specifica uno dei seguenti valori:usper la multi-regione Stati Unitieuper la multiregione EUglobalper la località Globale
LOCATION: la multiregione del datastore:global,usoeu.APP_ID: l'ID dell'app che vuoi configurare.
Configura le autorizzazioni del datastore
Per configurare le autorizzazioni dei dati, concedi autorizzazioni a livello di risorsa nell'datastorei di destinazione utilizzando la console Google Cloud o l'API REST. Gli utenti finali possono connettersi ed eseguire query solo sui datastore a cui sono state concesse esplicitamente le autorizzazioni.
Se vuoi assegnare un ruolo personalizzato anziché un ruolo predefinito nel criterio IAM del datastore, assicurati che il ruolo personalizzato includa tutte le autorizzazioni del ruolo predefinito corrispondente, ad esempio Utente Gemini Enterprise (roles/discoveryengine.agentspaceUser) o Amministratore Gemini Enterprise (roles/discoveryengine.agentspaceAdmin).
Per i connettori di terze parti che applicano le autorizzazioni dei documenti degli utenti finali, l'accesso degli utenti finali ai singoli documenti continua a essere regolato dagli elenchi di controllo dell'accesso dell'accesso (ACL) sincronizzati dal sistema di origine (la concessione dell'accesso IAM non aggira gli ACL di origine).
Per trovare datastore, raccolte e ID entità, vedi Recuperare i dettagli di datastore ed entità.
Console
Per configurare le autorizzazioni del datastore nella console Google Cloud , segui questi passaggi. Le autorizzazioni assegnate a un datastore nella console Google Cloud vengono propagate automaticamente a tutte le entità secondarie sottostanti:
Nella console Google Cloud , vai alla pagina Gemini Enterprise > Data Stores.
Fai clic sul nome del tuo datastore.
Fai clic su Autorizzazioni utente > Aggiungi utente.
Seleziona il ruolo per l'utente o il gruppo:
- Utente: assegna
Utente Gemini Enterprise
(
roles/discoveryengine.agentspaceUser). - Amministratore: assegna
Amministratore Gemini Enterprise
(
roles/discoveryengine.agentspaceAdmin). - Visualizzatore: assegna
Gemini Enterprise Viewer
(
roles/discoveryengine.agentspaceViewer).
- Utente: assegna
Utente Gemini Enterprise
(
Fai clic su Salva.
REST
Per configurare le autorizzazioni del datastore utilizzando l'API REST, espandi la sezione che corrisponde alla configurazione del datastore:
Datastore con entità
Utilizza questa opzione per i connettori di terze parti che contengono più tipi di entità, come Jira, Salesforce, Confluence o SharePoint Online. Quando utilizzi l'API REST, le autorizzazioni non vengono automaticamente trasferite dalla raccolta di connettori principale alle entità secondarie. Devi concedere le stesse autorizzazioni sia per la risorsa raccolta padre sia per tutti gli archivi di dati delle entità sottostanti (non configurare le autorizzazioni solo per un sottoinsieme di entità).
Segui questi passaggi per configurare le autorizzazioni per i datastore con entità:
-
Ottieni la policy IAM attuale per la raccolta del connettore dati:
Chiama
getIamPolicyper recuperare la polizza attuale e il relativoetag:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID:getIamPolicy"
Sostituisci quanto segue:
PROJECT_ID: l'ID del tuo Google Cloud progetto.ENDPOINT_LOCATION: la multiregione per la tua richiesta API. Specifica uno dei seguenti valori:usper la multi-regione Stati Unitieuper la multiregione EUglobalper la località Globale
LOCATION: la regione multipla del tuo datastore:global,usoeu.COLLECTION_ID: l'ID raccolta del connettore dati. Per maggiori informazioni, consulta Visualizzare i dettagli di datastore ed entità.
-
Imposta la policy IAM aggiornata sulla raccolta del connettore dati:
Chiama
setIamPolicy, inclusietage l'associazione di ruolo:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "policy": { "etag": "ETAG", "bindings": [ { "role": "EXISTING_ROLE", "members": [ "user:EXISTING_USER_EMAIL" ] }, { "role": "PREDEFINED_ROLE", "members": [ "user:USER_EMAIL" ] } ] } }' \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID:setIamPolicy"
Sostituisci quanto segue:
ETAG: il valoreetagche hai ottenuto come risposta quando hai utilizzato il metodogetIamPolicynel passaggio 1.EXISTING_ROLEeEXISTING_USER_EMAIL: le associazioni di ruolo ed entità esistenti restituite dal metodogetIamPolicyche vuoi conservare.USER_EMAIL: l'indirizzo email dell'utente o del gruppo.PREDEFINED_ROLE: il ruolo predefinito che vuoi assegnare alla raccolta. Ad esempio, Gemini Enterprise User (roles/discoveryengine.agentspaceUser) per gli utenti finali, Gemini Enterprise Admin (roles/discoveryengine.agentspaceAdmin) per gli amministratori o Gemini Enterprise Viewer (roles/discoveryengine.agentspaceViewer) per i visualizzatori. Per saperne di più, consulta Ruoli predefiniti.PROJECT_ID: l'ID del tuo Google Cloud progetto.ENDPOINT_LOCATION: la multiregione per la tua richiesta API. Specifica uno dei seguenti valori:usper la multi-regione Stati Unitieuper la multiregione EUglobalper la località Globale
LOCATION: la regione multipla del tuo datastore:global,usoeu.COLLECTION_ID: l'ID raccolta del connettore dati.
-
Ottieni il criterio IAM attuale per un datastore di entità:
In Gemini Enterprise, i datastore delle entità secondarie si trovano in
default_collectione hanno come prefisso l'ID della raccolta di connettori. ChiamagetIamPolicysul datastore delle entità indefault_collection:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ENTITY_ID:getIamPolicy"
Sostituisci quanto segue:
PROJECT_ID: l'ID del tuo Google Cloud progetto.ENDPOINT_LOCATION: la multiregione per la tua richiesta API. Specifica uno dei seguenti valori:usper la multi-regione Stati Unitieuper la multiregione EUglobalper la località Globale
LOCATION: la regione multipla del tuo datastore:global,usoeu.DATA_STORE_ENTITY_ID: l'ID del datastore delle entità (ad esempio,DataConnector3_entityA). Per maggiori informazioni, consulta Recuperare i dettagli del datastore e delle entità.
-
Imposta la policy IAM aggiornata sul datastore dell'entità:
Chiama
setIamPolicysul datastore delle entità, inclusoetag:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "policy": { "etag": "ETAG", "bindings": [ { "role": "EXISTING_ROLE", "members": [ "user:EXISTING_USER_EMAIL" ] }, { "role": "PREDEFINED_ROLE", "members": [ "user:USER_EMAIL" ] } ] } }' \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ENTITY_ID:setIamPolicy"
Sostituisci quanto segue:
ETAG: il valoreetagottenuto come risposta quando hai utilizzato il metodogetIamPolicynel passaggio 3.EXISTING_ROLEeEXISTING_USER_EMAIL: le associazioni di ruolo ed entità esistenti restituite dal metodogetIamPolicyche vuoi conservare.USER_EMAIL: l'indirizzo email dell'utente o del gruppo.PREDEFINED_ROLE: il ruolo predefinito che vuoi assegnare al datastore di entità. Ad esempio, Gemini Enterprise User (roles/discoveryengine.agentspaceUser) per gli utenti finali, Gemini Enterprise Admin (roles/discoveryengine.agentspaceAdmin) per gli amministratori o Gemini Enterprise Viewer (roles/discoveryengine.agentspaceViewer) per i visualizzatori. Per saperne di più, consulta Ruoli predefiniti.PROJECT_ID: l'ID del tuo Google Cloud progetto.ENDPOINT_LOCATION: la multiregione per la tua richiesta API. Specifica uno dei seguenti valori:usper la multi-regione Stati Unitieuper la multiregione EUglobalper la località Globale
LOCATION: la regione multipla del tuo datastore:global,usoeu.DATA_STORE_ENTITY_ID: l'ID del datastore dell'entità.
Ripeti i passaggi 3 e 4 per ogni datastore di entità nel connettore dati. Se in un secondo momento configuri il connettore per sincronizzare tipi di entità aggiuntivi, configura i criteri IAM su ogni datastore delle entità appena creato.
Datastore senza entità
Utilizza questa opzione per i datastore autonomi, come Cloud Storage,
BigQuery o le origini dati che non contengono entità. Imposta
le autorizzazioni direttamente sulla singola risorsa del datastore in
default_collection.
Segui questi passaggi per configurare le autorizzazioni per i datastore senza entità:
-
Recupera la policy IAM corrente per il datastore:
Chiama
getIamPolicyper recuperare la polizza attuale e il relativoetag:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID:getIamPolicy"
Sostituisci quanto segue:
PROJECT_ID: l'ID del tuo Google Cloud progetto.ENDPOINT_LOCATION: la multiregione per la tua richiesta API. Specifica uno dei seguenti valori:usper la multi-regione Stati Unitieuper la multiregione EUglobalper la località Globale
LOCATION: la regione multipla del tuo datastore:global,usoeu.DATA_STORE_ID: l'ID del datastore. Per maggiori informazioni, consulta Visualizzare i dettagli di datastore ed entità.
-
Imposta la policy IAM aggiornata sul datastore:
Chiama
setIamPolicy, inclusietage l'associazione di ruolo:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "policy": { "etag": "ETAG", "bindings": [ { "role": "EXISTING_ROLE", "members": [ "user:EXISTING_USER_EMAIL" ] }, { "role": "PREDEFINED_ROLE", "members": [ "user:USER_EMAIL" ] } ] } }' \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID:setIamPolicy"
Sostituisci quanto segue:
ETAG: il valoreetagche hai ottenuto come risposta quando hai utilizzato il metodogetIamPolicynel passaggio 1.EXISTING_ROLEeEXISTING_USER_EMAIL: le associazioni di ruolo ed entità esistenti restituite dal metodogetIamPolicyche vuoi conservare.USER_EMAIL: l'indirizzo email dell'utente o del gruppo.PREDEFINED_ROLE: il ruolo predefinito che vuoi assegnare al datastore. Ad esempio, Gemini Enterprise User (roles/discoveryengine.agentspaceUser) per gli utenti finali, Gemini Enterprise Admin (roles/discoveryengine.agentspaceAdmin) per gli amministratori o Gemini Enterprise Viewer (roles/discoveryengine.agentspaceViewer) per i visualizzatori. Per saperne di più, consulta Ruoli predefiniti.PROJECT_ID: l'ID del tuo Google Cloud progetto.ENDPOINT_LOCATION: la multiregione per la tua richiesta API. Specifica uno dei seguenti valori:usper la multi-regione Stati Unitieuper la multiregione EUglobalper la località Globale
LOCATION: la regione multipla del tuo datastore:global,usoeu.DATA_STORE_ID: l'ID del datastore.
Concedere l'accesso a Gemini Notebook Enterprise e alle funzionalità degli strumenti per sviluppatori di AI
Gli utenti con limitazioni a cui è assegnato customRestrictedEndUser a livello di progetto perdono l'accesso a funzionalità come gli strumenti per sviluppatori AI e Gemini Notebook Enterprise perché il loro ruolo di progetto contiene solo autorizzazioni di base.
La concessione del ruolo completo
Utente Gemini Enterprise
(roles/discoveryengine.agentspaceUser) a livello di progetto esegue l'override
dell'isolamento ed espone tutte le app e tutti i datastore nel progetto. Gli amministratori possono invece concedere ruoli specifici per funzionalità a livello di progetto.
Concedere l'accesso a Gemini Notebook Enterprise
Concedi il ruolo
Utente NotebookLM Cloud
(roles/discoveryengine.notebookLmUser) per consentire agli utenti con limitazioni di creare e utilizzare notebook senza esporre app o datastore:
Console
Per concedere l'accesso utilizzando la console Google Cloud :
Nella console Google Cloud vai alla pagina IAM.
Selezionare il tuo progetto Google Cloud .
Individua l'utente o il gruppo nell'elenco delle autorizzazioni e fai clic su Modifica entità. In alternativa, fai clic su Concedi l'accesso per aggiungere un nuovo utente.
Nella sezione Assegna ruoli, fai clic su Aggiungi un altro ruolo.
Nel campo Seleziona un ruolo, cerca e seleziona Utente Cloud NotebookLM (
roles/discoveryengine.notebookLmUser).Fai clic su Salva.
gcloud
Per concedere l'accesso utilizzando Google Cloud CLI, esegui questo comando:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:USER_EMAIL" \
--role="roles/discoveryengine.notebookLmUser"
Sostituisci quanto segue:
PROJECT_ID: l'ID del tuo Google Cloud progetto.USER_EMAIL: l'indirizzo email dell'utente o del gruppo.
REST
Per concedere l'accesso utilizzando l'API REST, aggiorna la policy IAM del progetto utilizzando il metodo setIamPolicy:
Recupera la policy IAM corrente utilizzando il metodo
getIamPolicyper recuperare la policy corrente e il relativoetag:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{}' \ "https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy"Sostituisci
PROJECT_IDcon l'ID del tuo progettoGoogle Cloud .Imposta la policy IAM aggiornata utilizzando il metodo
setIamPolicycon il ruoloroles/discoveryengine.notebookLmUser:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "policy": { "etag": "ETAG", "bindings": [ { "role": "EXISTING_ROLE", "members": [ "user:EXISTING_USER_EMAIL" ] }, { "role": "roles/discoveryengine.notebookLmUser", "members": [ "user:USER_EMAIL" ] } ] } }' \ "https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy"Sostituisci quanto segue:
ETAG: il valoreetagdalla rispostagetIamPolicy.EXISTING_ROLEeEXISTING_USER_EMAIL: i binding di ruoli ed entità esistenti restituiti dal metodogetIamPolicyche vuoi conservare.PROJECT_ID: l'ID del tuo Google Cloud progetto.USER_EMAIL: l'indirizzo email dell'utente o del gruppo.
Concedere l'accesso agli strumenti per sviluppatori AI
Concedi i ruoli
Utente Gemini in Google Cloud
(roles/cloudaicompanion.user) e
Ruolo utente per l'API Business AI Code
(roles/businessaicode.user) per attivare gli strumenti per sviluppatori AI senza
esporre le app o gli archivi di dati di Gemini Enterprise:
Console
Per concedere l'accesso utilizzando la console Google Cloud :
Nella console Google Cloud vai alla pagina IAM.
Selezionare il tuo progetto Google Cloud .
Individua l'utente o il gruppo nell'elenco delle autorizzazioni e fai clic su Modifica entità. In alternativa, fai clic su Concedi l'accesso per aggiungere un nuovo utente.
Nella sezione Assegna ruoli, assegna ciascuno dei seguenti ruoli:
- Gemini for Google Cloud User (
roles/cloudaicompanion.user) - Ruolo utente per l'API Business AI Code (
roles/businessaicode.user)
- Gemini for Google Cloud User (
Fai clic su Salva.
gcloud
Per concedere l'accesso utilizzando Google Cloud CLI, esegui i seguenti comandi:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:USER_EMAIL" \
--role="roles/cloudaicompanion.user"
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:USER_EMAIL" \
--role="roles/businessaicode.user"
Sostituisci quanto segue:
PROJECT_ID: l'ID del tuo Google Cloud progetto.USER_EMAIL: l'indirizzo email dell'utente o del gruppo.
REST
Per concedere l'accesso utilizzando l'API REST, aggiorna la policy IAM del progetto utilizzando il metodo setIamPolicy:
Recupera la policy IAM corrente utilizzando il metodo
getIamPolicyper recuperare la policy corrente e il relativoetag:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{}' \ "https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy"Sostituisci
PROJECT_IDcon l'ID del tuo progettoGoogle Cloud .Imposta la policy IAM aggiornata utilizzando il metodo
setIamPolicycon i ruoliroles/cloudaicompanion.usereroles/businessaicode.user:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "policy": { "etag": "ETAG", "bindings": [ { "role": "EXISTING_ROLE", "members": [ "user:EXISTING_USER_EMAIL" ] }, { "role": "roles/cloudaicompanion.user", "members": [ "user:USER_EMAIL" ] }, { "role": "roles/businessaicode.user", "members": [ "user:USER_EMAIL" ] } ] } }' \ "https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy"Sostituisci quanto segue:
ETAG: il valoreetagdalla rispostagetIamPolicy.EXISTING_ROLEeEXISTING_USER_EMAIL: i binding di ruoli ed entità esistenti restituiti dal metodogetIamPolicyche vuoi conservare.PROJECT_ID: l'ID del tuo Google Cloud progetto.USER_EMAIL: l'indirizzo email dell'utente o del gruppo.
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.