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á.
Uso de condições de política do IAM para controle de acesso refinado
No Route 53, é possível especificar as condições ao conceder permissões usando uma política do IAM (consulte Controle de acesso). Por exemplo, é possível:
-
Conceda permissões para liberar o acesso a um único conjunto de registros de recursos.
-
Conceda permissões para liberar o acesso aos usuários a todos os conjuntos de registros de recursos de um tipo específico de registro DNS em uma zona hospedada, por exemplo, registros A e AAAA.
-
Conceda permissões para liberar o acesso aos usuários a um conjunto de registros de recursos em que seu nome contém uma string específica.
-
Conceda permissões para permitir que os usuários realizem somente um subconjunto das
CREATE | UPSERT | DELETE
ações no console do Route 53 ou ao usar a ChangeResourceRecordSetsAPI. -
Conceda permissões para que os usuários possam associar ou desassociar zonas hospedadas privadas de uma determinada VPC.
-
Conceda permissões para que os usuários possam listar as zonas hospedadas associadas a uma determinada VPC.
-
Conceda permissões para que os usuários tenham acesso para criar uma nova zona hospedada privada e associá-la a uma determinada VPC.
-
Conceda permissões para que os usuários possam criar ou excluir uma autorização de associação de VPC.
Você também pode criar permissões que combinam qualquer uma das permissões granulares.
Normalização dos valores de chave de condição do Route 53
Os valores inseridos para as condições da política devem ser formatados ou normalizados da seguinte forma:
Para route53:ChangeResourceRecordSetsNormalizedRecordNames
:
-
Todas as letras devem estar em minúscula.
-
O nome DNS deve estar sem o ponto final.
-
Caracteres que não sejam de A a Z, 0 a 9, - (hífen), _ (underline) e . (ponto final, como delimitador entre rótulos) deve usar códigos de escape no formato \código octal de três dígitos. Por exemplo,
\052
é o código octal para o caractere *.
Para route53:ChangeResourceRecordSetsActions
, o valor pode ser qualquer um dos seguintes e deve estar em maiúsculas:
-
CREATE
-
UPSERT
-
DELETE
para route53:ChangeResourceRecordSetsRecordTypes
:
-
O valor deve estar em maiúsculas e pode ser qualquer um dos tipos de registro DNS compatíveis com o Route 53. Para obter mais informações, consulte Tipos de registro de DNS com suporte.
Para route53:VPCs
:
-
O valor fornecido deve estar no formato de
VPCId=<vpc-id>,VPCRegion=<region>
. -
O valor de
<vpc-id>
e<region>
deve estar em letras minúsculas, comoVPCId=vpc-123abc
eVPCRegion=us-east-1
. -
As chaves e valores de contexto diferenciam maiúsculas de minúsculas.
Importante
Para que suas permissões liberem ou restrinjam as ações pretendidas, você deve seguir essas convenções. Somente VPCRegion
elementos VPCId
e elementos são aceitos por essa chave de condição; quaisquer outros AWS recursos, como Conta da AWS, não são suportados.
Você pode usar o Access Analyzer ou Policy Simulator no Guia de usuário do IAM para validar que a política libera ou restringe as permissões conforme o esperado. Você também pode validar as permissões aplicando uma política do IAM a um usuário ou função de teste para realizar operações do Route 53.
Especificar condições: usar chaves de condição
AWS fornece um conjunto de chaves de condição predefinidas (chaves AWS de condição abrangentes) para todos os AWS serviços que oferecem suporte ao IAM para controle de acesso. Por exemplo, você pode usar a condição de chave aws:SourceIp
para verificar o endereço IP do solicitante antes de permitir que uma ação seja executada. Para obter mais informações e uma lista das chaves no âmbito da AWS, consulte Chaves disponíveis para condições no Guia do usuário do IAM.
nota
O Route 53 não é compatível com chaves de condição baseadas em tag.
A tabela a seguir mostra as chaves de condição específicas do serviço Route 53 que se aplicam ao Route 53.
Chave de condição do Route 53 | Operações de API | Tipo de valor | Descrição |
---|---|---|---|
route53:ChangeResourceRecordSetsNormalizedRecordNames |
Vários valores |
Representa uma lista de nomes de registros DNS na solicitação deChangeResourceRecordSets. Para obter o comportamento esperado, os nomes DNS na política do IAM devem ser normalizados da seguinte forma:
|
|
route53:ChangeResourceRecordSetsRecordTypes |
Vários valores |
Representa uma lista de tipos de registro DNS na solicitação de
|
|
route53:ChangeResourceRecordSetsActions |
Vários valores |
Representa uma lista de ações na solicitação de
|
|
route53:VPCs |
Desassociar VPCFrom HostedZone |
Vários valores |
Representa uma lista de VPCs na solicitação de AssociateVPCWithHostedZone DisassociateVPCFromHostedZone ,ListHostedZonesByVPC ,CreateHostedZone ,CreateVPCAssociationAuthorization , eDeleteVPCAssociationAuthorization , no formato de "VPCId=<vpc-id>, VPCRegion = <region> |
Políticas de exemplo: usar condições para acesso refinado
Cada um dos exemplos nessa seção define a cláusula Effect (Efeito) como Allow (Permitir) e especifica apenas as ações, os recursos e os parâmetros permitidos. O acesso é permitido apenas para o que está listado explicitamente na política do IAM.
Em alguns casos, é possível reescrever essas políticas para que elas sejam baseadas em negação (ou seja, definindo a cláusula Effect (Efeito) como Deny (Negar) e invertendo toda a lógica na política). No entanto, recomendamos que você evite usar políticas baseadas em negação, pois elas são difíceis de escrever corretamente, em comparação às políticas baseadas em permissão. Pela necessidade de normalização do texto, isso é especialmente verdadeiro para o Route 53.
Conceder permissões que limitam o acesso a registros DNS com nomes específicos
A política de permissões a seguir concede permissões para as ações ChangeResourceRecordSets
na zona hospedada Z12345 para exemplo.com e marketing.exemplo.com. Ele usa a chave de condição route53:ChangeResourceRecordSetsNormalizedRecordNames
para limitar as ações do usuário somente nos registros que correspondem aos nomes especificados.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "route53:ChangeResourceRecordSets", "Resource": "arn:aws:route53:::hostedzone/Z11111112222222333333", "Condition": { "ForAllValues:StringEquals":{ "route53:ChangeResourceRecordSetsNormalizedRecordNames": ["example.com", "marketing.example.com"] } } } ] }
ForAllValues:StringEquals
é um operador de condição do IAM que se aplica a chaves de vários valores. A condição na política acima permitirá a operação somente quando todas as alterações em ChangeResourceRecordSets
tenham o nome DNS de example.com. Para obter mais informações, consulte Operadores de condição do IAM e Condição do IAM com várias chaves ou valores no Guia do usuário do IAM.
Para implementar a permissão que combina nomes com determinados sufixos, você pode usar o coringa do IAM (*) na política com operador de condição StringLike
ou StringNotLike
. A política a seguir permitirá a operação quando todas as alterações na operação ChangeResourceRecordSets
tiverem nomes DNS que terminam com “-beta.example.com”.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "route53:ChangeResourceRecordSets", "Resource": "arn:aws:route53:::hostedzone/Z11111112222222333333", "Condition": { "ForAllValues:StringLike":{ "route53:ChangeResourceRecordSetsNormalizedRecordNames": ["*-beta.example.com"] } } } ] }
nota
O coringa do IAM não é o mesmo que o coringa do nome de domínio. Veja o exemplo a seguir para saber como usar o coringa com um nome de domínio.
Conceda permissões que limitam o acesso aos registros DNS que correspondem a um nome de domínio contendo um coringa
A política de permissões a seguir concede permissões que possibilitam ações ChangeResourceRecordSets
na zona hospedada Z12345 para example.com. Ele usa a chave de condição route53:ChangeResourceRecordSetsNormalizedRecordNames
para limitar as ações do usuário somente aos registros que correspondam a *.example.com.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "route53:ChangeResourceRecordSets", "Resource": "arn:aws:route53:::hostedzone/Z11111112222222333333", "Condition": { "ForAllValues:StringEquals":{ "route53:ChangeResourceRecordSetsNormalizedRecordNames": ["\\052.example.com"] } } } ] }
\052
é o código octal para o caractere * no nome DNS e \
em \052
escapou para ser \\
para seguir a sintaxe JSON.
Conceder permissões que limitam o acesso a determinados registros DNS
A política de permissões a seguir concede permissões que possibilitam ações ChangeResourceRecordSets
na zona hospedada Z12345 para example.com. Ele usa a combinação de três chaves de condição para limitar as ações do usuário e permitir somente a criação ou edição de registros DNS com determinado nome e tipo de DNS.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "route53:ChangeResourceRecordSets", "Resource": "arn:aws:route53:::hostedzone/Z11111112222222333333", "Condition": { "ForAllValues:StringEquals":{ "route53:ChangeResourceRecordSetsNormalizedRecordNames": ["example.com"], "route53:ChangeResourceRecordSetsRecordTypes": ["MX"], "route53:ChangeResourceRecordSetsActions": ["CREATE", "UPSERT"] } } } ] }
Conceder permissões que limitam o acesso à criação e edição apenas dos tipos especificados de registros DNS
A política de permissões a seguir concede permissões que possibilitam ações ChangeResourceRecordSets
na zona hospedada Z12345 para example.com. Ele usa a chave de condição route53:ChangeResourceRecordSetsRecordTypes
para limitar as ações do usuário somente nos registros que correspondem aos tipos especificados (A e AAAA).
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "route53:ChangeResourceRecordSets", "Resource": "arn:aws:route53:::hostedzone/Z11111112222222333333", "Condition": { "ForAllValues:StringEquals":{ "route53:ChangeResourceRecordSetsRecordTypes": ["A", "AAAA"] } } } ] }
Conceda permissões que especifiquem a VPC na qual a entidade principal do IAM pode operar
A política de permissões a seguir concede permissões para as ações AssociateVPCWithHostedZone
, DisassociateVPCFromHostedZone
, ListHostedZonesByVPC
, CreateHostedZone
, CreateVPCAssociationAuthorization
e DeleteVPCAssociationAuthorization
na VPC especificada pelo vpc-id.
Importante
O valor de condição deve estar no formato de VPCId=<vpc-id>,VPCRegion=<region>
. Se você especificar um ARN de VPC no valor de condição, a chave de condição não terá efeito.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "route53:*" ], "Resource": [ "*" ], "Condition": { "ForAllValues:StringLike": { "route53:VPCs": [ "VPCId=<vpc-id>,VPCRegion=<region>" ] } } }, { "Sid": "Statement2", "Effect": "Allow", "Action": "ec2:DescribeVpcs", "Resource": "*" } ] }