Gestire l'accesso a un'istanza di blocchi note gestita dall'utente
Questa guida descrive come concedere l'accesso a una specifica istanza di notebook gestiti dall'utente di Vertex AI Workbench. Per gestire l'accesso alle risorse Vertex AI, consulta la pagina di Vertex AI sul controllo dell'accesso.
Puoi concedere l'accesso a un'istanza di Notebook gestita dall'utente impostando un criterio IAM (Identity and Access Management) sull'istanza. Il criterio associa 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.
Per applicare il principio del privilegio minimo, puoi concedere l'accesso a un'istanza anziché a una risorsa principale come un progetto, una cartella o un'organizzazione.
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 i criteri 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 a Vertex AI Workbench, ad esempio per concedere l'accesso a un progetto Google Cloud , consulta la documentazione IAM per la gestione dell'accesso a progetti, cartelle e organizzazioni.
Limitazioni di accesso
L'accesso a un'istanza può includere una vasta gamma di funzionalità, a seconda del ruolo assegnato all'entità. Ad esempio, potresti concedere a un principale 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 per i notebook gestiti dall'utente.
Tuttavia, anche se concedi a un principale l'accesso completo a un'istanza di JupyterLab gestita dall'utente, non gli viene concessa la possibilità di utilizzare l'interfaccia JupyterLab dell'istanza. Per concedere l'accesso all'interfaccia di JupyterLab, consulta Gestire l'accesso all'interfaccia JupyterLab di un'istanza di notebook gestita dall'utente.
Concedere l'accesso alle istanze di blocchi note gestiti dall'utente
Per concedere agli utenti l'autorizzazione ad accedere a una specifica istanza di Notebooks gestita dall'utente, imposta un criterio IAM sull'istanza.
gcloud
Per concedere un ruolo a un'entità su
una istanza di notebook gestita dall'utente, utilizza il
comando
get-iam-policy
per recuperare il criterio corrente,
modifica l'accesso del criterio corrente e poi utilizza il
comando
set-iam-policy
per aggiornare il criterio nell'istanza.
Recupera il criterio corrente
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- INSTANCE_NAME: il nome dell'istanza di Notebook gestiti dall'utente
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- ZONE: la zona in cui si trova l'istanza
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud notebooks instances get-iam-policy INSTANCE_NAME --project=PROJECT_ID --location=ZONE
Windows (PowerShell)
gcloud notebooks instances get-iam-policy INSTANCE_NAME --project=PROJECT_ID --location=ZONE
Windows (cmd.exe)
gcloud notebooks instances get-iam-policy INSTANCE_NAME --project=PROJECT_ID --location=ZONE
{ "bindings": [ { "role": "roles/notebooks.viewer", "members": [ "user:email@example.com" ] } ], "etag": "BwWWja0YfJA=", "version": 3 }
Modifica il criterio
Modifica il criterio con un editor di testo per aggiungere o rimuovere le entità e i relativi ruoli associati. Ad esempio, per concedere il ruolo
notebooks.admin
aeve@example.com
, aggiungi la seguente nuova associazione al criterio nella sezione"bindings"
:{ "role": "roles/notebooks.admin", "members": [ "user:eve@example.com" ] }
Dopo aver aggiunto la nuova associazione, il criterio 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 il criterio aggiornato in un file denominato
request.json
.
Aggiorna il criterio nell'istanza
Nel corpo della richiesta, fornisci il criterio IAM aggiornato del passaggio precedente, nidificato 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'istanza di Notebook gestiti dall'utente
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- ZONE: 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 il seguente comando:
Linux, macOS o Cloud Shell
gcloud notebooks instances set-iam-policy INSTANCE_NAME --project=PROJECT_ID --location=ZONE request.json --format=json
Windows (PowerShell)
gcloud notebooks instances set-iam-policy INSTANCE_NAME --project=PROJECT_ID --location=ZONE request.json --format=json
Windows (cmd.exe)
gcloud notebooks instances set-iam-policy INSTANCE_NAME --project=PROJECT_ID --location=ZONE request.json --format=json
Concedi l'accesso all'interfaccia JupyterLab
La concessione dell'accesso a un principale a un'istanza di blocchi note gestita dall'utente non concede la possibilità di utilizzare l'interfaccia JupyterLab dell'istanza. Per concedere l'accesso all'interfaccia di JupyterLab, consulta Gestire l'accesso all'interfaccia JupyterLab di un'istanza di notebook gestita dall'utente.
API
Per concedere un ruolo a un'entità in un'istanza di Notebook gestita dall'utente, utilizza il metodo getIamPolicy
per recuperare il criterio corrente, modifica l'accesso del criterio corrente e poi utilizza il metodo setIamPolicy
per aggiornare il criterio nell'istanza.
Recupera il criterio corrente
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- INSTANCE_NAME: il nome dell'istanza di Notebook gestiti dall'utente
Metodo HTTP e URL:
GET https://notebooks.googleapis.com/v1/INSTANCE_NAME:getIamPolicy
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://notebooks.googleapis.com/v1/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/v1/INSTANCE_NAME:getIamPolicy" | Select-Object -Expand Content
{ "bindings": [ { "role": "roles/notebooks.viewer", "members": [ "user:email@example.com" ] } ], "etag": "BwWWja0YfJA=", "version": 3 }
Modifica il criterio
Modifica il criterio 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 al criterio
nella sezione "bindings"
:
{
"role": "roles/notebooks.admin",
"members": [
"user:eve@example.com"
]
}
Dopo aver aggiunto la nuova associazione, il criterio 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
}
Aggiorna il criterio nell'istanza
Nel corpo della richiesta, fornisci il criterio IAM aggiornato del passaggio precedente, nidificato all'interno di una sezione "policy"
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- INSTANCE_NAME: il nome dell'istanza di Notebook gestiti dall'utente
Metodo HTTP e URL:
POST https://notebooks.googleapis.com/v1/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 delle seguenti 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/v1/INSTANCE_NAME:setIamPolicy"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
,
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/v1/INSTANCE_NAME:setIamPolicy" | Select-Object -Expand Content
Dovresti ricevere un codice di stato di operazione riuscita (2xx) e una risposta vuota.
Concedi l'accesso all'interfaccia JupyterLab
La concessione dell'accesso a un principale a un'istanza di blocchi note gestita dall'utente non concede la possibilità di utilizzare l'interfaccia JupyterLab dell'istanza. Per concedere l'accesso all'interfaccia di JupyterLab, consulta Gestire l'accesso all'interfaccia JupyterLab di un'istanza di notebook gestita dall'utente.
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 IAM.
Scopri i ruoli IAM disponibili per i blocchi note gestiti dall'utente di Vertex AI Workbench.
Scopri come creare e gestire ruoli personalizzati.
Per scoprire come concedere l'accesso ad altre risorse Google, consulta Gestire l'accesso ad altre risorse.