Administra el acceso a una instancia
En esta guía, se describe cómo otorgar acceso a una instancia específica de Vertex AI Workbench. Para administrar el acceso a los recursos de Vertex AI, consulta la página de Vertex AI sobre el control de acceso.
Para otorgar acceso a una instancia de Vertex AI Workbench, configura una política de Identity and Access Management (IAM) en ella. La política vincula a uno o más miembros, como un usuario o una cuenta de servicio, con uno o más roles. Cada rol contiene una lista de permisos que permiten la interacción principal con la instancia.
Puedes otorgar acceso a una instancia, en lugar de a un recurso superior, como un proyecto, una carpeta o una organización, para ejercer el principio de privilegio mínimo.
Si otorgas acceso a un recurso superior (por ejemplo, a un proyecto), otorgas acceso de manera implícita a todos los recursos secundarios (por ejemplo, a todas las VM de ese proyecto). Para limitar el acceso a los recursos, establece las políticas de IAM en los recursos de nivel inferior cuando sea posible, en lugar de hacerlo a nivel de proyecto o a un nivel superior.
Para obtener información general sobre cómo otorgar, cambiar y revocar el acceso a los recursos no relacionados con Vertex AI Workbench, por ejemplo, a fin de otorgar acceso a un proyecto de Google Cloud, consulta la documentación de IAM sobre cómo administrar el acceso a proyectos, carpetas y organizaciones.
Limitaciones de acceso
El acceso a una instancia puede incluir una amplia gama de capacidades, según lel rol que asignes al principal. Por ejemplo, puedes otorgar a una principal la capacidad de iniciar, detener, actualizar y supervisar el estado de una instancia. Para obtener la lista completa de los permisos de IAM disponibles, consulta Roles predefinidos de IAM de Vertex AI Workbench.
Sin embargo, incluso si se otorga a una principal acceso completo a una instancia de Vertex AI Workbench, no se otorga la capacidad de usar la interfaz de JupyterLab de la instancia. Para otorgar acceso a la interfaz de JupyterLab, consulta Administra el acceso a la interfaz de JupyterLab de una instancia.
Otorga acceso a instancias de Vertex AI Workbench
Para otorgar permisos a los usuarios a fin de que accedan a una instancia específica de Vertex AI Workbench, configura una política de IAM en la instancia.
gcloud
Para otorgar un rol a una principal en una instancia de Vertex AI Workbench, usa el comando get-iam-policy
a fin de recuperar la política actual y editar la actual el acceso de la política y, luego, usa el comando set-iam-policy
para actualizar la política en la instancia.
Recupera la política actual
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- INSTANCE_NAME: Es el nombre de tu instancia
- PROJECT_ID: el ID del proyecto de Google Cloud
- ZONE: La zona en la que se encuentra la instancia.
Ejecuta el siguiente 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
{ "bindings": [ { "role": "roles/notebooks.viewer", "members": [ "user:email@example.com" ] } ], "etag": "BwWWja0YfJA=", "version": 3 }
Edita la política
Edita la política con un editor de texto para agregar o quitar miembros y sus roles asociados. Por ejemplo, para otorgar el rol
notebooks.admin
aeve@example.com
, agrega la siguiente vinculación nueva a la política en la sección"bindings"
:{ "role": "roles/notebooks.admin", "members": [ "user:eve@example.com" ] }
Después de agregar la vinculación nueva, la política podría tener el siguiente aspecto:
{ "bindings": [ { "role": "roles/notebooks.viewer", "members": [ "user:email@example.com" ] }, { "role": "roles/notebooks.admin", "members": [ "user:eve@example.com" ] } ], "etag": "BwWWja0YfJA=", "version": 3 }
Guarda la política actualizada en un archivo llamado
request.json
.
Actualiza la política en la instancia
En el cuerpo de la solicitud, proporciona la política de IAM actualizada del paso anterior, anidada dentro de una sección "policy"
.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- INSTANCE_NAME: Es el nombre de tu instancia
- PROJECT_ID: el ID del proyecto de Google Cloud
- ZONE: La zona en la que se encuentra la instancia.
Guarda el siguiente código en un archivo llamado 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 } }
Ejecuta el siguiente 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
Otorga acceso a la interfaz de JupyterLab
Otorgar a una principal acceso a una instancia de Vertex AI Workbench no otorga la capacidad de usar la interfaz de JupyterLab de la instancia. Para otorgar acceso a la interfaz de JupyterLab, consulta Administra el acceso a la interfaz de JupyterLab de una instancia de Vertex AI Workbench.
API
Para otorgar un rol a una principal en una instancia de Vertex AI Workbench, usa el método getIamPolicy
a fin de recuperar la política actual y editar la actual el acceso de la política y, luego, usa el método setIamPolicy
para actualizar la política en la instancia.
Recupera la política actual
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- INSTANCE_NAME: Es el nombre de tu instancia
Método HTTP y URL:
GET https://notebooks.googleapis.com/v2/INSTANCE_NAME:getIamPolicy
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://notebooks.googleapis.com/v2/INSTANCE_NAME:getIamPolicy"
PowerShell
Ejecuta el siguiente 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
{ "bindings": [ { "role": "roles/notebooks.viewer", "members": [ "user:email@example.com" ] } ], "etag": "BwWWja0YfJA=", "version": 3 }
Edita la política
Edita la política con un editor de texto para agregar o quitar miembros y sus roles asociados. Por ejemplo, para otorgar el rol notebooks.admin
a eve@example.com, agrega la siguiente vinculación nueva a la política en la sección "bindings"
:
{
"role": "roles/notebooks.admin",
"members": [
"user:eve@example.com"
]
}
Después de agregar la vinculación nueva, la política podría tener el siguiente aspecto:
{
"bindings": [
{
"role": "roles/notebooks.viewer",
"members": [
"user:email@example.com"
]
},
{
"role": "roles/notebooks.admin",
"members": [
"user:eve@example.com"
]
}
],
"etag": "BwWWja0YfJA=",
"version": 3
}
Actualiza la política en la instancia
En el cuerpo de la solicitud, proporciona la política de IAM actualizada del paso anterior, anidada dentro de una sección "policy"
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- INSTANCE_NAME: Es el nombre de tu instancia
Método HTTP y URL:
POST https://notebooks.googleapis.com/v2/INSTANCE_NAME:setIamPolicy
Cuerpo JSON de la solicitud:
{ "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 tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Deberías recibir un código de estado exitoso (2xx) y una respuesta vacía.
Otorga acceso a la interfaz de JupyterLab
Otorgar a una principal acceso a una instancia de Vertex AI Workbench no otorga la capacidad de usar la interfaz de JupyterLab de la instancia. Para otorgar acceso a la interfaz de JupyterLab, consulta Administra el acceso a la interfaz de JupyterLab de una instancia.
¿Qué sigue?
Para obtener información sobre Identity and Access Management (IAM) y cómo los roles de IAM pueden ayudar a otorgar y restringir el acceso, consulta la documentación de IAM.
Obtén más información sobre los roles de IAM disponibles para Vertex AI Workbench.
Obtén más información sobre cómo crear y administrar roles personalizados.
Para obtener información sobre cómo otorgar acceso a otros recursos de Google, consulta Administra el acceso a otros recursos.