索引
IAMPolicy
(介面)Binding
(訊息)GetIamPolicyRequest
(訊息)GetPolicyOptions
(訊息)Policy
(訊息)SetIamPolicyRequest
(訊息)TestIamPermissionsRequest
(訊息)TestIamPermissionsResponse
(訊息)
IAMPolicy
API 總覽
管理身分與存取權管理 (IAM) 政策。
任何提供存取權控管功能的 API 實作項目都會實作 google.iam.v1.IAMPolicy 介面。
資料模型
當主體 (使用者或服務帳戶) 對服務公開的資源採取某些動作時,系統就會套用存取權控制機制。資源會以類似 URI 的名稱識別,是存取控制規範的單位。服務實作可以選擇存取權控制的精細程度,以及資源支援的權限。舉例來說,某個資料庫服務可能只允許在資料表層級指定存取權控管,而另一個服務則可能允許在資料欄層級指定存取權控管。
政策結構
請參閱 google.iam.v1.Policy
這項 API 並非 CRUD 樣式,因為存取權控管政策會與其所附加的資源一併建立及刪除。
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 說明文件。 |
政策
身分與存取權管理 (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[] |
已授予呼叫者 |