Gerenciar o acesso a uma instância de notebooks gerenciados
Saiba neste guia como conceder acesso a uma instância específica de notebooks gerenciados do Vertex AI Workbench. Confira como gerenciar o acesso aos recursos da Vertex AI na página da Vertex AI sobre controle de acesso.
Para conceder acesso a uma instância de notebooks gerenciados, defina uma política do Identity and Access Management (IAM) na instância. A política vincula um ou mais principais, como um usuário ou uma conta de serviço, a um ou mais papéis. Cada papel contém uma lista de permissões que autoriza o principal a interagir com a instância.
Você pode conceder acesso a uma instância, e não a um recurso pai como um projeto, uma pasta ou uma organização, para aplicar o princípio do privilégio mínimo.
Ao conceder acesso a um recurso pai, como um projeto, você concede acesso implicitamente a todos os recursos filhos (por exemplo, todas as instâncias desse projeto). Para limitar o acesso aos recursos, defina políticas do IAM em recursos de nível inferior, quando possível, em vez de no nível do projeto ou acima.
Saiba como conceder, alterar e revogar o acesso a recursos não relacionados ao Vertex AI Workbench (como conceder acesso a um projeto do Google Cloud, por exemplo) na documentação do IAM sobre Conceder, alterar e revogar acesso a recursos.
Limitações de acesso
O acesso a uma instância pode incluir várias capacidades, dependendo do papel atribuído ao principal. Por exemplo, é possível conceder a um principal a capacidade de iniciar, interromper, fazer upgrade e monitorar o status de integridade de uma instância. Confira a lista completa de permissões do IAM disponíveis em Papéis do IAM predefinidos de notebooks gerenciados.
No entanto, o acesso total de um principal a uma instância de notebooks gerenciados não inclui a capacidade de usar a interface JupyterLab da instância. Saiba como conceder acesso à interface JupyterLab em Gerenciar o acesso a uma interface JupyterLab de uma instância de notebooks gerenciados.
Conceder acesso a instâncias de notebooks gerenciados
Para conceder acesso a uma instância específica de notebooks gerenciados, defina uma política do IAM na instância.
Para conceder um papel a um principal em
uma instância de notebooks gerenciados, use o método
getIamPolicy
para recuperar a política atual,
edite o acesso a ela e use o método
setIamPolicy
para atualizar a política na instância.
Recuperar a política atual
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- INSTANCE_NAME: o nome da instância de notebooks gerenciados.
Método HTTP e URL:
GET https://notebooks.googleapis.com/v1/INSTANCE_NAME:getIamPolicy
Para enviar a solicitação, 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 }
Editar a política
Edite a política com um editor de texto para incluir ou remover principais e os
respectivos papéis. Por exemplo, para conceder o papel notebooks.admin
a
eve@example.com, adicione a nova vinculação a seguir à política
na seção "bindings"
:
{
"role": "roles/notebooks.admin",
"members": [
"user:eve@example.com"
]
}
Depois de adicionar a nova vinculação, a política tem a seguinte aparência:
{
"bindings": [
{
"role": "roles/notebooks.viewer",
"members": [
"user:email@example.com"
]
},
{
"role": "roles/notebooks.admin",
"members": [
"user:eve@example.com"
]
}
],
"etag": "BwWWja0YfJA=",
"version": 3
}
Atualizar a política na instância
No corpo da solicitação, forneça a política de IAM atualizada da etapa anterior, aninhada em uma seção "policy"
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- INSTANCE_NAME: o nome da instância de notebooks gerenciados.
Método HTTP e URL:
POST https://notebooks.googleapis.com/v1/INSTANCE_NAME:setIamPolicy
Corpo JSON da solicitação:
{ "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 a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$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
Você receberá um código de status bem-sucedido (2xx) e uma resposta vazia.
Conceder acesso à interface JupyterLab
O acesso de um principal a uma instância de notebooks gerenciados não inclui a capacidade de usar a interface JupyterLab da instância. Saiba como conceder acesso à interface JupyterLab em Gerenciar o acesso a uma interface JupyterLab de uma instância de notebooks gerenciados.
A seguir
Para saber mais sobre o Identity and Access Management (IAM) e como os papéis do IAM podem ajudar a conceder e restringir o acesso, consulte a documentação do IAM.
Saiba mais sobre os papéis do IAM disponíveis para notebooks gerenciados do Vertex AI Workbench.
Saiba como criar e gerenciar papéis personalizados.
Para saber como conceder acesso a outros recursos do Google, consulte Gerenciar o acesso a outros recursos.