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.
Themen
- Bewährte Methoden für Richtlinien
- Verwenden der Amazon RDS-Konsole
- Gewähren der Berechtigung zur Anzeige der eigenen Berechtigungen für Benutzer
- Erlaubt einem Benutzer, DB-Instances in einem Konto zu erstellen AWS
- Erforderliche Berechtigungen für die Verwendung der Konsole
- Einem Benutzer eine beliebige Beschreibungsaktion für eine beliebige RDS-Ressource erlauben
- Einem Benutzer erlauben, eine DB-Instance zu erstellen, die spezifische DB-Parametergruppe und Subnetzgruppe verwendet.
- Erteilen von Berechtigungen für Aktionen in einer Ressource mit einem bestimmten Tag und zwei verschiedenen Tag-Werten
- Verhindern, dass ein Benutzer eine DB-Instance löscht
- Verweigern des gesamten Zugriffs auf eine Ressource
- Beispielrichtlinien: Verwenden von Bedingungsschlüsseln
- Festlegen von Bedingungen: Verwenden von benutzerdefinierten Tags
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 (123456789012
ist 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 BeispieltestCustomerData1
,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-Klassedb.t2.micro
sein muss. DasCondition
-Element bestimmt die Bedingungen, wann eine Richtlinie wirksam sein soll. Sie können zusätzliche Berechtigungen oder Einschränkungen hinzufügen, indem Sie dasCondition
-Element verwenden. Weitere Informationen zur Angabe von Bedingungen finden Sie unter Richtlinien-Bedingungsschlüssel für Amazon RDS. Dieses Beispiel zeigt die Bedingungenrds:DatabaseEngine
undrds:DatabaseClass
. Informationen zu den gültigen Bedingungswerten fürrds:DatabaseEngine
finden Sie in der Liste unter dem ParameterEngine
in CreateDBInstance. Informationen zu den gültigen Bedingungswerten fürrds: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" } } } ] }