【问题标题】:Attach Policy to AWS Elasticsearch将策略附加到 AWS Elasticsearch
【发布时间】:2020-09-27 01:26:38
【问题描述】:

我已经制定了一个白名单策略,其中包含我要从中获取 IP 的 IP 地址列表

以下示例,考虑策略 ARN 为 arn:aws:iam::0000000:policy/Whitelister

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Resource": "*",
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": [
                        "W.X.Y.Z",
                        "A.B.C.D"
                    ]
                }
            }
        }
    ]
}

我有一个 AWS Elasticsearch(ES) 账户,它允许基于 JSON 的访问策略。如何在 AWS ES 的策略中使用上述策略来限制对这些 IP 的访问。

我现在有硬写的 IP,但这会导致冗余并且更新 IP 会很困难。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "Principal": "*",
      "Action": "*",
      "Resource": [
        "arn:aws:es:****************/domain-name/*",
        "arn:aws:es:****************/domain-name/"
      ],
      "Condition": {
        "NotIpAddress": {
          "aws:SourceIp": [
            "W.X.Y.Z",
            "A.B.C.D"
          ]
        }
      }
    }
  ]
}

【问题讨论】:

    标签: amazon-web-services elasticsearch amazon-iam


    【解决方案1】:

    很遗憾,您不能在 ES 域的 IP 政策中使用您的政策。

    让我详细说明一下,因为我认为 基于资源的策略(例如 ES 域的 IP 策略)与 基于身份的策略之间存在混淆strong> 用于 IAM 用户、角色或组。 AWS docs 中解释了这些差异。

    简而言之,您的政策arn:aws:iam::0000000:policy/Whitelister 就是所谓的managed-policy。托管策略只能附加到 IAM identity,它可以是 IAM 用户、组或角色。它们不能附加到基于资源的策略。

    【讨论】:

    • 谢谢,您能提出任何解决方法吗?还是我必须对 IP 进行硬编码?
    • @RishiSharma 不幸的是,我不知道有任何解决方法。这就是它与基于资源的策略一起使用的方式。但是,您可以使用安全组来实现相同的目标。一个SG可以跨多个ES域共享。
    猜你喜欢
    • 1970-01-01
    • 2021-08-24
    • 2021-09-19
    • 2017-05-17
    • 2019-12-09
    • 2022-01-19
    • 1970-01-01
    • 2020-10-31
    • 2021-08-25
    相关资源
    最近更新 更多