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 políticas basadas en la identidad (IAMpolíticas) para Amazon Route 53
En este tema se proporcionan ejemplos de políticas basadas en la identidad que demuestran cómo un administrador de cuentas puede adjuntar políticas de permisos a las IAM identidades y, por lo tanto, conceder permisos para realizar operaciones en los recursos de Amazon Route 53.
importante
Le recomendamos que consulte primero los temas de introducción en los que se explican los conceptos básicos y las opciones disponibles para administrar el acceso a sus recursos de Route 53. Para obtener más información, consulte Información general sobre la administración de los permisos de acceso a los recursos de Amazon Route 53.
nota
Al conceder el acceso, la zona alojada y Amazon VPC deben pertenecer a la misma partición. Una partición es un grupo de Regiones de AWS. Cada una Cuenta de AWS tiene el alcance de una partición.
Las siguientes son las particiones admitidas:
-
aws
- Regiones de AWS -
aws-cn
- Regiones de China -
aws-us-gov
- AWS GovCloud (US) Region
Para obtener más información, consulte Administración de acceso y puntos de conexión y cuotas de Amazon Route 53 en la Referencia general de AWS .
Temas
El ejemplo siguiente muestra una política de permisos. El Sid
o ID de instrucción es opcional:
{ "Version": "2012-10-17", "Statement": [ { "Sid" : "AllowPublicHostedZonePermissions", "Effect": "Allow", "Action": [ "route53:CreateHostedZone", "route53:UpdateHostedZoneComment", "route53:GetHostedZone", "route53:ListHostedZones", "route53:DeleteHostedZone", "route53:ChangeResourceRecordSets", "route53:ListResourceRecordSets", "route53:GetHostedZoneCount", "route53:ListHostedZonesByName" ], "Resource": "*" }, { "Sid" : "AllowHealthCheckPermissions", "Effect": "Allow", "Action": [ "route53:CreateHealthCheck", "route53:UpdateHealthCheck", "route53:GetHealthCheck", "route53:ListHealthChecks", "route53:DeleteHealthCheck", "route53:GetCheckerIpRanges", "route53:GetHealthCheckCount", "route53:GetHealthCheckStatus", "route53:GetHealthCheckLastFailureReason" ], "Resource": "*" } ] }
La política incluye dos instrucciones:
-
La primera instrucción concede permisos para las acciones necesarias para crear y administrar zonas hospedadas públicas y sus registros. El carácter comodín (*) del nombre del recurso de Amazon (ARN) permite el acceso a todas las zonas alojadas que son propiedad de la AWS cuenta corriente.
-
La segunda instrucción concede permisos para todas las acciones necesarias para crear y administrar comprobaciones de estado.
Para ver una lista de las acciones y las ARN que especifique para conceder o denegar el permiso de uso de cada acción, consulteAPIPermisos de Amazon Route 53: referencia de acciones, recursos y condiciones.
Permisos necesarios para usar la consola de Amazon Route 53
Para conceder acceso total a la consola de Amazon Route 53, debe conceder los permisos en la siguiente política de permisos:
{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "route53:*", "route53domains:*", "tag:*", "ssm:GetParametersByPath", "cloudfront:ListDistributions", "elasticloadbalancing:DescribeLoadBalancers", "elasticbeanstalk:DescribeEnvironments", "s3:ListAllamzn-s3-demo-bucket", "s3:GetBucketLocation", "s3:GetBucketWebsite", "ec2:DescribeRegions", "ec2:DescribeVpcs", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DescribeAvailabilityZones", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:ModifyNetworkInterfaceAttribute", "sns:ListTopics", "sns:ListSubscriptionsByTopic", "sns:CreateTopic", "kms:ListAliases", "kms:DescribeKey", "kms:CreateKey", "kms:CreateAlias", "kms:Sign", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms", "cloudwatch:GetMetricStatistics" ], "Resource":"*" }, { "Effect": "Allow", "Action": "apigateway:GET", "Resource": "arn:aws:apigateway:*::/domainnames" } ] }
Aquí se explica por qué son necesarios los permisos:
route53:*
-
Le permite realizar todas las acciones de Route 53 salvo las siguientes:
-
Cree y actualice registros de alias para los que el valor de Alias Target sea una CloudFront distribución, un balanceador de cargas de Elastic Load Balancing, un entorno de Elastic Beanstalk o un bucket de Amazon S3. (Con estos permisos, puede crear registros de alias en los que el valor de Alias Target (Destino del alias) es otro registro de la misma zona alojada).
-
Trabajar con zonas alojadas privadas.
-
Trabajar con dominios.
-
Cree, elimine y visualice las alarmas. CloudWatch
-
Renderice CloudWatch las métricas en la consola de Route 53.
-
route53domains:*
-
Le permite trabajar con dominios.
importante
Si muestra las acciones de
route53
individualmente, debe incluirroute53:CreateHostedZone
para trabajar con dominios. Al registrar un dominio, se crea una zona alojada al mismo tiempo, por lo que una política que incluya permisos para registrar dominios también requiere permiso para crear zonas alojadas.Para el registro de dominios, Route 53 no permite conceder o denegar permisos a recursos específicos.
route53resolver:*
-
Le permite trabajar con Route 53 Resolver.
ssm:GetParametersByPath
-
Le permite buscar regiones disponibles públicamente cuando crean nuevos registros de alias, zonas alojadas privadas y comprobaciones de estado.
cloudfront:ListDistributions
-
Permite crear y actualizar registros de alias para los que el valor de Alias Target es una CloudFront distribución.
Estos permisos no son necesarios si no está utilizando la consola de Route 53. Route 53 solo lo utiliza para obtener la lista de distribuciones que muestra en la consola.
elasticloadbalancing:DescribeLoadBalancers
-
Permite crear y actualizar registros de alias para los que el valor de Alias Target es un equilibrador de ELB carga.
Estos permisos no son necesarios si no está utilizando la consola de Route 53. Route 53 solo lo utiliza para obtener la lista de balanceadores de carga que muestra en la consola.
elasticbeanstalk:DescribeEnvironments
-
Le permite crear y actualizar registros de alias en los que el valor de Alias Target (Destino del alias) es un entorno de Elastic Beanstalk.
Estos permisos no son necesarios si no está utilizando la consola de Route 53. Route 53 solo lo utiliza para obtener la lista de entornos que muestra en la consola.
s3:ListAllamzn-s3-demo-bucket
,s3:GetBucketLocation
, ys3:GetBucketWebsite
-
Le permite crear y actualizar registros de alias en los que el valor de Alias Target (Destino del alias) es un bucket de Amazon S3. (Puede crear un alias para un bucket de Amazon S3 solo si el bucket está configurado como el punto de enlace de un sitio web;
s3:GetBucketWebsite
obtiene la información de configuración necesaria).Estos permisos no son necesarios si no está utilizando la consola de Route 53. Route 53 solo lo utiliza para obtener la lista de buckets que muestra en la consola.
ec2:DescribeVpcs
yec2:DescribeRegions
-
Le permite trabajar con zonas hospedadas privadas.
- Todos los permisos de
ec2
mostrados -
Le permite trabajar con Route 53 Resolver.
sns:ListTopics
,sns:ListSubscriptionsByTopic
,sns:CreateTopic
,cloudwatch:DescribeAlarms
,cloudwatch:PutMetricAlarm
,cloudwatch:DeleteAlarms
-
Le permite crear, eliminar y ver CloudWatch las alarmas.
cloudwatch:GetMetricStatistics
-
Le permite crear controles de estado CloudWatch métricos.
Estos permisos no son necesarios si no está utilizando la consola de Route 53. Route 53 solo lo utiliza para obtener las estadísticas que muestra en la consola.
apigateway:GET
-
Le permite crear y actualizar registros de alias para los que el valor de Alias Target es Amazon API GatewayAPI.
Este permiso no es necesario si no está utilizando la consola de Route 53. Route 53 lo usa solo para obtener una lista APIs que se mostrará en la consola.
kms:*
-
Le permite trabajar con él AWS KMS para habilitar la DNSSEC firma.
Permisos de ejemplo para el propietario de un registro de dominio
Con los permisos de conjuntos de registros de recursos, puede establecer permisos granulares que limiten lo que el AWS usuario puede actualizar o modificar. Para obtener más información, consulte Utilizar condiciones IAM políticas para un control de acceso detallado.
En algunos casos, el propietario de una zona alojada podría ser el responsable de la administración general de la misma, mientras que otra persona de la organización es responsable de un subconjunto de esas tareas. Un propietario de una zona alojada que haya habilitado la DNSSEC firma, por ejemplo, podría querer crear una IAM política que incluya el permiso para que otra persona añada y elimine registros del conjunto de recursos (RRs) en la zona alojada, entre otras tareas. Los permisos específicos que el propietario de una zona alojada elija habilitar para un propietario de registro u otras personas dependerán de la política de su organización.
El siguiente es un ejemplo de IAM política que permite al propietario de un registro realizar RRs modificaciones en las políticas de tráfico y realizar comprobaciones de estado. El propietario de un registro con esta política no puede realizar operaciones a nivel de zona, como crear o eliminar una zona, habilitar o deshabilitar el registro de consultas, crear o eliminar un conjunto de delegación reutilizable o cambiar la configuración. DNSSEC
{ "Sid": "Do not allow zone-level modification ", "Effect": "Allow", "Action": [ "route53:ChangeResourceRecordSets", "route53:CreateTrafficPolicy", "route53:DeleteTrafficPolicy", "route53:CreateTrafficPolicyInstance", "route53:CreateTrafficPolicyVersion", "route53:UpdateTrafficPolicyInstance", "route53:UpdateTrafficPolicyComment", "route53:DeleteTrafficPolicyInstance", "route53:CreateHealthCheck", "route53:UpdateHealthCheck", "route53:DeleteHealthCheck", "route53:List*", "route53:Get*" ], "Resource": [ "*" ] }
Los permisos clave de Route 53 administrados por el cliente son necesarios para firmar DNSSEC
Al habilitar la DNSSEC firma en Route 53, Route 53 crea una clave de firma con clave (KSK) basada en una clave administrada por el cliente en AWS Key Management Service (AWS KMS). Puede usar una clave gestionada por el cliente existente que permita DNSSEC firmar o crear una nueva. Route 53 debe tener permiso para acceder a su clave gestionada por el cliente para poder crearla KSK por usted.
Para permitir que Route 53 acceda a la clave administrada por el cliente, asegúrese de que la política de clave administrada por el cliente incluya las siguientes instrucciones:
{ "Sid": "Allow Route 53 DNSSEC Service", "Effect": "Allow", "Principal": { "Service": "dnssec-route53.amazonaws.com" }, "Action": ["kms:DescribeKey", "kms:GetPublicKey", "kms:Sign"], "Resource": "*" }, { "Sid": "Allow Route 53 DNSSEC to CreateGrant", "Effect": "Allow", "Principal": { "Service": "dnssec-route53.amazonaws.com" }, "Action": ["kms:CreateGrant"], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } }
El problema del suplente confuso es un problema de seguridad en el que una entidad que no tiene permiso para realizar una acción puede obligar a una entidad con más privilegios a realizar la acción. Para protegerse AWS KMS de ello, si lo desea, puede limitar los permisos que un servicio tiene a un recurso en una política basada en recursos proporcionando una combinación de aws:SourceAccount
aws:SourceArn
condiciones (ambas o una). aws:SourceAccount
es el identificador de AWS cuenta del propietario de una zona alojada. aws:SourceArn
pertenece a ARN una zona alojada.
A continuación se muestran dos ejemplos de permisos que puede agregar:
{ "Sid": "Allow Route 53 DNSSEC Service", … "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnEquals": { "aws:SourceArn": "arn:aws:route53:::hostedzone/HOSTED_ZONE_ID" } } },
- O -
{ "Sid": "Allow Route 53 DNSSEC Service", … "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": ["1111-2222-3333","4444-5555-6666"] }, "ArnLike": { "aws:SourceArn": "arn:aws:route53:::hostedzone/*" } } },
Para obtener más información, consulte El problema del diputado confuso en la Guía del IAM usuario.
Ejemplos de políticas administradas por el cliente
Puede crear sus propias IAM políticas personalizadas para permitir permisos para las acciones de Route 53. Puede adjuntar estas políticas personalizadas a los IAM grupos que requieren los permisos especificados. Estas políticas funcionan cuando se utiliza la Route 53 API AWS SDKs, la o la AWS CLI. A continuación se muestran algunos ejemplos de permisos para algunos casos de uso comunes. Para ver la política que concede a un usuario acceso total a Route 53, consulte Permisos necesarios para usar la consola de Amazon Route 53.
Ejemplos
- Ejemplo 1: Permitir acceso de lectura a todas las zonas hospedadas
- Ejemplo 2: Permitir la creación y eliminación de zonas hospedadas
- Ejemplo 3: Permitir acceso completo a todos los dominios (solo zonas hospedadas públicas)
- Ejemplo 4: Permitir la creación de puntos de enlace de entrada y salida de Route 53 Resolver
Ejemplo 1: Permitir acceso de lectura a todas las zonas hospedadas
La siguiente política de permisos concede al usuario permisos para mostrar todas las zonas hospedadas y ver todos los registros de una zona alojada.
{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "route53:GetHostedZone", "route53:ListResourceRecordSets" ], "Resource":"*" }, { "Effect":"Allow", "Action":["route53:ListHostedZones"], "Resource":"*" } ] }
Ejemplo 2: Permitir la creación y eliminación de zonas hospedadas
La siguiente política de permisos permite a los usuarios crear y eliminar zonas hospedadas, así como realizar un seguimiento del progreso del cambio.
{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":["route53:CreateHostedZone"], "Resource":"*" }, { "Effect":"Allow", "Action":["route53:DeleteHostedZone"], "Resource":"*" }, { "Effect":"Allow", "Action":["route53:GetChange"], "Resource":"*" } ] }
Ejemplo 3: Permitir acceso completo a todos los dominios (solo zonas hospedadas públicas)
La siguiente política de permisos permite a los usuarios realizar todas las acciones en los registros de dominios, incluidos los permisos para registrar dominios y crear zonas hospedadas.
{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "route53domains:*", "route53:CreateHostedZone" ], "Resource":"*" } ] }
Al registrar un dominio, se crea una zona alojada al mismo tiempo, por lo que una política que incluya permisos para registrar dominios también requiere permisos para crear zonas alojadas. (Para el registro de dominios, Route 53 no permite conceder permisos a recursos específicos).
Para obtener información sobre los permisos necesarios para trabajar con zonas hospedadas, consulte Permisos necesarios para usar la consola de Amazon Route 53.
Ejemplo 4: Permitir la creación de puntos de enlace de entrada y salida de Route 53 Resolver
La siguiente política de permisos permite a los usuarios utilizar la consola de Route 53 para crear puntos de enlace de entrada y salida de Resolver.
Algunos de estos permisos solo son necesarios para crear puntos de enlace en la consola. Puede omitir estos permisos si desea conceder permisos solo para crear puntos de enlace de entrada y salida mediante programación:
-
route53resolver:ListResolverEndpoints
permite a los usuarios ver la lista de puntos de enlace de entrada o salida para que puedan verificar que se ha creado un puntos de conexión. -
DescribeAvailabilityZones
es necesario para mostrar una lista de zonas de disponibilidad. -
DescribeVpcs
es necesario para mostrar una lista deVPCs.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "route53resolver:CreateResolverEndpoint", "route53resolver:ListResolverEndpoints", "ec2:CreateNetworkInterface", "ec2:DescribeAvailabilityZones", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs" ], "Resource": "*" } ] }