View a markdown version of this page

Uso de condiciones de las políticas de IAM para control de acceso preciso - Amazon Route 53

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.

  • Otorgue permisos para permitir a los usuarios administrar (associate/disassociate/update) solo tipos de recursos específicos con un perfil de Route 53.

  • Otorgue permisos para permitir a los usuarios administrar (associate/disassociate/update) solo un recurso específico ARNs con un perfil de Route 53.

  • Otorgue permisos para permitir a los usuarios administrar (associate/disassociate/update) solo dominios de zonas alojadas específicos con un perfil de Route 53.

  • Otorgue permisos para permitir a los usuarios administrar (associate/disassociate/update) solo dominios específicos de Resolver Rule con un perfil de Route 53.

  • Otorgue permisos para permitir a los usuarios administrar (associate/disassociate/update) grupos de reglas de firewall con un rango de prioridad específico en un perfil de Route 53.

  • Otorgue permisos que permitan a los usuarios administrar (asociar/desasociar) un perfil de Route 53 con un perfil específico. VPCs

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, como VPCId=vpc-123abc y VPCRegion=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 VPCId de condición solo acepta VPCRegion los elementos; por ejemplo, no se admiten otros AWS recursos. Cuenta de AWS

Pararoute53profiles:ResourceTypes, el valor puede ser cualquiera de los siguientes y distingue entre mayúsculas y minúsculas:

  • HostedZone

  • FirewallRuleGroup

  • ResolverQueryLoggingConfig

  • ResolverRule

  • VPCEndpoint

Para route53profiles:ResourceArns:

  • El valor debe ser un ARN AWS de recurso válido, como. arn:aws:route53:::hostedzone/Z12345

  • Utilice el operador de ArnLike condición ArnEquals o al comparar los valores del ARN.

Para route53profiles:HostedZoneDomains:

  • El valor debe ser un nombre de dominio válido, comoexample.com.

  • El nombre de dominio debe estar sin el punto final.

  • Estos valores distinguen entre mayúsculas y minúsculas.

Para route53profiles:ResolverRuleDomains:

  • El valor debe ser un nombre de dominio válido, comoexample.com.

  • El nombre de dominio debe estar sin el punto final.

  • Estos valores distinguen entre mayúsculas y minúsculas.

Para route53profiles:FirewallRuleGroupPriority:

  • El valor debe ser un valor numérico que represente la prioridad del grupo de reglas del firewall.

  • Utilice operadores de condición numéricos como NumericEqualsNumericGreaterThanEquals, o NumericLessThanEquals para comparar valores de prioridad o definir un rango de prioridades.

Para route53profiles:ResourceIds:

  • El valor debe ser un ID de VPC válido, por ejemplo. vpc-1a2b3c4d5e6f

  • Estos valores distinguen entre mayúsculas y minúsculas.

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 Description (Descripción)
route53:ChangeResourceRecordSetsNormalizedRecordNames

ChangeResourceRecordSets

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:

  • Todas las letras deben estar en minúsculas.

  • El nombre de DNS debe estar sin el punto final.

  • Los caracteres que no sean de la A a la Z, del 0 al 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.

route53:ChangeResourceRecordSetsRecordTypes

ChangeResourceRecordSets

Multivalor

Representa una lista de tipos de registros de DNS en la solicitud de ChangeResourceRecordSets.

ChangeResourceRecordSetsRecordTypes puede ser cualquiera de los tipos de registros de DNS compatibles con Route 53. Para obtener más información, consulte Tipos de registros de DNS admitidos. En la política, todo se debe escribir en mayúsculas.

route53:ChangeResourceRecordSetsActions

ChangeResourceRecordSets

Multivalor

Representa una lista de acciones en la solicitud de ChangeResourceRecordSets.

ChangeResourceRecordSetsActions puede ser cualquiera de los siguientes valores (debe estar en mayúscula):

  • CREATE

  • UPSERT

  • DELETE

route53:VPCs

Asociado VPCWith HostedZone

Disociar VPCFrom HostedZone

ListHostedZonesByVPC

CreateHostedZone

Crear autorización VPCAssociation

Eliminar VPCAssociation autorización

Multivalor

Representa una lista de VPCs en la solicitud de AssociateVPCWithHostedZoneDisassociateVPCFromHostedZone,ListHostedZonesByVPC,CreateHostedZone,CreateVPCAssociationAuthorization, yDeleteVPCAssociationAuthorization, con el formato de "VPCId=<vpc-id>, VPCRegion = <region>
route53profiles:ResourceTypes

AssociateResourceToProfile

DisassociateResourceFromProfile

UpdateProfileResourceAssociation

Cadena

Filtra el acceso por tipo de recurso específico.

route53profiles:ResourceTypespuede ser cualquiera de los siguientes valores (distingue entre mayúsculas y minúsculas):

  • HostedZone

  • FirewallRuleGroup

  • ResolverQueryLoggingConfig

  • ResolverRule

  • VPCEndpoint

route53profiles:ResourceArns

AssociateResourceToProfile

DisassociateResourceFromProfile

ARN

Filtra el acceso por recurso específico ARNs.
route53profiles:HostedZoneDomains

AssociateResourceToProfile

DisassociateResourceFromProfile

UpdateProfileResourceAssociation

Cadena

Filtra el acceso por dominios de la zona alojada. Para obtener el comportamiento esperado, los nombres de dominio de la política de IAM deben normalizarse de la siguiente manera:

  • El nombre de dominio debe estar sin el punto final.

  • Estos valores distinguen entre mayúsculas y minúsculas.

route53profiles:ResolverRuleDomains

AssociateResourceToProfile

DisassociateResourceFromProfile

UpdateProfileResourceAssociation

Cadena

