使用role / storage.legacyBucketWriter在存储桶中进行读写是否不好?

问题描述

我发现自己经常使用 roles / storage.legacyBucketWriter ,它具有以下权限:

  • storage.buckets.get
  • storage.objects.create
  • storage.objects.delete
  • storage.objects.list

也许还可以,但使用具有 legacy 名称的角色对我来说很奇怪...

我也不想创建自定义角色,因为它似乎过分了,因为这种角色适合需要。

是的,有一个角色 roles / storage.objectAdmin ,但是它没有 storage.buckets.get 权限。

您怎么看?

解决方法

记住旧角色与GCP上的原始角色有关,之所以称为“旧版”,是因为它与通过对象上的旧角色授予的IAM之前的权限完全匹配。这完全取决于您的用例,最好的建议做法是遵循最小特权原则。

请紧记官方documentation中提到的内容:

“旧版存储桶IAM角色与存储桶ACL协同工作:添加或删除旧版存储桶角色时,与存储桶关联的ACL会反映您的更改。”

此外,请考虑本table中所述的读/写旧式角色的范围。

最后看看section的安全性,ACL和访问控制,以遵循为云存储服务推荐的最佳实践。