授权和身份验证
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
强烈建议您在与 SAS 门户 API 集成时使用服务账号进行身份验证。如有必要,请
创建服务账号。请务必在
创建服务账号密钥时选择 JSON 作为密钥类型。创建完毕后,您的服务账号密钥将下载到浏览器的默认位置。此外,请务必向服务账号
授予“项目所有者”角色。
接下来,您需要以不记名令牌的形式提供服务账号身份验证。如果您直接调用 SAS 门户 API(例如使用 cURL
发出 HTTP 请求),您将在 Authorization
标头中以不记名令牌形式传递身份验证。如需使用您的服务账号获取不记名令牌,请按以下步骤操作:
-
安装
gcloud
命令行工具。
-
向您的服务账号进行身份验证。在以下命令中,将 ${KEY_FILE} 替换为指向服务账号密钥文件的路径:
gcloud auth activate-service-account --key-file ${KEY_FILE}
-
使用您的服务账号获取授权令牌:
gcloud auth print-access-token
该命令会返回一个访问令牌值。
-
使用该 API 时,请在 Authorization
标头中将令牌值作为 Bearer 令牌传递。请参阅以下示例:
curl -X GET -H "X-Goog-User-Project: ${CLIENT_PROJECT}" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${TOKEN}" \
"https://sasportal.googleapis.com/v1alpha1/customers"
将 ${CLIENT_PROJECT} 设置为您发出请求的
Google Cloud 项目的 ID,然后将 ${TOKEN} 设置为授权令牌。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-25。
[null,null,["最后更新时间 (UTC):2025-07-25。"],[[["\u003cp\u003eService accounts are the recommended authentication method for integrating with the SAS Portal API, requiring the creation of a service account with a JSON key and granting it the "Project Owner" role.\u003c/p\u003e\n"],["\u003cp\u003eAuthentication to the SAS Portal API is done using a Bearer token obtained through the \u003ccode\u003egcloud\u003c/code\u003e command-line tool by activating the service account and printing an access token.\u003c/p\u003e\n"],["\u003cp\u003eWhen calling the API, include the Bearer token in the \u003ccode\u003eAuthorization\u003c/code\u003e header of your request along with the \u003ccode\u003eX-Goog-User-Project\u003c/code\u003e header specifying your Google Cloud Project ID.\u003c/p\u003e\n"]]],["The key actions are creating a service account with a JSON key, granting it the \"Project Owner\" role, and obtaining a Bearer token for API authentication. This is done by installing the `gcloud` tool, authenticating the service account using `gcloud auth activate-service-account --key-file`, and generating an access token via `gcloud auth print-access-token`. This token should then be included in the `Authorization` header when making API calls as a Bearer token.\n"],null,["# Authorization and authentication\n\nWe strongly recommend that you use a service account for authentication when you integrate with\nthe SAS Portal API. If necessary, [create a service account](https://cloud.google.com/iam/docs/creating-managing-service-accounts#creating_a_service_account). Be sure to select JSON as your key type when you [create your service account key](https://cloud.google.com/iam/docs/creating-managing-service-account-keys#creating_service_account_keys). Once complete, your service account key is downloaded to your\nbrowser's default location. Furthermore, be sure to [grant the \"Project Owner\" role](https://cloud.google.com/iam/docs/granting-changing-revoking-access) to the service account.\n\nNext, you need to provide your service account authentication as a Bearer token. If you call the\nSAS Portal API directly, such as by making an HTTP request with `cURL`, you pass your\nauthentication as a Bearer token in an `Authorization` header. To obtain a Bearer token\nwith your service account, follow these steps:\n\n1. [Install the `gcloud` command line tool](https://cloud.google.com/sdk/install).\n2. Authenticate to your service account. In the following command, replace\n \u003cvar translate=\"no\"\u003e${KEY_FILE}\u003c/var\u003e with the path to your service account key file:\n\n ```genshi\n gcloud auth activate-service-account --key-file ${KEY_FILE}\n ```\n3. Use your service account to obtain an authorization token:\n\n ```text\n gcloud auth print-access-token\n ```\n\n The command returns an access token value.\n4. When you use the API, pass the token value as a Bearer token in an `Authorization`\n header. See the following example:\n\n ```genshi\n curl -X GET -H \"X-Goog-User-Project: ${CLIENT_PROJECT}\" \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer ${TOKEN}\" \\\n \"https://sasportal.googleapis.com/v1alpha1/customers\"\n ```\n\n Set \u003cvar translate=\"no\"\u003e${CLIENT_PROJECT}\u003c/var\u003e to the\n [ID of the Google Cloud Project](https://cloud.google.com/resource-manager/docs/creating-managing-projects) from which you make the requests, and then set\n \u003cvar translate=\"no\"\u003e${TOKEN}\u003c/var\u003e to the authorization token."]]