问题描述
我发现自己经常使用 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和访问控制,以遵循为云存储服务推荐的最佳实践。