授權與驗證
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
整合 SAS Portal API 時,我們強烈建議您使用服務帳戶進行驗證。如有需要,請
建立服務帳戶。請務必在
建立服務帳戶金鑰時,選取 JSON 做為金鑰類型。完成之後,服務帳戶金鑰會下載到瀏覽器的預設位置。此外,請務必
將「專案擁有者」角色授予服務帳戶。
接著,您需要以不記名權杖的形式提供服務帳戶驗證。如果直接呼叫 SAS Portal API (例如提出具有 cURL
的 HTTP 要求),則會在 Authorization
標頭中以不記名憑證的形式傳送驗證。如要使用服務帳戶取得不記名憑證,請按照下列步驟操作:
-
安裝
gcloud
指令列工具。
-
驗證服務帳戶。在下列指令中,將 ${KEY_FILE} 替換為服務帳戶金鑰檔案的路徑:
gcloud auth activate-service-account --key-file ${KEY_FILE}
-
使用服務帳戶取得授權權杖:
gcloud auth print-access-token
此指令會傳回存取憑證值。
-
使用 API 時,請將憑證值做為 Bearer 憑證傳送至 Authorization
標頭中。請參閱以下範例:
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} 設為授權權杖。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-25 (世界標準時間)。
[null,null,["上次更新時間: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."]]