Beispiele für identitätsbasierte Amazon-RDS-Richtlinien - Amazon Relational Database Service

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.

Beispiele für identitätsbasierte Amazon-RDS-Richtlinien

Standardmäßig besitzen Berechtigungssätze und Rollen keine Berechtigungen zum Erstellen oder Ändern von Amazon-RDS--Ressourcen. Sie können auch keine Aufgaben mit der AWS Management Console AWS CLI, oder AWS API ausführen. Ein IAM-Administrator muss IAM-Richtlinien erstellen, die Berechtigungssätzen und Rollen die Berechtigung zum Ausführen bestimmter API-Operationen für die angegebenen Ressourcen gewähren, die diese benötigen. Der Administrator muss diese Richtlinien anschließend den Berechtigungssätzen oder Rollen anfügen, die diese Berechtigungen benötigen.

Informationen dazu, wie Sie unter Verwendung dieser beispielhaften JSON-Richtliniendokumente eine identitätsbasierte IAM-Richtlinie erstellen, finden Sie unter Erstellen von Richtlinien auf der JSON-Registerkarte im IAM-Benutzerhandbuch.

Bewährte Methoden für Richtlinien

Identitätsbasierte Richtlinien können festlegen, ob jemand Amazon-RDS-Ressourcen in Ihrem Konto erstellen, darauf zugreifen oder daraus löschen kann. Dies kann zusätzliche Kosten für Ihr verursachen AWS-Konto. Befolgen Sie beim Erstellen oder Bearbeiten identitätsbasierter Richtlinien die folgenden Anleitungen und Empfehlungen:

  • Erste Schritte mit AWS verwalteten Richtlinien und Umstellung auf Berechtigungen mit den geringsten Rechten — Verwenden Sie die AWS verwalteten Richtlinien, die Berechtigungen für viele gängige Anwendungsfälle gewähren, um damit zu beginnen, Ihren Benutzern und Workloads Berechtigungen zu gewähren. Sie sind in Ihrem verfügbar. AWS-Konto Wir empfehlen Ihnen, die Berechtigungen weiter zu reduzieren, indem Sie vom AWS Kunden verwaltete Richtlinien definieren, die speziell auf Ihre Anwendungsfälle zugeschnitten sind. Weitere Informationen finden Sie unter AWS -verwaltete Richtlinien oder AWS -verwaltete Richtlinien für Auftrags-Funktionen im IAM-Benutzerhandbuch.

  • Anwendung von Berechtigungen mit den geringsten Rechten – Wenn Sie mit IAM-Richtlinien Berechtigungen festlegen, gewähren Sie nur die Berechtigungen, die für die Durchführung einer Aufgabe erforderlich sind. Sie tun dies, indem Sie die Aktionen definieren, die für bestimmte Ressourcen unter bestimmten Bedingungen durchgeführt werden können, auch bekannt als die geringsten Berechtigungen. Weitere Informationen zur Verwendung von IAM zum Anwenden von Berechtigungen finden Sie unter Richtlinien und Berechtigungen in IAM im IAM-Benutzerhandbuch.

  • Verwenden von Bedingungen in IAM-Richtlinien zur weiteren Einschränkung des Zugriffs – Sie können Ihren Richtlinien eine Bedingung hinzufügen, um den Zugriff auf Aktionen und Ressourcen zu beschränken. Sie können beispielsweise eine Richtlinienbedingung schreiben, um festzulegen, dass alle Anforderungen mithilfe von SSL gesendet werden müssen. Sie können auch Bedingungen verwenden, um Zugriff auf Serviceaktionen zu gewähren, wenn diese für einen bestimmten Zweck verwendet werden AWS-Service, z. AWS CloudFormation B. Weitere Informationen finden Sie unter IAM-JSON-Richtlinienelemente: Bedingung im IAM-Benutzerhandbuch.

  • Verwenden von IAM Access Analyzer zur Validierung Ihrer IAM-Richtlinien, um sichere und funktionale Berechtigungen zu gewährleisten – IAM Access Analyzer validiert neue und vorhandene Richtlinien, damit die Richtlinien der IAM-Richtliniensprache (JSON) und den bewährten IAM-Methoden entsprechen. IAM Access Analyzer stellt mehr als 100 Richtlinienprüfungen und umsetzbare Empfehlungen zur Verfügung, damit Sie sichere und funktionale Richtlinien erstellen können. Weitere Informationen finden Sie unter Richtlinienvalidierung zum IAM Access Analyzer im IAM-Benutzerhandbuch.

  • Multi-Faktor-Authentifizierung (MFA) erforderlich — Wenn Sie ein Szenario haben, das IAM-Benutzer oder einen Root-Benutzer in Ihrem System erfordert AWS-Konto, aktivieren Sie MFA für zusätzliche Sicherheit. Um MFA beim Aufrufen von API-Vorgängen anzufordern, fügen Sie Ihren Richtlinien MFA-Bedingungen hinzu. Weitere Informationen finden Sie unter Konfigurieren eines MFA-geschützten API-Zugriffs im IAM-Benutzerhandbuch.

