Autentica solicitudes a la API

El dispositivo aislado de Vertex AI en Google Distributed Cloud (GDC) te permite acceder a las APIs de manera programática autenticando tus solicitudes con tokens. Puedes obtener un token de autenticación con una cuenta de usuario o 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:

  1. Toma nota del extremo de la API que quieres usar.

  2. Obtén acceso al servicio de Vertex AI que deseas usar. Para ello, otorga a tu cuenta de usuario el rol correspondiente que se indica en Prepara los permisos de IAM.

  3. Accede al dispositivo de GDC aislado con la cuenta de usuario que tienes para interactuar con la API:

    gdcloud auth login
    
  4. 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 de servicio en la ruta de acceso de los públicos. Por lo tanto, la ruta de acceso --audiences en el comando 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 acceso --audiences en el comando debe ser https://ENDPOINT.

En el resultado, se 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:

  1. Toma nota del extremo de la API que quieres usar.

  2. Configura la cuenta de servicio que quieres usar para acceder al servicio de Vertex AI.

  3. Otorga a la cuenta de servicio el rol correspondiente que se indica en Prepara los permisos de IAM para que pueda acceder al servicio que deseas usar.

  4. Obtén los pares de claves de servicio de tu cuenta de servicio.

  5. Instala la biblioteca cliente de google-auth:

    pip install google-auth
    
  6. 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 de certificado de la autoridad certificadora (AC), como org-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 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 del público de la siguiente manera:

      • Si usas una biblioteca cliente para tu solicitud, debes incluir el puerto :443 después del extremo de servicio en la ruta de acceso del público. Por lo tanto, la ruta de acceso de audience 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 acceso de audience en la secuencia de comandos debe ser "https://ENDPOINT".
  7. Guarda la secuencia de comandos de Python.

  8. 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, como token.py.

En el resultado, se 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.