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

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

Per concedere l'accesso a un'istanza di blocchi note gestiti, imposta un Criterio IAM (Identity and Access Management) dell'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 un risorsa padre (ad esempio, a un progetto), concedi implicitamente l'accesso a tutti i suoi (ad esempio, tutte le istanze di quel 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 relativa alla concessione, alla modifica e alla revoca dell'accesso alle risorse.

Limitazioni di accesso

L'accesso a un'istanza può includere una vasta gamma di funzionalità, sul ruolo assegnato all'entità. Ad esempio: puoi concedere a un'entità la possibilità di avviare, arrestare, eseguire l'upgrade per monitorare lo stato di integrità di un'istanza. Per l'elenco completo delle autorizzazioni IAM disponibili, consulta Ruoli IAM predefiniti per i notebook gestiti.

Tuttavia, anche la concessione di un'entità di accesso completo 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 a un dell'istanza di blocco note gestito Interfaccia JupyterLab.

Concedi l'accesso alle istanze di notebook gestiti

Concedere agli utenti l'autorizzazione ad accedere di una specifica istanza di blocchi note gestiti, e impostare un criterio IAM per l'istanza.

Per concedere un ruolo a un'entità in per un'istanza di blocchi note gestiti, utilizza getIamPolicy per recuperare il criterio corrente, modifica l'accesso del criterio corrente, quindi utilizza 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 della tua istanza di blocchi note gestiti

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
La risposta è il testo del criterio IAM dell'istanza. Di seguito è riportato un esempio.
{
  "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 gli 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 della tua istanza di blocchi note gestiti

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. 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 \
"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

Quando si concede l'accesso a un'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 a un dell'istanza di blocco note gestito Interfaccia JupyterLab.

Passaggi successivi