Faça a gestão do acesso a uma instância de notebooks geridos
Este guia descreve como pode conceder acesso a uma instância específica dos blocos de notas geridos do Vertex AI Workbench. Para gerir o acesso aos recursos do Vertex AI, consulte a página do Vertex AI sobre o controlo de acesso.
Concede acesso a uma instância de blocos de notas geridos definindo uma política de gestão de identidade e de acesso (IAM) na instância. A política associa um ou mais responsáveis, como um utilizador ou uma conta de serviço, a uma ou mais funções. Cada função contém uma lista de autorizações que permitem ao principal interagir com a instância.
Pode conceder acesso a uma instância, em vez de a um recurso principal, como um projeto, uma pasta ou uma organização, para exercer o princípio do privilégio mínimo.
Se conceder acesso a um recurso principal (por exemplo, a um projeto), concede implicitamente acesso a todos os respetivos recursos secundários (por exemplo, a todas as instâncias nesse projeto). Para limitar o acesso aos recursos, defina políticas IAM em recursos de nível inferior sempre que possível, em vez de ao nível do projeto ou superior.
Para obter informações gerais sobre como conceder, alterar e revogar o acesso a recursos não relacionados com o Vertex AI Workbench, por exemplo, para conceder acesso a um projeto, consulte a documentação do IAM para saber como conceder, alterar e revogar o acesso a recursos. Google Cloud
Limitações de acesso
O acesso a uma instância pode incluir uma vasta gama de capacidades, consoante a função que atribui ao principal. Por exemplo, pode conceder a um principal a capacidade de iniciar, parar, atualizar e monitorizar o estado de funcionamento de uma instância. Para ver a lista completa das autorizações de IAM disponíveis, consulte os papéis de IAM geridos predefinidos.
No entanto, mesmo que conceda a um principal acesso total a uma instância de blocos de notas gerida, não lhe concede a capacidade de usar a interface do JupyterLab da instância. Para conceder acesso à interface do JupyterLab, consulte o artigo Faça a gestão do acesso à interface do JupyterLab de uma instância de blocos de notas gerida.
Conceda acesso a instâncias de blocos de notas geridos
Para conceder aos utilizadores autorização para aceder a uma instância de blocos de notas geridos específica, defina uma Política IAM na instância.
Para conceder uma função a um principal numa instância de blocos de notas geridos, use o método getIamPolicy
para obter a política atual, edite o acesso da política atual e, em seguida, use o método setIamPolicy
para atualizar a política na instância.
Obtenha a política atual
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- INSTANCE_NAME: o nome da sua instância de notebooks geridos
Método HTTP e URL:
GET https://notebooks.googleapis.com/v1/INSTANCE_NAME:getIamPolicy
Para enviar o seu pedido, escolha uma destas opções:
curl
Execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://notebooks.googleapis.com/v1/INSTANCE_NAME:getIamPolicy"
PowerShell
Execute o seguinte 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 }
Edite a política
Edite a política com um editor de texto para adicionar ou remover responsáveis e as respetivas funções associadas. Por exemplo, para conceder a função notebooks.admin
a
eve@example.com, adicione a seguinte nova vinculação à política
na secção "bindings"
:
{
"role": "roles/notebooks.admin",
"members": [
"user:eve@example.com"
]
}
Depois de adicionar a nova associação, a política pode ter o seguinte aspeto:
{
"bindings": [
{
"role": "roles/notebooks.viewer",
"members": [
"user:email@example.com"
]
},
{
"role": "roles/notebooks.admin",
"members": [
"user:eve@example.com"
]
}
],
"etag": "BwWWja0YfJA=",
"version": 3
}
Atualize a política na instância
No corpo do pedido, faculte a política de IAM atualizada do passo anterior, aninhada numa secção "policy"
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- INSTANCE_NAME: o nome da sua instância de notebooks geridos
Método HTTP e URL:
POST https://notebooks.googleapis.com/v1/INSTANCE_NAME:setIamPolicy
Corpo JSON do pedido:
{ "policy": { "bindings": [ { "role": "roles/notebooks.viewer", "members": [ "user:email@example.com" ] }, { "role": "roles/notebooks.admin", "members": [ "user:eve@example.com" ] } ], "etag": "BwWWja0YfJA=", "version": 3 } }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Deve receber um código de estado de êxito (2xx) e uma resposta vazia.
Conceda acesso à interface do JupyterLab
A concessão de acesso de um principal a uma instância de blocos de notas gerida não concede a capacidade de usar a interface do JupyterLab da instância. Para conceder acesso à interface do JupyterLab, consulte o artigo Faça a gestão do acesso à interface do JupyterLab de uma instância de blocos de notas gerida.
O que se segue?
Para saber mais acerca da gestão de identidade e acesso (IAM) e como as funções da IAM podem ajudar a conceder e restringir o acesso, consulte a documentação da IAM.
Saiba mais sobre as funções de IAM disponíveis para os blocos de notas geridos do Vertex AI Workbench.
Saiba como criar e gerir funções personalizadas.
Para saber como conceder acesso a outros recursos Google, consulte o artigo Faça a gestão do acesso a outros recursos.