Como se pode configurar uma política de acesso do AWS ElasticSearch usando o CloudFormation?

1

A documentação da AWS no controle de acesso do ElasticSearch fala sobre como conceder acesso aos sub-recursos de domínios ES, evitando alterações na configuração do domínio, criando uma política de recursos de domínio ES e definindo o recurso para o ARN do domínio ES seguido por /* . Para o exemplo

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::123456789012:user/test-user"
        ]
      },
      "Action": [
        "es:*"
      ],
      "Resource": "arn:aws:es:us-west-1:987654321098:domain/test-domain/*"
    }
  ]
}

Neste exemplo, test-user tem direitos para executar ações nos sub-recursos do domínio ES, mas não na própria configuração do domínio ES.

Ao provisionar um domínio do AWS ES usando o CloudFormation , pode-se definir a política de recursos com o Propriedade AccessPolicies . Não há recursos do CloudFormation como AWS::Elasticsearch::DomainAccessPolicy , infelizmente, e parece que a única maneira de definir uma política de recursos em um domínio ES é com essa propriedade.

Como se pode aproveitar os tipos de políticas recomendadas na docs de controle de acesso se existe agora uma maneira de saber o ARN do domínio ES a ser usado no campo Resource , uma vez que o domínio ES ainda não foi criado no ponto em que a política de acesso está definida?

Eu tentei referenciar o atributo DomainArn do domínio ES no campo de recursos da Política de Acesso, mas, compreensivelmente, isso não funciona, pois cria uma dependência circular.

A única solução que pensei até agora é apenas esperar até que a AWS atualize o CloudFormation para incluir um tipo de recurso AWS::Elasticsearch::DomainAccessPolicy .

    
por gene_wood 24.10.2018 / 18:31

1 resposta

0

A política de acesso anexada ao domínio ES só concede acesso a esse domínio específico do ElasticSearch. Você deve poder usar com segurança "Resource": "*" , pois isso afeta apenas o domínio ES que você criou.

    
por 30.10.2018 / 09:42