Verwenden identitätsbasierter Richtlinien (IAM-Richtlinien) für Amazon Route 53 - Amazon Route 53

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden identitätsbasierter Richtlinien (IAM-Richtlinien) für Amazon Route 53

Dieses Thema stellt Beispiele für identitätsbasierte Richtlinien bereit, die zeigen, wie ein Kontoadministrator Berechtigungsrichtlinien an IAM-Identitäten anfügen und damit Berechtigungen für die Durchführung von Operationen für Amazon-Route-53-Ressourcen gewähren kann.

Wichtig

Wir empfehlen Ihnen, zunächst die einführenden Themen zu lesen, in denen die Grundkonzepte und Optionen zum Verwalten des Zugriffs auf Ihre Route-53-Ressourcen erläutert werden. Weitere Informationen finden Sie unter Übersicht zur Verwaltung der Zugriffsberechtigungen für Amazon-Route-53-Ressourcen.

Anmerkung

Wenn Zugriff gewährt wird, müssen die gehostete Zone und die Amazon VPC zur selben Partition gehören. Eine Partition ist eine Gruppe von AWS-Regionen. Jedes AWS-Konto ist auf eine Partition ausgelegt.

Im Folgenden werden die unterstützten Partitionen angezeigt:

  • aws - AWS-Regionen

  • aws-cn – Chinesiche Regionen

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

Weitere Informationen finden Sie unter Zugriffsverwaltung und Amazon-Route-53-Endpunkte und Kontingente in der Allgemeinen Referenz zu AWS.

Das folgende Beispiel zeigt eine Berechtigungsrichtlinie. Der Abschnitt Sid (die Anweisungs-ID) ist optional:

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

Die Richtlinie enthält zwei Anweisungen:

  • Die erste Anweisung gewährt Berechtigungen für die Aktionen, die zum Erstellen und Verwalten von öffentlichen gehosteten Zonen und deren Datensätzen erforderlich sind. Das Platzhalterzeichen (*) im Amazon-Ressourcennamen (ARN) bedeutet, dass Zugriff auf alle gehosteten Zonen des aktuellen AWS-Kontos gewährt wird.

  • Die zweite Anweisung erteilt Berechtigungen für alle Aktionen, die zum Erstellen und Verwalten von Zustandsprüfungen erforderlich sind.

Eine Liste der Aktionen mit den anzugebenden ARNs, mit denen ihnen Berechtigungen erteilt oder entzogen werden, finden Sie unter Amazon-Route-53-API-Berechtigungen: Referenztabelle für Aktionen, Ressourcen und Bedingungen.

Erforderliche Berechtigungen zur Verwendung der Amazon-Route-53-Konsole

Um Vollzugriff auf die Amazon-Route-53-Konsole zu gewähren, gewähren Sie die Berechtigungen in der folgenden Berechtigungsrichtlinie:

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "route53:*", "route53domains:*", "ssm:GetParametersByPath", "cloudfront:ListDistributions", "elasticloadbalancing:DescribeLoadBalancers", "elasticbeanstalk:DescribeEnvironments", "s3:ListAllMyBuckets", "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" } ] }

Gründe, warum die Berechtigungen erforderlich sind

route53:*

Ermöglicht die Durchführung aller Route-53-Aktionen, mit Ausnahme der folgenden Aktionen:

  • Erstellen und aktualisieren Sie Alias-Datensätze, für die der Wert von Alias Target eine CloudFront Verteilung, ein Elastic Load Balancing Load Balancer, eine Elastic Beanstalk-Umgebung oder ein Amazon S3-Bucket ist. (Mit diesen Berechtigungen können Sie Alias-Datensätze erstellen, für die der Wert für Alias Target ein anderer Datensatz in der gleichen gehosteten Zone ist.)

  • Arbeiten mit privaten gehosteten Zonen

  • Arbeiten mit Domänen

  • Erstellen, Löschen und Anzeigen von CloudWatch Alarmen.

  • Rendern Sie CloudWatch Metriken in der Route-53-Konsole.

