為已附加服務帳戶的資源設定 ADC

部分 Google Cloud 服務 (例如 Compute Engine、App Engine 和 Cloud Run 函式) 支援將使用者管理的服務帳戶附加至某些類型的資源。一般來說,如果服務的資源可以執行或納入應用程式碼,系統就會支援附加服務帳戶。將服務帳戶附加至資源後,在該資源上執行的程式碼就能使用該服務帳戶做為身分。

對於在 Google Cloud上執行的正式版程式碼,建議您附加使用者代管服務帳戶,向 ADC 提供憑證。

如需協助判斷要提供給服務帳戶的角色,請參閱「選擇預先定義的角色」。

如要瞭解可附加服務帳戶的資源,以及如何將服務帳戶附加至資源,請參閱這篇 IAM 說明文件

設定驗證方法:

  1. 確認您具備「建立服務帳戶」身分與存取權管理角色 (roles/iam.serviceAccountCreator) 和「專案 IAM 管理員」角色 (roles/resourcemanager.projectIamAdmin)。瞭解如何授予角色
  2. 建立服務帳戶:

    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

    SERVICE_ACCOUNT_NAME 換成服務帳戶的名稱。

  3. 如要授予服務帳戶專案和資源的存取權,請將角色授予該帳戶:

    gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE

    請替換下列項目:

    • SERVICE_ACCOUNT_NAME:服務帳戶名稱
    • PROJECT_ID:您建立服務帳戶的專案 ID
    • ROLE:要授予的角色
  4. 如要將其他角色授予服務帳戶,請執行上一個步驟中的指令。
  5. 將必要角色指派給要將服務帳戶附加至其他資源的主體。

    gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser

    更改下列內容:

    • SERVICE_ACCOUNT_NAME:服務帳戶名稱
    • PROJECT_ID:您建立服務帳戶的專案 ID
    • USER_EMAIL:Google 帳戶的電子郵件地址

後續步驟