索引
IAMPolicy(介面)Binding(訊息)GetIamPolicyRequest(訊息)GetPolicyOptions(訊息)Policy(訊息)SetIamPolicyRequest(訊息)TestIamPermissionsRequest(訊息)TestIamPermissionsResponse(訊息)
IAMPolicy
API 總覽
管理身分與存取權管理 (IAM) 政策。
凡是實作提供存取控管功能的 API,都會實作 google.iam.v1.IAMPolicy 介面。
資料模型
當主體 (使用者或服務帳戶) 對服務公開的資源採取某些動作時,系統會套用存取控管措施。資源 (以類似 URI 的名稱識別) 是存取控管規格的單位。服務實作項目可以選擇存取控管的精細程度,以及資源支援的權限。舉例來說,某個資料庫服務可能只允許在資料表層級指定存取控管,另一個服務則可能允許在資料欄層級指定存取控管。
政策結構
請參閱 google.iam.v1.Policy
這並非 CRUD 樣式的 API,因為存取控管政策是連同附加的資源一併建立及刪除。
| GetIamPolicy |
|---|
|
取得資源的存取控管政策。如果該資源存在且未設定政策,則會傳回空的政策。
|
| SetIamPolicy |
|---|
|
設定指定資源的存取控管政策,取代任何現有的政策。 可能會傳回
|
| TestIamPermissions |
|---|
|
傳回呼叫者對指定資源所擁有的權限。如果資源不存在,則會傳回空白的權限組合,而非 附註:這項作業是設計用於建構權限感知 UI 和指令列工具,而不是用於授權檢查。這項作業可能會「失敗時維持開放狀態」,且不會事先警告。
|
繫結
將 members 或主體與 role 建立關聯。
| 欄位 | |
|---|---|
role |
指派給 |
members[] |
指定向 Google Cloud 資源要求存取權的主體。
|
condition |
與此繫結相關聯的條件。 如果條件評估結果為 如果條件評估結果為 如要瞭解哪些資源支援 IAM 政策中的條件,請參閱「IAM 說明文件」。 |
GetIamPolicyRequest
GetIamPolicy 方法的要求訊息。
| 欄位 | |
|---|---|
resource |
必要:要求政策的資源。如要瞭解這個欄位的適當值,請參閱資源名稱。 |
options |
選用:用來指定 |
GetPolicyOptions
封裝提供給 GetIamPolicy 的設定。
| 欄位 | |
|---|---|
requested_policy_version |
選用。用於設定政策格式的最高政策版本。 有效值為 0、1 和 3。如果要求指定的值無效,系統會拒絕要求。 如果政策含有任何條件式角色繫結,要求就必須指定版本 3。如果政策沒有條件式角色繫結,可以指定任何有效值,或將欄位留空。 回應中的政策可能會使用您指定的政策版本,也可能使用較低的政策版本。例如,如果您指定版本 3,但政策沒有條件式角色繫結,回應就會使用版本 1。 如要瞭解哪些資源支援 IAM 政策中的條件,請參閱「IAM 說明文件」。 |
政策
Identity and Access Management (IAM) 政策,可指定 Google Cloud 資源的存取控管。
Policy 是 bindings 的集合。binding 會將一或多個 members 或主體繫結至單一 role。主體可以是使用者帳戶、服務帳戶、Google 群組和網域 (例如 G Suite)。role 是具名權限清單,每個 role 可以是 IAM 預先定義的角色,也可以是使用者建立的自訂角色。
對於某些類型的 Google Cloud 資源,binding 也可以指定 condition,這是邏輯運算式,只有在運算式評估結果為 true 時,才允許存取資源。條件可根據要求、資源或兩者的屬性新增限制。如要瞭解哪些資源支援 IAM 政策中的條件,請參閱「IAM 說明文件」。
JSON 範例:
{
"bindings": [
{
"role": "roles/resourcemanager.organizationAdmin",
"members": [
"user:mike@example.com",
"group:admins@example.com",
"domain:google.com",
"serviceAccount:my-project-id@appspot.gserviceaccount.com"
]
},
{
"role": "roles/resourcemanager.organizationViewer",
"members": [
"user:eve@example.com"
],
"condition": {
"title": "expirable access",
"description": "Does not grant access after Sep 2020",
"expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
}
}
],
"etag": "BwWWja0YfJA=",
"version": 3
}
YAML 範例:
bindings:
- members:
- user:mike@example.com
- group:admins@example.com
- domain:google.com
- serviceAccount:my-project-id@appspot.gserviceaccount.com
role: roles/resourcemanager.organizationAdmin
- members:
- user:eve@example.com
role: roles/resourcemanager.organizationViewer
condition:
title: expirable access
description: Does not grant access after Sep 2020
expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
etag: BwWWja0YfJA=
version: 3
如需 IAM 及其功能的說明,請參閱「IAM 說明文件」。
| 欄位 | |
|---|---|
version |
指定政策格式。 有效值為 凡是會影響條件式角色繫結的作業,都必須指定版本
重要事項:如果您使用 IAM 條件,每次呼叫 如果政策不含任何條件,對該政策執行的作業可以指定任何有效版本,或將欄位留空。 如要瞭解哪些資源支援 IAM 政策中的條件,請參閱「IAM 說明文件」。 |
bindings[] |
將
|
etag |
重要事項:如果您使用 IAM 條件,每次呼叫 |
SetIamPolicyRequest
SetIamPolicy 方法的要求訊息。
| 欄位 | |
|---|---|
resource |
必要:指定政策的資源。如要瞭解這個欄位的適當值,請參閱資源名稱。 |
policy |
必要:要套用至 |
TestIamPermissionsRequest
TestIamPermissions 方法的要求訊息。
| 欄位 | |
|---|---|
resource |
必要:要求政策詳細資訊的資源。如要瞭解這個欄位的適當值,請參閱資源名稱。 |
permissions[] |
針對 |
TestIamPermissionsResponse
TestIamPermissions 方法的回應訊息。
| 欄位 | |
|---|---|
permissions[] |
呼叫端允許的 |