2

我正在使用 CDK 的 AwsCustomResource 创建一个 S3 对象。我无法理解 AwsCustomResource.policy。文档说:

政策(强制):应用于资源的政策。

以及关于角色:

角色(可选):实现此自定义资源提供程序的 Lambda 函数的执行角色。

当我设置角色并检查自定义资源的 lambda 时,我看到它从角色获得了权限,就像文档说的那样。

我发现当我设置策略(仅用于测试的值)时,例如:

policy = AwsCustomResourcePolicy.from_statements(statements=[PolicyStatement(actions=["s3:ReplicateTags"], resources=["*"])])

然后我也得到了 lambda 权限。这不是我阅读文档的方式,我希望该策略用于为我创建的资源(s3 对象)设置策略。但这意味着什么?我在预先存在的存储桶中创建了对象,并在存储桶上使用了现有策略。s3 对象有他们的政策吗?

4

1 回答 1

3

s3 对象有他们的政策吗?

不,他们没有。只有存储桶有策略。

我希望该策略用于为我创建的资源(s3 对象)设置策略。

这将是困难的,因为许多资源没有基于资源的策略。比如 S3 对象。

AwsCustomResourcePolicy 将策略添加到 lambda 函数的执行角色,而不是自定义资源创建的资源。请注意,自定义资源无论如何都不需要创建任何资源。

于 2020-05-22T06:00:25.640 回答