Filtra el acceso por dominios de Resolver Rule. Para obtener el comportamiento esperado, los nombres de dominio de la política de IAM deben normalizarse de la siguiente manera:

  • El nombre de dominio debe estar sin el punto final.

  • Estos valores distinguen entre mayúsculas y minúsculas.

route53profiles:FirewallRuleGroupPriority

AssociateResourceToProfile

DisassociateResourceFromProfile

UpdateProfileResourceAssociation

Numérico

Filtra el acceso por rango de prioridad de un grupo de reglas de firewall.
route53profiles:ResourceIds

AssociateProfile

DisassociateProfile

Cadena

Filtra el acceso por datos VPCs.

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.

JSON
{ "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”.

JSON
{ "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.

JSON
{ "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.

JSON
{ "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).

JSON
{ "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.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "route53:*" ], "Resource": [ "*" ], "Condition": { "StringLike": { "route53:VPCs": [ "VPCId=<vpc-id>,VPCRegion=<region>" ] } } }, { "Sid": "Statement2", "Effect": "Allow", "Action": "ec2:DescribeVpcs", "Resource": "*" } ] }
importante

Las claves de route53profiles condición están disponibles en todos los Regiones de AWS lugares donde esté disponible Route53Profiles de Route 53, excepto en me-central-1 y me-south-1.

Otorgue permisos que limiten la asociación de recursos a tipos de recursos específicos en los perfiles de Route 53

La siguiente política de permisos otorga permisos que solo permiten AssociateResourceToProfile DisassociateResourceFromProfile y actúan cuando el tipo de recurso es una zona alojada. Utiliza la clave de route53profiles:ResourceTypes condición para restringir los tipos de recursos que se pueden asociar a un perfil.

{ "Effect": "Allow", "Action": [ "route53profiles:AssociateResourceToProfile", "route53profiles:DisassociateResourceFromProfile" ], "Resource": "*", "Condition": { "StringEquals": { "route53profiles:ResourceTypes": "HostedZone" } } }
Otorgue permisos que limiten la asociación de recursos a un recurso específico ARNs en los perfiles de Route 53

La siguiente política de permisos concede permisos que permiten AssociateResourceToProfile y DisassociateResourceFromProfile actúan únicamente para el ARN del recurso especificado. Utiliza la clave de route53profiles:ResourceArns condición para restringir los recursos que se pueden asociar a un perfil.

{ "Effect": "Allow", "Action": [ "route53profiles:AssociateResourceToProfile", "route53profiles:DisassociateResourceFromProfile" ], "Resource": "*", "Condition": { "ArnEquals": { "route53profiles:ResourceArns": "arn:aws:route53:::hostedzone/Z12345" } } }
Otorgue permisos que limiten la asociación de recursos a dominios de zonas alojadas específicos en los perfiles de Route 53

La siguiente política de permisos otorga permisos que permiten AssociateResourceToProfile y DisassociateResourceFromProfile UpdateProfileResourceAssociation actúan solo cuando el dominio de la zona alojada coincide con el valor especificado. Utiliza la clave de route53profiles:HostedZoneDomains condición para restringir los dominios de la zona alojada que se pueden asociar a un perfil.

{ "Effect": "Allow", "Action": [ "route53profiles:AssociateResourceToProfile", "route53profiles:DisassociateResourceFromProfile", "route53profiles:UpdateProfileResourceAssociation" ], "Resource": "*", "Condition": { "StringEquals": { "route53profiles:HostedZoneDomains": "example.com" } } }
Otorgue permisos que limiten la asociación de recursos a dominios específicos de Resolver Rule en los perfiles de Route 53

La siguiente política de permisos otorga permisos que permiten AssociateResourceToProfile y DisassociateResourceFromProfile UpdateProfileResourceAssociation actúa solo cuando el dominio de la regla de resolución coincide con el valor especificado. Utiliza la clave de route53profiles:ResolverRuleDomains condición para restringir qué dominios de la regla de resolución se pueden asociar a un perfil.

{ "Effect": "Allow", "Action": [ "route53profiles:AssociateResourceToProfile", "route53profiles:DisassociateResourceFromProfile", "route53profiles:UpdateProfileResourceAssociation" ], "Resource": "*", "Condition": { "StringEquals": { "route53profiles:ResolverRuleDomains": "example.com" } } }
Otorgue permisos que limiten la asociación de grupos de reglas de firewall a un rango de prioridad específico en los perfiles de Route 53

La siguiente política de permisos otorga permisos que permiten AssociateResourceToProfile y DisassociateResourceFromProfile actúa solo UpdateProfileResourceAssociation cuando la prioridad del grupo de reglas de firewall se encuentra dentro del rango especificado. Utiliza la clave de route53profiles:FirewallRuleGroupPriority condición para restringir los valores de prioridad que se pueden usar.

{ "Effect": "Allow", "Action": [ "route53profiles:AssociateResourceToProfile", "route53profiles:DisassociateResourceFromProfile", "route53profiles:UpdateProfileResourceAssociation" ], "Resource": "*", "Condition": { "NumericGreaterThanEquals": { "route53profiles:FirewallRuleGroupPriority": "100" } } }
Otorgue permisos que VPCs limiten la asociación de perfiles a perfiles específicos de Route 53

La siguiente política de permisos concede permisos que permiten AssociateProfile y DisassociateProfile actúan solo para la VPC especificada. Utiliza la clave de route53profiles:ResourceIds condición para restringir VPCs a qué perfil se puede asociar.

{ "Effect": "Allow", "Action": [ "route53profiles:AssociateProfile", "route53profiles:DisassociateProfile" ], "Resource": "*", "Condition": { "StringEquals": { "route53profiles:ResourceIds": "vpc-1a2b3c4d5e6f" } } }