Festlegen von Bedingungen: Verwenden von benutzerdefinierten Tags - 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.

Festlegen von Bedingungen: Verwenden von benutzerdefinierten Tags

Amazon RDS unterstützt die Angabe von Bedingungen in einer IAM Richtlinie mithilfe benutzerdefinierter 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 sind die RDS Tag-Identifikatoren aufgeführt, die Sie in einem Condition Element verwenden können.

RDSTag-Bezeichner 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 Verschlagwortung von Amazon-Ressourcen RDS.

Wichtig

Wenn Sie den Zugriff auf Ihre RDS Ressourcen mithilfe von Tagging verwalten, empfehlen wir Ihnen, den Zugriff auf die Tags für Ihre 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":"*" } ] }

Eine Liste der Amazon RDS finden Sie unter Von Amazon definierte Aktionen RDS in der Service Authorization Reference.

Beispielrichtlinien: Verwenden von benutzerdefinierten Tags

Im Folgenden finden Sie Beispiele dafür, wie Sie benutzerdefinierte Tags in Amazon RDS Amazon verwenden können. Weitere Informationen zum Hinzufügen von Tags zu einer Amazon RDS Amazon finden Sie unterAmazon-Ressourcennamen (ARNs) in Amazon RDS.

Anmerkung

Alle Beispiele verwenden die Region US-West-2 und enthalten ein fiktives Konto. IDs

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

Die folgende Richtlinie gewährt die Erlaubnis, den CreateDBSnapshot API Vorgang auf DB-Instances auszuführen, bei denen das stage Tag entweder auf oder gesetzt ist. development test

{ "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 gewährt die Erlaubnis, den ModifyDBInstance API Vorgang auf DB-Instances auszuführen, bei denen das stage Tag entweder auf development oder gesetzt isttest.

{ "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 gewährt die Erlaubnis, alle API (außer für AddTagsToResource oderRemoveTagsFromResource) auf einer DB-Instance aufzurufen, die einen DB-Instance-Namen hat, dem der Name des Benutzers vorangestellt ist und die über ein Tag namens stage equal to devo oder für das kein aufgerufenes Tag verfügt. stage

Die Resource Zeile in der Richtlinie identifiziert eine Ressource anhand ihres Amazon-Ressourcennamens (ARN). Weitere Informationen zur Verwendung ARNs mit Amazon RDS Amazon finden Sie unterAmazon-Ressourcennamen (ARNs) 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" } } } ] }