route53domains:*

Ermöglicht Ihnen das Arbeiten mit Domänen.

Wichtig

Wenn Sie route53-Aktionen einzeln auflisten, müssen Sie route53:CreateHostedZone für das Arbeiten mit Domänen angeben. Wenn Sie eine Domäne registrieren, wird gleichzeitig eine gehostete Zone erstellt. Also erfordert eine Richtlinie, die Berechtigungen zur Registrierung von Domänen enthält, auch eine Berechtigung zum Erstellen von gehosteten Zonen.

Bei der Domänenregistrierung wird die Erteilung oder Ablehnung von Berechtigungen für einzelne Ressourcen von Route 53 nicht unterstützt.

route53resolver:*

Ermöglicht Ihnen das Arbeiten mit Route 53 Resolver.

ssm:GetParametersByPath

Ermöglicht das Abrufen öffentlich verfügbarer Regionen, wenn Sie neue Aliaseinträge, private gehostete Zonen und Zustandsprüfungen erstellen.

cloudfront:ListDistributions

Ermöglicht das Erstellen und Aktualisieren von Alias-Datensätzen, für die der Wert von Alias Target eine CloudFront Verteilung ist.

Diese Berechtigungen sind nicht erforderlich, wenn Sie die Route-53-Konsole nicht verwenden. Route 53 verwendet sie nur, um eine Liste der Verteilungen abzurufen und in der Konsole anzuzeigen.

elasticloadbalancing:DescribeLoadBalancers

Ermöglicht das Erstellen und Aktualisieren von Alias-Datensätzen, für die der Wert für Alias Target ein ELB-Load Balancer ist.

Diese Berechtigungen sind nicht erforderlich, wenn Sie die Route-53-Konsole nicht verwenden. Route 53 verwendet sie nur, um eine Liste der Load Balancer abzurufen und in der Konsole anzuzeigen.

elasticbeanstalk:DescribeEnvironments

Ermöglicht das Erstellen und Aktualisieren von Alias-Datensätzen, für die der Wert für Aliasziel eine Elastic-Beanstalk-Umgebung ist.

Diese Berechtigungen sind nicht erforderlich, wenn Sie die Route-53-Konsole nicht verwenden. Route 53 verwendet sie nur, um eine Liste der Umgebungen abzurufen und in der Konsole anzuzeigen.

s3:ListAllMyBuckets, s3:GetBucketLocation und s3:GetBucketWebsite

Ermöglicht das Erstellen und Aktualisieren von Alias-Datensätzen, für die der Wert für Aliasziel ein Amazon-S3-Bucket ist. (Sie können einen Alias für einen Amazon-S3-Bucket nur erstellen, wenn der Bucket als Website-Endpunkt konfiguriert ist; s3:GetBucketWebsite ruft die benötigten Konfigurationsinformationen ab.)

Diese Berechtigungen sind nicht erforderlich, wenn Sie die Route-53-Konsole nicht verwenden. Route 53 verwendet sie nur, um eine Liste der Buckets abzurufen und in der Konsole anzuzeigen.

ec2:DescribeVpcs und ec2:DescribeRegions

Ermöglicht das Arbeiten mit privaten gehosteten Zonen.

Alle aufgelisteten ec2-Berechtigungen

Ermöglicht Ihnen die Arbeit mit Route 53 Resolver.

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

Ermöglicht das Erstellen, Löschen und Anzeigen von CloudWatch Alarmen.

cloudwatch:GetMetricStatistics

Ermöglicht das Erstellen von CloudWatch Metrik-Zustandsprüfungen.

Diese Berechtigungen sind nicht erforderlich, wenn Sie die Route-53-Konsole nicht verwenden. Route 53 verwendet sie nur, um Statistiken abzurufen und in der Konsole anzuzeigen.

apigateway:GET

Ermöglicht das Erstellen und Aktualisieren von Alias-Datensätzen, für die der Wert für Aliasziel eine Amazon-API-Gateway-API ist.

