本頁說明如何使用Cloud de Confiance 控制台、Google Cloud CLI、Identity and Access Management API 或其中一個 Google Cloud 用戶端程式庫,停用及啟用服務帳戶金鑰。
事前準備
啟用 IAM API。
啟用 API 時所需的角色
如要啟用 API,您需要服務使用情形管理員 IAM 角色 (
roles/serviceusage.serviceUsageAdmin),其中包含serviceusage.services.enable權限。瞭解如何授予角色。設定驗證方法。
選取這個頁面上的分頁,瞭解如何使用範例:
gcloud
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。登入後,執行下列指令來初始化 Google Cloud CLI:
gcloud initJava
如要在本機開發環境中使用本頁面的 Java 範例,請安裝並初始化 gcloud CLI,然後使用使用者憑證設定應用程式預設憑證。
-
安裝 Google Cloud CLI。
-
設定 gcloud CLI,使用您的聯合身分。
詳情請參閱「使用聯合身分登入 gcloud CLI」。
-
為使用者帳戶建立本機驗證憑證:
gcloud auth application-default login
如果系統傳回驗證錯誤,且您使用外部識別資訊提供者 (IdP),請確認您已 使用聯合身分登入 gcloud CLI。
詳情請參閱 Cloud de Confiance 驗證說明文件中的「 為本機開發環境設定 ADC」。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。
詳情請參閱 Cloud de Confiance 驗證說明文件中的「使用 REST 進行驗證」。
-
瞭解服務帳戶憑證。
必要的角色
如要取得停用及啟用服務帳戶金鑰所需的權限,請要求系統管理員授予您專案或服務帳戶的「服務帳戶金鑰管理員」 (roles/iam.serviceAccountKeyAdmin) IAM 角色,以便管理金鑰。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
身分與存取權管理基本角色也包含管理服務帳戶金鑰的權限。您不應在正式環境中授予基本角色,但可以在開發或測試環境中授予。
停用服務帳戶金鑰
停用服務帳戶金鑰後,您就無法再使用該金鑰向 Google API 進行驗證。您隨時可以啟用已停用的金鑰。
建議您先停用金鑰,確認不再需要該金鑰後,再刪除服務帳戶金鑰。接著即可刪除金鑰。
您可以在 Cloud de Confiance 控制台中查看已停用的金鑰,但無法使用Cloud de Confiance 控制台停用金鑰。請改用 gcloud CLI 或 REST API。
gcloud
執行 gcloud iam service-accounts keys disable 指令,停用服務帳戶金鑰。
替換下列值:
KEY_ID:要停用的金鑰 ID。如要找出金鑰 ID,請列出服務帳戶的所有金鑰,找出要停用的金鑰,然後複製其 ID。SA_NAME:金鑰所屬的服務帳戶名稱。PROJECT_ID: Cloud de Confiance 專案 ID。
gcloud iam service-accounts keys disable KEY_ID \ --iam-account=SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com \ --project=PROJECT_ID
輸出內容:
Disabled key [KEY_ID] for service account [SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com]
Java
如要瞭解如何安裝及使用 IAM 的用戶端程式庫,請參閱「IAM 用戶端程式庫」。詳情請參閱 IAM Java API 參考文件。
如要向 IAM 進行驗證,請設定應用程式預設憑證。詳情請參閱「事前準備」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
REST
projects.serviceAccounts.keys.disable
方法會停用服務帳戶金鑰。
使用任何要求資料之前,請先修改下列項目的值:
PROJECT_ID:您的 Cloud de Confiance 專案 ID。專案 ID 為英數字串,例如my-project。SA_NAME:要停用金鑰的服務帳戶名稱。KEY_ID:要停用的金鑰 ID。如要找出金鑰 ID,請列出服務帳戶的所有金鑰,找出要停用的金鑰,然後從name欄位結尾複製其 ID。金鑰 ID 是keys/後方的所有內容。
HTTP 方法和網址:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com/keys/KEY_ID:disable
請展開以下其中一個選項,以傳送要求:
您應該會收到如下的 JSON 回覆:
{
}
啟用服務帳戶金鑰
停用服務帳戶金鑰後,隨時可以啟用金鑰,然後使用金鑰向 Google API 進行驗證。
您無法使用 Cloud de Confiance 控制台啟用服務帳戶金鑰,請改用 gcloud CLI 或 REST API。
gcloud
執行 gcloud iam service-accounts keys enable 指令,啟用服務帳戶金鑰。
替換下列值:
KEY_ID:要啟用的金鑰 ID。如要找出金鑰 ID,請列出服務帳戶的所有金鑰,找出要啟用的金鑰,然後複製其 ID。SA_NAME:金鑰所屬的服務帳戶名稱。PROJECT_ID:您的 Cloud de Confiance 專案 ID。
gcloud iam service-accounts keys enable KEY_ID \ --iam-account=SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com\ --project=PROJECT_ID
輸出內容:
Enabled key [KEY_ID] for service account [SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com]
Java
如要瞭解如何安裝及使用 IAM 的用戶端程式庫,請參閱「IAM 用戶端程式庫」。詳情請參閱 IAM Java API 參考文件。
如要向 IAM 進行驗證,請設定應用程式預設憑證。詳情請參閱「事前準備」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
REST
projects.serviceAccounts.keys.enable
方法可啟用服務帳戶金鑰。
使用任何要求資料之前,請先修改下列項目的值:
PROJECT_ID:您的 Cloud de Confiance 專案 ID。專案 ID 為英數字串,例如my-project。SA_NAME:要啟用金鑰的服務帳戶名稱。-
KEY_ID:要啟用的金鑰 ID。如要找出金鑰 ID,請列出服務帳戶的所有金鑰,找出要啟用的金鑰,然後從name欄位結尾複製其 ID。金鑰 ID 是keys/後方的所有內容。
HTTP 方法和網址:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com/keys/KEY_ID:enable
請展開以下其中一個選項,以傳送要求:
您應該會收到如下的 JSON 回覆:
{
}
後續步驟
- 瞭解如何刪除服務帳戶金鑰。
- 瞭解如何列出及取得服務帳戶金鑰。
- 瞭解如何使用服務帳戶金鑰,以服務帳戶的身分進行驗證。
- 瞭解服務帳戶金鑰的替代驗證方式。
- 瞭解管理服務帳戶金鑰的最佳做法。