Amazon Route 53, restringir o acesso do usuário do IAM ao único conjunto de registros

11

Eu gostaria de alterar programaticamente o CNAME de um conjunto de registros dentro de uma zona hospedada no Amazon Route 53, mas gostaria de restringir o acesso do usuário somente a esse conjunto de registros. Pelo que vi na documentação, o IAM permite especificar a operação apenas com base em "hosted-zone" ou "changes". Isso significa que meu usuário precisa ter poder sobre TODO o meu conjunto de registros para alterar um único.

As consequências de um erro no código em um caso como esse são mais do que catastróficas. Se as verificações no nome da zona hospedada estiverem erradas, por qualquer razão, eu poderia aplicar as alterações em mais de um conjunto de registros (imagine muitos conjuntos de registros apontando agora na mesma caixa / infra-estrutura).

Minha pergunta não é sobre não cometer erros no código, mas sobre como criar um usuário para proteger o sistema de tais possibilidades. Há uma maneira de restringir o acesso (ou uma solução alternativa) para permitir que um novo usuário do IAM acesse apenas um / um conjunto limitado de zonas hospedadas.

No nível do IAM, não de forma programática.

Obrigado.

    
por Fabrizio S 29.01.2014 / 12:12

3 respostas

8

Uma maneira de fazer isso é criar uma nova zona que seja um subdomínio do domínio principal, como stuff.example.com , e delegar o NS do subdomínio à zona secundária. Dê a eles privilégios de IAM para a zona desse subdomínio e eles poderão criar subdomínios como my.stuff.example.com . Para os registros que você deseja que sejam cidadãos de primeira classe, você pode usar CNAME my.example.com to my.stuff.example.com , o que funcionalmente permitiria que eles gerenciassem esse subdomínio sem ter privilégios totais.

    
por 01.05.2014 / 16:38
4

Eu tive a chance de fazer essa pergunta para algumas arquiteturas de soluções aws na última conferência da amazon aws e eles me confirmaram que não é possível. IAM ou melhor Route53 não tem esse nível de granularidade.

    
por 01.05.2014 / 16:32
2

Você pode criar a função do AWS Lambda que faz essa alteração (somente para esse registro único) e criar uma política de invocação para essa função.

    
por 12.06.2015 / 17:06