我有一个GCP项目,只是出于测试目的,我想授予“allUsers”权限。但是当我尝试添加时,我收到错误
Members of type allUsers and allAuthenticatedUsers cannot be added to this resource
。有人可以帮助我理解我在这里做错或错过了什么吗?谢谢
检查文档。
项目不支持 allUsers 和 allAuthenticatedUsers 作为策略绑定中的成员。
有时,您可能会尝试使用已弃用的功能,该功能在 Web UI 和控制面板中已不再可用,但实际上,仍然为无法升级的人提供默默支持。
为
allUsers
授予角色就是其中一种情况,您可以在智能事物社区的 this 答案中找到此类案例的示例。
关于:
有人可以帮助我理解我在这里做错或错过了什么吗?
您正在尝试使用强烈建议不要使用的不安全权限。这是错误的,由于某些原因,这在某些网络用户界面中不可用。但如果谷歌完全放弃这种支持,那么仍然依赖于此但超出了可以升级它们的开发人员的能力的物联网设备将变得无法操作,因此新用户不太可能看到这种可能性,但因此谁在过去使用过它将保持可操作。
但是,如果您不幸删除了此类权限,并且现在您留下了许多 IoT 设备,无法发布 PubSub 主题(并且升级设备不是一个可行的选择),那么如果您想的话,请遵循智能事物社区提到的答案允许发布项目
bar
的主题 foo
然后您可以使用一组 IAM 策略 API 为 roles/pubsub.publisher
应用角色
allUsers
资源将是:
projects/foo/topic/bar
政策对象将是:
{
"policy": {
"bindings": [
{
"role": "roles/pubsub.publisher",
"members": [
"allUsers"
]
}
]
}
}
用于向 allUser 或 allAuthenticatedUser 授予对某些 Google Cloud 资源(例如存储桶)的访问权限的成员类型权限不能作为项目角色应用于项目。 Google Cloud 项目提供了与存储桶所使用的不同级别的访问控制,如以下使用 IAM 的项目访问控制文档中所述。
Google Cloud 中有一个三级的政策层次结构,它将项目和资源作为单独的实体。在此层次结构中,策略是可继承的,但具有不同的访问控制模型,这些模型不可互换。
您可以向 Google Cloud 项目授予以下权限:
角色/所有者 - 对所有资源的完全访问权限。
角色/编辑器 - 编辑对所有资源的访问权限。
角色/查看者 - 对所有资源的读取访问权限。
角色/浏览器 - 访问项目中的浏览资源。
如上所述,可以使用成员类型在资源级别微调上述项目权限。
只需要做 1 件事:取消选中在此存储桶上实施公共访问阻止在此处输入图像描述
尝试删除 GCP 云存储桶权限中的阻止公共访问。这允许对单个对象进行精细控制。这样桶中的一个或多个对象就可以是公共的。 公共访问预防可防止组织或项目中的数据意外向公众公开。当您对新的或现有的 Cloud Storage 资源实施公共访问阻止时,组织中的任何人都无法通过 IAM 策略或 ACL 公开数据。 有关更多信息,请参阅文档此处
禁用对公共访问的阻止
在您的存储桶中点击“编辑访问权限”,然后删除公共访问权限,然后重试,您将能够在权限中设置所有用户。