Deployments: getIamPolicy

需要授权

获取资源的访问权限控制政策。如果不存在此类政策或资源,则可能为空。立即试用

请求

HTTP 请求

GET https://www.googleapis.com/deploymentmanager/v2/projects/project/global/deployments/resource/getIamPolicy

参数

参数名称 说明
路径参数
project string 此请求的项目 ID。
resource string 此请求的资源名称或 ID。

授权

此请求需要获得以下至少一个范围的授权(详细了解身份验证和授权)。

范围
https://www.googleapis.com/auth/cloud-platform
https://www.googleapis.com/auth/ndev.cloudman

请求正文

使用此方法时请勿提供请求正文。

响应

如果成功,此方法将返回以下结构的响应正文:

{
  "version": integer,
  "bindings": [
    {
      "role": string,
      "members": [
        string
      ],
      "condition": {
        "expression": string,
        "title": string,
        "description": string,
        "location": string
      }
    }
  ],
  "auditConfigs": [
    {
      "service": string,
      "exemptedMembers": [
        string
      ],
      "auditLogConfigs": [
        {
          "logType": string,
          "exemptedMembers": [
            string
          ]
        }
      ]
    }
  ],
  "rules": [
    {
      "description": string,
      "permissions": [
        string
      ],
      "action": string,
      "ins": [
        string
      ],
      "notIns": [
        string
      ],
      "conditions": [
        {
          "iam": string,
          "sys": string,
          "svc": string,
          "op": string,
          "values": [
            string
          ]
        }
      ],
      "logConfigs": [
        {
          "counter": {
            "metric": string,
            "field": string
          },
          "dataAccess": {
            "logMode": string
          },
          "cloudAudit": {
            "logName": string,
            "authorizationLoggingOptions": {
              "permissionType": string
            }
          }
        }
      ]
    }
  ],
  "etag": bytes,
  "iamOwned": boolean
}
属性名称 说明 备注
version integer 已废弃。

bindings[] list 将一系列 `members` 关联到 `role`。没有成员的 `bindings` 将导致错误。
bindings[].role string 分配给“members”的角色。例如“roles/viewer”“roles/editor”或“roles/owner”。
bindings[].members[] list 指定请求访问 Cloud Platform 资源的身份。`members` 可以具有以下值:

* `allUsers`:一个特殊的标识符,表示互联网上的任何人(无论是否拥有 Google 账号)。

* `allAuthenticatedUsers`:一个特殊的标识符,表示已使用 Google 账号或服务账号进行身份验证的任何用户。

* `user:{emailid}`:表示特定 Google 账号的电子邮件地址。例如,`alice@gmail.com`。



* `serviceAccount:{emailid}`:表示服务账号的电子邮件地址。例如,`my-other-app@appspot.gserviceaccount.com`。

* `group:{emailid}`:表示 Google 群组的电子邮件地址。例如,`admins@example.com`。



* `domain:{domain}`:G Suite 网域(主网域),表示该网域中的所有用户。例如,`google.com` 或 `example.com`。







auditConfigs[] list 指定此政策的 Cloud Audit Logging 配置。

auditConfigs[].service string 指定将启用审核日志记录的服务。例如“storage.googleapis.com”“cloudsql.googleapis.com”。`allServices` 是一个涵盖所有服务的特殊值。
auditConfigs[].exemptedMembers[] list

auditConfigs[].auditLogConfigs[] list 对每种类型权限进行日志记录的配置。
auditConfigs[].auditLogConfigs[].logType string 此配置启用的日志类型。
auditConfigs[].auditLogConfigs[].exemptedMembers[] list 指定不会导致对这种权限进行日志记录的身份。遵循与 [Binding.members][] 相同的格式。
rules[] list 如果指定了多个规则,系统会按以下方式应用规则:- 系统始终会应用所有匹配的 LOG 规则。- 如果有任何 DENY/DENY_WITH_LOG 规则匹配,则拒绝授予相应权限。如果一条或多条匹配的规则需要日志记录,系统就会应用日志记录。- 否则,如果任何 ALLOW/ALLOW_WITH_LOG 规则匹配,则授予相应权限。如果一条或多条匹配的规则需要日志记录,系统就会应用日志记录。- 否则,如果没有适用的规则,则拒绝授予权限。
rules[].description string 规则的直观易懂的说明。
rules[].permissions[] list 权限是格式为“..”的字符串(例如'storage.buckets.list')。值“*”与所有权限匹配,而“*”的动词部分(例如'storage.buckets.*') 会匹配所有动词。

