Google Distributed Cloud (GDC) 空气隔离设备上的 Vertex AI 提供需要进行身份验证的 API 和服务。身份验证是指您使用令牌证明自己的身份以访问服务的方式。
令牌是数字对象,用于验证调用方提供了适当的凭据,并且已成功换取令牌。令牌包含有关请求账号的身份及其获授权的特定访问权限的信息。
本页面介绍了如何以编程方式向 Vertex AI API 进行身份验证。本页面介绍了如何获取 API 请求的身份验证令牌,具体取决于您是以用户身份还是通过服务账号访问 Vertex AI API。
选择以下选项之一以获取身份验证令牌:
用户账号
请按照以下步骤获取具有用户权限的身份验证令牌:
通过向您的用户账号授予准备 IAM 权限中列出的相应角色,获取对您要使用的 Vertex AI 服务的访问权限。
使用您必须与 API 交互的用户账号登录 GDC 气隙设备:
gdcloud auth login
获取身份验证令牌:
gdcloud auth print-identity-token --audiences=https://ENDPOINT
将
ENDPOINT
替换为贵组织使用的服务端点。如需了解详情,请查看服务状态和端点。根据身份验证令牌的预期用途,您可能需要在受众群体路径中的服务端点后添加端口,如下所示:
- 如果您使用客户端库来发送请求,则必须在受众群体路径中的服务端点后添加端口
:443
。因此,命令中的--audiences
路径必须为https://ENDPOINT:443
。 - 如果您使用 gRPC、
curl
或以编程方式发出 REST 调用来提出请求,请勿添加端口。因此,命令中的--audiences
路径必须为https://ENDPOINT
。
- 如果您使用客户端库来发送请求,则必须在受众群体路径中的服务端点后添加端口
输出会显示身份验证令牌。将令牌添加到您发出的命令行请求的标头中,如以下示例所示:
-H "Authorization: Bearer TOKEN"
将 TOKEN
替换为输出显示的身份验证令牌的值。
服务账号
请按照以下步骤使用服务账号获取身份验证令牌:
设置您要用于访问 Vertex AI 服务的服务账号。
向服务账号授予准备 IAM 权限中列出的相应角色,以便该服务账号能够访问您要使用的服务。
安装
google-auth
客户端库:pip install google-auth
将以下代码添加到 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()
替换以下内容:
PATH_TO_SERVICE_KEY
:包含服务账号密钥对的 JSON 文件的路径。CERT_NAME
:证书授权机构 (CA) 证书文件的名称,例如org-1-trust-bundle-ca.cert
。只有在开发环境中才需要此值。否则,请省略此字段。ENDPOINT
:您为组织使用的服务端点。如需了解详情,请查看服务状态和端点。根据身份验证令牌的预期用途,您可能需要在受众群体路径中的服务端点后添加端口,如下所示:- 如果您使用客户端库来发送请求,则必须在受众群体路径中的服务端点后添加端口
:443
。因此,脚本中的audience
路径必须为"https://ENDPOINT:443"
。 - 如果您使用 gRPC、
curl
或以编程方式发出 REST 调用来提出请求,请勿添加端口。因此,脚本中的audience
路径必须为"https://ENDPOINT"
。
- 如果您使用客户端库来发送请求,则必须在受众群体路径中的服务端点后添加端口
保存 Python 脚本。
运行 Python 脚本以获取令牌:
python SCRIPT_NAME
将
SCRIPT_NAME
替换为您为 Python 脚本指定的名称,例如token.py
。
输出会显示身份验证令牌。将令牌添加到您发出的命令行请求的标头中,如以下示例所示:
-H "Authorization: Bearer TOKEN"
将 TOKEN
替换为输出显示的身份验证令牌的值。