Resumo: Eu tenho problemas de permissões que associam uma Zona privada hospedada do DNS a contas na mesma região da AWS
Eu tenho duas contas da AWS, e em cada uma delas eu criei uma VPC e servidores, etc. A primeira conta (11112222) fornece alguns serviços de uma sub-rede privada, com uma Zona privada de DNS, etc.
Gostaria de fornecer pesquisas de DNS dos serviços na minha sub-rede privada para a minha segunda conta (22223333) que tem um 'projeto' VPC e servidores nele. Eu criei uma conexão de peering do projeto para os serviços VPC, e aceitei no lado serviços VPC, rotas de configuração, etc.
Para DNS, criei uma autorização de associação executando este comando:
aws route53 create-vpc-association-authorization --hosted-zone-id Z333AEF1GGC --vpc VPCRegion=eu-west-1,VPCId=vpc-012345678
Eu posso verificar se algo foi feito com o list-vpc-association-authorizations
.
Sobre o VPC dos 'serviços', estou lutando para 'aceitar' a associação. Estou correndo:
aws route53 associate-vpc-with-hosted-zone --hosted-zone-id Z333AEF1GGC --vpc VPCRegion=eu-west-1,VPCId=vpc-abcdef01234
No entanto, isso diz:
An error occurred (AccessDenied) when calling the AssociateVPCWithHostedZone operation: User: arn:aws:sts::22223333:assumed-role/devops/ralph is not authorized to perform: route53:AssociateVPCWithHostedZone on resource: arn:aws:route53:::hostedzone/Z333AEF1GGC
Obviamente eu pesquisei bastante e encontrei o link que diz que eu também preciso de ec2: DescribeVPCs. Nossas permissões de conta são bastante simples, na medida em que minha função assumida tem "Permitir *" (e apenas algumas negações para algumas operações do IAM). Eu tentei adicionar explicitamente as duas permissões, com e sem especificamente nomear o ARN da zona hospedada. Nada parece funcionar embora.
Eu sinto que devo estar perdendo algo bastante óbvio aqui - alguma idéia do que possa ser? Existe uma maneira melhor de conseguir o que estou tentando fazer?
Informações adicionais (devido a comentários)
- Usamos 2FA para todas as nossas contas de usuário e, em seguida, "assumimos" uma função para executar qualquer ação em nossas contas (supondo que uma função exija autenticação 2FA). Não há requisitos técnicos para usar 2FA embora. Nossas contas de usuários individuais quase não têm permissão para fazer nada diretamente.