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.
Verwendung von IAM Richtlinienbedingungen für eine differenzierte Zugriffskontrolle
In Route 53 können Sie Bedingungen für die Erteilung von Berechtigungen mithilfe einer IAM Richtlinie angeben (sieheZugriffskontrolle). Beispielsweise ist Folgendes möglich:
-
Erteilen Sie Berechtigungen, um Zugriff auf einen einzelnen Ressourcendatensatz zu gewähren.
-
Erteilen Sie Berechtigungen, um Benutzern Zugriff auf alle Ressourcendatensätze eines bestimmten DNS Datensatztyps in einer gehosteten Zone zu gewähren, z. B. A und AAAA Datensätze.
-
Gewähren Sie Berechtigungen, um Benutzern den Zugriff auf einen Ressourcendatensatz zu ermöglichen, dessen Name eine bestimmte Zeichenfolge enthält.
-
Erteilen Sie Berechtigungen, damit Benutzer nur einen Teil der
CREATE | UPSERT | DELETE
Aktionen auf der Route 53-Konsole ausführen können, oder wenn Sie die ChangeResourceRecordSetsAPIverwenden. -
Erteilen Sie Berechtigungen, damit Benutzer private gehostete Zonen einer bestimmten Zone zuordnen oder diese trennen können. VPC
-
Erteilen Sie Berechtigungen, damit Benutzer gehostete Zonen auflisten können, die einer bestimmten Zone zugeordnet sind. VPC
-
Erteilen Sie Berechtigungen, damit Benutzer Zugriff darauf haben, eine neue private Hosting-Zone zu erstellen und sie einer bestimmten Zone zuzuordnenVPC.
-
Erteilen Sie Berechtigungen, damit Benutzer eine VPC Zuordnungsautorisierung erstellen oder löschen können.
Sie können auch Berechtigungen erstellen, die eine der detaillierten Berechtigungen kombinieren.
Normalisierung der Schlüsselwerte der Route 53-Bedingung
Die Werte, die Sie für die Richtlinienbedingungen eingeben, müssen wie folgt formatiert oder normalisiert sein:
Für route53:ChangeResourceRecordSetsNormalizedRecordNames
:
-
Alle Buchstaben müssen Kleinbuchstaben sein.
-
Der DNS Name muss ohne den letzten Punkt sein.
-
Andere Zeichen als a–z, 0–9, - (Bindestrich), _ (Unterstrich) und . (Punkt, als Trennzeichen zwischen Kennzeichnungen) müssen Escape-Codes im Format \dreistelliger Oktalcode verwenden. Zum Beispiel ist
\052
der Oktalcode für das Zeichen *.
Für route53:ChangeResourceRecordSetsActions
kann der Wert einer der folgenden Möglichkeiten sein und muss in Großbuchstaben sein:
-
CREATE
-
UPSERT
-
DELETE
Für route53:ChangeResourceRecordSetsRecordTypes
:
-
Der Wert muss in Großbuchstaben geschrieben werden und es kann sich um einen der von Route 53 unterstützten DNS Datensatztypen handeln. Weitere Informationen finden Sie unter Unterstützte DNS-Datensatztypen.
Für route53:VPCs
:
-
Der Wert muss das Format von
VPCId=<vpc-id>,VPCRegion=<region>
haben. -
Der Wert von
<vpc-id>
und<region>
muss in Kleinbuchstaben angegeben werden, z. B.VPCId=vpc-123abc
undVPCRegion=us-east-1
. -
Bei den Kontextschlüsseln und Werten wird zwischen Groß- und Kleinschreibung unterschieden.
Wichtig
Damit Ihre Berechtigungen Aktionen wie gewünscht zulassen oder einschränken können, müssen Sie diese Konventionen befolgen. Nur VPCId
VPCRegion
Elemente werden von diesem Bedingungsschlüssel akzeptiert, andere AWS Ressourcen, wie z. B. AWS-Konto, werden nicht unterstützt.
Sie können den Access Analyzer oder den Policy Simulator im IAMBenutzerhandbuch verwenden, um zu überprüfen, ob Ihre Richtlinie die Berechtigungen erwartungsgemäß gewährt oder einschränkt. Sie können die Berechtigungen auch überprüfen, indem Sie eine IAM Richtlinie auf einen Testbenutzer oder eine Testrolle anwenden, um Route 53 53-Operationen auszuführen.
Festlegung von Bedingungen: Verwenden von Bedingungsschlüsseln
AWS stellt eine Reihe vordefinierter Bedingungsschlüssel (AWS allgemeine Bedingungsschlüssel) für alle AWS Dienste bereit, die die Zugriffskontrolle unterstützenIAM. Sie können beispielsweise den aws:SourceIp
-Bedingungsschlüssel verwenden, um die IP-Adresse des Anforderers zu prüfen, bevor eine Aktion durchgeführt werden darf. Weitere Informationen und eine Liste der AWS-weiten Schlüssel finden Sie im IAMBenutzerhandbuch unter Verfügbare Schlüssel für Bedingungen.
Anmerkung
Route 53 unterstützt keine tag-basierten Bedingungsschlüssel.
In der folgenden Tabelle sind die dienstspezifischen Bedingungsschlüssel für Route 53 aufgeführt, die für Route 53 gelten.
Route 53-Bedingungsschlüssel | APIOperationen | Werttyp | Beschreibung |
---|---|---|---|
route53:ChangeResourceRecordSetsNormalizedRecordNames |
Mehrwertig |
Stellt eine Liste von DNS Datensatznamen in der Anfrage von darChangeResourceRecordSets. Um das erwartete Verhalten zu erzielen, müssen die DNS Namen in der IAM Richtlinie wie folgt normalisiert werden:
|
|
route53:ChangeResourceRecordSetsRecordTypes |
Mehrwertig |
Stellt eine Liste von DNS Datensatztypen in der Anfrage von
|
|
route53:ChangeResourceRecordSetsActions |
Mehrwertig |
Stellt eine Liste von Aktionen in der Anforderung von
|
|
route53:VPCs |
Ein ssociateVPCWith HostedZone D isassociateVPCFrom HostedZone |
Mehrwertig |
Stellt eine Liste von VPCs in der Anfrage vonAssociateVPCWithHostedZone ,DisassociateVPCFromHostedZone , ListHostedZonesByVPC CreateHostedZone ,CreateVPCAssociationAuthorization , undDeleteVPCAssociationAuthorization , und, im Format "VPCId=<vpc-id>, VPCRegion = <region> |
Beispielrichtlinien: Verwenden von Bedingungen für differenzierten Zugriff
Jedes der Beispiele im folgenden Abschnitt legt die Effektklausel auf „erlauben“ fest und gibt nur die Aktionen, Ressourcen und Parameter an, die erlaubt sind. Der Zugriff ist nur auf das erlaubt, was ausdrücklich in der IAM Richtlinie aufgeführt ist.
In einigen Fällen ist es möglich, diese Richtlinien umzuschreiben, damit sie auf Verweigerung basieren (dies bedeutet, die Effektklausel auf „verweigern“ festzulegen und die gesamte Logik in der Richtlinie umzukehren). Allerdings empfehlen wir, dass Sie die Nutzung von Richtlinien, die auf Verweigerung basieren vermeiden, weil es verglichen mit Richtlinien, die auf Berechtigung basieren, schwierig ist, sie korrekt zu schreiben. Dies gilt insbesondere für Route 53 aufgrund der erforderlichen Textnormalisierung.
Erteilen Sie Berechtigungen, die den Zugriff auf DNS Datensätze mit bestimmten Namen einschränken
Die folgende Berechtigungsrichtlinie gewährt Berechtigungen, die ChangeResourceRecordSets
-Aktionen in der gehosteten Zone Z12345 für example.com and marketing.example.com erlauben. Sie benutzt den route53:ChangeResourceRecordSetsNormalizedRecordNames
-Bedingungsschlüssel, um Benutzeraktionen nur auf die Datensätze zu beschränken, die den angegebenen Namen entsprechen.
{ "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
ist ein IAM Bedingungsoperator, der für Schlüssel mit mehreren Werten gilt. Die Bedingung in der obigen Richtlinie erlaubt den Vorgang nur, wenn alle Änderungen in example.com den DNS Namen example.com ChangeResourceRecordSets
haben. Weitere Informationen finden Sie im IAM Benutzerhandbuch unter IAMBedingungsoperatoren und IAMBedingungen mit mehreren Schlüsseln oder Werten.
Um die Berechtigung zu implementieren, die Namen mit bestimmten Suffixen abgleicht, können Sie den IAM Platzhalter (*) in der Richtlinie mit dem Bedingungsoperator oder verwenden. StringLike
StringNotLike
Die folgende Richtlinie erlaubt den Vorgang, wenn alle Änderungen im Vorgang DNS Namen haben, die auf ChangeResourceRecordSets
„-beta.example.com“ enden.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "route53:ChangeResourceRecordSets", "Resource": "arn:aws:route53:::hostedzone/Z11111112222222333333", "Condition": { "ForAllValues:StringLike":{ "route53:ChangeResourceRecordSetsNormalizedRecordNames": ["*-beta.example.com"] } } } ] }
Anmerkung
Der IAM Platzhalter ist nicht mit dem Platzhalter für den Domainnamen identisch. Im folgenden Beispiel wird gezeigt, wie der Platzhalter mit einem Domänennamen verwendet wird.
Gewähren Sie Berechtigungen, die den Zugriff auf DNS Datensätze einschränken, die einem Domainnamen entsprechen, der einen Platzhalter enthält
Die folgende Berechtigungsrichtlinie gewährt Berechtigungen, die ChangeResourceRecordSets
-Aktionen in der gehosteten Zone Z12345 für example.com erlauben. Er benutzt den Bedingungsschlüssel route53:ChangeResourceRecordSetsNormalizedRecordNames
, um Benutzeraktionen nur auf die Datensätze zu beschränken, die mit *.example.com übereinstimmen.
{ "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
ist der Oktalcode für das Zeichen * im DNS Namen, und \
in \052
wird der Syntax \\
entsprechend maskiert. JSON
Erteilen Sie Berechtigungen, die den Zugriff auf bestimmte DNS Datensätze einschränken
Die folgende Berechtigungsrichtlinie gewährt Berechtigungen, die ChangeResourceRecordSets
-Aktionen in der gehosteten Zone Z12345 für example.com erlauben. Es verwendet die Kombination von drei Bedingungstasten, um Benutzeraktionen so einzuschränken, dass nur DNS Datensätze mit einem bestimmten DNS Namen und Typ erstellt oder bearbeitet werden können.
{ "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"] } } } ] }
Gewähren Sie Berechtigungen, die den Zugriff darauf beschränken, nur die angegebenen DNS Datensatztypen zu erstellen und zu bearbeiten
Die folgende Berechtigungsrichtlinie gewährt Berechtigungen, die ChangeResourceRecordSets
-Aktionen in der gehosteten Zone Z12345 für example.com erlauben. Es verwendet den route53:ChangeResourceRecordSetsRecordTypes
Bedingungsschlüssel, um Benutzeraktionen nur für die Datensätze einzuschränken, die den angegebenen Typen (A undAAAA) entsprechen.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "route53:ChangeResourceRecordSets", "Resource": "arn:aws:route53:::hostedzone/Z11111112222222333333", "Condition": { "ForAllValues:StringEquals":{ "route53:ChangeResourceRecordSetsRecordTypes": ["A", "AAAA"] } } } ] }
Gewähren Sie Berechtigungen, die angebenVPC, in welchen Bereichen der IAM Principal arbeiten kann
Die folgende Berechtigungsrichtlinie gewährt Berechtigungen, dieAssociateVPCWithHostedZone
,,DisassociateVPCFromHostedZone
, ListHostedZonesByVPC
CreateHostedZone
CreateVPCAssociationAuthorization
, und DeleteVPCAssociationAuthorization
Aktionen für die in der VPC-ID VPC angegebenen Daten zulassen.
Wichtig
Der Bedingungswert muss das Format von haben. VPCId=<vpc-id>,VPCRegion=<region>
Wenn Sie VPC ARN im Bedingungswert a angeben, wird der Bedingungsschlüssel nicht wirksam.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "route53:*" ], "Resource": [ "*" ], "Condition": { "ForAllValues:StringLike": { "route53:VPCs": [ "VPCId=<vpc-id>,VPCRegion=<region>" ] } } }, { "Sid": "Statement2", "Effect": "Allow", "Action": "ec2:DescribeVpcs", "Resource": "*" } ] }