Utilizzo di politiche (IAMpolitiche) basate sull'identità per Amazon Route 53 - Amazon Route 53

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo di politiche (IAMpolitiche) basate sull'identità per Amazon Route 53

Questo argomento fornisce esempi di politiche basate sull'identità che dimostrano come un amministratore di account può associare politiche di autorizzazione alle IAM identità e quindi concedere le autorizzazioni per eseguire operazioni sulle risorse Amazon Route 53.

Importante

In primo luogo, è consigliabile esaminare gli argomenti introduttivi in cui vengono spiegati i concetti di base e le opzioni per gestire l'accesso alle risorse Route 53. Per ulteriori informazioni, consulta Panoramica della gestione delle autorizzazioni di accesso alle risorse di Amazon Route 53.

Nota

Quando si concede l'accesso, la zona ospitata e Amazon VPC devono appartenere alla stessa partizione. Una partizione è un gruppo di. Regioni AWS Ciascuno Account AWS è limitato a una partizione.

Di seguito sono riportate le partizioni supportate:

  • aws - Regioni AWS

  • aws-cn: Regioni Cina

  • aws-us-gov - AWS GovCloud (US) Region

Per ulteriori informazioni, consulta Gestione dell’accesso ed Endpoint e quote di Amazon Route 53 nella Guida di riferimento generale di AWS .

Di seguito viene illustrato un esempio di policy di autorizzazione. Il Sid, o ID dichiarazione, è facoltativo:

