Usando políticas baseadas em identidade (IAMpolíticas) para o Amazon Route 53 - Amazon Route 53

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usando políticas baseadas em identidade (IAMpolíticas) para o Amazon Route 53

Este tópico fornece exemplos de políticas baseadas em identidade que demonstram como um administrador de conta pode anexar políticas de permissões às IAM identidades e, assim, conceder permissões para realizar operações nos recursos do Amazon Route 53.

Importante

Recomendamos que você analise primeiramente os tópicos introdutórios que explicam os conceitos básicos e as opções disponíveis para gerenciar o acesso aos recursos do Route 53. Para obter mais informações, consulte Visão geral do gerenciamento de permissões de acesso aos recursos do Amazon Route 53.

nota

Ao conceder acesso, a zona hospedada e a Amazon VPC devem pertencer à mesma partição. Uma partição é um grupo de Regiões da AWS. Cada uma Conta da AWS tem como escopo uma partição.

Estas são as partições compatíveis:

  • aws - Regiões da AWS

  • aws-cn: regiões da China

  • aws-us-gov - AWS GovCloud (US) Region

Para obter mais informações, consulte Gerenciamento de acesso e Cotas e endpoints do Amazon Route 53 na Referência geral da AWS .

A seguir, um exemplo de uma política de permissões. O Sid, ou o ID de instrução, é opcional:

{ "Version": "2012-10-17", "Statement": [ { "Sid" : "AllowPublicHostedZonePermissions", "Effect": "Allow", "Action": [ "route53:CreateHostedZone", "route53:UpdateHostedZoneComment", "route53:GetHostedZone", "route53:ListHostedZones", "route53:DeleteHostedZone", "route53:ChangeResourceRecordSets", "route53:ListResourceRecordSets", "route53:GetHostedZoneCount", "route53:ListHostedZonesByName" ], "Resource": "*" }, { "Sid" : "AllowHealthCheckPermissions", "Effect": "Allow", "Action": [ "route53:CreateHealthCheck", "route53:UpdateHealthCheck", "route53:GetHealthCheck", "route53:ListHealthChecks", "route53:DeleteHealthCheck", "route53:GetCheckerIpRanges", "route53:GetHealthCheckCount", "route53:GetHealthCheckStatus", "route53:GetHealthCheckLastFailureReason" ], "Resource": "*" } ] }

A política inclui duas instruções:

  • A primeira instrução concede permissões para as ações necessárias para criar e gerenciar zonas hospedadas públicas e seus registros. O caractere curinga (*) no Amazon Resource Name (ARN) concede acesso a todas as zonas hospedadas que pertencem à AWS conta atual.

  • A segunda instrução concede permissões para todas as ações necessárias para criar e gerenciar verificações de integridade.

Para obter uma lista de ações e as ARN que você especifica para conceder ou negar permissão para usar cada ação, consulteAPIPermissões do Amazon Route 53: referência de ações, recursos e condições.

Permissões necessárias para usar o console do Amazon Route 53

Para conceder acesso total ao console do Amazon Route 53, conceda as permissões na seguinte política de permissões:

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "route53:*", "route53domains:*", "tag:*", "ssm:GetParametersByPath", "cloudfront:ListDistributions", "elasticloadbalancing:DescribeLoadBalancers", "elasticbeanstalk:DescribeEnvironments", "s3:ListAllamzn-s3-demo-bucket", "s3:GetBucketLocation", "s3:GetBucketWebsite", "ec2:DescribeRegions", "ec2:DescribeVpcs", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DescribeAvailabilityZones", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:ModifyNetworkInterfaceAttribute", "sns:ListTopics", "sns:ListSubscriptionsByTopic", "sns:CreateTopic", "kms:ListAliases", "kms:DescribeKey", "kms:CreateKey", "kms:CreateAlias", "kms:Sign", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms", "cloudwatch:GetMetricStatistics" ], "Resource":"*" }, { "Effect": "Allow", "Action": "apigateway:GET", "Resource": "arn:aws:apigateway:*::/domainnames" } ] }

