Gestionar el acceso a una instancia de cuadernos gestionados
En esta guía se describe cómo puedes conceder acceso a una instancia de cuadernos gestionados de Vertex AI Workbench específica. Para gestionar el acceso a los recursos de Vertex AI, consulta la página de Vertex AI sobre el control de acceso.
Para conceder acceso a una instancia de cuadernos gestionados, debes definir una política de gestión de identidades y accesos (IAM) en la instancia. La política vincula una o varias entidades principales, como un usuario o una cuenta de servicio, a uno o varios roles. Cada rol contiene una lista de permisos que permiten a la entidad principal interactuar con la instancia.
Puedes conceder acceso a una instancia en lugar de a un recurso principal, como un proyecto, una carpeta o una organización, para aplicar el principio de mínimos accesos.
Si concedes acceso a un recurso principal (por ejemplo, a un proyecto), también se concederá acceso a todos sus recursos secundarios (por ejemplo, a todas las instancias de ese proyecto). Para limitar el acceso a los recursos, define políticas de gestión de identidades y accesos en los recursos de nivel inferior siempre que sea posible, en lugar de hacerlo a nivel de proyecto o superior.
Para obtener información general sobre cómo conceder, cambiar y revocar el acceso a recursos que no estén relacionados con Vertex AI Workbench (por ejemplo, para conceder acceso a un Google Cloud proyecto), consulta la documentación de gestión de identidades y accesos sobre cómo conceder, cambiar y revocar el acceso a los recursos.
Limitaciones de acceso
El acceso a una instancia puede incluir una amplia gama de funciones, en función del rol que asignes a la entidad. Por ejemplo, puedes conceder a un principal la capacidad de iniciar, detener, actualizar y monitorizar el estado de una instancia. Para ver la lista completa de permisos de gestión de identidades y accesos disponibles, consulta Roles de gestión de identidades y accesos de notebooks gestionados predefinidos.
Sin embargo, aunque se conceda a una entidad principal acceso completo a una instancia de cuadernos gestionada, no se le otorga la capacidad de usar la interfaz de JupyterLab de la instancia. Para conceder acceso a la interfaz de JupyterLab, consulta Gestionar el acceso a la interfaz de JupyterLab de una instancia de cuaderno gestionado.
Conceder acceso a instancias de cuadernos gestionados
Para conceder a los usuarios permiso para acceder a una instancia de cuadernos gestionados específica, define una política de gestión de identidades y accesos en la instancia.
Para asignar un rol a una entidad de seguridad en una instancia de cuadernos gestionados, usa el método getIamPolicy
para obtener la política actual, edita el acceso de la política actual y, a continuación, usa el método setIamPolicy
para actualizar la política en la instancia.
Recuperar la política actual
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- INSTANCE_NAME: El nombre de tu instancia de cuadernos gestionados
Método HTTP y URL:
GET https://notebooks.googleapis.com/v1/INSTANCE_NAME:getIamPolicy
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://notebooks.googleapis.com/v1/INSTANCE_NAME:getIamPolicy"
PowerShell
Ejecuta el comando siguiente:
$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 la política
Edita la política con un editor de texto para añadir o quitar principales y los roles asociados. Por ejemplo, para asignar el rol notebooks.admin
a eve@example.com, añade la siguiente vinculación a la política en la sección "bindings"
:
{
"role": "roles/notebooks.admin",
"members": [
"user:eve@example.com"
]
}
Después de añadir el nuevo enlace, 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
}
Actualizar la política en la instancia
En el cuerpo de la solicitud, proporcione la política de IAM actualizada del paso anterior, anidada en una sección "policy"
.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- INSTANCE_NAME: El nombre de tu instancia de cuadernos gestionados
Método HTTP y URL:
POST https://notebooks.googleapis.com/v1/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/v1/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/v1/INSTANCE_NAME:setIamPolicy" | Select-Object -Expand Content
Deberías recibir un código de estado que indique que la operación se ha realizado correctamente (2xx) y una respuesta vacía.
Dar acceso a la interfaz de JupyterLab
Conceder acceso a una instancia de cuadernos gestionada a una entidad de seguridad no le permite usar la interfaz de JupyterLab de la instancia. Para conceder acceso a la interfaz de JupyterLab, consulta Gestionar el acceso a la interfaz de JupyterLab de una instancia de cuaderno gestionado.
Siguientes pasos
Para obtener información sobre la gestión de identidades y accesos (IAM) y cómo pueden ayudar los roles de IAM a conceder y restringir el acceso, consulta la documentación de IAM.
Consulta información sobre los roles de gestión de identidades y accesos disponibles para los notebooks gestionados de Vertex AI Workbench.
Consulta cómo crear y gestionar roles personalizados.
Para saber cómo conceder acceso a otros recursos de Google, consulta el artículo Gestionar el acceso a otros recursos.