Verwendung von IAM Richtlinienbedingungen für eine differenzierte Zugriffskontrolle - 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.

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

ChangeResourceRecordSets

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:

  • Alle Buchstaben müssen Kleinbuchstaben sein.

  • Der DNS Name muss ohne den letzten Punkt sein.

  • Andere Zeichen als a–z, 0 bis 9, - (Bindestrich), _ (Unterstrich) und . (Punkt, als Trennzeichen zwischen Kennzeichnungen) muss Escape-Codes im Format \dreistelliger Oktalcode verwenden.

route53:ChangeResourceRecordSetsRecordTypes

ChangeResourceRecordSets

Mehrwertig

Stellt eine Liste von DNS Datensatztypen in der Anfrage von ChangeResourceRecordSets dar.

ChangeResourceRecordSetsRecordTypeskann jeder der von Route 53 unterstützten DNS Datensatztypen sein. Weitere Informationen finden Sie unter Unterstützte DNS-Datensatztypen. Alle müssen in der Richtlinie in Großbuchstaben eingegeben werden.

route53:ChangeResourceRecordSetsActions

ChangeResourceRecordSets

Mehrwertig

Stellt eine Liste von Aktionen in der Anforderung von ChangeResourceRecordSets dar.

ChangeResourceRecordSetsActions kann jeder der folgenden Werte sein (muss in Großbuchstaben sein):

  • CREATE

  • UPSERT

  • DELETE

route53:VPCs

Ein ssociateVPCWith HostedZone

D isassociateVPCFrom HostedZone

ListHostedZonesByVPC

CreateHostedZone

C reateVPCAssociation Autorisierung

D eleteVPCAssociation Autorisierung

Mehrwertig

Stellt eine Liste von VPCs in der Anfrage vonAssociateVPCWithHostedZone,DisassociateVPCFromHostedZone, ListHostedZonesByVPCCreateHostedZone,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:StringEqualsist 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 CreateHostedZoneCreateVPCAssociationAuthorization, 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": "*" } ] }