Amazon cloudformation 尝试添加到资源策略时解决循环依赖关系

Amazon cloudformation 尝试添加到资源策略时解决循环依赖关系,amazon-cloudformation,aws-cdk,Amazon Cloudformation,Aws Cdk,我正在与CDK合作,但我认为同样的问题也会发生(并有望解决)在纯云计算中 我正在创建一个带有KMS密钥的S3存储桶 有些人喜欢这样: key=aws\u kms.key(self,id=“MasterKey”…) bucket=aws\u s3.bucket(…,加密密钥=key,…) 然后,我试图收紧策略,对任何不使用bucket策略的内容添加一个Deny,就像建议的那样(这不是针对KMS,而是针对S3 bucket,但想法是一样的) 像这样: key\u policy=iam.policy

我正在与CDK合作,但我认为同样的问题也会发生(并有望解决)在纯云计算中

我正在创建一个带有KMS密钥的S3存储桶 有些人喜欢这样:

key=aws\u kms.key(self,id=“MasterKey”…)
bucket=aws\u s3.bucket(…,加密密钥=key,…)
然后,我试图收紧策略,对任何不使用bucket策略的内容添加一个Deny,就像建议的那样(这不是针对KMS,而是针对S3 bucket,但想法是一样的) 像这样:

key\u policy=iam.policy语句(
操作=[“kms:加密”],
效果=iam.effect.DENY,
resources=['*'],#在关键策略中,“*”表示“此CMK”
主体=[iam.ServicePrincipal(service=“*”)],
条件={
“StringNotLike”:{
“aws:userId”:f“{bucket\u role\u id}:*”,
},
}
)
密钥。将密钥添加到资源策略(密钥策略)
当我尝试部署时,我得到一个循环依赖错误,这是有意义的,因为 S3创建需要KMS,KMS创建使用使用S3角色id的策略

有没有办法解决这个问题(不必事后使用boto3或类似的方法)?这是CDK问题还是云信息问题? 我可以想象,如果我们可以在部署期间更新资源,但在资源部署之后,这就可以工作了

谢谢你的帮助