GCP 相当于 aws 策略中的 "deny" 权限

GCP equivalent of "deny" permissions in aws policy

有没有办法拒绝 GCP 自定义角色的权限? 例如,这是 AWS 中的一个策略,它拒绝在 S3 上执行一组操作: { "Sid": "DenyS3", "Effect": "Deny", "Action": "s3:Get*", "Resource": "*" } 有没有办法在 GCP 中定义类似的自定义角色?

在google云中,角色是根据格式创建的 <service>.<resource>.<verb> 指定要对资源执行的确切角色。

因此,如果必须创建自定义角色,那么您可以添加以上特定角色,也可以从角色中完全省略它们。

https://cloud.google.com/iam/docs/understanding-custom-roles

Is there a way to deny permissions in GCP custom role?

不,默认情况下 IAM 角色被拒绝并且只能添加。

How do i get permissions only on a specific image name?

IAM 角色的经典用例是将它们分配给 Google 项目。这就是角色授予您对该角色的所有该类型资源的权限的原因。

Google 已开始解除基于身份的资源访问控制。这意味着您可以将具有角色的身份附加到单个资源而不是项目。对于支持此功能的资源,右侧面板允许您设置权限。

在大约 2022 年的预览中,是的。但它不打算以相同的方式使用。

您可以拒绝委托人使用 storage.googleapis.com/buckets.get,但目前这不适用于特定资源,并且这些“拒绝策略”附加在项目、文件夹或组织级别,同样不附加到资源。这些不是“IAM 策略”/“允许策略”,它们是典型的方法,只是附加的。

也检查支持拒绝的权限子集。

https://cloud.google.com/iam/docs/deny-access

{
  "displayName": "My deny policy.",
  "rules": [
    {
      "denyRule": {
        "deniedPrincipals": [
          "principal://goog/subject/lucian@example.com"
        ],
        "deniedPermissions": [
          "iam.googleapis.com/roles.create"
        ]
      }
    }
  ]
}