如何用CDK与TypeScript为S3桶附加多语句PolicyDocument?
如何将PolicyDocument附加到S3桶(AWS CDK)
你有两种常用方式可以把包含多条语句的PolicyDocument附加到S3桶上:
方式一:遍历追加语句
如果希望在桶已有的资源策略基础上,追加PolicyDocument里的所有语句,可以遍历statements数组,逐个调用addToResourcePolicy方法:
// 遍历PolicyDocument中的每条语句,添加到桶的资源策略 policy.statements.forEach(statement => { mybucket.addToResourcePolicy(statement); });
方式二:直接替换整个资源策略
如果希望用这个PolicyDocument完全替换桶的现有资源策略,可以通过以下两种操作实现:
创建桶时直接关联
const mybucket = new Bucket(this, 'MyBucket', { // 其他桶配置(如版本控制、加密规则等) policy: policy });
给已创建的桶替换策略
// 创建BucketPolicy并绑定到已存在的桶 new BucketPolicy(this, 'MyBucketPolicy', { bucket: mybucket, document: policy });
注意:第二种方式会覆盖桶原有的所有资源策略语句,使用前请确认是否需要保留原有策略内容。
内容的提问来源于stack exchange,提问作者TommyD
相关产品推荐
相关产品推荐