Veja por que as permissões são necessárias:

route53:*

Permite que você execute todas as ações do Route 53, com exceção das seguintes:

  • Crie e atualize registros de alias para os quais o valor de Alias Target seja uma CloudFront distribuição, um balanceador de carga do Elastic Load Balancing, um ambiente do Elastic Beanstalk ou um bucket do Amazon S3. (Com essas permissões, você pode criar registros de alias para os quais o valor de Alvo do alias é outro registro na mesma zona hospedada.)

  • Como trabalhar com zonas hospedadas privadas.

  • Trabalhando com domínios.

  • Crie, exclua e visualize CloudWatch alarmes.

  • CloudWatch Métricas de renderização no console do Route 53.

route53domains:*

Permite que você trabalhe com domínios.

Importante

Se você relacionar as ações route53 individualmente, deverá incluir route53:CreateHostedZone para trabalhar com domínios. Quando você registra um domínio, uma zona hospedada é criada ao mesmo tempo. Portanto, uma política que inclui permissões para registrar domínios também requer permissão para criar zonas hospedadas.

Para o registro de domínio, o Route 53 não oferece suporte à concessão ou negação de permissões para recursos individuais.

route53resolver:*

Permite que você trabalhe com o Route 53 Resolver.

ssm:GetParametersByPath

Permite que você busque regiões disponíveis publicamente ao criar novos registros de alias, zonas hospedadas privadas e verificações de integridade.

cloudfront:ListDistributions

Permite criar e atualizar registros de alias para os quais o valor de Alias Target é uma CloudFront distribuição.

Essas permissões não são necessárias se você não estiver usando o console do Route 53. O Route 53 utiliza-o apenas para obter uma lista de distribuições para exibir no console.

elasticloadbalancing:DescribeLoadBalancers

Permite criar e atualizar registros de alias para os quais o valor de Alias Target é um balanceador de ELB carga.

Essas permissões não são necessárias se você não estiver usando o console do Route 53. O Route 53 usa-o apenas para obter uma lista de balanceadores de carga para exibir no console.

elasticbeanstalk:DescribeEnvironments

Permite que você crie e atualize registros com alias para os quais o valor de Alias Target (Destino do alias) é um ambiente do Elastic Beanstalk.

Essas permissões não são necessárias se você não estiver usando o console do Route 53. O Route 53 usa-o apenas para obter uma lista de ambientes para exibir no console.

s3:ListAllamzn-s3-demo-bucket, s3:GetBucketLocation, e s3:GetBucketWebsite

Permite que você crie e atualize registros com alias para os quais o valor de Alias Target (Destino do alias) é um bucket do Amazon S3. (Você só poderá criar um alias para um bucket do Amazon S3 se o bucket estiver configurado como um endpoint do site. s3:GetBucketWebsite obtém as informações de configuração necessárias.)

Essas permissões não são necessárias se você não estiver usando o console do Route 53. O Route 53 utiliza-o apenas para obter uma lista de buckets para exibir no console.

ec2:DescribeVpcs e ec2:DescribeRegions

Permite que você trabalhe com zonas hospedadas privadas.

Todas as permissões ec2 listadas

Permite que você trabalhe com o Route 53 Resolver.

sns:ListTopics, sns:ListSubscriptionsByTopic, sns:CreateTopic, cloudwatch:DescribeAlarms, cloudwatch:PutMetricAlarm, cloudwatch:DeleteAlarms

Permite criar, excluir e visualizar CloudWatch alarmes.

cloudwatch:GetMetricStatistics

Permite criar verificações CloudWatch métricas de integridade.

Essas permissões não são necessárias se você não estiver usando o console do Route 53. O Route 53 usa-o apenas para obter as estatísticas a serem exibidas no console.

apigateway:GET