Weitere Informationen zu bewährten Methoden in IAM finden Sie unter Bewährte Methoden für die Sicherheit in IAM im IAM-Benutzerhandbuch.

Verwenden der Amazon RDS-Konsole

Um auf die Amazon RDS-Konsole zuzugreifen, müssen Sie über einen Mindestsatz von Berechtigungen verfügen. Diese Berechtigungen müssen es Ihnen ermöglichen, Details zu den Amazon RDS Amazon in Ihrem aufzulisten und anzuzeigen AWS-Konto. Wenn Sie eine identitätsbasierte Richtlinie erstellen, die strenger ist als die mindestens erforderlichen Berechtigungen, funktioniert die Konsole nicht wie vorgesehen für Entitäten (Benutzer oder Rollen) mit dieser Richtlinie.

Sie müssen Benutzern, die nur die API AWS CLI oder die AWS API aufrufen, keine Mindestberechtigungen für die Konsole gewähren. Stattdessen sollten Sie nur Zugriff auf die Aktionen zulassen, die der API-Operation entsprechen, die Sie ausführen möchten.

Um sicherzustellen, dass diese Entitäten weiterhin die Amazon RDS verwenden können, fügen Sie den Entitäten auch die folgende AWS verwaltete Richtlinie hinzu.

AmazonRDSReadOnlyAccess

Weitere Informationen finden Sie unter Hinzufügen von Berechtigungen zu einem Benutzer im IAM-Benutzerhandbuch.

Gewähren der Berechtigung zur Anzeige der eigenen Berechtigungen für Benutzer

In diesem Beispiel wird gezeigt, wie Sie eine Richtlinie erstellen, die IAM-Benutzern die Berechtigung zum Anzeigen der eingebundenen Richtlinien und verwalteten Richtlinien gewährt, die ihrer Benutzeridentität angefügt sind. Diese Richtlinie beinhaltet Berechtigungen zum Ausführen dieser Aktion auf der Konsole oder programmgesteuert mithilfe der API AWS CLI oder AWS .

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Erlaubt einem Benutzer, DB-Instances in einem Konto zu erstellen AWS

Im Folgenden finden Sie ein Beispiel für eine Richtlinie, die es dem Benutzer mit der ID ermöglicht, DB-Instances für Ihr AWS Konto 123456789012 zu erstellen. Die Richtlinie setzt voraus, dass der Name der DB-Instance mit beginn test. Die neue DB-Instance muss auch die MySQL-Datenbank-Engine und die DB-Instance-Klasse db.t2.micro verwenden. Zusätzlich muss die neue DB-Instance eine Optionsgruppe und eine DB-Parametergruppe verwenden, die mit default beginnt und die Subnetzgruppe default verwendet.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateDBInstanceOnly", "Effect": "Allow", "Action": [ "rds:CreateDBInstance" ], "Resource": [ "arn:aws:rds:*:123456789012:db:test*", "arn:aws:rds:*:123456789012:og:default*", "arn:aws:rds:*:123456789012:pg:default*", "arn:aws:rds:*:123456789012:subgrp:default" ], "Condition": { "StringEquals": { "rds:DatabaseEngine": "mysql", "rds:DatabaseClass": "db.t2.micro" } } } ] }

