El dispositivo aislado de Vertex AI en Google Distributed Cloud (GDC) proporciona APIs y servicios que requieren autenticación. La autenticación es la forma en que demuestras tu identidad para acceder a los servicios con tokens.
Los tokens son objetos digitales que verifican que un emisor proporcionó las credenciales adecuadas y que se intercambiaron correctamente por el token. El token contiene información sobre la identidad de la cuenta solicitante y el acceso específico que está autorizado a tener.
En esta página, se describe cómo autenticarse en las APIs de Vertex AI de manera programática. En esta página, se describen los pasos para obtener un token de autenticación para tus solicitudes a la API, según si accedes a las APIs de Vertex AI como usuario o con una cuenta de servicio.
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:
Ten en cuenta el extremo de la API que deseas usar.
Para acceder al servicio de Vertex AI que deseas usar, otorga a tu cuenta de usuario el rol correspondiente que se indica en Prepara los permisos de IAM.
Accede al dispositivo aislado de GDC con la cuenta de usuario con la que debes interactuar con la API:
gdcloud auth login
Obtén el token de autenticación:
gdcloud auth print-identity-token --audiences=https://ENDPOINT
Reemplaza
ENDPOINT
por el extremo de servicio que usas para tu organización. Para obtener más información, consulta el estado y los extremos del servicio.Según el uso previsto del token de autenticación, es posible que debas incluir el puerto después del extremo de servicio en la ruta de acceso de los públicos de la siguiente manera:
- Si usas una biblioteca cliente para tu solicitud, debes incluir el puerto
:443
después del extremo del servicio en la ruta de acceso a los públicos. Por lo tanto, la ruta de acceso--audiences
en el comando debe serhttps://ENDPOINT:443
. - Si usas gRPC,
curl
o llamadas de REST programáticas para tu solicitud, no incluyas el puerto. Por lo tanto, la ruta de acceso--audiences
en el comando debe serhttps://ENDPOINT
.
- Si usas una biblioteca cliente para tu solicitud, debes incluir el puerto
El resultado muestra el token de autenticación. Agrega el token al encabezado de las solicitudes de línea de comandos que realices, como en el siguiente ejemplo:
-H "Authorization: Bearer TOKEN"
Reemplaza TOKEN
por el valor del token de autenticación que muestra el resultado.
Cuenta de servicio
Sigue estos pasos para obtener un token de autenticación con una cuenta de servicio:
Ten en cuenta el extremo de la API que deseas usar.
Configura la cuenta de servicio que deseas usar para acceder al servicio de Vertex AI.
Otorga a la cuenta de servicio el rol correspondiente que se indica en Prepara los permisos de IAM para permitirle acceder al servicio que deseas usar.
Obtén los pares de claves de servicio de tu cuenta de servicio.
Instala la biblioteca cliente de
google-auth
:pip install google-auth
Agrega 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()
Reemplaza lo siguiente:
PATH_TO_SERVICE_KEY
: Es la ruta de acceso al archivo JSON que contiene los pares de claves de tu cuenta de servicio.CERT_NAME
: Es el nombre del archivo del certificado de la autoridad certificadora (CA), comoorg-1-trust-bundle-ca.cert
. Solo necesitas este valor si estás en un entorno de desarrollo. De lo contrario, omítelo.ENDPOINT
: Es el extremo del servicio que usas para tu organización. Para obtener más información, consulta el estado y los extremos del servicio. Según el uso previsto del token de autenticación, es posible que debas incluir el puerto después del extremo de servicio en la ruta de acceso del público de la siguiente manera:- Si usas una biblioteca cliente para tu solicitud, debes incluir el puerto
:443
después del extremo del servicio en la ruta de acceso del público. Por lo tanto, la ruta de accesoaudience
en la secuencia de comandos debe ser"https://ENDPOINT:443"
. - Si usas gRPC,
curl
o llamadas de REST programáticas para tu solicitud, no incluyas el puerto. Por lo tanto, la ruta de accesoaudience
en la secuencia de comandos debe ser"https://ENDPOINT"
.
- Si usas una biblioteca cliente para tu solicitud, debes incluir el puerto
Guarda la secuencia de comandos de Python.
Ejecuta la secuencia de comandos de Python para recuperar el token:
python SCRIPT_NAME
Reemplaza
SCRIPT_NAME
por el nombre que le diste a tu secuencia de comandos de Python, comotoken.py
.
El resultado muestra el token de autenticación. Agrega el token al encabezado de las solicitudes de línea de comandos que realices, como en el siguiente ejemplo:
-H "Authorization: Bearer TOKEN"
Reemplaza TOKEN
por el valor del token de autenticación que muestra el resultado.