【发布时间】:2020-07-12 01:16:03
【问题描述】:
我正在尝试这个:
import * as elasticsearch from '@aws-cdk/aws-elasticsearch';
import * as iam from '@aws-cdk/aws-iam';
const config = { ... };
new elasticsearch.CfnDomain(config.stack, config.id, {
accessPolicies: {
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {
"AWS": (new iam.AccountRootPrincipal).arn
},
"Action": "es:*",
}]
},
...
});
但是现在,在成功部署之后,每次我运行 diff 时,我都会遇到这个问题:
问题不大,但我希望有一个理想的解决方案。也许使用其中一个 iam 类来创建策略?
【问题讨论】:
-
看起来除了有一个代表 arn 的静态字符串或您提到的创建 IAM 策略文档之外没有更清洁的方法。我尝试使用
PolicyDocument.fromJson()并提供了将主体插入为`arn:aws:iam::${this.account}:root`的json 文档,同样的事情发生了。Fn::Join可以任意使用。 -
@dmahapatro 好吧,其他构造可能已经解决了这个问题。我只是无法在他们的来源中找到一个。
标签: amazon-web-services amazon-cloudformation amazon-iam aws-cdk