Autenticar as solicitações de API

O dispositivo isolado da Vertex AI no Google Distributed Cloud (GDC) fornece APIs e serviços que exigem autenticação. A autenticação é como você prova sua identidade para acessar serviços usando tokens.

Os tokens são objetos digitais que verificam se um autor da chamada forneceu as credenciais adequadas e se elas foram trocadas com sucesso pelo token. O token contém informações sobre a identidade da conta solicitante e o acesso específico que ela está autorizada a ter.

Nesta página, descrevemos como autenticar nas APIs da Vertex AI de maneira programática. Dependendo se você acessa as APIs da Vertex AI como um usuário ou com uma conta de serviço, esta página descreve as etapas para receber um token de autenticação para suas solicitações de API.

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

Conta de usuário

Siga estas etapas para receber um token de autenticação com permissões 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 que você quer usar.

  3. Faça login no dispositivo isolado do GDC 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 serviço 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.

Conta de serviço

Siga estas etapas para receber um token de autenticação com uma 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.

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

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

  5. Instale a biblioteca de cliente google-auth:

    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:

    • 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 serviço 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".
  7. Salve o script Python.

  8. 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.