【问题标题】:How to add account as principal to Elasticsearch access policy using CDK?如何使用 CDK 将账户作为委托人添加到 Elasticsearch 访问策略?
【发布时间】: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


【解决方案1】:

将 CDK 更新为 1.31.0 后问题消失了。

【讨论】:

    猜你喜欢
    • 2020-03-29
    • 1970-01-01
    • 1970-01-01
    • 2022-10-04
    • 1970-01-01
    • 2019-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多