Gestisci l'accesso a un'istanza

Questa guida descrive come concedere l'accesso a una specifica istanza di Vertex AI Workbench. 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 Vertex AI Workbench, imposta un criterio IAM (Identity and Access Management) per l'istanza. Il criterio associa una o più entità, ad esempio un account utente o 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 applicare il principio del privilegio minimo.

Se concedi l'accesso a una risorsa padre (ad esempio a un progetto), concedi implicitamente l'accesso a tutte le relative risorse figlio (ad esempio, a tutte le istanze del progetto). Per limitare l'accesso alle risorse, se possibile, imposta i criteri IAM sulle risorse di livello inferiore anziché a livello di progetto o superiore.

Per informazioni generali su come concedere, modificare e revocare l'accesso a risorse non correlate a Vertex AI Workbench, ad esempio per concedere l'accesso a un progetto Google Cloud, consulta la documentazione IAM per gestire l'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'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 i ruoli IAM predefiniti di Vertex AI Workbench.

Tuttavia, anche la concessione dell'accesso completo a un'istanza di Vertex AI Workbench non concede a un'entità la possibilità di utilizzare l'interfaccia JupyterLab dell'istanza. Per concedere l'accesso all'interfaccia JupyterLab, vedi Gestire l'accesso all'interfaccia JupyterLab di un'istanza.

Concedi l'accesso alle istanze di Vertex AI Workbench

Per concedere agli utenti l'autorizzazione ad accedere a una specifica istanza di Vertex AI Workbench, imposta un criterio IAM per l'istanza.

gcloud

Per concedere un ruolo a un'entità su un'istanza di Vertex AI Workbench, utilizza il comando get-iam-policy per recuperare il criterio attuale, modificare l'accesso del criterio attuale e poi utilizzare il comando set-iam-policy per aggiornare il criterio nell'istanza.

Recupera il criterio attuale

Prima di utilizzare qualsiasi dato di comando riportato di seguito, effettua le seguenti sostituzioni:

  • INSTANCE_NAME: il nome dell'istanza
  • PROJECT_ID: l'ID del tuo progetto Google Cloud
  • ZONE: la zona in cui si trova l'istanza

Esegui questo seguente comando:

Linux, macOS o Cloud Shell

gcloud workbench instances get-iam-policy INSTANCE_NAME --project=PROJECT_ID --location=ZONE

Windows (PowerShell)

gcloud workbench instances get-iam-policy INSTANCE_NAME --project=PROJECT_ID --location=ZONE

Windows (cmd.exe)

gcloud workbench 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@example.com"
      ]
    }
  ],
  "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 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
    }
    
  2. 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 qualsiasi dato di comando riportato di seguito, effettua le seguenti sostituzioni:

  • INSTANCE_NAME: il nome dell'istanza
  • 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 questo seguente comando:

Linux, macOS o Cloud Shell

gcloud workbench instances set-iam-policy INSTANCE_NAME --project=PROJECT_ID --location=ZONE request.json --format=json

Windows (PowerShell)

gcloud workbench instances set-iam-policy INSTANCE_NAME --project=PROJECT_ID --location=ZONE request.json --format=json

Windows (cmd.exe)

gcloud workbench 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'istanza di Vertex AI Workbench non concede la possibilità di utilizzare l'interfaccia JupyterLab dell'istanza. Per concedere l'accesso all'interfaccia JupyterLab, vedi Gestire l'accesso all'interfaccia JupyterLab di un'istanza di Vertex AI Workbench.

API

Per concedere un ruolo a un'entità su un'istanza di Vertex AI Workbench, utilizza il metodo getIamPolicy per recuperare il criterio attuale, modificare l'accesso del criterio attuale e poi utilizzare il metodo setIamPolicy per aggiornare il criterio nell'istanza.

Recupera il criterio attuale

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

  • INSTANCE_NAME: il nome dell'istanza

Metodo HTTP e URL:

GET https://notebooks.googleapis.com/v2/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/v2/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/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 entità e i relativi ruoli associati. Ad esempio, per concedere il ruolo notebooks.admin a eve@example.com, aggiungi la nuova associazione seguente 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, effettua le seguenti sostituzioni:

  • INSTANCE_NAME: il nome dell'istanza

Metodo HTTP e URL:

POST https://notebooks.googleapis.com/v2/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/v2/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/v2/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'istanza di Vertex AI Workbench non concede la possibilità di utilizzare l'interfaccia JupyterLab dell'istanza. Per concedere l'accesso all'interfaccia JupyterLab, vedi Gestire l'accesso all'interfaccia JupyterLab di un'istanza.

Passaggi successivi