Die Richtlinie ist ein einzelnes Statement, das die folgenden Berechtigungen für den -Benutzer bestimmt:

  • Die Richtlinie ermöglicht es dem Benutzer, eine DB-Instance mithilfe des API-Vorgangs CreateDBInstance zu erstellen (dies gilt auch für den Befehl AWS CLI create-db-instance und den). AWS Management Console

  • Das Element Resource gibt an, dass der Benutzer auf oder mit Ressourcen Aktionen ausführen kann. Sie geben Ressourcen über einen Amazon Resources Name (ARN) an. Dieser ARN umfasst den Namen des Dienstes, zu dem die Ressource gehört (rds), die AWS Region (*gibt in diesem Beispiel eine beliebige Region an), die AWS Kontonummer (123456789012ist in diesem Beispiel die Kontonummer) und den Ressourcentyp. Weitere Informationen zum Erstellen von ARNs finden Sie unter Arbeiten mit Amazon-Ressourcennamen (ARN) in Amazon RDS.

    Das Resource-Element im Beispiel gibt für den Benutzer die folgenden richtlinienbezogenen Einschränkungen für die Ressourcen an:

    • Die DB-Instance-Kennung für die neue DB-Instance muss mit test beginnen (zum Beispiel testCustomerData1, test-region2-data).

    • Die Optionsgruppe für die neue DB-Instance muss mit beginne default.

    • Die DB-Parametergruppe für die neue DB-Instance muss mit beginne default.

    • Die Subnetzgruppe für die neue DB-Instance muss mit default beginnen.

  • Das Condition-Element gibt an, dass die DB-Engine MySQL sein muss und die DB-Instance-Klasse db.t2.micro sein muss. Das Condition-Element bestimmt die Bedingungen, wann eine Richtlinie wirksam sein soll. Sie können zusätzliche Berechtigungen oder Einschränkungen hinzufügen, indem Sie das Condition-Element verwenden. Weitere Informationen zur Angabe von Bedingungen finden Sie unter Richtlinien-Bedingungsschlüssel für Amazon RDS. Dieses Beispiel zeigt die Bedingungen rds:DatabaseEngine und rds:DatabaseClass. Informationen zu den gültigen Bedingungswerten für rds:DatabaseEngine finden Sie in der Liste unter dem Parameter Engine in CreateDBInstance. Informationen zu den gültigen Bedingungswerten für rds:DatabaseClass finden Sie unter Unterstützte DB-Engines für DB-Instance-Klassen .

Das Element Principal ist in der Richtlinie nicht angegeben, da in identitätsbasierten Richtlinien die Angabe des Prinzipals als Empfänger der Berechtigung nicht erforderlich ist. Wenn Sie einem Benutzer eine Richtlinie zuweisen, ist der Benutzer automatisch der Prinzipal. Wird die Berechtigungsrichtlinie einer IAM-Rolle zugewiesen, erhält der in der Vertrauensrichtlinie der Rolle angegebene Prinzipal die Berechtigungen.

Um eine Liste von Amazon-RDS-Aktionen finden Sie unter Von Amazon RDS definierte Aktionen in der Service-Autorisierungs-Referenz

Erforderliche Berechtigungen für die Verwendung der Konsole

Damit ein Benutzer mit der Konsole arbeiten kann, muss dieser Benutzer über einen Minimumsatz an Berechtigungen verfügen. Diese Berechtigungen ermöglichen es dem Benutzer, die Amazon RDS Amazon für sein AWS Konto zu beschreiben und andere verwandte Informationen bereitzustellen, einschließlich Amazon EC2-Sicherheits- und Netzwerkinformationen.

