本頁說明如何授予、變更及撤銷主體對單一服務帳戶的存取權。如要管理主體對專案、資料夾或機構中所有服務帳戶的存取權,請在專案、資料夾或機構層級管理存取權。
在 Identity and Access Management (IAM) 中,存取權是透過允許政策 (也稱為 IAM 政策) 管理。允許政策會附加至Trusted Cloud by S3NS 資源。每項允許政策都包含一組角色繫結,可將一或多個主體 (例如使用者或服務帳戶) 與 IAM 角色建立關聯。這些角色繫結會將指定角色授予主體,包括附加允許政策的資源,以及該資源的所有子系。如要進一步瞭解允許政策,請參閱瞭解允許政策。
服務帳戶既是可授予其他主體存取權的資源,也是可授予其他資源存取權的主體。本頁面將服務帳戶視為資源,並說明如何授予其他主體存取權。如要瞭解如何授予服務帳戶其他資源的存取權,請參閱下列指南:
- 如要授予服務帳戶專案、資料夾或機構的存取權,請參閱「管理專案、資料夾和機構的存取權」。
- 如要授予服務帳戶其他資源的存取權,請參閱「管理其他資源的存取權」。
本頁說明如何使用Trusted Cloud 控制台、Google Cloud CLI 和 REST API 管理服務帳戶的存取權。您也可以使用 IAM 用戶端程式庫管理存取權。
事前準備
Enable the IAM API.
瞭解服務帳戶。
必要 IAM 角色
如要取得管理服務帳戶存取權所需的權限,請要求管理員授予您服務帳戶或該服務帳戶所屬專案的「服務帳戶管理員」 (roles/iam.serviceAccountAdmin
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這個預先定義的角色具備管理服務帳戶存取權所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要管理服務帳戶的存取權,必須具備下列權限:
-
iam.serviceAccounts.get
-
iam.serviceAccounts.list
-
iam.serviceAccounts.getIamPolicy
-
iam.serviceAccounts.setIamPolicy
查看目前的存取權
以下章節說明如何使用 Trusted Cloud 控制台、gcloud CLI 和 REST API,查看哪些使用者有權存取服務帳戶。您也可以使用 IAM 用戶端程式庫取得服務帳戶的允許政策,藉此查看存取權。
控制台
前往 Trusted Cloud 控制台的「Service Accounts」(服務帳戶) 頁面。
選取專案。
按一下服務帳戶的電子郵件地址。
前往「權限」分頁標籤。「可存取這個服務帳戶的主體」部分會列出所有已獲服務帳戶角色的主體。
這份清單包含的主體,是透過在父項資源上授予的角色取得存取權。如要進一步瞭解政策沿用機制,請參閱「政策沿用機制和資源階層」。
選用:如要查看服務代理程式的角色授予項目,請選取「包含 Google 提供的角色授予項目」 S3NS核取方塊。
gcloud
如要查看誰有權存取服務帳戶,請取得服務帳戶的允許政策。如要瞭解如何解讀允許政策,請參閱瞭解允許政策。
如要取得服務帳戶的允許政策,請為該服務帳戶執行 get-iam-policy
指令:
gcloud iam service-accounts get-iam-policy SA_ID --format=FORMAT > PATH
提供以下這些值:
SA_ID
:服務帳戶的 ID。這可以是SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com
格式的服務帳戶電子郵件地址,也可以是服務帳戶的不重複數字 ID。FORMAT
:政策的格式。使用json
或yaml
。PATH
:政策的新輸出檔案路徑。
舉例來說,以下指令會取得服務帳戶 my-service-account
的政策,並以 JSON 格式儲存至主目錄:
gcloud iam service-accounts get-iam-policy my-service-account --format json > ~/policy.json
REST
如要查看誰有權存取服務帳戶,請取得服務帳戶的允許政策。如要瞭解如何解讀允許政策,請參閱瞭解允許政策。
「
serviceAccounts.getIamPolicy
」方法會取得服務帳戶的允許政策。
使用任何要求資料之前,請先替換以下項目:
PROJECT_ID
:您的 Trusted Cloud 專案 ID。專案 ID 為英數字串,例如my-project
。SA_ID
:服務帳戶的 ID。 這可以是SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com
形式的服務帳戶電子郵件地址,也可以是服務帳戶的不重複數字 ID。POLICY_VERSION
:要傳回的政策版本。要求應指定最新政策版本,即政策版本 3。詳情請參閱在取得政策時指定政策版本。
HTTP 方法和網址:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID:getIamPolicy
JSON 要求主體:
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }
如要傳送要求,請展開以下其中一個選項:
回應會包含服務帳戶的允許政策。例如:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com" ] } ] }
授予或撤銷單一 IAM 角色
您可以使用 Trusted Cloud 主控台和 gcloud CLI,對單一主體快速授予或撤銷單一角色,而不直接編輯服務帳戶的允許政策。常見的主體類型包括服務帳戶、工作團隊身分池中的身分,以及工作負載身分池中的身分。如需所有主體類型清單,請參閱「主體類型」。
一般而言,政策變更會在 2 分鐘內生效,但在某些情況下,可能需要 7 分鐘以上,系統才會全面套用變更。
如需協助找出最合適的預先定義角色,請參閱「尋找合適的預先定義角色」。
授予單一 IAM 角色
如要將單一角色授予主體,請執行下列操作:
控制台
前往 Trusted Cloud 控制台的「Service Accounts」(服務帳戶) 頁面。
選取專案。
按一下服務帳戶的電子郵件地址。
前往「權限」分頁,然後找到「可存取這個服務帳戶的主體」部分。
選取要授予角色的主體:
如要將角色授予服務帳戶中已有其他角色的主體,請找出包含該主體的列,然後依序點選該列中的
「編輯主體」和 「新增其他角色」。如要將角色授予服務代理,請選取「包含S3NS提供的角色授權」核取方塊,查看服務代理的電子郵件地址。
如要將角色授予服務帳戶中沒有任何角色的主體,請按一下
「授予存取權」,然後輸入主體的 ID,例如//iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com
或//iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
。
從下拉式清單中選取要授予的角色。為遵循安全性最佳做法,請選擇僅含主體所需權限的角色。
選用:為角色新增條件。
按一下 [儲存]。主體就會取得服務帳戶的角色。
gcloud
如要將角色授予主體,請執行 add-iam-policy-binding
指令:
gcloud iam service-accounts add-iam-policy-binding SA_ID \ --member=PRINCIPAL --role=ROLE_NAME \ --condition=CONDITION
提供以下這些值:
SA_ID
:服務帳戶的 ID。這可以是SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com
格式的服務帳戶電子郵件地址,也可以是服務帳戶的不重複數字 ID。PRINCIPAL
:主體或成員的 ID,通常採用以下格式:PRINCIPAL-TYPE:ID
。 例如principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com
或principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
。如需PRINCIPAL
可用的完整值清單,請參閱「主體 ID」。ROLE_NAME
:要授予的角色名稱。請使用下列其中一種格式:- 預先定義的角色:
roles/SERVICE.IDENTIFIER
- 專案層級自訂角色:
projects/PROJECT_ID/roles/IDENTIFIER
- 機構層級的自訂角色:
organizations/ORG_ID/roles/IDENTIFIER
如需預先定義角色清單,請參閱「瞭解角色」。
- 預先定義的角色:
CONDITION
:選用。要新增至角色繫結的條件。如要進一步瞭解條件,請參閱條件總覽。
舉例來說,如要將服務帳戶使用者角色授予使用者
//iam.googleapis.com/locations/global/workforcePools/example-pool/subject/my-user@example.com,請執行下列指令:
my-service-account@my-project.s3ns-system.iam.gserviceaccount.com
gcloud iam service-accounts add-iam-policy-binding my-service-account@my-project.s3ns-system.iam.gserviceaccount.com \ --member=principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/my-user@example.com --role=roles/iam.serviceAccountUser
撤銷單一 IAM 角色
如要撤銷主體的單一角色,請執行下列步驟:
控制台
前往 Trusted Cloud 控制台的「Service Accounts」(服務帳戶) 頁面。
選取專案。
按一下服務帳戶的電子郵件地址。
前往「權限」分頁,然後找到「可存取這個服務帳戶的主體」部分。
找到要撤銷存取權的主體所在資料列。然後點選該列中的「Edit principal」(編輯主體)
。針對要撤銷的角色按一下「刪除」圖示
按鈕,然後按一下「儲存」。
gcloud
如要快速撤銷使用者的某個角色,請執行 remove-iam-policy-binding
指令:
gcloud iam service-accounts remove-iam-policy-binding SA_ID \ --member=PRINCIPAL --role=ROLE_NAME
提供以下這些值:
SA_ID
:服務帳戶的 ID。這可以是SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com
格式的服務帳戶電子郵件地址,也可以是服務帳戶的不重複數字 ID。PRINCIPAL
:主體或成員的 ID,通常採用以下格式:PRINCIPAL-TYPE:ID
。 例如principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com
或principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
。如需PRINCIPAL
可用的完整值清單,請參閱「主體 ID」。ROLE_NAME
:要撤銷的角色名稱。請使用下列其中一種格式:- 預先定義的角色:
roles/SERVICE.IDENTIFIER
- 專案層級自訂角色:
projects/PROJECT_ID/roles/IDENTIFIER
- 機構層級的自訂角色:
organizations/ORG_ID/roles/IDENTIFIER
如需預先定義角色清單,請參閱「瞭解角色」。
- 預先定義的角色:
舉例來說,如要撤銷使用者
//iam.googleapis.com/locations/global/workforcePools/example-pool/subject/my-user@example.com
的服務帳戶使用者角色,請執行下列指令:
my-service-account@my-project.s3ns-system.iam.gserviceaccount.com
gcloud iam service-accounts remove-iam-policy-binding my-service-account@my-project.s3ns-system.iam.gserviceaccount.com \ --member=principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/my-user@example.com --role=roles/iam.serviceAccountUser
使用 Trusted Cloud 控制台授予或撤銷多個 IAM 角色
您可以使用 Trusted Cloud 控制台,為單一主體授予及撤銷多個角色:
前往 Trusted Cloud 控制台的「Service Accounts」(服務帳戶) 頁面。
選取專案。
按一下服務帳戶的電子郵件地址。
前往「權限」分頁,然後找到「可存取這個服務帳戶的主體」部分。
選取要修改角色的主體:
如要修改服務帳戶中已有角色的主體,請找出包含該主體的列,然後點選該列中的「編輯主體」
,接著點選「新增其他角色」 。如要修改服務代理人的角色,請選取「Include Google-provided role grants」(包括 Google 提供的角色授權) S3NS 核取方塊,查看服務代理人的電子郵件地址。
如要將角色授予服務帳戶中沒有任何角色的主體,請按一下
「授予存取權」,然後輸入主體的電子郵件地址或其他 ID。
修改主體的角色:
- 如要將角色授予還沒有任何資源角色的主體,請按一下「Select a role」(選取角色),然後從下拉式清單中選取要授予的角色。
- 如要將其他角色授予主體,請按一下「新增其他角色」,然後從下拉式清單中選取要授予的角色。
- 如要以其他角色取代主體的其中一個角色,請按一下現有角色,然後從下拉式清單中選擇要授予的角色。
- 如要撤銷主體的其中一個角色,請針對要撤銷的每個角色按一下「刪除」 按鈕。
按一下 [儲存]。
以程式輔助方式授予或撤銷多個 IAM 角色
如要進行大規模存取權變更,包括授予及撤銷多個主體的多個角色,請使用「讀取 - 修改 - 寫入」模式更新服務帳戶的允許政策:
- 呼叫
getIamPolicy()
讀取目前的允許政策。 - 使用文字編輯器或透過程式來編輯允許政策,藉此新增或移除任何主體或角色繫結。
- 呼叫
setIamPolicy()
寫入更新後的允許政策。
本節說明如何使用 gcloud CLI 和 REST API 更新允許政策。您也可以使用 IAM 用戶端程式庫更新允許政策。
一般而言,政策變更會在 2 分鐘內生效,但在某些情況下,可能需要 7 分鐘以上,系統才會全面套用變更。
取得目前的允許政策
gcloud
如要取得服務帳戶的允許政策,請為該服務帳戶執行 get-iam-policy
指令:
gcloud iam service-accounts get-iam-policy SA_ID --format=FORMAT > PATH
提供以下這些值:
SA_ID
:服務帳戶的 ID。這可以是SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com
格式的服務帳戶電子郵件地址,也可以是服務帳戶的不重複數字 ID。FORMAT
:允許政策的格式。使用json
或yaml
。PATH
:允許政策的新輸出檔案路徑。
舉例來說,以下指令會取得服務帳戶 my-service-account
的允許政策,並以 JSON 格式儲存至主目錄:
gcloud iam service-accounts get-iam-policy my-service-account --format json > ~/policy.json
REST
「
serviceAccounts.getIamPolicy
」方法會取得服務帳戶的允許政策。
使用任何要求資料之前,請先替換以下項目:
PROJECT_ID
:您的 Trusted Cloud 專案 ID。專案 ID 為英數字串,例如my-project
。SA_ID
:服務帳戶的 ID。 這可以是SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com
形式的服務帳戶電子郵件地址,也可以是服務帳戶的不重複數字 ID。POLICY_VERSION
:要傳回的政策版本。要求應指定最新政策版本,即政策版本 3。詳情請參閱在取得政策時指定政策版本。
HTTP 方法和網址:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID:getIamPolicy
JSON 要求主體:
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }
如要傳送要求,請展開以下其中一個選項:
回應會包含服務帳戶的允許政策。例如:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com" ] } ] }
將回應儲存為適當類型的檔案 (json
或 yaml
)。
Java
如要瞭解如何安裝及使用 IAM 的用戶端程式庫,請參閱 IAM 用戶端程式庫。 詳情請參閱 IAM Java API 參考說明文件。
如要向 IAM 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Python
如要瞭解如何安裝及使用 IAM 的用戶端程式庫,請參閱 IAM 用戶端程式庫。 詳情請參閱 IAM Python API 參考說明文件。
如要向 IAM 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
修改允許政策
透過程式或使用文字編輯器修改服務帳戶許可政策的本機副本,以反映要授予或撤銷特定使用者角色的動作。
為確保不會覆寫其他變更,請勿編輯或移除「允許政策」的 etag
欄位。etag
欄位會指出允許政策的目前狀態。當您設定更新後的允許政策時,IAM 會比較要求中的 etag
值與現有的 etag
,並且只會在兩個值相符時才寫入允許政策。
如要編輯允許政策授予的角色,請編輯允許政策中的角色繫結。角色繫結的格式如下:
{ "role": "ROLE_NAME", "members": [ "PRINCIPAL_1", "PRINCIPAL_2", ... "PRINCIPAL_N" ], "conditions:" { CONDITIONS } }
預留位置的值如下:
ROLE_NAME
:要授予的角色名稱。請使用下列其中一種格式:- 預先定義的角色:
roles/SERVICE.IDENTIFIER
- 專案層級自訂角色:
projects/PROJECT_ID/roles/IDENTIFIER
- 機構層級的自訂角色:
organizations/ORG_ID/roles/IDENTIFIER
如需預先定義角色清單,請參閱「瞭解角色」。
- 預先定義的角色:
PRINCIPAL_1
、PRINCIPAL_2
、...PRINCIPAL_N
:要授予角色的主體 ID。主體 ID 通常採用以下格式:
PRINCIPAL-TYPE:ID
。 例如principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com
或principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
。如需PRINCIPAL
可用的完整值清單,請參閱「主體 ID」。CONDITIONS
:選用。指定授予存取權時機的條件。
授予角色
如要將角色授予主體,請修改允許政策中的角色繫結。 如要瞭解可授予的角色,請參閱「瞭解角色」一文,或查看服務帳戶可授予的角色。如需協助找出最合適的預先定義角色,請參閱「找出合適的預先定義角色」。
您也可以選擇使用條件,只在符合特定需求時授予角色。
如要授予已包含在允許政策中的角色,請將主體新增至現有角色繫結:
gcloud
編輯允許政策,將主體新增至現有角色繫結。請注意,您必須設定更新後的允許政策,這項變更才會生效。
舉例來說,假設允許政策包含下列角色繫結,將服務帳戶使用者角色 (roles/iam.serviceAccountUser
) 授予 Kai:
{
"role": "roles/iam.serviceAccountUser",
"members": [
"principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/kai@example.com"
]
}
如要將相同角色授予 Raha,請將 Raha 新增至現有的角色繫結:
{ "role": "roles/iam.serviceAccountUser", "members": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/kai@example.com", "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/raha@example.com" ] }
REST
編輯允許政策,將主體新增至現有角色繫結。請注意,您必須設定更新後的允許政策,這項變更才會生效。
舉例來說,假設允許政策包含下列角色繫結,將服務帳戶使用者角色 (roles/iam.serviceAccountUser
) 授予 Kai:
{
"role": "roles/iam.serviceAccountUser",
"members": [
"principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/kai@example.com"
]
}
如要將相同角色授予 Raha,請將 Raha 新增至現有的角色繫結:
{ "role": "roles/iam.serviceAccountUser", "members": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/kai@example.com", "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/raha@example.com" ] }
如要授予允許政策尚未包含的角色,請新增角色繫結:
gcloud
編輯允許政策,新增角色繫結,將角色授予主體。您必須設定更新後的允許政策,這項變更才會生效。
舉例來說,如要將「服務帳戶憑證建立者」角色 (roles/iam.serviceAccountTokenCreator
) 授予 Raha,請將下列角色繫結新增至允許政策的 bindings
陣列:
{
"role": "roles/iam.serviceAccountTokenCreator",
"members": [
"principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/raha@example.com"
]
}
REST
編輯允許政策,新增角色繫結,將角色授予主體。您必須設定更新後的允許政策,這項變更才會生效。
舉例來說,如要將「服務帳戶憑證建立者」角色 (roles/iam.serviceAccountTokenCreator
) 授予 Raha,請將下列角色繫結新增至允許政策的 bindings
陣列:
{
"role": "roles/iam.serviceAccountTokenCreator",
"members": [
"principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/raha@example.com"
]
}
撤銷角色
如要撤銷角色,請從角色繫結中移除主體。如果角色繫結中沒有其他主體,請從允許政策中移除整個角色繫結。
gcloud
編輯允許政策,移除主體或整個角色繫結。您必須設定更新後的允許政策,這項變更才會生效。
舉例來說,假設允許政策包含下列角色繫結,將服務帳戶使用者角色 (roles/iam.serviceAccountUser
) 授予 Kai 和 Raha:
{
"role": "roles/iam.serviceAccountUser",
"members": [
"principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/kai@example.com",
"principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/raha@example.com"
]
}
如要撤銷 Kai 的角色,請從角色繫結中移除 Kai 的主體 ID:
{
"role": "roles/iam.serviceAccountUser",
"members": [
principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/raha@example.com
]
}
如要撤銷 Kai 和 Raha 的角色,請從允許政策中移除角色繫結。
REST
編輯允許政策,移除主體或整個角色繫結。您必須設定更新後的允許政策,這項變更才會生效。
舉例來說,假設允許政策包含下列角色繫結,將服務帳戶使用者角色 (roles/iam.serviceAccountUser
) 授予 Kai 和 Raha:
{
"role": "roles/iam.serviceAccountUser",
"members": [
"principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/kai@example.com",
"principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/raha@example.com"
]
}
如要撤銷 Kai 的角色,請從角色繫結中移除 Kai 的主體 ID:
{
"role": "roles/iam.serviceAccountUser",
"members": [
principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/raha@example.com
]
}
如要撤銷 Kai 和 Raha 的角色,請從允許政策中移除角色繫結。
設定允許政策
修改允許政策以授予及撤銷角色後,請呼叫 setIamPolicy()
來進行更新。
gcloud
如要為資源設定允許政策,請為服務帳戶執行 set-iam-policy
指令:
gcloud iam service-accounts set-iam-policy SA_ID PATH
提供以下這些值:
SA_ID
:服務帳戶的 ID。這可以是SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com
格式的服務帳戶電子郵件地址,也可以是服務帳戶的不重複數字 ID。PATH
:包含新允許政策的檔案路徑。
回應會包含更新後的允許政策。
舉例來說,下列指令會將 policy.json
中儲存的允許政策,設為服務帳戶 my-service-account@my-project.s3ns-system.iam.gserviceaccount.com
的允許政策:
gcloud iam service-accounts set-iam-policy my-service-account@my-project.s3ns-system.iam.gserviceaccount.com \ ~/policy.json
REST
serviceAccounts.setIamPolicy
方法會為服務帳戶設定更新後的允許政策。
使用任何要求資料之前,請先替換以下項目:
PROJECT_ID
:您的 Trusted Cloud 專案 ID。專案 ID 為英數字串,例如my-project
。SA_ID
:服務帳戶的 ID。 這可以是SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com
形式的服務帳戶電子郵件地址,也可以是服務帳戶的不重複數字 ID。-
POLICY
:要設定的政策 JSON 表示法。如要進一步瞭解政策格式,請參閱政策參考資料。舉例來說,如要設定上一步驟中顯示的允許政策,請將
policy
換成下列內容:{ "version": 1, "etag": "BwUqLaVeua8=", "bindings": [ { "role": "roles/iam.serviceAccountUser", "members": [ "principalSet://iam.googleapis.com/locations/global/workforcePools/my-pool/group/my-group" ] }, { "role": "roles/serviceAccountAdmin", "members": [ "principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com" ] } ] }
HTTP 方法和網址:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID:setIamPolicy
JSON 要求主體:
{ "policy": POLICY }
如要傳送要求,請展開以下其中一個選項:
回應會包含更新後的允許政策。
Java
如要瞭解如何安裝及使用 IAM 的用戶端程式庫,請參閱 IAM 用戶端程式庫。 詳情請參閱 IAM Java API 參考說明文件。
如要向 IAM 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
Python
如要瞭解如何安裝及使用 IAM 的用戶端程式庫,請參閱 IAM 用戶端程式庫。 詳情請參閱 IAM Python API 參考說明文件。
如要向 IAM 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN
環境變數設為 s3nsapis.fr
。
後續步驟
- 瞭解要授予哪些角色,才能讓主體以服務帳戶身分進行驗證。
- 瞭解如何選擇最合適的預先定義角色。
- 請參閱「使用服務帳戶的最佳做法」,瞭解如何安全地使用服務帳戶。
- 瞭解如何管理專案、資料夾和機構的存取權。
- 瞭解管理其他資源存取權的一般步驟。
- 瞭解如何使用條件式角色繫結,為主體的存取權設定條件。