- JSON 表示法
- 资源
- FederatedResourceHierarchy
- FederatedResource
- PolicyName
- FederatedGrantPolicy
- VisibleReferences
- FederatedTags
包含 IAM 资源信息。
| JSON 表示法 |
|---|
{ "policyType": string, "policyName": string, "policyRegion": string, "resourceContainer": string, "resource": { object ( |
| 字段 | |
|---|---|
policyType |
可选:资源的政策类型。policyType 的有效值可能是“compute_instances”“storage_buckets”“resourcemanager_projects”等。 |
policyName |
可选:资源的政策名称。policyName 的有效值可能是“/myproject/myinstance”“/myproject/mybucket”“/myproject”等。 |
policyRegion |
可选:政策的位置。 |
resourceContainer |
可选:资源容器名称。此值可以采用以下格式之一:-“projects/ |
resource |
可选:资源的核心属性。 |
monitoredResource |
可选:云审核受监控的资源。 |
permissions[] |
可选:要检查的 IAM 权限名称列表,格式为:{serviceName}/{plural}.{verb} 或旧版格式:{serviceName}.{plural}.{verb}。
示例:["library.googleapis.com/shelves.get", "library.googleapis.com/shelves.update", "library.shelves.get", "library.shelves.update"] |
nextExpectedResourceState |
可选。执行变更后的资源预期视图。 示例:
此对象可以包含任意类型的字段。附加字段 |
federatedResourceHierarchy |
可选:用于 IAM 政策联合的联合资源层次结构。 |
targetResourceLocations[] |
可选:目标资源的位置。操作所有者可以将目标位置指定为 Google Cloud 区域名称的去重数组或 ["global"]。注意:不支持多区域名称。 |
资源
此消息定义了资源的核心属性。资源是目标服务提供的可寻址(已命名)实体。例如,存储在网络存储服务中的文件。
| JSON 表示法 |
|---|
{ "service": string, "name": string, "type": string, "labels": { string: string, ... }, "uid": string, "annotations": { string: string, ... }, "displayName": string, "createTime": string, "updateTime": string, "deleteTime": string, "etag": string, "location": string } |
| 字段 | |
|---|---|
service |
相应资源所属服务的名称,例如 |
name |
如需了解详情,请参阅 https://cloud.google.com/apis/design/resource_names。 |
type |
资源的类型。由于不同平台定义资源的方式不同,因此语法是特定于平台的。 对于 Google API,类型格式必须为“{service}/{kind}”,例如“pubsub.googleapis.com/Topic”。 |
labels |
资源上的标签,例如 AWS 资源标签和 Kubernetes 资源标签。 包含一系列 |
uid |
资源的唯一标识符。在服务范围内,UID 在此资源的时间和空间内是唯一的。它通常是服务器在成功创建资源时生成的,不得进行更改。当存在资源名称重用时,UID 可用来唯一地标识资源。此字段应为 UUID4。 |
annotations |
注释是与资源一起存储的非结构化键值对映射,可由外部工具设置,用于存储和检索任意元数据。它们无法查询,并且在修改对象时应予以保留。 如需了解详情,请参阅:https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ 包含一系列 |
displayName |
可更改。由客户端设置的显示名称。不得超过 63 个字符。 |
createTime |
仅限输出。创建资源时的时间戳。这可能是创建开始时间,也可能是创建完成时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
updateTime |
仅限输出。上次更新资源时的时间戳。用户对此资源的任何更改都必须刷新此值。服务对资源的更改应刷新此值。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
deleteTime |
仅限输出。资源被删除时的时间戳。如果资源未被删除,此字段必须为空。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
etag |
仅限输出。不透明值,用于唯一地标识资源的版本或世代。它可用于确认客户端和服务器是否就正在写入的资源的顺序达成一致。 |
location |
不可变。资源的位置。位置编码与服务提供商对应。随着服务的发展变化,可能会引入新的编码。 对于 Google Cloud 产品,编码是 Google Cloud API(例如 |
FederatedResourceHierarchy
| JSON 表示法 |
|---|
{ "version": integer, "federatedHierarchy": [ { object ( |
| 字段 | |
|---|---|
version |
指定此联合层次结构的格式。有效值为 此字段用于指明客户端知道哪些联合属性。客户端知道的任何属性都必须设置非默认值。客户端不知道的任何属性都被视为 NOT_FEDERATED。对于给定的版本,客户端必须了解该版本及更低版本的所有属性。 注意:版本 0 和 1 之间没有任何区别。建议使用 1。 |
federatedHierarchy[] |
此请求中具有联合信息的资源的属性(按顺序,从叶节点开始)。叶节点名称的政策名称必须与请求中资源的 base PolicyName 相匹配 - CheckPolicyRequest.name、BulkCheckPolicyRequest.requests.name 等。此列表最多可包含 15 个条目。 |
nonFederatedParent |
具有集中存储的政策和属性的最近祖先资源的政策名称。 |
FederatedResource
| JSON 表示法 |
|---|
{ "policyName": { object ( |
| 字段 | |
|---|---|
policyName |
|
resourceName |
相对资源名称,不含“/”前缀(例如“projects/project-id”)。请参阅:https://cloud.google.com/apis/design/resource_names#relative_resource_name 此字段用于凭据访问边界 (CAB),以匹配 CAB 规则的“availableResource”。请参阅 https://cloud.google.com/iam/docs/downscoping-short-lived-credentials |
联合字段
|
|
grantPolicyStatus |
|
federatedGrantPolicy |
|
联合字段
|
|
tagsStatus |
|
federatedTags |
|
PolicyName
IAM 政策的内部名称,基于政策所适用的资源。请勿与资源的外部完整资源名称混淆。如需详细了解此区别。
| JSON 表示法 |
|---|
{ "type": string, "id": string, "region": string } |
| 字段 | |
|---|---|
type |
资源类型。类型在 IAM 的 .service 文件中定义。type 的有效值可能包括“storage_buckets”“compute_instances”“resourcemanager_customers”“billing_accounts”等。 |
id |
标识相应类型的实例。ID 格式因类型而异。ID 格式在定义类型的 IAM .service 文件中定义,无论是在 path_mapping 中还是在注释中。 |
region |
对于 Cloud IAM:政策的位置。对于归全局 IAM 所有的政策,必须为空或“global”。必须为区域级 IAM 政策指定 prodspec/cloud-iam-cloudspec 中的区域名称。 对于本地 IAM:此字段应设置为“local”。 |
FederatedGrantPolicy
调用方提供的联合授权政策。在 CheckPolicy 评估期间,这些值将取代存储的政策。保证不超过 257 KiB。提高此限制需要与 IAM 联合身份验证集成的服务进行审核。
| JSON 表示法 |
|---|
{
"version": integer,
"policyData": {
"@type": string,
field1: ...,
...
},
"visibleReferences": {
object ( |
| 字段 | |
|---|---|
version |
相应政策对象的架构版本。对联邦政策架构的任何重大更改都会导致版本号递增。有效版本号为:1:初始版本任何其他值都会导致参数无效错误。 |
policyData |
存储政策内容的 IAM 特定数据。未经 IAM 批准,联合团队不得对政策数据的内容或大小做出假设。不得在 IAM 拥有的代码之外读取或修改政策数据。 此对象可以包含任意类型的字段。附加字段 |
visibleReferences |
|
sha256 |
用于缓存的 policyData 的哈希值。不同资源上的同一政策应具有相同的哈希值。 使用 base64 编码的字符串。 |
VisibleReferences
政策中引用的主账号或其他实体。如果删除上述任何实体,则应将相应政策发送到 IAM 以进行清理。每个字段的条目不会重复,但可能未排序。
| JSON 表示法 |
|---|
{ "gaiaIds": [ string ], "customRoles": [ string ], "cpis": [ string ], "projectNumbers": [ string ] } |
| 字段 | |
|---|---|
gaiaIds[] |
|
customRoles[] |
政策中使用的自定义角色名称。例如:organizations/1234/roles/myRole。 |
cpis[] |
|
projectNumbers[] |
projectOwner、projectEditor 和 projectViewer 的项目编号 |
FederatedTags
标记键/值对映射的封装容器,因为映射不能是 oneof 中的字段。尚不支持用于 Google Cloud 服务使用情况。
| JSON 表示法 |
|---|
{ "tags": { string: string, ... } } |
| 字段 | |
|---|---|
tags |
包含一系列 |