{ "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 policy include due dichiarazioni:

  • La prima dichiarazione consente di concedere autorizzazioni per le azioni necessarie per creare e gestire zone ospitate pubbliche e i relativi record. Il carattere jolly (*) in Amazon Resource Name (ARN) consente l'accesso a tutte le zone ospitate di proprietà dell'account corrente AWS .

  • La seconda dichiarazione consente di concedere autorizzazioni per tutte le azioni necessarie per creare e gestire i controlli dell'integrità.

Per un elenco di azioni e le informazioni da te ARN specificate per concedere o negare l'autorizzazione a utilizzare ciascuna azione, consulta. APIAutorizzazioni Amazon Route 53: riferimento ad azioni, risorse e condizioni

Autorizzazioni necessarie per utilizzare la console Amazon Route 53

Per concedere l'accesso completo alla console Amazon Route 53 è necessario concedere le autorizzazioni nelle seguenti policy di autorizzazione:

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

Di seguito viene descritto perché le autorizzazioni sono necessarie:

route53:*

Consente di eseguire tutte le operazioni di Route 53, tranne le seguenti:

  • Crea e aggiorna record di alias per i quali il valore di Alias Target è una CloudFront distribuzione, un sistema di bilanciamento del carico Elastic Load Balancing, un ambiente Elastic Beanstalk o un bucket Amazon S3. Con queste autorizzazioni, puoi creare record alias per cui il valore di Alias Target (Destinazione alias) è un altro record nella stessa hosted zone.

  • Utilizzare le zone ospitate private.

  • Lavorare con i domini.

  • Crea, elimina e visualizza gli allarmi. CloudWatch

  • Esegui il rendering CloudWatch delle metriche nella console Route 53.

route53domains:*

Consente di lavorare con domini.

Importante

Se si elencano operazioni route53 individualmente, è necessario includere route53:CreateHostedZone per lavorare con domini. Quando si registra un dominio, una zona ospitata viene creata nello stesso momento, quindi una policy che include le autorizzazioni per registrare domini, inoltre, richiede il permesso di creare hosted zone.

Per la registrazione di domini, Route 53 non supporta la concessione o il rifiuto di autorizzazioni per singole risorse.

route53resolver:*

Consente di lavorare con Route 53 Resolver.

ssm:GetParametersByPath

Consente di recuperare regioni disponibili pubblicamente quando crei nuovi record alias, zone ospitate private e controlli dell'integrità.

cloudfront:ListDistributions

Consente di creare e aggiornare record di alias per i quali il valore di Alias Target è una distribuzione. CloudFront

Queste autorizzazioni non sono necessarie se non utilizzi la console Route 53. Route 53 lo utilizza solo per ottenere un elenco di distribuzioni da visualizzare nella console.

elasticloadbalancing:DescribeLoadBalancers

Consente di creare e aggiornare record di alias per i quali il valore di Alias Target è un sistema di bilanciamento del carico. ELB

Queste autorizzazioni non sono necessarie se non utilizzi la console Route 53. Route 53 lo utilizza solo per ottenere un elenco di bilanciatori del carico da visualizzare nella console.

elasticbeanstalk:DescribeEnvironments

Consente di creare e aggiornare i record alias per cui il valore di Destinazione alias è un ambiente Elastic Beanstalk.

Queste autorizzazioni non sono necessarie se non utilizzi la console Route 53. Route 53 lo utilizza solo per ottenere un elenco di ambienti da visualizzare nella console.

s3:ListAllamzn-s3-demo-bucket, s3:GetBucketLocation e s3:GetBucketWebsite

Consente di creare e aggiornare i record alias per cui il valore di Destinazione alias è un bucket Amazon S3. (Puoi creare un alias per un bucket Amazon S3 solo se il bucket è configurato come endpoint di sito Web; s3:GetBucketWebsite ottiene le informazioni richieste sulla configurazione).

Queste autorizzazioni non sono necessarie se non utilizzi la console Route 53. Route 53 lo utilizza solo per ottenere un elenco di bucket da visualizzare nella console.

ec2:DescribeVpcs e ec2:DescribeRegions

Consente di lavorare con zone ospitate private.

Tutte le autorizzazioni ec2 elencate

Consente di lavorare con Route 53 Resolver.

sns:ListTopics, sns:ListSubscriptionsByTopic, sns:CreateTopic, cloudwatch:DescribeAlarms, cloudwatch:PutMetricAlarm, cloudwatch:DeleteAlarms

Consente di creare, eliminare e visualizzare gli allarmi. CloudWatch

cloudwatch:GetMetricStatistics

Consente di creare controlli CloudWatch metrici dello stato.

Queste autorizzazioni non sono necessarie se non utilizzi la console Route 53. Route 53 lo utilizza solo per ottenere statistiche da visualizzare nella console.

apigateway:GET

Consente di creare e aggiornare record di alias per i quali il valore di Alias Target è un Amazon API Gateway. API

Questa autorizzazione non è necessaria se non utilizzi la console Route 53. Route 53 lo utilizza solo per ottenere un elenco di cose APIs da visualizzare nella console.

kms:*

Consente di utilizzare AWS KMS per abilitare la DNSSEC firma.

Autorizzazioni di esempio per il proprietario di un record di dominio

Con le autorizzazioni relative al set di record di risorse è possibile impostare autorizzazioni granulari che limitano ciò che l' AWS utente può aggiornare o modificare. Per ulteriori informazioni, consulta Utilizzo di condizioni IAM politiche per un controllo granulare degli accessi.

In alcuni scenari, il proprietario di una zona ospitata potrebbe essere responsabile della gestione complessiva della zona ospitata mentre un'altra persona dell'organizzazione è responsabile di un sottoinsieme di tali attività. Il proprietario di una zona ospitata che ha abilitato la DNSSEC firma, ad esempio, potrebbe voler creare una IAM politica che includa l'autorizzazione di qualcun altro ad aggiungere ed eliminare Resource Set Records (RRs) nella zona ospitata, tra le altre attività. Le autorizzazioni specifiche che il proprietario di una zona ospitata sceglie di abilitare per un proprietario di record o altri utenti dipenderanno dalle policy dell'organizzazione.

Di seguito è riportato un esempio di IAM politica che consente al proprietario di un record di apportare modifiche alle RRs politiche sul traffico e ai controlli di integrità. Un proprietario di record con questa politica non è autorizzato a eseguire operazioni a livello di zona, come la creazione o l'eliminazione di una zona, l'attivazione o la disabilitazione della registrazione delle interrogazioni, la creazione o l'eliminazione di un set di deleghe riutilizzabile o la modifica delle impostazioni. 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": [ "*" ] }

Autorizzazioni chiave gestite dal cliente Route 53 necessarie per la firma DNSSEC

Quando abiliti la DNSSEC firma per Route 53, Route 53 crea una chiave per la firma delle chiavi (KSK) basata su una chiave gestita dal cliente in AWS Key Management Service ().AWS KMS Puoi utilizzare una chiave gestita dal cliente esistente che supporta la DNSSEC firma o crearne una nuova. Route 53 deve disporre dell'autorizzazione ad accedere alla tua chiave gestita dal cliente in modo che possa crearla KSK per te.

Per abilitare Route 53 per accedere alla chiave gestita dal cliente, assicurati che la policy della chiave gestita dal cliente contenga le seguenti istruzioni:

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

Con "confused deputy" si intende un problema di sicurezza in cui un'entità che non dispone dell'autorizzazione per eseguire una certa operazione può costringere un'entità con più privilegi a eseguire tale operazione. Per proteggerti AWS KMS da tale problema, puoi facoltativamente limitare le autorizzazioni di cui un servizio dispone per una risorsa in una politica basata sulle risorse, fornendo una combinazione di aws:SourceAccount e aws:SourceArn condizioni (entrambe o una). aws:SourceAccountè l'ID AWS dell'account del proprietario di una zona ospitata. aws:SourceArnappartiene a ARN una zona ospitata.

Di seguito sono riportati due esempi di autorizzazioni che è possibile aggiungere:

{ "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/*" } } },