Wenn Sie eine IAM-Richtlinie erstellen, die strenger ist als die mindestens erforderlichen Berechtigungen, funktioniert die Konsole nicht wie vorgesehen für Benutzer mit dieser IAM-Richtlinie. Um sicherzustellen, dass diese Benutzer die Konsole weiterhin verwenden können, fügen Sie dem Benutzer auch die verwaltete Richtlinie AmazonRDSReadOnlyAccess an. Einzelheiten dazu finden Sie unter Verwalten des Zugriffs mit Richtlinien.

Für Benutzer, die nur Aufrufe an die AWS CLI oder Amazon-RDS-API durchführen, müssen Sie keine Mindestberechtigungen in der Konsole erteilen.

Die folgende Richtlinie gewährt vollen Zugriff auf alle Amazon RDS Amazon für das AWS Root-Konto:

AmazonRDSFullAccess

Einem Benutzer eine beliebige Beschreibungsaktion für eine beliebige RDS-Ressource erlauben

Die folgende Berechtigungsrichtlinie gewährt Berechtigungen für einen Benutzer, alle Aktionen auszuführen, die mit beginne Describe. Diese Aktionen zeigen Informationen zu einer RDS-Ressource, z. B. eine DB-Instance. Das Platzhalterzeichen (*) im Resource-Element zeigt an, dass die Aktionen für alle Amazon RDS-Ressourcen erlaubt sind, die dem Konto gehören.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRDSDescribe", "Effect": "Allow", "Action": "rds:Describe*", "Resource": "*" } ] }

Einem Benutzer erlauben, eine DB-Instance zu erstellen, die spezifische DB-Parametergruppe und Subnetzgruppe verwendet.

Die folgenden Berechtigungsrichtlinien erteilen einem Benutzer die Erlaubnis, ausschließlich eine DB-Instance mit der DB-Parametergruppe mydbpg und der DB-Subnetzgruppe mydbsubnetgroup zu erstellen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "rds:CreateDBInstance", "Resource": [ "arn:aws:rds:*:*:pg:mydbpg", "arn:aws:rds:*:*:subgrp:mydbsubnetgroup" ] } ] }

Erteilen von Berechtigungen für Aktionen in einer Ressource mit einem bestimmten Tag und zwei verschiedenen Tag-Werten

Sie können in Ihrer identitätsbasierten Richtlinie Bedingungen für die Steuerung des Zugriffs auf Amazon RDS-Ressourcen auf der Basis von Tags verwenden. Die folgende Richtlinie erteilt die Berechtigung, die API-Operation CreateDBSnapshot auf DB-Instances durchzuführen, bei denen das Tag stage entweder auf development oder test festgelegt ist.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowAnySnapshotName", "Effect":"Allow", "Action":[ "rds:CreateDBSnapshot" ], "Resource":"arn:aws:rds:*:123456789012:snapshot:*" }, { "Sid":"AllowDevTestToCreateSnapshot", "Effect":"Allow", "Action":[ "rds:CreateDBSnapshot" ], "Resource":"arn:aws:rds:*:123456789012:db:*", "Condition":{ "StringEquals":{ "rds:db-tag/stage":[ "development", "test" ] } } } ] }

Die folgende Richtlinie erteilt die Berechtigung, die API-Operation ModifyDBInstance auf DB-Instances durchzuführen, bei denen das Tag stage entweder auf development oder test festgelegt ist.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowChangingParameterOptionSecurityGroups", "Effect":"Allow", "Action":[ "rds:ModifyDBInstance" ], "Resource": [ "arn:aws:rds:*:123456789012:pg:*", "arn:aws:rds:*:123456789012:secgrp:*", "arn:aws:rds:*:123456789012:og:*" ] }, { "Sid":"AllowDevTestToModifyInstance", "Effect":"Allow", "Action":[ "rds:ModifyDBInstance" ], "Resource":"arn:aws:rds:*:123456789012:db:*", "Condition":{ "StringEquals":{ "rds:db-tag/stage":[ "development", "test" ] } } } ] }