Permite criar e atualizar registros de alias para os quais o valor de Alias Target é um Amazon API Gateway. API

Essa permissão não é necessária se você não estiver usando o console do Route 53. O Route 53 o usa somente para obter uma lista de APIs itens a serem exibidos no console.

kms:*

Permite que você trabalhe com AWS KMS para habilitar a DNSSEC assinatura.

Permissões de exemplo para um proprietário de registro de domínio

Com as permissões do conjunto de registros de recursos, você pode definir permissões granulares que limitam o que o AWS usuário pode atualizar ou modificar. Para obter mais informações, consulte Usando condições IAM políticas para controle de acesso refinado.

Em alguns cenários, um proprietário de zona hospedada pode ser responsável pelo gerenciamento geral da zona hospedada, enquanto outra pessoa na organização é responsável por um subconjunto dessas tarefas. Um proprietário de zona hospedada que habilitou a DNSSEC assinatura, por exemplo, pode querer criar uma IAM política que inclua a permissão para que outra pessoa adicione e exclua registros do conjunto de recursos (RRs) na zona hospedada, entre outras tarefas. As permissões específicas que um proprietário de zona hospedada escolhe habilitar para um proprietário de registro ou outras pessoas dependerão da política de sua organização.

Veja a seguir um exemplo IAM de política que permite que o proprietário do registro faça modificações em políticas de tráfego e verificações de saúde. RRs Um proprietário de registro com essa política não tem permissão para realizar operações em nível de zona, como criar ou excluir uma zona, ativar ou desativar o registro de consultas, criar ou excluir um conjunto de delegações reutilizável ou alterar configurações. DNSSEC

{ "Sid": "Do not allow zone-level modification ", "Effect": "Allow", "Action": [ "route53:ChangeResourceRecordSets", "route53:CreateTrafficPolicy", "route53:DeleteTrafficPolicy", "route53:CreateTrafficPolicyInstance", "route53:CreateTrafficPolicyVersion", "route53:UpdateTrafficPolicyInstance", "route53:UpdateTrafficPolicyComment", "route53:DeleteTrafficPolicyInstance", "route53:CreateHealthCheck", "route53:UpdateHealthCheck", "route53:DeleteHealthCheck", "route53:List*", "route53:Get*" ], "Resource": [ "*" ] }

Permissões de chave gerenciadas pelo cliente do Route 53 necessárias para DNSSEC assinatura

Quando você ativa a DNSSEC assinatura para o Route 53, o Route 53 cria uma chave de assinatura de chave (KSK) com base em uma chave gerenciada pelo cliente em AWS Key Management Service (AWS KMS). Você pode usar uma chave gerenciada pelo cliente existente que ofereça suporte à DNSSEC assinatura ou criar uma nova. O Route 53 deve ter permissão para acessar sua chave gerenciada pelo cliente para que possa criá-la KSK para você.

Para habilitar o Route 53 para acessar sua chave gerenciada pelo cliente, verifique se a diretiva de chave gerenciada pelo cliente contém as seguintes instruções:

{ "Sid": "Allow Route 53 DNSSEC Service", "Effect": "Allow", "Principal": { "Service": "dnssec-route53.amazonaws.com" }, "Action": ["kms:DescribeKey", "kms:GetPublicKey", "kms:Sign"], "Resource": "*" }, { "Sid": "Allow Route 53 DNSSEC to CreateGrant", "Effect": "Allow", "Principal": { "Service": "dnssec-route53.amazonaws.com" }, "Action": ["kms:CreateGrant"], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } }

O problema de representante confuso é um problema de segurança em que uma entidade que não tem permissão para executar uma ação pode coagir uma entidade mais privilegiada a executá-la. Para se AWS KMS proteger disso, você pode, opcionalmente, limitar as permissões que um serviço tem para um recurso em uma política baseada em recursos fornecendo uma combinação de aws:SourceAccount aws:SourceArn condições (ambas ou uma). aws:SourceAccounté o ID da AWS conta de um proprietário de uma zona hospedada. aws:SourceArné ARN de uma zona hospedada.

