将策略附加到AWS Elasticsearch

时间:2020-06-08 06:08:32

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

我制定了一个白名单策略,其中包含要从中获取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"
          ]
        }
      }
    }
  ]
}

1 个答案:

答案 0 :(得分:3)

很遗憾,您无法在 IP策略中使用ES域的策略。

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

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