Diese Berechtigung ist nicht erforderlich, wenn Sie die Route-53-Konsole nicht verwenden. Route 53 verwendet sie nur, um eine Liste der APIs abzurufen und in der Konsole anzuzeigen.

kms:*

Ermöglicht Ihnen das Arbeiten mit AWS KMS, um DNSSEC-Signatur zu aktivieren.

Beispielberechtigungen für einen Domänendatensatzbesitzer

Mit Berechtigungen zum Festlegen von Ressourcendatensätzen können Sie detaillierte Berechtigungen festlegen, die einschränken, was ein AWS-Benutzer aktualisieren oder ändern kann. Weitere Informationen finden Sie unter Verwenden von IAM-Richtlinienbedingungen für die differenzierte Zugriffskontrolle zum Verwalten von Ressourcendatensätzen.

In einigen Szenarien kann ein Besitzer einer gehosteten Zone für die Gesamtverwaltung der gehosteten Zone verantwortlich sein, während eine andere Person in der Organisation für eine Teilmenge dieser Aufgaben verantwortlich ist. Ein Besitzer einer gehosteten Zone, der beispielsweise die DNSSEC-Signatur aktiviert hat, möchte möglicherweise eine IAM-Richtlinie erstellen, die die Berechtigung für eine andere Person enthält, unter anderem Ressourcensatzdatensätze (RR) in der gehosteten Zone hinzuzufügen und zu löschen. Die spezifischen Berechtigungen, die ein Besitzer einer gehosteten Zone für einen Datensatzbesitzer oder andere Personen aktiviert, hängen von der Richtlinie ihrer Organisation ab.

Im Folgenden finden Sie ein Beispiel für eine IAM-Richtlinie, die es einem Datensatzbesitzer ermöglicht, Änderungen an RRs, Datenverkehrsrichtlinien und Integritätsprüfungen vorzunehmen. Ein Datensatzbesitzer mit dieser Richtlinie ist nicht berechtigt, Vorgänge auf Zonenebene durchzuführen, z. B. das Erstellen oder Löschen einer Zone, das Aktivieren oder Deaktivieren der Abfrageprotokollierung, das Erstellen oder Löschen eines wiederverwendbaren Delegierungssatzes oder das Ändern von DNSSEC-Einstellungen.

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

Route 53 vom Kunden verwaltete Schlüsselberechtigungen für DNSSEC-Signierung erforderlich

Wenn Sie die DNSSEC-Signierung für Route 53 aktivieren, erstellt Route 53 einen Schlüsselsignaturschlüssel (KSK) basierend auf einem vom Kunden verwalteten Schlüssel in AWS Key Management Service (AWS KMS). Sie können einen vorhandenen vom Kunden verwalteten Schlüssel verwenden, der DNSSEC-Signatur unterstützt oder einen neuen Schlüssel erstellen. Route 53 muss über die Berechtigung verfügen, auf den vom Kunden verwalteten Schlüssel zuzugreifen, damit die KSK für Sie erstellt werden kann.

Um Route 53 für den Zugriff auf Ihren vom Kunden verwalteten Schlüssel zu aktivieren, stellen Sie sicher, dass die vom Kunden verwaltete Schlüsselrichtlinie die folgenden Anweisungen enthält:

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

Das Confused-Deputy-Problem ist ein Sicherheitsproblem, bei dem eine juristische Stelle, die nicht über die Berechtigung zum Ausführen einer Aktion verfügt, eine privilegiertere juristische Stelle zwingen kann, sie auszuführen. Um Ihren AWS KMS davor zu schützen, können Sie optional die Berechtigungen einschränken, die ein Dienst für eine Ressource in einer ressourcenbasierten Richtlinie hat, indem Sie eine Kombination aus aws:SourceAccount- und aws:SourceArn-Bedingungen (beide oder eine) angeben. aws:SourceAccount ist eine AWS-Konto-ID eines Besitzers einer gehosteten Zone. aws:SourceArn ist ein ARN einer gehosteten Zone.

Im Folgenden finden Sie zwei Beispiele für Berechtigungen, die Sie hinzufügen können:

