Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de condiciones de las políticas de IAM para control de acceso preciso
En Route 53, puede especificar las condiciones al conceder permisos utilizando la política de IAM (consulte Control de acceso). Por ejemplo, puede hacer lo siguiente:
-
Conceda permisos para permitir el acceso a un único conjunto de registros de recursos.
-
Conceda permisos para que los usuarios puedan acceder a todos los conjuntos de registros de recursos de un tipo de registro de DNS específico en una zona alojada, por ejemplo, los registros A y AAAA.
-
Conceda permisos para que los usuarios puedan acceder a un conjunto de registros de recursos en el que su nombre contenga una cadena específica.
-
Otorgue permisos para que los usuarios puedan realizar solo un subconjunto de
CREATE | UPSERT | DELETE
las acciones en la consola de Route 53 o cuando usen la API. ChangeResourceRecordSets -
Otorgue permisos para permitir a los usuarios asociar o disociar zonas alojadas privadas de una VPC determinada.
-
Otorgue permisos para permitir a los usuarios enumerar las zonas alojadas asociadas a una VPC determinada.
-
Otorgue permisos para permitir a los usuarios acceder a crear una nueva zona alojada privada y asociarla a una VPC determinada.
-
Otorgue permisos para permitir a los usuarios crear o eliminar una autorización de asociación de VPC.
También puede crear permisos que combinen cualquiera de los permisos granulares.
Normalización de los valores clave de la condición de Route 53
Los valores que ingrese para las condiciones de la política deben formatearse o normalizarse de la siguiente manera:
Para route53:ChangeResourceRecordSetsNormalizedRecordNames
:
-
Todas las letras deben estar en minúsculas.
-
El nombre de DNS debe estar sin el punto final.
-
Los caracteres que no sean a-z, 0-9, - (guion), _ (guion bajo) y . (punto, como delimitador entre etiquetas) deben utilizar códigos de escape con el formato \código octal de tres dígitos. Por ejemplo,
\052
es el código octal del carácter *.
Para route53:ChangeResourceRecordSetsActions
, el valor puede ser cualquiera de los siguientes y debe estar en mayúscula:
-
CREATE
-
UPSERT
-
DELETE
Para route53:ChangeResourceRecordSetsRecordTypes
:
-
El valor debe estar en mayúsculas y puede ser cualquiera de los tipos de registro de DNS compatibles con Route 53. Para obtener más información, consulte Tipos de registros de DNS admitidos.
Para route53:VPCs
:
-
El formato del valor debe ser
VPCId=<vpc-id>,VPCRegion=<region>
. -
El valor de
<vpc-id>
y<region>
debe expresarse en letras minúsculas, comoVPCId=vpc-123abc
yVPCRegion=us-east-1
. -
Las claves de contexto y los valores distinguen entre mayúsculas y minúsculas.
importante
Para que sus permisos permitan o restrinjan las acciones que quiera, debe seguir estas convenciones. Esta clave de condición solo VPCId
acepta los VPCRegion
elementos; por ejemplo, no se admiten otros AWS recursos. Cuenta de AWS
Puede utilizar Access Analyzer o Policy Simulator de la Guía del usuario de IAM para validar que la política conceda o restrinja los permisos según lo previsto. Para validar los permisos, también puede aplicar una política de IAM a un usuario o rol de prueba para llevar a cabo las operaciones de Route 53.
Especificación de condiciones: uso de claves de condición
AWS proporciona un conjunto de claves de condición AWS predefinidas (claves de condición generales) para todos los AWS servicios que admiten la IAM para el control de acceso. Por ejemplo, puede usar la clave de condición aws:SourceIp
para comprobar la dirección IP del solicitante antes de permitir que se lleve a cabo cualquier acción. Para obtener más información y una lista con las claves generales de AWS, consulte Available Keys for Conditions (Claves disponibles para las condiciones) en la Guía del usuario de IAM.
nota
Route 53 no admite claves de condición basadas en etiquetas.
En la siguiente tabla se muestran las claves de condición específicas del servicio Route 53 que se aplican a Route 53.
Clave de condición de Route 53 | Operaciones de la API | Tipo de valor | Descripción |
---|---|---|---|
route53:ChangeResourceRecordSetsNormalizedRecordNames |
Multivalor |
Representa una lista de nombres de registros DNS incluidos en la solicitud de. ChangeResourceRecordSets Para obtener el comportamiento esperado, los nombres de DNS de la política de IAM se deben normalizar de la siguiente manera:
|
|
route53:ChangeResourceRecordSetsRecordTypes |
Multivalor |
Representa una lista de tipos de registros de DNS en la solicitud de
|
|
route53:ChangeResourceRecordSetsActions |
Multivalor |
Representa una lista de acciones en la solicitud de
|
|
route53:VPCs |
Multivalor |
Representa una lista de VPCs en la solicitud de AssociateVPCWithHostedZone DisassociateVPCFromHostedZone ,ListHostedZonesByVPC ,CreateHostedZone ,CreateVPCAssociationAuthorization , yDeleteVPCAssociationAuthorization , con el formato de "VPCId=<vpc-id>, VPCRegion = <region> |
Ejemplos de políticas: uso de condiciones para el acceso preciso
Cada uno de los ejemplos de esta sección establece en la cláusula Effect el valor Allow y especifica solamente las acciones, los recursos y los parámetros que se permiten. Únicamente se permite el acceso a aquello que se indica explícitamente en la política de IAM.
En algunos casos, se pueden modificar estas políticas de tal forma que se basen en la denegación (en cuyo caso, se establecería la cláusula Effect en Allow y se invertiría toda la lógica de la política). Sin embargo, recomendamos evitar el uso de políticas basadas en la denegación, ya que son difíciles de escribir correctamente en comparación con las políticas basadas el permiso. Esto es especialmente cierto para Route 53 debido a la normalización del texto que se requiere.
Concesión de permisos que limitan el acceso a los registros de DNS con nombres específicos
La siguiente política de permisos otorga permisos que permiten acciones de ChangeResourceRecordSets
en la zona alojada Z12345 para ejemplo.com. y marketing.ejemplo.com. Utiliza la clave de condición route53:ChangeResourceRecordSetsNormalizedRecordNames
para limitar las acciones del usuario solo en los registros que coincidan con los nombres 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
es un operador de condición de IAM que se aplica a claves con varios valores. La condición de la política anterior permitirá la operación solo cuando todos los cambios en ChangeResourceRecordSets
tengan el nombre de DNS example.com. Para obtener más información, consulte IAM condition operators (Operadores de condición de IAM) y IAM condition with multiple keys or values (Condición de IAM con varias claves o valores) en la Guía del usuario de IAM.
Para implementar el permiso que hace coincidir nombres con ciertos sufijos, puede usar el comodín de IAM (*) en la política con el operador de condición StringLike
o StringNotLike
. La siguiente política permitirá la operación cuando todos los cambios en la operación ChangeResourceRecordSets
tengan nombres de DNS que terminen en “-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
El comodín de IAM no es el mismo que el comodín del nombre de dominio. Consulte el siguiente ejemplo para saber cómo utilizar el comodín con un nombre de dominio.
Concesión de permisos que limiten el acceso a los registros de DNS que coincidan con un nombre de dominio que tenga un comodín
La siguiente política de permisos concede permisos que autorizan acciones ChangeResourceRecordSets
en la zona alojada Z12345 para example.com. Utiliza la clave de condición route53:ChangeResourceRecordSetsNormalizedRecordNames
para limitar las acciones del usuario solo a los registros que coincidan con *.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
es el código octal del carácter * del nombre de DNS, y \
en \052
es un carácter de escape que significa \\
para seguir la sintaxis JSON.
Concesión de permisos que limiten el acceso a los registros de DNS específicos
La siguiente política de permisos concede permisos que autorizan acciones ChangeResourceRecordSets
en la zona alojada Z12345 para example.com. Utiliza la combinación de tres claves de condición para limitar las acciones del usuario y permitir solo la creación o edición de registros de DNS con un nombre y un tipo de DNS determinados.
{ "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"] } } } ] }
Concesión de permisos que limiten el acceso a la creación y edición solo de los tipos de registros de DNS especificados
La siguiente política de permisos concede permisos que autorizan acciones ChangeResourceRecordSets
en la zona alojada Z12345 para example.com. Utiliza la clave de condición route53:ChangeResourceRecordSetsRecordTypes
para limitar las acciones del usuario solo en los registros que coincidan con los tipos especificados (A y AAAA).
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "route53:ChangeResourceRecordSets", "Resource": "arn:aws:route53:::hostedzone/Z11111112222222333333", "Condition": { "ForAllValues:StringEquals":{ "route53:ChangeResourceRecordSetsRecordTypes": ["A", "AAAA"] } } } ] }
Otorgamiento de permisos que especifiquen la VPC en la que la entidad principal de IAM puede operar
La siguiente política de permisos otorga permisos que permiten acciones AssociateVPCWithHostedZone
, DisassociateVPCFromHostedZone
, ListHostedZonesByVPC
, CreateHostedZone
, CreateVPCAssociationAuthorization
y DeleteVPCAssociationAuthorization
en la VPC especificada por el vpc-id.
importante
El formato del valor de condición debe ser VPCId=<vpc-id>,VPCRegion=<region>
. Si especifica un ARN de VPC en el valor de condición, la clave de condición no surtirá efecto.
{ "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": "*" } ] }