rules[].action string 必填
rules[].ins[] list 如果指定了一个或多个“in”子句,则如果 PRINCIPAL/AUTHORITY_SELECTOR 位于其中至少一个条目中,则规则匹配。
rules[].notIns[] list 如果指定了一个或多个“not_in”子句,则当 PRINCIPAL/AUTHORITY_SELECTOR 不在任何条目中时,规则才会匹配。
rules[].conditions[] list 必须满足的其他限制。必须满足所有条件,规则才会匹配。
rules[].conditions[].iam string IAM 系统提供的可信属性。
rules[].conditions[].sys string 拥有资源并使用 IAM 系统进行访问控制的任何服务提供的可信属性。
rules[].conditions[].svc string 由服务提供的可信属性。
rules[].conditions[].op string 用于应用主题的运算符。
rules[].conditions[].values[] list 条件的对象。
rules[].logConfigs[] list 对于与 LOG 操作匹配的任何条目,返回给 tech.iam.IAM.CheckPolicy 调用方的配置。
rules[].logConfigs[].counter nested object 计数器选项。
rules[].logConfigs[].counter.metric string 要更新的指标。
rules[].logConfigs[].counter.field string 要归因的字段值。
etag bytes `etag` 用于乐观并发控制,可帮助防止同时对政策进行的更新相互覆盖。强烈建议系统在读取-修改-写入周期中使用 `etag` 来执行政策更新,以避免竞态条件:系统会在 `getIamPolicy` 的响应中返回 `etag`,并且系统应将该 ETag 放入 `setIamPolicy` 的请求中,以确保其更改将应用于同一版本的政策。

如果在调用 `setIamPolicy` 时未提供 `etag`,则现有政策将被覆盖而毫无提示。
iamOwned boolean

bindings[].condition nested object 与此绑定关联的条件。注意:若不满足条件,则用户无法通过当前绑定进行访问。不同的绑定(包括其条件)是独立检查的。
bindings[].condition.expression string 采用通用表达式语言语法的表达式的文本表示法。

包含消息的应用上下文决定支持 CEL 的哪个常用特征集。
bindings[].condition.title string 表达式的可选标题,即说明其用途的短字符串。该标题可用于允许输入表达式的内容(例如界面)中。
bindings[].condition.description string 表达式的可选说明。该说明是描述表达式的较长文本,例如在界面中将鼠标悬停在表达式上时显示的文本。
bindings[].condition.location string 可选字符串,可指示用于错误报告的表达式的位置,例如文件名和文件中的位置。
rules[].logConfigs[].dataAccess nested object 数据访问选项。
rules[].logConfigs[].dataAccess.logMode string 是否应在调用方以失败关闭方式进行 Gin 日志记录。目前,这仅在 LocalIAM 实现中相关。

注意:目前不支持以失败关闭方式向 Gin 记录日志,我们正在努力满足 go/345 的要求。目前,设置 LOG_FAIL_CLOSED 模式不会产生任何影响,但仍会保留,因为我们正在积极开展工作来支持该模式 (b/115874152)。
rules[].logConfigs[].cloudAudit nested object Cloud 审核选项。
rules[].logConfigs[].cloudAudit.logName string 要在 Cloud 审核记录中填充的 log_name。

rules[].logConfigs[].cloudAudit.authorizationLoggingOptions nested object Cloud Audit Logging 流水线使用的相关信息。
rules[].logConfigs[].cloudAudit.authorizationLoggingOptions.permissionType string 所检查权限的类型。

试试看!

使用下面的 API Explorer 对实际数据调用此方法,然后查看响应。 或者,您也可以尝试使用独立的 Explorer