Questa guida descrive come concedere l'accesso a un'istanza specifica di Agent Platform Workbench di Gemini Enterprise. Per gestire l'accesso alle risorse di Gemini Enterprise Agent Platform, consulta la pagina di Agent Platform sul controllo dell'accesso.
Puoi concedere l'accesso a un'istanza di Agent Platform Workbench impostando una policy IAM (Identity and Access Management) sull'istanza. La policy vincola una o più entità, ad esempio un utente o un account di servizio, a uno o più ruoli. Ogni ruolo contiene un elenco di autorizzazioni che consentono all'entità di interagire con l'istanza.
Puoi concedere l'accesso a un'istanza, anziché a una risorsa principale come un progetto, una cartella o un'organizzazione, per applicare il principio del privilegio minimo.
Se concedi l'accesso a una risorsa principale (ad esempio a un progetto), concedi implicitamente l'accesso a tutte le sue risorse secondarie (ad esempio a tutte le istanze del progetto). Per limitare l'accesso alle risorse, imposta le policy IAM sulle risorse di livello inferiore, se possibile, anziché a livello di progetto o superiore.
Per informazioni generali su come concedere, modificare e revocare l'accesso alle risorse non correlate ad Agent Platform Workbench, ad esempio per concedere l'accesso a un Google Cloud progetto, consulta la documentazione IAM relativa alla gestione dell'accesso a progetti, cartelle e organizzazioni.
Limitazioni di accesso
L'accesso a un'istanza può includere un'ampia gamma di funzionalità, a seconda del ruolo assegnato all'entità. Ad esempio, puoi concedere a un'entità la possibilità di avviare, arrestare, eseguire l'upgrade e monitorare lo stato di integrità di un'istanza. Per l'elenco completo delle autorizzazioni IAM disponibili, consulta Ruoli IAM predefiniti di Agent Platform Workbench .
Tuttavia, anche se concedi a un'entità l'accesso completo a un'istanza di Agent Platform Workbench, non le concedi la possibilità di utilizzare l'interfaccia JupyterLab dell'istanza. Per concedere l'accesso all'interfaccia JupyterLab, consulta Gestire l'accesso all'interfaccia JupyterLab di un'istanza.
Concedere l'accesso alle istanze di Agent Platform Workbench
Per concedere agli utenti l'autorizzazione ad accedere a un'istanza specifica di Agent Platform Workbench, imposta una policy IAM sull'istanza.
gcloud
Per concedere un ruolo a un'entità su
un'istanza di Agent Platform Workbench, utilizza il
get-iam-policy
comando per recuperare la policy corrente,
modifica l'accesso alla policy corrente e poi utilizza il
set-iam-policy
comando per aggiornare la policy sull'istanza.
Recuperare la policy corrente
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
INSTANCE_NAME: il nome dell'istanzaPROJECT_ID: l'ID Google Cloud progettoLOCATION: la zona in cui si trova l'istanza
Esegui questo comando:
Linux, macOS o Cloud Shell
gcloud workbench instances get-iam-policy INSTANCE_NAME \ --project=PROJECT_ID \ --location=LOCATION
Windows (PowerShell)
gcloud workbench instances get-iam-policy INSTANCE_NAME ` --project=PROJECT_ID ` --location=LOCATION
Windows (cmd.exe)
gcloud workbench instances get-iam-policy INSTANCE_NAME ^ --project=PROJECT_ID ^ --location=LOCATION
{
"bindings": [
{
"role": "roles/notebooks.viewer",
"members": [
"user:email@example.com"
]
}
],
"etag": "BwWWja0YfJA=",
"version": 3
}
Modificare la policy
Modifica la policy con un editor di testo per aggiungere o rimuovere le entità e i relativi ruoli associati. Ad esempio, per concedere il ruolo
notebooks.adminaeve@example.com, aggiungi la seguente nuova associazione alla policy nella sezione"bindings":{ "role": "roles/notebooks.admin", "members": [ "user:eve@example.com" ] }Dopo aver aggiunto la nuova associazione, la policy potrebbe avere il seguente aspetto:
{ "bindings": [ { "role": "roles/notebooks.viewer", "members": [ "user:email@example.com" ] }, { "role": "roles/notebooks.admin", "members": [ "user:eve@example.com" ] } ], "etag": "BwWWja0YfJA=", "version": 3 }Salva la policy aggiornata in un file denominato
request.json.
Aggiornare la policy sull'istanza
Nel corpo della richiesta, fornisci la policy IAM aggiornata del passaggio precedente, nidificata all'interno di una sezione "policy".
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
INSTANCE_NAME: il nome dell'istanzaPROJECT_ID: l'ID Google Cloud progettoLOCATION: la zona in cui si trova l'istanza
Salva i seguenti contenuti in un file denominato request.json:
{ "policy": { "bindings": [ { "role": "roles/notebooks.viewer", "members": [ "user:email@example.com" ] }, { "role": "roles/notebooks.admin", "members": [ "user:eve@example.com" ] } ], "etag": "BwWWja0YfJA=", "version": 3 } }
Esegui questo comando:
Linux, macOS o Cloud Shell
gcloud workbench instances set-iam-policy INSTANCE_NAME \ --project=PROJECT_ID \ --location=LOCATION \ request.json --format=json
Windows (PowerShell)
gcloud workbench instances set-iam-policy INSTANCE_NAME ` --project=PROJECT_ID ` --location=LOCATION ` request.json --format=json
Windows (cmd.exe)
gcloud workbench instances set-iam-policy INSTANCE_NAME ^ --project=PROJECT_ID ^ --location=LOCATION ^ request.json --format=json
Concedere l'accesso all'interfaccia JupyterLab
Se concedi a un'entità l'accesso a un'istanza di Agent Platform Workbench, non le concedi la possibilità di utilizzare l'interfaccia JupyterLab dell'istanza. Per concedere l'accesso all'interfaccia JupyterLab, consulta Gestire l'accesso all' interfaccia JupyterLab di un'istanza di Agent Platform Workbench.
API
Per concedere un ruolo a un'entità su
un'istanza di Agent Platform Workbench, utilizza il
getIamPolicy
metodo per recuperare la policy corrente,
modifica l'accesso alla policy corrente e poi utilizza il
setIamPolicy
metodo per aggiornare la policy sull'istanza.
Recuperare la policy corrente
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
PROJECT_ID: l'ID Google Cloud progettoLOCATION: la zona in cui si trova l'istanzaINSTANCE_NAME: il nome dell'istanza
Metodo HTTP e URL:
GET https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_NAME:getIamPolicy
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_NAME:getIamPolicy"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_NAME:getIamPolicy" | Select-Object -Expand Content
{
"bindings": [
{
"role": "roles/notebooks.viewer",
"members": [
"user:email@example.com"
]
}
],
"etag": "BwWWja0YfJA=",
"version": 3
}
Modificare la policy
Modifica la policy con un editor di testo per aggiungere o rimuovere le entità e i relativi ruoli associati. Ad esempio, per concedere il ruolo notebooks.admin a
eve@example.com, aggiungi la seguente nuova associazione alla policy
nella sezione "bindings":
{
"role": "roles/notebooks.admin",
"members": [
"user:eve@example.com"
]
}
Dopo aver aggiunto la nuova associazione, la policy potrebbe avere il seguente aspetto:
{
"bindings": [
{
"role": "roles/notebooks.viewer",
"members": [
"user:email@example.com"
]
},
{
"role": "roles/notebooks.admin",
"members": [
"user:eve@example.com"
]
}
],
"etag": "BwWWja0YfJA=",
"version": 3
}
Aggiornare la policy sull'istanza
Nel corpo della richiesta, fornisci la policy IAM aggiornata del passaggio precedente, nidificata all'interno di una sezione "policy".
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
PROJECT_ID: l'ID Google Cloud progettoLOCATION: la zona in cui si trova l'istanzaINSTANCE_NAME: il nome dell'istanza
Metodo HTTP e URL:
POST https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_NAME:setIamPolicy
Corpo JSON della richiesta:
{
"policy": {
"bindings": [
{
"role": "roles/notebooks.viewer",
"members": [
"user:email@example.com"
]
},
{
"role": "roles/notebooks.admin",
"members": [
"user:eve@example.com"
]
}
],
"etag": "BwWWja0YfJA=",
"version": 3
}
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_NAME:setIamPolicy"
PowerShell
Salva il corpo della richiesta in un file denominato request.json,
e quindi esegui il comando seguente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_NAME:setIamPolicy" | Select-Object -Expand Content
Dovresti ricevere un codice di stato riuscito (2xx) e una risposta vuota.
Concedere l'accesso all'interfaccia JupyterLab
Se concedi a un'entità l'accesso a un'istanza di Agent Platform Workbench, non le concedi la possibilità di utilizzare l'interfaccia JupyterLab dell'istanza. Per concedere l'accesso all'interfaccia JupyterLab, consulta Gestire l'accesso all'interfaccia JupyterLab di un'istanza.
Passaggi successivi
Per scoprire di più su Identity and Access Management (IAM) e su come i ruoli IAM possono aiutarti a concedere e limitare l'accesso, consulta la documentazione di IAM.
Scopri di più sui ruoli IAM disponibili per Agent Platform Workbench.
Scopri come creare e gestire i ruoli personalizzati.
Per scoprire come concedere l'accesso ad altre risorse Google, consulta Gestire l'accesso ad altre risorse.