Autentique pedidos da API Vertex AI

Esta página descreve como autenticar chamadas para os serviços do Vertex AI no Google Distributed Cloud (GDC) isolado. Tem de configurar a autenticação por token para proteger os seus pedidos à API Vertex AI nas suas aplicações isoladas. Este processo valida os seus pedidos API fornecendo a sua identidade e autorizando as suas interações.

Esta página destina-se aos programadores de aplicações em grupos de operadores de aplicações responsáveis por configurar os respetivos ambientes de desenvolvimento e aplicações para ativar as funcionalidades de IA. Para mais informações, consulte o artigo Públicos-alvo para a documentação isolada do GDC.

Antes de começar

Tem de ter o seu projeto configurado para o Vertex AI. Para mais informações, consulte o artigo Configure um projeto para o Vertex AI.

  • Certifique-se de que atualiza a loja de confiança local antes de configurar a autenticação no seu ambiente de desenvolvimento.

Autenticação nos serviços do Vertex AI

As interações com os serviços do Vertex AI são feitas através de tokens de autenticação. Os tokens são objetos digitais que validam a sua identidade e autorização depois de fornecer credenciais válidas. O token contém informações específicas sobre a sua conta e as autorizações que tem para aceder e operar com serviços e recursos.

Existem duas formas de configurar a autenticação:

Faça a autenticação com a sua conta de utilizador

O seguinte explica como obter um token de autenticação para a sua conta de utilizador:

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

  2. Obtenha acesso ao serviço Vertex AI ou ao modelo de IA generativa 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 Distributed Cloud 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 da API 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.

Faça a autenticação com a sua conta de serviço

Os seguintes guias explicam como obter um token de autenticação para a sua 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 ou ao modelo de IA generativa.

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

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

  5. Defina a seguinte variável de ambiente:

    export GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_SERVICE_KEY
    

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

  6. Instale a google-authbiblioteca cliente:

    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 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 da API 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".
  8. Guarde o script Python.

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