Autentique pedidos de API

O dispositivo isolado do Vertex AI no Google Distributed Cloud (GDC) fornece APIs e serviços que requerem autenticação. A autenticação é a forma como prova a sua identidade para aceder aos serviços através de tokens.

Os tokens são objetos digitais que validam se um autor da chamada forneceu as credenciais adequadas e se estas foram trocadas com êxito pelo token. O token contém informações sobre a identidade da conta que está a fazer o pedido e o acesso específico que está autorizado a ter.

Esta página descreve como fazer a autenticação nas APIs Vertex AI por programação. Consoante aceda às APIs Vertex AI como utilizador ou com uma conta de serviço, esta página descreve os passos para obter um token de autenticação para os seus pedidos de API.

Escolha uma das seguintes opções para receber um token de autenticação:

Conta de utilizador

Siga estes passos para obter um token de autenticação com autorizações do utilizador:

  1. Tome nota do ponto final da API que quer usar.

  2. Obtenha acesso ao serviço Vertex AI que quer usar concedendo à sua conta de utilizador a função correspondente indicada em Prepare as autorizações de IAM.

  3. Inicie sessão no dispositivo isolado do GDC com a conta de utilizador com a qual tem de interagir com a API:

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

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

    Substitua ENDPOINT pelo ponto final do serviço que usa para a sua organização. Para mais informações, consulte o estado do serviço e os pontos finais.

    Consoante a utilização pretendida do token de autenticação, pode ter de incluir a porta após o ponto final do serviço no caminho dos públicos-alvo da seguinte forma:

    • Se usar uma biblioteca cliente para o seu pedido, tem de incluir a porta :443 após o ponto final do serviço no caminho dos públicos-alvo. Por isso, o caminho --audiences no comando tem de ser https://ENDPOINT:443.
    • Se usar gRPC, curl ou chamadas REST programáticas para o seu pedido, não inclua a porta. Por isso, o caminho --audiences no comando tem de ser https://ENDPOINT.

O resultado apresenta o token de autenticação. Adicione o token ao cabeçalho dos pedidos de linha de comandos que fizer, como no exemplo seguinte:

-H "Authorization: Bearer TOKEN"

Substitua TOKEN pelo valor do token de autenticação que o resultado apresenta.

Conta de serviço

Siga estes passos para obter um token de autenticação com uma conta de serviço:

  1. Tome nota do ponto final da API que quer usar.

  2. Configure a conta de serviço que quer usar para aceder ao serviço Vertex AI.

  3. Conceda à conta de serviço a função correspondente indicada em Prepare as autorizações de IAM para lhe permitir obter acesso ao serviço que quer usar.

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

  5. Instale a google-authbiblioteca cliente:

    pip install google-auth
    
  6. 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 o seguinte:

    • PATH_TO_SERVICE_KEY: o caminho para o ficheiro JSON que contém os pares de chaves da sua conta de serviço.
    • CERT_NAME: o nome do ficheiro de certificado da autoridade de certificação (AC), como org-1-trust-bundle-ca.cert. Só precisa deste valor se estiver num ambiente de programação. Caso contrário, omita-o.
    • ENDPOINT: o ponto final do serviço que usa para a sua organização. Para mais informações, consulte o estado do serviço e os pontos finais. Consoante a utilização pretendida do token de autenticação, pode ter de incluir a porta após o ponto final do serviço no caminho do público-alvo da seguinte forma:

      • Se usar uma biblioteca de cliente para o seu pedido, tem de incluir a porta :443 após o ponto final do serviço no caminho do público-alvo. Por conseguinte, o caminho audience no script tem de ser "https://ENDPOINT:443".
      • Se usar gRPC, curl ou chamadas REST programáticas para o seu pedido, não inclua a porta. Por conseguinte, o caminho audience no script tem de ser "https://ENDPOINT".
  7. Guarde o script Python.

  8. Execute o guião Python para obter o token:

    python SCRIPT_NAME
    

    Substitua SCRIPT_NAME pelo nome que atribuiu ao seu script Python, como token.py.

O resultado apresenta o token de autenticação. Adicione o token ao cabeçalho dos pedidos de linha de comandos que fizer, como no exemplo seguinte:

-H "Authorization: Bearer TOKEN"

Substitua TOKEN pelo valor do token de autenticação que o resultado apresenta.