Autentique pedidos da API Vertex AI

Esta página descreve como autenticar chamadas para serviços do Vertex AI no Google Distributed Cloud (GDC) air-gapped. Tem de configurar a autenticação de tokens para proteger os seus pedidos à API Vertex AI nas suas aplicações air-gapped. Este processo valida os seus pedidos de API através da indicação da sua identidade e da autorização das suas interações.

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

Antes de começar

Tem de ter o 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 sua loja de confiança local antes de configurar a autenticação no seu ambiente de desenvolvimento.

Autenticar em 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 indicar credenciais válidas. O token contém informações específicas sobre a sua conta e as autorizações que tem para aceder e interagir com serviços e recursos.

Existem duas formas de configurar a autenticação:

Autenticar com a sua conta de utilizador

As instruções seguintes explicam como obter um token de autenticação para a sua conta de utilizador:

  1. Anote o ponto final da API que quer usar.

  2. Conceda à sua conta de utilizador a função correspondente indicada em Prepare as autorizações do IAM para aceder ao serviço do Vertex AI ou ao modelo de IA generativa que quer usar.

  3. Inicie sessão no Distributed Cloud com a conta de utilizador que tem de usar para 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 e os pontos finais dos serviços.

    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 conseguinte, 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 conseguinte, 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 faz, como no exemplo seguinte:

     -H "Authorization: Bearer TOKEN"
    

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

Autenticar com a sua conta de serviço

As instruções seguintes explicam como obter um token de autenticação para a sua conta de serviço:

  1. Anote o ponto final da API que quer usar.

  2. Configure a conta de serviço que quer usar para aceder ao serviço do 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 aceder ao serviço ou ao 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 biblioteca 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 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 desenvolvimento. 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 e os pontos finais dos serviços. 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 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 script Python para obter o token:

      python SCRIPT_NAME
    

    Substitua SCRIPT_NAME pelo nome que deu 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 faz, como no exemplo seguinte:

     -H "Authorization: Bearer TOKEN"
    

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