本頁說明如何使用 Identity and Access Management (IAM),授予使用者 Secure Source Manager 執行個體的存取權。如要進一步瞭解 Secure Source Manager 的存取控管機制,請參閱「使用 IAM 控管存取權」。
必要的角色
    
      如要取得授予使用者執行個體存取權所需的權限,請要求管理員在 Secure Source Manager 執行個體上授予您 Secure Source Manager 執行個體擁有者角色  (roles/securesourcemanager.instanceOwner) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
  
  
如要瞭解如何授予 Secure Source Manager 角色,請參閱「使用 IAM 控管存取權」。
授予員工身分聯盟使用者存取權
如果您使用員工身分聯盟存取 Secure Source Manager,主體會以不同方式表示。如要進一步瞭解如何授予代表身分群組的主體存取權,請參閱「在 IAM 政策中代表工作團隊集區使用者」。
舉例來說,下列指令會將專案 my-project 中 us-central1 地區的執行個體 my-instance 上的 Workforce Pool my-pool 中的執行個體存取者角色 (roles/securesourcemanager.instanceAccessor) 授予使用者 user@example.com:
  gcloud beta source-manager instances add-iam-policy-binding my-instance \
      --project=my-project \
      --region=us-central1 \
      --member=principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/user@example.com \
      --role=roles/securesourcemanager.instanceAccessor
您可以根據身分識別提供者 (IdP) 屬性,授予工作人員身分識別集區內的使用者或群組存取權,也可以使用通用運算式語言 (CEL) 將 OIDC 屬性對應至自訂屬性,以便在 IAM 政策中定義授權策略。如要進一步瞭解屬性對應,請參閱「屬性對應」。
授予單一使用者存取權
如要授予單一使用者執行個體存取權,請使用下列 Google Cloud CLI 指令:
  gcloud beta source-manager instances add-iam-policy-binding INSTANCE_ID \
      --project=PROJECT_ID \
      --region=REGION \
      --member=PRINCIPAL_IDENTIFIER \
      --role=roles/securesourcemanager.instanceAccessor
更改下列內容:
- 將 INSTANCE_ID替換為執行個體 ID。
- 將 PROJECT_ID替換為執行個體的專案 ID 或專案編號。
- REGION,其中包含執行個體所在的區域。如要瞭解可用的 Secure Source Manager 地區,請參閱位置說明文件。
- PRINCIPAL_IDENTIFIER,並將其替換為要授予角色的主體 ID。- 舉例來說,如要將角色授予單一使用者,請以電子郵件地址格式設定主體 ID,例如 - user:EMAIL,其中 EMAIL 是使用者的電子郵件地址。- 如要進一步瞭解支援的主體 ID,請參閱「主體 ID」。 
舉例來說,下列指令會將 us-central 地區中 my-project 專案的 my-instance 執行個體 roles/securesourcemanager.instanceAccessor 角色授予 trusted-user1@gmail.com 使用者。
  gcloud beta source-manager instances add-iam-policy-binding INSTANCE_ID \
      --project=my-project \
      --region=us-central1 \
      --member=user:trusted-user1@gmail.com \
      --role=roles/securesourcemanager.instanceAccessor
將存取權授予多位使用者
- 建立所有需要存取執行個體的使用者 Google 群組。群組可以是網域專屬群組。 - 建議您建立涵蓋所有潛在使用者的廣泛群組,例如所有開發人員,以及公司中可能會提出問題的人員。使用者必須屬於這個群組,才能在 Secure Source Manager 執行個體中存取或建立資源,包括存放區和問題。 - 將這個群組設為廣泛群組,團隊主管就能管理執行個體層級和存放區層級的使用者角色,不必同時管理群組成員。 
- 如要讀取目前的允許政策並儲存至 - /tmp/instances.json,請執行下列指令:- gcloud beta source-manager instances get-iam-policy INSTANCE_ID \ --project=PROJECT_ID \ --region=REGION \ --format=json > /tmp/instance.json- 更改下列內容: - 將 INSTANCE_ID替換為執行個體 ID。
- 將 PROJECT_ID替換為執行個體的專案 ID 或專案編號。
- REGION,其中包含執行個體所在的區域。如要瞭解可用的 Secure Source Manager 地區,請參閱位置說明文件。
 - 輸出內容會包含所有現有繫結,如果沒有任何繫結,則會包含類似下列內容的 - etag值:- { "etag": "BwUjHYKJUiQ=" }
- 將 
- 編輯 JSON 檔案 - /tmp/instance.json,將下列角色授予群組:- 執行個體存取者角色 (roles/securesourcemanager.instanceAccessor):適用於需要查看執行個體,但不會建立或修改存放區的使用者。
- 執行個體存放區建立者角色 (roles/securesourcemanager.instanceRepositoryCreator):適用於需要建立及修改存放區的使用者。
- 執行個體擁有者角色 (roles/securesourcemanager.instanceOwner),適用於管理執行個體的使用者。
 - 下列範例政策會將 - roles/securesourcemanager.instanceRepositoryCreator角色授予群組- your-group@gmail.com,並將- roles/securesourcemanager.instanceOwner角色授予使用者- trusted-user1@gmail.com和- trusted-user2@gmail.com。- { "etag": "ETAG", "bindings": [ { "role": "roles/securesourcemanager.instanceRepositoryCreator", "members": [ "group:GROUP_EMAIL" ] }, { "role": "roles/securesourcemanager.instanceOwner", "members": [ "user:USER_EMAIL_1", "user:USER_EMAIL_2" ] } ] }- 更改下列內容: - ETAG,並使用- getIamPolicy回應中的- etag值,在本例中為- BwUjHYKJUiQ=
- GROUP_EMAIL,並輸入 Google 群組的電子郵件地址。
- USER_EMAIL_1和- USER_EMAIL_2,並填入要授予執行個體擁有者角色的使用者電子郵件地址。
 
- 執行個體存取者角色 (
- 儲存編輯過的 - /tmp/instance.json檔案。
- 修改已儲存的允許政策,授予及撤銷所需角色後,請執行下列指令,更新執行個體允許政策: - gcloud beta source-manager instances set-iam-policy INSTANCE_ID \ --project=PROJECT_ID \ --region=REGION \ /tmp/instance.json- 更改下列內容: - 將 INSTANCE_ID替換為執行個體 ID。
- 將 PROJECT_ID替換為執行個體的專案 ID 或專案編號。
- REGION,其中包含執行個體所在的區域。如要瞭解可用的 Secure Source Manager 地區,請參閱位置說明文件。
 
- 將 
後續步驟
- 授予使用者存放區存取權。
- 進一步瞭解如何使用 IAM 控管存取權。
- 建立存放區。
- 授予及撤銷 IAM 角色。