{ "Sid": "Allow Route 53 DNSSEC Service", … "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnEquals": { "aws:SourceArn": "arn:aws:route53:::hostedzone/HOSTED_ZONE_ID" } } },

- Oder -

{ "Sid": "Allow Route 53 DNSSEC Service", … "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": ["1111-2222-3333","4444-5555-6666"] }, "ArnLike": { "aws:SourceArn": "arn:aws:route53:::hostedzone/*" } } },

Weitere Informationen finden Sie unter Das Problem des verwirrten Stellvertreters im IAM-Benutzerhandbuch.

Beispiele für vom Kunden verwaltete Richtlinien

Sie können eigene benutzerdefinierte IAM-Richtlinien erstellen, um Berechtigungen für Route-53-Aktionen zu erteilen. Sie können diese benutzerdefinierten Richtlinien den IAM-Gruppen anfügen, für die die angegebenen Berechtigungen erforderlich sind. Diese Richtlinien sind nur wirksam, wenn Sie die Route-53-API, die AWS-SDKs oder die AWS-CLI verwenden. Die folgenden Beispiele zeigen Berechtigungen für einige häufige Anwendungsfälle. Weitere Informationen zu der Richtlinie, die Benutzern Vollzugriff auf Route 53 gewährt, finden Sie unter Erforderliche Berechtigungen zur Verwendung der Amazon-Route-53-Konsole.

Beispiel 1: Lesezugriff auf alle gehosteten Zonen gewähren

Die folgende Berechtigungsrichtlinie gewährt dem Benutzer Berechtigungen zum Auflisten aller gehosteten Zonen und zum Anzeigen aller Datensätze in einer gehosteten Zone.

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

Beispiel 2: Erstellen und Löschen gehosteter Zonen zulassen

Die folgende Berechtigungsrichtlinie erlaubt es Benutzern, gehostete Zonen zu erstellen und zu löschen und den Fortschritt der Änderung zu verfolgen.

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

Beispiel 3: Vollzugriff auf alle Domänen erlauben (nur öffentliche gehostete Zonen)

Die folgende Berechtigungsrichtlinie erlaubt es Benutzern, alle Aktionen für die Domänenregistrierung durchzuführen (z. B. Berechtigungen zum Registrieren von Domänen und Erstellen gehosteter Zonen).

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

Wenn Sie eine Domäne registrieren, wird gleichzeitig eine gehostete Zone erstellt. Also erfordert eine Richtlinie, die Berechtigungen zur Registrierung von Domänen enthält, auch Berechtigungen zum Erstellen von gehosteten Zonen. (Bei der Domänenregistrierung wird die Erteilung von Berechtigungen für einzelne Ressourcen von Route 53 nicht unterstützt.)

Weitere Informationen zu den Berechtigungen, die für das Arbeiten mit privaten gehosteten Zonen erforderlich sind, finden Sie unter Erforderliche Berechtigungen zur Verwendung der Amazon-Route-53-Konsole.

Beispiel 4: Erstellen von eingehenden und ausgehenden Route-53-Resolver-Endpunkten zulassen

Mit der folgenden Berechtigungsrichtlinie können Benutzer die Route-53-Konsole verwenden, um eingehende und ausgehende Resolver-Endpunkte zu erstellen.

Einige dieser Berechtigungen sind nur zum Erstellen von Endpunkten in der Konsole erforderlich. Sie können diese Berechtigungen weglassen, wenn Sie Berechtigungen nur zum programmgesteuerten Erstellen eingehender und ausgehender Endpunkte erteilen möchten:

  • Mit route53resolver:ListResolverEndpoints können Benutzer die Liste der eingehenden oder ausgehenden Endpunkte anzeigen, damit sie überprüfen können, ob ein Endpunkt erstellt wurde.

  • DescribeAvailabilityZones ist erforderlich, um eine Liste der Availability Zones anzuzeigen.

  • DescribeVpcs ist erforderlich, um eine Liste von VPCs anzuzeigen.

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