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