Crea una instancia con acceso a credenciales de usuario
En esta página, se describe cómo crear una instancia de Vertex AI Workbench que acceda a los servicios y las APIs a través de tus credenciales de usuario. Google Cloud
Tus credenciales de usuario son las credenciales asociadas a tu Cuenta de Google. Tus credenciales de usuario determinan a qué Google Cloud servicios y APIs tiene acceso tu Cuenta de Google.
De forma predeterminada, cuando ejecutas código en una instancia de Vertex AI Workbench, esta puede acceder a los servicios y las APIs de Google Cloud con las credenciales asociadas a la cuenta de servicio de la instancia. Esto significa que tu instancia tiene el mismo acceso a Google Cloud que la cuenta de servicio.
En esta página, se describe cómo crear y configurar una instancia para que tenga el mismo acceso a Google Cloud que tus credenciales de usuario.
Descripción general
Vertex AI Workbench usa un cliente de OAuth administrado por Google global para administrar el acceso a las credenciales del usuario, con alcance para los recursos Google Cloud en el proyecto del usuario. Los usuarios deben otorgar consentimiento al cliente de OAuth para administrar sus credenciales en cada instancia de Vertex AI Workbench. Esto se hace una vez por instancia a través de un diálogo que se abre cuando haces clic en el botón Abrir JupyterLab en la consola de Google Cloud .
La cuenta de servicio que se usa para crear la instancia de Vertex AI Workbench es el siguiente agente de servicio:
service-PROJECT_NUMBER@gcp-sa-notebooks-vm.
Este agente de servicio proporciona permisos limitados para servicios esenciales, como la exportación de registros. Los usuarios no pueden especificar una cuenta de servicio diferente si la función de credenciales de usuario final está habilitada.
Las instancias con credenciales de usuario final habilitadas tienen la etiqueta notebooks-managed-euc: true
de Compute Engine y la clave de metadatos euc-enabled: true
adjunta al recurso de VM para indicar que la función está habilitada.
Limitaciones
Ten en cuenta las siguientes limitaciones cuando planifiques tu proyecto:
Vertex AI Workbench usa un cliente OAuth global administrado por Google para administrar el acceso a las credenciales del usuario. Las organizaciones no pueden promulgar controles detallados, acceder al cliente de OAuth ni usar el registro para verificar el uso del cliente de OAuth.
Para proteger la seguridad de las instancias de Vertex AI Workbench con credenciales de usuario administradas, los usuarios no pueden hacer lo siguiente:
- Usa SSH para acceder a la instancia.
- Ejecuta una secuencia de comandos posterior al inicio.
- Accede a la página detallada de la VM.
- Usar una imagen que no haya creado Google
No se admite el uso de credenciales de terceros porque el cliente de OAuth solo admite credenciales de OAuth administradas por Google.
Antes de comenzar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. En la consola de Google Cloud , ve a la página Instancias.
Haz clic en
Crear nuevo.En el cuadro de diálogo Instancia nueva, haz clic en Opciones avanzadas.
En el diálogo Crear instancia, en la sección Detalles, proporciona la siguiente información para tu instancia nueva:
- Nombre: Proporciona un nombre para la instancia nueva. El nombre debe comenzar con una letra seguida de un máximo de 62 letras minúsculas, números o guiones (-), y no puede terminar en un guion.
- Región y Zona: Selecciona una región y una zona para la instancia nueva. Para obtener el mejor rendimiento de red, selecciona la región que se encuentra más cerca de tu ubicación geográfica. Consulta las ubicaciones de Vertex AI Workbench disponibles.
En la sección IAM y seguridad, selecciona Solo usuario.
En el campo Correo electrónico del usuario, ingresa la cuenta de usuario a la que deseas otorgar acceso. Si el usuario especificado no es el creador de la instancia, debes otorgarle al usuario el rol de usuario de cuenta de servicio (
roles/iam.serviceAccountUser
) en la cuenta de servicio de la instancia.Selecciona Habilitar las credenciales de usuario final administradas.
Completa el resto del diálogo de creación de la instancia y, luego, haz clic en Crear.
Vertex AI Workbench crea una instancia y la inicia de forma automática. Cuando la instancia está lista para usarse, Vertex AI Workbench activa un vínculo Abrir JupyterLab en la Google Cloud consola.
Los usuarios deben otorgar consentimiento al cliente de OAuth para administrar sus credenciales en cada instancia de Vertex AI Workbench. Esto se hace una vez por instancia. Para otorgar el consentimiento, haz clic en Abrir JupyterLab y completa el diálogo que aparece.
Si intentas acceder a la instancia sin otorgar el consentimiento, JupyterLab mostrará un mensaje para que te autentiques abriendo JupyterLab desde la consola deGoogle Cloud .
Para verificar que las credenciales del usuario final estén disponibles en JupyterLab, abre una terminal en JupyterLab y, luego, ingresa el siguiente comando:
gcloud auth list
En la consola de Google Cloud , ve a la página Instancias.
Junto al nombre de la instancia, haz clic en Abrir JupyterLab.
En JupyterLab, selecciona File > New > Terminal.
En la ventana de la terminal, ejecuta el siguiente comando:
gcloud auth login
Ingresa
Y
.Sigue las instrucciones para copiar un código de verificación y, luego, ingresarlo en la terminal.
Abre JupyterLab con el proxy federado de JupyterLab.
En JupyterLab, selecciona File > New > Terminal.
Crea un archivo de credenciales de la federación de identidades de personal con acceso sin encabezado.
En la ventana de la terminal, ejecuta el siguiente comando:
gcloud auth login --cred-file="CREDENTIAL_FILE"
Reemplaza CREDENTIAL_FILE por la ruta de acceso y el nombre del archivo de credenciales que creaste.
Sigue las instrucciones para autenticarte a través del portal de autenticación de terceros.
Confirma que se puede acceder a tus credenciales a través de tu instancia con el siguiente comando:
gcloud auth list
Roles requeridos
Para obtener los permisos que necesitas para crear una instancia de Vertex AI Workbench,
pídele a tu administrador que te otorgue el
rol de IAM de Ejecutor de notebooks (roles/notebooks.runner
)
en el proyecto.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Crea una sola instancia de usuario
Para crear una instancia de Vertex AI Workbench con la Google Cloud consola, haz lo siguiente:
Autentica la instancia con tus credenciales de usuario
Vertex AI Workbench puede usar las credenciales predeterminadas de la aplicación (ADC) para autenticar tus credenciales de usuario en los servicios y las APIs de Google Cloud . En esta sección, se describe cómo proporcionar tus credenciales de usuario a ADC si alguna de las limitaciones te impide habilitar las credenciales administradas.
Los pasos de autenticación dependen de si usas una Cuenta de Google o credenciales de terceros.
Cuenta de Google
Después de que puedas acceder a JupyterLab en tu instancia, haz lo siguiente:
Credenciales de terceros
Si creaste una instancia con credenciales de terceros, después de que el proxy de JupyterLab esté disponible, haz lo siguiente: