Uso de condiciones de políticas de IAM para un control de acceso preciso a fin de administrar los conjuntos de registros de recursos - 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 políticas de IAM para un control de acceso preciso a fin de administrar los conjuntos de registros de recursos

Al conceder permisos para los conjuntos de registros de recursos en Route 53, puede especificar condiciones que determinan cómo se aplica una política de permisos.

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 permitir a los usuarios realizar solo un subconjunto de las CREATE | UPSERT | DELETE acciones en la consola de Route 53 o cuando usen la ChangeResourceRecordSetsAPI.

También puede crear permisos que combinen cualquiera de los permisos granulares.

Use el componente Condition de IAM para implementar una política de control de acceso precisa. Al agregar un componente Condition de una política de permisos se puede permitir o denegar el acceso a los registros de los conjuntos de registros de recursos de Route 53, en función de sus requisitos empresariales. Por ejemplo, su política de IAM puede restringir el acceso a registros de DNS individuales en una zona alojada. A continuación, aplique la política a usuarios, grupos o roles.

Normalización de los valores clave de la condición

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.

importante

Para que sus permisos permitan o restrinjan las acciones que quiera, debe seguir estas convenciones.

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 de Route 53 que se aplican a los conjuntos de registros de recursos.

Clave de condición de Route 53 Operaciones de la API Tipo de valor 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

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"] } } } ] }