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

Questa guida descrive come concedere l'accesso a un'istanza di blocchi note gestiti dall'utente 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 dall'utente imposta un Criterio IAM (Identity and Access Management) dell'istanza. Il criterio vincola una o più entità, ad esempio un utente o un a uno o più account di servizio, roles. 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 Autorizzazioni IAM disponibili. Vedi Impostazioni predefinite IAM blocchi note gestiti dall'utente ruoli.

Tuttavia, anche la concessione di un'entità di accesso completo un'istanza di blocchi note gestiti dall'utente 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 notebook gestita dall'utente.

Concedi l'accesso alle istanze di blocchi note gestiti dall'utente

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

gcloud

Per concedere un ruolo a un'entità in per un'istanza di blocchi note gestiti dall'utente, get-iam-policy per recuperare il criterio corrente, modifica l'accesso del criterio corrente, quindi utilizza set-iam-policy per aggiornare il criterio nell'istanza.

Recupera il criterio corrente

Prima di utilizzare uno qualsiasi dei dati di comando 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
La risposta è il testo del criterio IAM dell'istanza. Di seguito è riportato un esempio.
{
  "bindings": [
    {
      "role": "roles/notebooks.viewer",
      "members": [
        "user:[email protected]"
      ]
    }
  ],
  "etag": "BwWWja0YfJA=",
  "version": 3
}

Modifica il criterio

  1. Modifica il criterio con un editor di testo per aggiungere o rimuovere entità e i relativi ruoli associati. Ad esempio, per concedere il ruolo notebooks.admin a [email protected], aggiungi la seguente nuova associazione al criterio nella sezione "bindings":

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

    Dopo aver aggiunto la nuova associazione, il criterio potrebbe avere il seguente aspetto:

    {
      "bindings": [
        {
          "role": "roles/notebooks.viewer",
          "members": [
            "user:[email protected]"
          ]
        },
        {
          "role": "roles/notebooks.admin",
          "members": [
            "user:[email protected]"
          ]
        }
      ],
      "etag": "BwWWja0YfJA=",
      "version": 3
    }
    
  2. Salva il criterio aggiornato in un file denominato request.json.

Aggiorna il criterio nell'istanza

Nel corpo della richiesta, fornisci i dati IAM aggiornati criterio 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 protected]"
        ]
      },
      {
        "role": "roles/notebooks.admin",
        "members": [
          "user:[email protected]"
        ]
      }
    ],
    "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

Quando si concede l'accesso a un'entità a un'istanza di blocchi note gestiti dall'utente 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 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 attuale

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

  • INSTANCE_NAME: il nome della tua istanza di blocchi note 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
La risposta è il testo del criterio IAM dell'istanza. Vedi di seguito un esempio.
{
  "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 gli entità e i relativi ruoli associati. Ad esempio, per concedere il ruolo notebooks.admin a [email protected], aggiungi la seguente nuova associazione al criterio nella sezione "bindings":

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

Dopo aver aggiunto la nuova associazione, il criterio potrebbe avere il seguente aspetto:

{
  "bindings": [
    {
      "role": "roles/notebooks.viewer",
      "members": [
        "user:[email protected]"
      ]
    },
    {
      "role": "roles/notebooks.admin",
      "members": [
        "user:[email protected]"
      ]
    }
  ],
  "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, effettua le seguenti sostituzioni:

  • INSTANCE_NAME: il nome della tua istanza di blocchi note 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 protected]"
        ]
      },
      {
        "role": "roles/notebooks.admin",
        "members": [
          "user:[email protected]"
        ]
      }
    ],
    "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. 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 "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 JupyterLab, consulta Gestire l'accesso a un di blocchi note gestiti dall'utente Interfaccia JupyterLab.

Passaggi successivi