Verhindern, dass ein Benutzer eine DB-Instance löscht

Die folgenden Berechtigungsrichtlinien erteilen Berechtigungen, um einen Benutzer davon abzuhalten, eine bestimmte DB-Instance zu löschen. Beispielsweise möchten Sie jedem Benutzer, der kein Administrator ist, verbieten, Ihre Produktions-DB-Instances zu löschen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyDelete1", "Effect": "Deny", "Action": "rds:DeleteDBInstance", "Resource": "arn:aws:rds:us-west-2:123456789012:db:my-mysql-instance" } ] }

Verweigern des gesamten Zugriffs auf eine Ressource

Sie können den Zugriff auf eine Ressource explizit verweigern. Verweigerungsrichtlinien haben Vorrang vor Zulassungsrichtlinien. Die folgende Richtlinie verweigert einem Benutzer explizit die Möglichkeit, eine Ressource zu verwalten:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "rds:*", "Resource": "arn:aws:rds:us-east-1:123456789012:db:mydb" } ] }

Beispielrichtlinien: Verwenden von Bedingungsschlüsseln

Im Folgenden finden Sie Beispiele für die Verwendung von Bedingungsschlüsseln in den IAM-Berechtigungsrichtlinien von Amazon RDS.

Beispiel 1: Erteilen der Berechtigung zum Erstellen einer DB-Instance mit einer bestimmten DB-Engine ohne Multi-AZ-Bereitstellung

Die folgende Richtlinie nutzt einen RDS-Bedingungsschlüssel und legt fest, dass ein Benutzer nur DB-Instances erstellen darf, die die MySQL-Datenbank-Engine und keine Multi-AZ-Bereitstellung verwenden. Das Element Condition gibt die Voraussetzung an, dass es sich um eine MySQL-Datenbank-Engine handeln muss.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowMySQLCreate", "Effect": "Allow", "Action": "rds:CreateDBInstance", "Resource": "*", "Condition": { "StringEquals": { "rds:DatabaseEngine": "mysql" }, "Bool": { "rds:MultiAz": false } } } ] }

Beispiel 2: Explizites Verweigern der Berechtigung, DB-Instances für bestimmte DB-Instance-Klassen sowie DB-Instances, die bereitgestellte IOPS verwenden, zu erstellen

Die folgende Richtlinie verweigert explizit die Berechtigung, DB-Instances für die DB-Instance-Klassen r3.8xlarge und m4.10xlarge zu erstellen, die zu den größten und teuersten DB-Instance-Klassen gehören. Diese Richtlinie hält Benutzer ebenfalls davon ab, DB-Instances zu erstellen, die bereitgestellte IOPS verwenden, durch die zusätzliche Kosten entstehen.

Eine explizit verweigerte Berechtigung überschreibt alle anderen erteilten Berechtigungen. So wird sichergestellt, dass Identitäten nicht aus Versehen eine Berechtigung erhalten, die Sie nie erteilen wollten.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyLargeCreate", "Effect": "Deny", "Action": "rds:CreateDBInstance", "Resource": "*", "Condition": { "StringEquals": { "rds:DatabaseClass": [ "db.r3.8xlarge", "db.m4.10xlarge" ] } } }, { "Sid": "DenyPIOPSCreate", "Effect": "Deny", "Action": "rds:CreateDBInstance", "Resource": "*", "Condition": { "NumericNotEquals": { "rds:Piops": "0" } } } ] }

Beispiel 3: Einschränken des Satzes von Tag-Schlüsseln und Werten, mit dem eine Ressource mit einem Tag versehen werden kann

