我已经创建了一个Google云平台服务帐户,$GCP\u service\u帐户
,具有存储管理员(角色/Storage.Admin
)角色。
现在,我希望限制此帐户,使其只能访问特定的谷歌云存储(GCS)存储桶($GCS\u Bucket\u NAME
)。
现在的问题是,$GCP\u服务\u帐户
可以访问所有GCS存储桶。我无法从其他GCS存储桶中删除$GCP\u服务\u帐户
,因为角色/存储。管理
被继承。
那我该怎么办?
我也有同样的问题。
>
删除所有不应该访问项目所有存储桶的服务帐户。
创建一个新的服务号"my_user"在"IAM-
在bucket中授予新服务帐户权限:
gsutil iam ch服务帐户:我的_user@my_project.iam.gserviceaccount.com:角色/存储。objectViewer gs://my_bucket
(我无法使用GCP UI执行此操作)
替换我的用户、我的项目和我的存储桶。“storage.objectViewer”赋予用户读取对象的权限。
警告:需要一段时间才能在“bucket”中看到“right”-
由于我的测试,服务帐户现在只能访问这个bucket,而不能访问项目中的其他bucket。
您可以使用云IAM将服务帐户的访问权限限制为特定的bucket。
这是您可以使用的gsutil命令:
gsutil iam ch serviceAccount:my-service-account@project.iam.gserviceaccount.com:objectAdmin gs://my-project/my-bucket
要从桶上的所有角色中删除服务号:
gsutil iam ch -d serviceAccount:my-service-account@project.iam.gserviceaccount.com gs://my-project/my-bucket
或者,您可以使用ACL控制对存储桶和对象的访问。
例如,授予服务帐户对bucket的WRITE(R:READ,W:WRITE,O:OWNER)访问权:
gsutil acl ch -u my-service-account@project.iam.gserviceaccount.com:W gs://my-project/my-bucket
要从bucket中删除对服务帐户的访问,请执行以下操作:
gsutil acl ch -d my-service-account@project.iam.gserviceaccount.com gs://my-project/my-bucket
我建议从存储桶中删除服务帐户的访问权限。然后授予对特定存储桶的访问权。
我正试图从Python脚本中获得一个服务帐户来在Google Cloud Storage中创建Blob,但我遇到了凭据问题。 如果我将环境变量设置为 然后重新运行脚本。但是,我希望它在创建帐户的脚本的一个实例中运行,并继续在桶中创建必要的文件。如果我知道我的json凭据文件在哪里,我如何访问my_bucket。
我正在尝试使用django-storages为带有服务帐户json文件的google云存储桶授予权限。但是,只有当我向所有具有对象视图权限的用户授予访问权限时,才能访问桶中的项目。我如何限制桶的公共访问。
我们正在尝试创建一个与谷歌管理SDK的集成,以便能够检索,更新和创建帐户在我们的领域。但是,我们不断收到一个403错误,表明我们没有被授权访问Resource/API。 我们正在使用从一个服务帐户获得的凭据,该帐户启用了域范围的授权,并且具有以下两个作用域:https://www.googleapis.com/auth/admin.directory.user.readonly,https://w
null null 不幸的是,GCP文档并没有真正的帮助。我想我已经找遍了所有可能的地方。
我想向成千上万,也许是数百万的用户授予对谷歌云存储桶的访问权限。我最初的计划是通过IAM角色使用他们的REST api授予访问权限。然而,在这个配额上 每个存储桶最多有100名成员拥有旧版IAM角色,每个存储桶最多有1500名成员拥有所有IAM角色。成员的示例包括个人用户、组和域。请参阅IAM标识。 这是否意味着,我只能为1500人提供阅读权限?如果是这样的话,有什么办法可以让成千上万的人进入?
我想查询GSuite Admin SDK Directory API,以返回Go中组中的所有用户,并作为GCP服务帐户进行身份验证(该脚本将在Google Compute Engine VM中执行或作为Google Cloud函数执行)。 我使用的服务帐户(我们称之为 )在GSuite中被授予了必要的作用域: 我还有一个GSuite管理帐户(我们称之为 我能够用以下代码返回一个组中的所有用户(基于