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 Google Cloud aservicios y APIs a través de tus credenciales de usuario.
Tus credenciales de usuario son las credenciales asociadas con 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, tu instancia puede acceder a Google Cloud servicios y APIs con las credenciales asociadas con la cuenta de servicio de tu 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 de usuario, cuyo alcance se limita a los Google Cloud recursos del proyecto del usuario. Los usuarios deben otorgar consentimiento al cliente de OAuth para administrar sus credenciales para 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 Google Cloud consola.
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 la habilitación de la función.
Crea instancias con secuencias de comandos posteriores al inicio
Puedes usar secuencias de comandos posteriores al inicio para realizar acciones después de que se inicia la instancia. Si habilitas las credenciales de usuario final en tu instancia de Vertex AI Workbench, las credenciales no estarán disponibles al inicio. Solo estarán disponibles después de que el propietario de la instancia acceda por primera vez a la interfaz de JupyterLab. Debido a esta demora, tu secuencia de comandos debe sondear la disponibilidad de las credenciales antes de ejecutar comandos que requieran autenticación. Para que se ejecute la secuencia de comandos, debes otorgar permiso a la cuenta de servicio de la instancia para leer el archivo de secuencia de comandos desde su ubicación de Cloud Storage. Por motivos de seguridad, no puedes cambiar la ubicación de la secuencia de comandos después de crear la instancia.
La compatibilidad con secuencias de comandos posteriores al inicio para instancias con credenciales de usuario final está en GA privada. Para obtener información sobre el acceso a esta versión, consulta la página de solicitud de acceso.
Limitaciones
Ten en cuenta las siguientes limitaciones cuando planifiques tu proyecto:
Vertex AI Workbench usa un cliente de OAuth administrado por Google global para administrar el acceso a las credenciales de 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:
- Usar SSH para acceder a la instancia
- Ejecutar una secuencia de comandos de inicio de Compute Engine.
- Acceder 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
- Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. 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.enablepermission. 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. 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.enablepermission. Learn how to grant roles.
Roles obligatorios
Para obtener los permisos que
necesitas para crear una instancia de Vertex AI Workbench,
pídele a tu administrador que te otorgue el
Ejecutor de notebooks (roles/notebooks.runner)
rol de IAM 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 instancia de usuario único
Para crear una instancia de Vertex AI Workbench con la Google Cloud consola, haz lo siguiente:
En la Google Cloud consola, 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 Usuario único.
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 para cada instancia de Vertex AI Workbench. Esto se hace una vez por instancia. Para otorgar consentimiento, haz clic en Abrir JupyterLab y completa el diálogo que aparece.
Si intentas acceder a la instancia sin otorgar consentimiento, JupyterLab muestra un mensaje para autenticarte abriendo JupyterLab desde la Google Cloud consola.
Para verificar que tus credenciales de usuario final estén disponibles en JupyterLab, abre una terminal en JupyterLab y, luego, ingresa el siguiente comando:
gcloud auth list
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 Google Cloud servicios y APIs. 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:
En la Google Cloud consola, 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 lo siguiente:
gcloud auth login
Ingresa
Y.Sigue las instrucciones para copiar un código de verificación y, luego, ingresarlo en la terminal.
Credenciales de terceros
Si creaste una instancia con credenciales de terceros, después de que el proxy de JupyterLab esté disponible, haz lo siguiente:
Abre JupyterLab con el proxy federado de JupyterLab.
En JupyterLab, selecciona File > New > Terminal.
Crea un archivo de credenciales de federación de Workforce Identity con acceso sin encabezado.
En la ventana de la terminal, ejecuta lo siguiente:
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.
Para confirmar que se puede acceder a tus credenciales a través de tu instancia, usa el siguiente comando:
gcloud auth list