我需要帮助了解 cdk 中的 AwsCustomResource.policy 是什么?
I need help understanding what is AwsCustomResource.policy in cdk?
我正在使用 CDK 的 AwsCustomResource 创建 S3 对象。
我看不懂 AwsCustomResource.policy。
docs 说:
policy (mandatory): The policy to apply to the resource.
关于角色:
role (optional): The execution role for the Lambda function implementing this custom resource provider.
当我设置角色并检查自定义资源的 lambda 时,我看到它从角色获得了权限,就像文档所说的那样。
我发现当我设置策略时(值仅用于测试),例如:
policy = AwsCustomResourcePolicy.from_statements(statements=[PolicyStatement(actions=["s3:ReplicateTags"], resources=["*"])])
然后我在lambda权限上也得到了这个。
这不是我阅读文档的方式,我希望该策略用于为我创建的资源(s3 对象)设置策略。但这意味着什么?我在一个预先存在的存储桶中创建了该对象,该存储桶具有一个现有策略。
s3 对象有它们的策略吗?
do s3 objects have their policy?
不,他们没有。只有桶有策略。
I expected the policy to be used to set a policy to the resource I created, the s3 object.
这会很困难,因为许多资源没有基于资源的策略。比如S3对象。
AwsCustomResourcePolicy
将策略添加到lambda函数的执行角色,而不是自定义资源创建的资源。请注意,自定义资源无论如何都不需要创建任何资源。
我正在使用 CDK 的 AwsCustomResource 创建 S3 对象。 我看不懂 AwsCustomResource.policy。 docs 说:
policy (mandatory): The policy to apply to the resource.
关于角色:
role (optional): The execution role for the Lambda function implementing this custom resource provider.
当我设置角色并检查自定义资源的 lambda 时,我看到它从角色获得了权限,就像文档所说的那样。
我发现当我设置策略时(值仅用于测试),例如:
policy = AwsCustomResourcePolicy.from_statements(statements=[PolicyStatement(actions=["s3:ReplicateTags"], resources=["*"])])
然后我在lambda权限上也得到了这个。 这不是我阅读文档的方式,我希望该策略用于为我创建的资源(s3 对象)设置策略。但这意味着什么?我在一个预先存在的存储桶中创建了该对象,该存储桶具有一个现有策略。 s3 对象有它们的策略吗?
do s3 objects have their policy?
不,他们没有。只有桶有策略。
I expected the policy to be used to set a policy to the resource I created, the s3 object.
这会很困难,因为许多资源没有基于资源的策略。比如S3对象。
AwsCustomResourcePolicy
将策略添加到lambda函数的执行角色,而不是自定义资源创建的资源。请注意,自定义资源无论如何都不需要创建任何资源。