Доступ к конечной точке Интернета Elastic Search только из моих VPC / подсетей - PullRequest
0 голосов
/ 24 марта 2019

У меня есть конечная точка эластичного поиска в Интернете.Я хотел получить к нему доступ только в пределах 2 VPC's, а именно из моих экземпляров EC2.Вот политика, которую я пробую с моим VPC CIDR блоком IP's, но я не могу получить доступ к конечной точке из моих EC2 экземпляров.Мои EC2 экземпляры находятся в частных подсетях, получая доступ к Интернету через NAT Gateway.Вот моя политика доступа, которая не работает

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "es:*",
      "Resource": "arn:aws:es:us-east-1:1XXXXXXXXXXX:domain/my-elasticsearch/*",
      "Condition": {
        "IpAddress": {
          "aws:SourceIp": [
            "xx.xx.xx.xx/24",
            "xx.xx.xx.xx/24"
          ]
        }
      }
    }
  ]
}

Я также пробовал что-то подобное, чтобы разрешить доступ только для моих экземпляров EC2, которым назначена роль IAM, которые не работали либо

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::XXXXXXXXXXX:role/MyEC2Role"
        ]
      },
      "Action": [
        "es:*"
      ],
      "Resource": "arn:aws:es:us-east-1:XXXXXXXXXXX:domain/my-elasticsearch/*"
    }
  ]
}

Что я делаю неправильно ?Или есть лучший способ ограничить доступ?

1 Ответ

1 голос
/ 28 марта 2019

Поскольку у вас есть общедоступный кластер AWS Elasticsearch, запуск вашего экземпляра EC2 из частной подсети с частным IP не будет работать.Попробуйте добавить общедоступный IP-адрес NAT в политику доступа вашего кластера AWS ES и посмотрите, работает ли он.Также, если у вас есть политики доступа на основе IAM, убедитесь, что все запросы к AWS ES подписаны, как указано здесь: https://aws.amazon.com/blogs/database/get-started-with-amazon-elasticsearch-service-an-easy-way-to-send-aws-sigv4-signed-requests/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...