Gestisci l'accesso a un'istanza di blocchi note gestiti

Questa guida descrive come concedere l'accesso a un'istanza di blocchi note gestiti di Vertex AI Workbench. Per gestire l'accesso alle risorse Vertex AI, consulta la pagina Vertex AI sul controllo dell'accesso.

Per concedere l'accesso a un'istanza di blocchi note gestiti, puoi impostare un criterio IAM (Identity and Access Management) per l'istanza. Il criterio associa una o più entità, come 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 padre, come un progetto, una cartella o un'organizzazione, per esercitare il principio del privilegio minimo.

Se concedi l'accesso a una risorsa padre, ad esempio a un progetto, concedi in modo implicito l'accesso a tutte le risorse figlio, ad esempio a tutte le istanze nel progetto. Per limitare l'accesso alle risorse, imposta i criteri IAM sulle risorse di livello inferiore quando 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 concedere, modificare e revocare l'accesso alle risorse.

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 per blocchi note gestiti predefiniti.

Tuttavia, anche la concessione dell'accesso completo a un'istanza di blocchi note gestiti a un'entità non consente 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 blocchi note gestiti.

Concedi l'accesso alle istanze di blocchi note gestite

Per concedere agli utenti l'autorizzazione ad accedere a una specifica istanza di blocchi note gestiti, imposta un criterio IAM per l'istanza.

Per concedere un ruolo a un'entità su un'istanza di blocchi note gestiti, utilizza il metodo getIamPolicy per recuperare il criterio attuale, modifica l'accesso del criterio attuale e poi utilizza il metodo setIamPolicy per aggiornare il criterio nell'istanza.

Recupera il criterio corrente

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • INSTANCE_NAME: il nome dell'istanza di blocchi note gestiti

Metodo HTTP e URL:

GET http://notebooks.googleapis.com/v1/INSTANCE_NAME:getIamPolicy

Per inviare la richiesta, scegli una delle seguenti opzioni:

arricciatura

Esegui questo comando:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"http://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 "http://notebooks.googleapis.com/v1/INSTANCE_NAME:getIamPolicy" | Select-Object -Expand Content
La risposta è il testo del criterio IAM dell'istanza. Vedi un esempio di seguito.
{
  "bindings": [
    {
      "role": "roles/notebooks.viewer",
      "members": [
        "user:[email protected]"
      ]
    }
  ],
  "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 [email protected], aggiungi la nuova associazione seguente al criterio nella sezione "bindings":

{
  "role": "roles/notebooks.admin",
  "members": [
    "user:[email protected]"
  ]
}

Dopo aver aggiunto la nuova associazione, il criterio potrebbe essere simile al seguente:

{
  "bindings": [
    {
      "role": "roles/notebooks.viewer",
      "members": [
        "user:[email protected]"
      ]
    },
    {
      "role": "roles/notebooks.admin",
      "members": [
        "user:[email protected]"
      ]
    }
  ],
  "etag": "BwWWja0YfJA=",
  "version": 3
}

Aggiorna il criterio sull'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, effettua le seguenti sostituzioni:

  • INSTANCE_NAME: il nome dell'istanza di blocchi note gestiti

Metodo HTTP e URL:

POST http://notebooks.googleapis.com/v1/INSTANCE_NAME:setIamPolicy

Corpo JSON della richiesta:

{
  "policy": {
    "bindings": [
      {
        "role": "roles/notebooks.viewer",
        "members": [
          "user:[email protected]"
        ]
      },
      {
        "role": "roles/notebooks.admin",
        "members": [
          "user:[email protected]"
        ]
      }
    ],
    "etag": "BwWWja0YfJA=",
    "version": 3
  }
}

Per inviare la richiesta, scegli una delle seguenti opzioni:

arricciatura

Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"http://notebooks.googleapis.com/v1/INSTANCE_NAME:setIamPolicy"

PowerShell

Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

$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 "http://notebooks.googleapis.com/v1/INSTANCE_NAME:setIamPolicy" | Select-Object -Expand Content

Dovresti ricevere un codice di stato riuscito (2xx) e una risposta vuota.

Concedi l'accesso all'interfaccia JupyterLab

La concessione di un accesso entità a un'istanza di blocchi note gestiti non concede 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 blocchi note gestiti.

Passaggi successivi