Vertex AI en el dispositivo aislado de Google Distributed Cloud (GDC) proporciona APIs y servicios que requieren autenticación. La autenticación es la forma de demostrar tu identidad para acceder a los servicios mediante tokens.
Los tokens son objetos digitales que verifican que un llamante ha proporcionado las credenciales adecuadas y que se han intercambiado correctamente por el token. El token contiene información sobre la identidad de la cuenta que hace la solicitud y el acceso específico que tiene autorizado.
En esta página se describe cómo autenticarse en las APIs de Vertex AI de forma programática. En función de si accedes a las APIs de Vertex AI como usuario o con una cuenta de servicio, en esta página se describen los pasos para obtener un token de autenticación para tus solicitudes de API.
Elige una de las siguientes opciones para obtener un token de autenticación:
Cuenta de usuario
Sigue estos pasos para obtener un token de autenticación con permisos de usuario:
Anota el endpoint de la API que quieras usar.
Obtén acceso al servicio de Vertex AI que quieras usar. Para ello, asigna a tu cuenta de usuario el rol correspondiente que se indica en Preparar permisos de gestión de identidades y accesos.
Inicia sesión en el dispositivo aislado de GDC con la cuenta de usuario con la que tienes que interactuar con la API:
gdcloud auth login
Obtén el token de autenticación:
gdcloud auth print-identity-token --audiences=https://ENDPOINT
Sustituye
ENDPOINT
por el endpoint de servicio que utilices en tu organización. Para obtener más información, consulta el estado del servicio y los endpoints.En función del uso previsto del token de autenticación, puede que tengas que incluir el puerto después del endpoint del servicio en la ruta de audiencias, como se indica a continuación:
- Si usas una biblioteca de cliente para tu solicitud, debes incluir el puerto
:443
después del endpoint de servicio en la ruta de las audiencias. Por lo tanto, la ruta--audiences
del comando debe serhttps://ENDPOINT:443
. - Si usas gRPC,
curl
o llamadas REST programáticas para tu solicitud, no incluyas el puerto. Por lo tanto, la ruta--audiences
del comando debe serhttps://ENDPOINT
.
- Si usas una biblioteca de cliente para tu solicitud, debes incluir el puerto
En el resultado se muestra el token de autenticación. Añade el token al encabezado de las solicitudes de línea de comandos que hagas, como en el siguiente ejemplo:
-H "Authorization: Bearer TOKEN"
Sustituye TOKEN
por el valor del token de autenticación que se muestra en el resultado.
Cuenta de servicio
Sigue estos pasos para obtener un token de autenticación con una cuenta de servicio:
Anota el endpoint de la API que quieras usar.
Configura la cuenta de servicio que quieras usar para acceder al servicio Vertex AI.
Asigna a la cuenta de servicio el rol correspondiente que se indica en Preparar permisos de IAM para que pueda acceder al servicio que quieras usar.
Obtén los pares de claves de servicio de tu cuenta de servicio.
Instala la biblioteca de cliente
google-auth
:pip install google-auth
Añade el siguiente código a una secuencia de comandos de Python:
import os import google.auth from google.auth.transport import requests import requests as reqs os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "PATH_TO_SERVICE_KEY" os.environ["GRPC_DEFAULT_SSL_ROOTS_FILE_PATH"] = "CERT_NAME" # If you use a client library for your request, # you must include port :443 after the service endpoint # in the audience path. audience = "https://ENDPOINT" creds, project_id = google.auth.default() print(project_id) creds = creds.with_gdch_audience(audience) def test_get_token(): sesh = reqs.Session() req = requests.Request(session=sesh) creds.refresh(req) print(creds.token) if __name__=="__main__": test_get_token()
Haz los cambios siguientes:
PATH_TO_SERVICE_KEY
: la ruta al archivo JSON que contiene los pares de claves de tu cuenta de servicio.CERT_NAME
: el nombre del archivo de certificado de la autoridad de certificación (CA), comoorg-1-trust-bundle-ca.cert
. Solo necesitas este valor si te encuentras en un entorno de desarrollo. De lo contrario, omítelo.ENDPOINT
: el endpoint de servicio que utiliza tu organización. Para obtener más información, consulta el estado del servicio y los endpoints. En función del uso previsto del token de autenticación, es posible que tengas que incluir el puerto después del endpoint del servicio en la ruta del público objetivo, como se indica a continuación:- Si usas una biblioteca de cliente para tu solicitud, debes incluir el puerto
:443
después del endpoint de servicio en la ruta de audiencia. Por lo tanto, la rutaaudience
de la secuencia de comandos debe ser"https://ENDPOINT:443"
. - Si usas gRPC,
curl
o llamadas REST programáticas para tu solicitud, no incluyas el puerto. Por lo tanto, la rutaaudience
de la secuencia de comandos debe ser"https://ENDPOINT"
.
- Si usas una biblioteca de cliente para tu solicitud, debes incluir el puerto
Guarda la secuencia de comandos de Python.
Ejecuta la secuencia de comandos de Python para obtener el token:
python SCRIPT_NAME
Sustituye
SCRIPT_NAME
por el nombre que le hayas dado a tu secuencia de comandos de Python, comotoken.py
.
En el resultado se muestra el token de autenticación. Añade el token al encabezado de las solicitudes de línea de comandos que hagas, como en el siguiente ejemplo:
-H "Authorization: Bearer TOKEN"
Sustituye TOKEN
por el valor del token de autenticación que se muestra en el resultado.