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 condições IAM políticas para controle de acesso refinado
No Route 53, você pode especificar condições ao conceder permissões usando uma IAM política (consulteControle 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 permitir que os usuários acessem todos os conjuntos de registros de recursos de um tipo de DNS registro específico em uma zona hospedada, por exemplo, AAAA registros A e.
-
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 o. ChangeResourceRecordSetsAPI -
Conceda permissões para permitir que os usuários associem ou dissociem zonas hospedadas privadas de uma determinada. VPC
-
Conceda permissões para permitir que os usuários listem zonas hospedadas associadas a uma determinada zonaVPC.
-
Conceda permissões para permitir que os usuários tenham acesso para criar uma nova zona hospedada privada e associá-la a uma determinadaVPC.
-
Conceda permissões para permitir que os usuários criem ou excluam uma autorização de VPC associação.
Você também pode criar permissões que combinam qualquer uma das permissões granulares.
Normalizando os valores-chave da 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 DNS nome 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 DNS registro compatíveis com o Route 53. Para obter mais informações, consulte Tipos de registro de DNS com suporte.
Para route53:VPCs
:
-
O valor deve estar no formato de
VPCId=<vpc-id>,VPCRegion=<region>
. -
O valor de
<vpc-id>
e<region>
deve estar em letras minúsculas, como e.VPCId=vpc-123abc
VPCRegion=us-east-1
-
As chaves e valores do 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 o Policy Simulator no Guia do IAM usuário para validar se sua política concede ou restringe as permissões conforme o esperado. Você também pode validar as permissões aplicando uma IAM política 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 controle IAM 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 AWS gerais, consulte Chaves disponíveis para condições no Guia do IAM usuário.
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 | APIoperações | Tipo de valor | Descrição |
---|---|---|---|
route53:ChangeResourceRecordSetsNormalizedRecordNames |
Vários valores |
Representa uma lista de nomes de DNS registros na solicitação deChangeResourceRecordSets. Para obter o comportamento esperado, DNS os nomes na IAM política devem ser normalizados da seguinte forma:
|
|
route53:ChangeResourceRecordSetsRecordTypes |
Vários valores |
Representa uma lista de tipos de DNS registro na solicitação de
|
|
route53:ChangeResourceRecordSetsActions |
Vários valores |
Representa uma lista de ações na solicitação de
|
|
route53:VPCs |
D isassociateVPCFrom 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 somente ao que está explicitamente listado na IAM política.
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.
Conceda permissões que limitam o acesso a DNS registros 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 IAM condição 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 ChangeResourceRecordSets
tiverem o DNS nome de exemplo.com. Para obter mais informações, consulte IAMoperadores de IAMcondição e condição com várias chaves ou valores no Guia IAM do usuário.
Para implementar a permissão que corresponde a nomes com determinados sufixos, você pode usar o IAM caractere curinga (*) na política com o operador StringLike
de condição ou. StringNotLike
A política a seguir permitirá a operação quando todas as alterações na ChangeResourceRecordSets
operação tiverem DNS nomes que terminem 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 IAM curinga não é o mesmo que o curinga 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 DNS registros que correspondem a um nome de domínio contendo um curinga
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 DNS nome, e \
in \052
é escapado para seguir \\
JSON a sintaxe.
Conceda permissões que limitam o acesso a DNS registros específicos
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 teclas de condição para limitar as ações do usuário e permitir somente a criação ou edição de DNS registros com determinado DNS nome e tipo.
{ "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"] } } } ] }
Conceda permissões que limitam o acesso à criação e edição somente dos tipos de DNS registros especificados
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 route53:ChangeResourceRecordSetsRecordTypes
condição para limitar as ações do usuário somente nos registros que correspondem aos tipos especificados (A eAAAA).
{ "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 especificam em VPC que o IAM diretor pode operar
A política de permissões a seguir concede permissões que permitem AssociateVPCWithHostedZone
DisassociateVPCFromHostedZone
ListHostedZonesByVPC
,,CreateHostedZone
,CreateVPCAssociationAuthorization
, e DeleteVPCAssociationAuthorization
ações no VPC especificado pelo vpc-id.
Importante
O valor da condição deve estar no formato deVPCId=<vpc-id>,VPCRegion=<region>
. Se você especificar a VPC ARN no valor da condição, a chave de condição não entrará em vigor.
{ "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": "*" } ] }