Die folgende Richtlinie verwendet einen RDS-Bedingungsschlüssel und erlaubt es, ein Tag mit dem Schlüssel stage einer Ressource mit den Werten test, qa und production hinzuzufügen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds:AddTagsToResource", "rds:RemoveTagsFromResource" ], "Resource": "*", "Condition": { "streq": { "rds:req-tag/stage": [ "test", "qa", "production" ] } } } ] }

Festlegen von Bedingungen: Verwenden von benutzerdefinierten Tags

Amazon RDS bietet Unterstützung für das Festlegen von Bedingungen in einer IAM-Richtlinie mithilfe von benutzerdefinierten Tags.

Angenommen, Sie fügen Ihren DB-Instances ein Tag namens environment mit Werten wie beta, staging, production und so weiter hinzu. Wenn dies der Fall ist, können Sie eine Richtlinie erstellen, die bestimmte Benutzer basierend auf dem Tag-Wert environment auf DB-Instances beschränkt.

Anmerkung

Bei benutzerdefinierten Tag-Kennungen muss auf Groß- und Kleinschreibung geachtet werden.

In der folgenden Tabelle werden die RDS-Tag-Kennungen aufgeführt, die Sie in einem Condition-Element verwenden können.

RDS-Tag-ID Gilt für
db-tag DB-Instances einschließlich Lesereplikaten
snapshot-tag DB-Snapshots
ri-tag Reservierte DB-Instances
og-tag DB-Optionsgruppen
pg-tag DB-Parametergruppen
subgrp-tag DB-Subnetzgruppen
es-tag Ereignisabonnements
cluster-tag DB-Cluster
cluster-pg-tag DB-Cluster-Parametergruppen
cluster-snapshot-tag DB-Cluster-Snapshots

Die Syntax für eine benutzerdefinierte Tag-Bedingung sieht wie folgt aus:

"Condition":{"StringEquals":{"rds:rds-tag-identifier/tag-name": ["value"]} }

Beispielsweise gilt das folgende Condition-Element für DB-Instances mit dem Tag environment und dem Tag-Wert production.

"Condition":{"StringEquals":{"rds:db-tag/environment": ["production"]} }

Weitere Informationen über die Erstellung von Tags finden Sie unter Markieren von Amazon RDS-Ressourcen.

Wichtig

Wenn Sie den Zugriff auf Ihre RDS-Ressourcen mithilfe von Tags verwalten, empfehlen wir, den Zugriff auf die Tags Ihrer RDS-Ressourcen zu sichern. Sie können den Zugriff auf Tags verwalten, indem Sie Richtlinien für die Aktionen AddTagsToResource und RemoveTagsFromResource erstellen. Beispielsweise verweigert die folgende Richtlinie den Benutzern das Hinzufügen und Entfernen von Tags für alle Ressourcen. Sie können anschließend Richtlinien erstellen, die es bestimmten Benutzern ermöglichen, Tags hinzuzufügen oder zu entfernen.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"DenyTagUpdates", "Effect":"Deny", "Action":[ "rds:AddTagsToResource", "rds:RemoveTagsFromResource" ], "Resource":"*" } ] }

Um eine Liste von Amazon-RDS-Aktionen finden Sie unter Von Amazon RDS definierte Aktionen in der Service-Autorisierungs-Referenz

Beispielrichtlinien: Verwenden von benutzerdefinierten Tags

Im Folgenden finden Sie Beispiele für die Verwendung von benutzerdefinierten Tags in den IAM-Berechtigungsrichtlinien in Amazon RDS. Weitere Informationen zum Hinzufügen von Tags zu einer Amazon RDS-Ressource finden Sie unter Arbeiten mit Amazon-Ressourcennamen (ARN) in Amazon RDS.

Anmerkung

In allen Beispielen werden die Region „us-west-2” und fiktive Konto-IDs verwendet.

Beispiel 1: Erteilen von Berechtigungen für Aktionen in einer Ressource mit einem bestimmten Tag und zwei verschiedenen Tag-Werten