Veja a seguir dois exemplos de permissões que podem ser adicionadas:

{ "Sid": "Allow Route 53 DNSSEC Service", … "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnEquals": { "aws:SourceArn": "arn:aws:route53:::hostedzone/HOSTED_ZONE_ID" } } },

- Ou -

{ "Sid": "Allow Route 53 DNSSEC Service", … "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": ["1111-2222-3333","4444-5555-6666"] }, "ArnLike": { "aws:SourceArn": "arn:aws:route53:::hostedzone/*" } } },

Para obter mais informações, consulte O problema confuso do deputado no Guia IAM do usuário.

Exemplos de política gerenciada pelo cliente

Você pode criar suas próprias IAM políticas personalizadas para permitir permissões para ações do Route 53. Você pode anexar essas políticas personalizadas aos IAM grupos que exigem as permissões especificadas. Essas políticas funcionam quando você está usando o Route 53 API AWS SDKs, o ou AWS CLI o. Os exemplos a seguir mostram permissões para vários casos de uso comuns. Para a política que concede acesso total de um usuário ao Route 53, consulte Permissões necessárias para usar o console do Amazon Route 53.

Exemplo 1: permitir acesso de leitura a todas as zonas hospedadas

A política de permissões a seguir concede as permissões de usuário para listar todas as zonas hospedadas e visualizar todos os registros em uma zona hospedada.

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "route53:GetHostedZone", "route53:ListResourceRecordSets" ], "Resource":"*" }, { "Effect":"Allow", "Action":["route53:ListHostedZones"], "Resource":"*" } ] }

Exemplo 2: permitir criação e exclusão de zonas hospedadas

A política de permissões a seguir permite que os usuários criem e excluam zonas hospedadas assim como acompanhem o andamento da alteração.

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":["route53:CreateHostedZone"], "Resource":"*" }, { "Effect":"Allow", "Action":["route53:DeleteHostedZone"], "Resource":"*" }, { "Effect":"Allow", "Action":["route53:GetChange"], "Resource":"*" } ] }

Exemplo 3: permitir acesso total a todos os domínios (somente zonas hospedadas públicas)

A política de permissões a seguir permite que os usuários executem todas as ações em registros de domínio, incluindo permissões para registrar domínios e criar zonas hospedadas.

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "route53domains:*", "route53:CreateHostedZone" ], "Resource":"*" } ] }

Quando você registra um domínio, uma zona hospedada é criada ao mesmo tempo. Assim, uma política que inclui permissões para registrar domínios também requer permissões para criar zonas hospedadas. (Para o registro de domínio, o Route 53 não oferece suporte à concessão de permissões para recursos individuais.)

Para obter informações sobre permissões necessárias para trabalhar com zonas hospedadas privadas, consulte Permissões necessárias para usar o console do Amazon Route 53.

Exemplo 4: permitir a criação de endpoints de entrada e saída do Route 53 Resolver

A política de permissões a seguir permite que os usuários usem o console do Route 53 para criar endpoints de entrada e saída do Resolver.

Algumas dessas permissões são necessárias apenas para criar endpoints no console. Você pode omitir essas permissões se desejar conceder permissões somente para criar endpoints de entrada e saída de forma programática:

  • route53resolver:ListResolverEndpoints permite que os usuários vejam a lista de endpoints de entrada ou saída para que possam verificar se um endpoint foi criado.

  • DescribeAvailabilityZones é necessário para exibir uma lista de zonas de disponibilidade.

  • DescribeVpcsé necessário para exibir uma lista deVPCs.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "route53resolver:CreateResolverEndpoint", "route53resolver:ListResolverEndpoints", "ec2:CreateNetworkInterface", "ec2:DescribeAvailabilityZones", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs" ], "Resource": "*" } ] }