Autenticar solicitações da API Vertex AI

Nesta página, descrevemos como autenticar chamadas para serviços da Vertex AI no Google Distributed Cloud (GDC) isolado. É necessário configurar a autenticação de token para proteger suas solicitações à API Vertex AI nos aplicativos isolados. Esse processo valida suas solicitações de API fornecendo sua identidade e autorizando suas interações.

Esta página é para desenvolvedores de aplicativos em grupos de operadores de aplicativos responsáveis por configurar os ambientes de desenvolvimento e de aplicativos para ativar recursos de IA. Para mais informações, consulte Públicos-alvo para documentação isolada do GDC.

Antes de começar

Seu projeto precisa estar configurado para a Vertex AI. Para mais informações, consulte Configurar um projeto para a Vertex AI.

  • Atualize o repositório de confiança local antes de configurar a autenticação no ambiente de desenvolvimento.

Autenticar nos serviços da Vertex AI

As interações com os serviços da Vertex AI são feitas por tokens de autenticação. Os tokens são objetos digitais que verificam sua identidade e autorização depois que você fornece credenciais válidas. O token contém informações específicas sobre sua conta e as permissões que ela tem para acessar e operar com serviços e recursos.

Há duas maneiras de configurar a autenticação:

Autenticar com sua conta de usuário

Os guias a seguir mostram como conseguir um token de autenticação para sua conta de usuário:

  1. Anote o endpoint da API que você quer usar.

  2. Conceda à sua conta de usuário o papel correspondente listado em Preparar permissões do IAM para ter acesso ao serviço da Vertex AI ou ao modelo de IA generativa que você quer usar.

  3. Faça login no Distributed Cloud com a conta de usuário que você precisa para interagir com a API:

    gdcloud auth login
    
  4. Receba o token de autenticação:

    gdcloud auth print-identity-token --audiences=https://ENDPOINT
    

    Substitua ENDPOINT pelo endpoint de API que você usa na sua organização. Para mais informações, consulte o status do serviço e os endpoints.

    Dependendo do uso pretendido do token de autenticação, talvez seja necessário incluir a porta após o endpoint do serviço no caminho de públicos-alvo da seguinte maneira:

    • Se você usar uma biblioteca de cliente para sua solicitação, inclua a porta :443 após o endpoint do serviço no caminho de públicos-alvo. Portanto, o caminho --audiences no comando precisa ser https://ENDPOINT:443.
    • Se você usar gRPC, curl ou chamadas REST programáticas para sua solicitação, não inclua a porta. Portanto, o caminho --audiences no comando precisa ser https://ENDPOINT.

    A saída mostra o token de autenticação. Adicione o token ao cabeçalho das solicitações de linha de comando que você fizer, como no exemplo a seguir:

     -H "Authorization: Bearer TOKEN"
    

    Substitua TOKEN pelo valor do token de autenticação que a saída mostra.

Autenticar com sua conta de serviço

Os guias a seguir mostram como conseguir um token de autenticação para sua conta de serviço:

  1. Anote o endpoint da API que você quer usar.

  2. Configure a conta de serviço que você quer usar para acessar o serviço da Vertex AI ou o modelo de IA generativa.

  3. Conceda à conta de serviço o papel correspondente listado em Preparar permissões do IAM para que ela tenha acesso ao serviço ou modelo que você quer usar.

  4. Extraia os pares de chaves de serviço da sua conta de serviço.

  5. Defina a variável de ambiente a seguir:

    export GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_SERVICE_KEY
    

    Substitua PATH_TO_SERVICE_KEY pelo caminho do arquivo JSON que contém os pares de chaves da sua conta de serviço.

  6. Instale a biblioteca de cliente google-auth:

    pip install google-auth
    
  7. Adicione o seguinte código a um script 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()
    

    Substitua:

    • PATH_TO_SERVICE_KEY: o caminho para o arquivo JSON que contém os pares de chaves da sua conta de serviço.
    • CERT_NAME: o nome do arquivo de certificado da autoridade de certificação (CA), como org-1-trust-bundle-ca.cert. Você só precisa desse valor se estiver em um ambiente de desenvolvimento. Caso contrário, omita.
    • ENDPOINT: o endpoint de API que você usa na sua organização. Para mais informações, consulte o status do serviço e os endpoints. Dependendo do uso pretendido do token de autenticação, talvez seja necessário incluir a porta após o endpoint do serviço no caminho do público-alvo da seguinte maneira:

      • Se você usar uma biblioteca de cliente para sua solicitação, inclua a porta :443 após o endpoint do serviço no caminho do público-alvo. Portanto, o caminho audience no script precisa ser "https://ENDPOINT:443".
      • Se você usar gRPC, curl ou chamadas REST programáticas para sua solicitação, não inclua a porta. Portanto, o caminho audience no script precisa ser "https://ENDPOINT".
  8. Salve o script Python.

  9. Execute o script Python para buscar o token:

      python SCRIPT_NAME
    

    Substitua SCRIPT_NAME pelo nome que você deu ao script do Python, como token.py.

    A saída mostra o token de autenticação. Adicione o token ao cabeçalho das solicitações de linha de comando que você fizer, como no exemplo a seguir:

     -H "Authorization: Bearer TOKEN"
    

    Substitua TOKEN pelo valor do token de autenticação que a saída mostra.