Die folgende Richtlinie erteilt die Berechtigung, die API-Operation CreateDBSnapshot auf DB-Instances durchzuführen, bei denen das Tag stage entweder auf development oder test festgelegt ist.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowAnySnapshotName", "Effect":"Allow", "Action":[ "rds:CreateDBSnapshot" ], "Resource":"arn:aws:rds:*:123456789012:snapshot:*" }, { "Sid":"AllowDevTestToCreateSnapshot", "Effect":"Allow", "Action":[ "rds:CreateDBSnapshot" ], "Resource":"arn:aws:rds:*:123456789012:db:*", "Condition":{ "StringEquals":{ "rds:db-tag/stage":[ "development", "test" ] } } } ] }

Die folgende Richtlinie erteilt die Berechtigung, die API-Operation ModifyDBInstance auf DB-Instances durchzuführen, bei denen das Tag stage entweder auf development oder test festgelegt ist.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowChangingParameterOptionSecurityGroups", "Effect":"Allow", "Action":[ "rds:ModifyDBInstance" ], "Resource":" [ "arn:aws:rds:*:123456789012:pg:*", "arn:aws:rds:*:123456789012:secgrp:*", "arn:aws:rds:*:123456789012:og:*" ] }, { "Sid":"AllowDevTestToModifyInstance", "Effect":"Allow", "Action":[ "rds:ModifyDBInstance" ], "Resource":"arn:aws:rds:*:123456789012:db:*", "Condition":{ "StringEquals":{ "rds:db-tag/stage":[ "development", "test" ] } } } ] }

Bespiel 2: Explizites Verweigern der Berechtigung zum Erstellen einer DB-Instance, die bestimmte DB-Parametergruppen verwendet

Die folgende Richtlinie verweigert explizit die Berechtigung, eine DB-Instance zu erstellen, die DB-Parametergruppen mit bestimmten Tag-Werten verwendet. Sie können diese Richtlinie anwenden, wenn stets eine bestimmte kundenseitig erstellte DB-Parametergruppe beim Erstellen von DB-Instances verwendet werden muss. Die Richtlinien mit Deny werden meist genutzt, um den von einer allgemeineren Richtlinie erteilten Zugriff einzuschränken.

Eine explizit verweigerte Berechtigung überschreibt alle anderen erteilten Berechtigungen. So wird sichergestellt, dass Identitäten nicht aus Versehen eine Berechtigung erhalten, die Sie nie erteilen wollten.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"DenyProductionCreate", "Effect":"Deny", "Action":"rds:CreateDBInstance", "Resource":"arn:aws:rds:*:123456789012:pg:*", "Condition":{ "StringEquals":{ "rds:pg-tag/usage":"prod" } } } ] }

Beispiel 3: Erteilen von Berechtigungen für Aktionen auf einer DB-Instance mit einem Instance-Namen, der den Benutzernamen als Präfix enthält

Die folgende Richtlinie erteilt die Berechtigung, eine beliebige API (mit Ausnahme von AddTagsToResource oder RemoveTagsFromResource) auf einer DB-Instance aufzurufen, deren Instance-Name den Benutzernamen als Präfix aufweist und das Tag stage mit dem Wert devo oder kein Tag stage enthält.

Die Zeile Resource in der Richtlinie kennzeichnet eine Ressource durch den Amazon-Ressourcennamen (ARN). Weitere Informationen zur Verwendung von ARNs mit Amazon RDS-Ressourcen finden Sie unter Arbeiten mit Amazon-Ressourcennamen (ARN) in Amazon RDS.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowFullDevAccessNoTags", "Effect":"Allow", "NotAction":[ "rds:AddTagsToResource", "rds:RemoveTagsFromResource" ], "Resource":"arn:aws:rds:*:123456789012:db:${aws:username}*", "Condition":{ "StringEqualsIfExists":{ "rds:db-tag/stage":"devo" } } } ] }