Per ulteriori informazioni, vedere Il problema del deputato confuso nella Guida IAM per l'utente.

Esempi di policy gestite dal cliente

È possibile creare IAM politiche personalizzate per consentire le autorizzazioni per le azioni di Route 53. Puoi allegare queste politiche personalizzate ai IAM gruppi che richiedono le autorizzazioni specificate. Queste politiche funzionano quando si utilizza Route 53 API AWS SDKs, o. AWS CLI I seguenti esempi mostrano le autorizzazioni per diversi casi d'uso comuni. Per la policy che concede a un utente accesso completo a Route 53, consulta Autorizzazioni necessarie per utilizzare la console Amazon Route 53.

Esempio 1: Consentire l'accesso in lettura a tutte le zone ospitate

La seguente policy di autorizzazione concede all'utente le autorizzazioni per elencare tutte le zone ospitate e visualizzare tutti i record in una zona ospitata.

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "route53:GetHostedZone", "route53:ListResourceRecordSets" ], "Resource":"*" }, { "Effect":"Allow", "Action":["route53:ListHostedZones"], "Resource":"*" } ] }

Esempio 2: Consentire la creazione ed eliminazione delle zone ospitate

La seguente policy di autorizzazione consente agli utenti di creare e cancellare zone ospitate e di monitorare l'avanzamento della modifica.

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":["route53:CreateHostedZone"], "Resource":"*" }, { "Effect":"Allow", "Action":["route53:DeleteHostedZone"], "Resource":"*" }, { "Effect":"Allow", "Action":["route53:GetChange"], "Resource":"*" } ] }

Esempio 3: Consentire l'accesso completo a tutti i domini (solo zone ospitate pubbliche)

La seguente policy di autorizzazione consente agli utenti di eseguire tutte le azioni su registrazioni di dominio, incluse le autorizzazioni per registrare domini e creare hosted zone.

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "route53domains:*", "route53:CreateHostedZone" ], "Resource":"*" } ] }

Quando si registra un dominio, una zona ospitata viene creata nello stesso momento, quindi una policy che include le autorizzazioni per registrare domini, inoltre, richiede le autorizzazioni per creare hosted zone. (Per la registrazione di domini, Route 53 non supporta la concessione di autorizzazioni per singole risorse.)

Per informazioni sulle autorizzazioni necessarie per lavorare con zone ospitate private, consulta Autorizzazioni necessarie per utilizzare la console Amazon Route 53.

Esempio 4: Consentire la creazione di endpoint di Route 53 Resolver in entrata e in uscita

La policy di autorizzazioni riportata di seguito consente agli utenti di utilizzare la console Route 53 per creare endpoint in ingresso e in uscita di Resolver.

Alcune di queste autorizzazioni sono necessarie solo per creare endpoint nella console. È possibile omettere queste autorizzazioni se si desidera concedere autorizzazioni solo per creare endpoint in ingresso e in uscita a livello di codice:

  • route53resolver:ListResolverEndpoints consente agli utenti di visualizzare l'elenco degli endpoint in ingresso o in uscita in modo da poter verificare che sia stato creato un endpoint.

  • DescribeAvailabilityZones è necessario per visualizzare un elenco di Zone di disponibilità.

  • DescribeVpcsè necessario per visualizzare un elenco diVPCs.

{ "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": "*" } ] }