【发布时间】:2018-11-28 20:12:43
【问题描述】:
我有一个 S3 存储桶读取策略:
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":["s3:GetObject"],
"Resource":["arn:aws:s3:::examplebucket/*"]
}
]
}
根据创建新存储桶时的云跟踪日志,我正在创建一个将调用 Lambda 函数的事件。
能够读取策略的 json 并将新资源(存储桶)添加到同一策略。是否有要调用的直接 python API 将使用新资源更新现有 IAM 策略?
【问题讨论】:
-
不,您需要更换政策。当然,您可以通过将当前策略加载到某种 JSON 感知代码中,插入当前缺少的内容,将更新后的策略作为字符串发出,然后用它更新 S3 策略。顺便说一下,这是您展示的 S3 策略,而不是 IAM 策略 - 它们看起来相似但不同(它有一个 Principal)。
-
另一种方法是使用存储桶命名方案(例如
foo-24)并授予Lambda 函数访问foo-*的权限。这样您就不必每次都修改权限。或者,由于您总是为每个新存储桶添加权限,因此只需首先授予它对每个存储桶的访问权限,您就不必修改策略。 -
@jarmod ,感谢您指出现在已更改为 IAM 政策
标签: amazon-web-services amazon-s3 aws-lambda amazon-iam