IAMBeispielrichtlinien für Amazon EBS - Amazon EBS

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.

IAMBeispielrichtlinien für Amazon EBS

Standardmäßig sind Benutzer und Rollen nicht berechtigt, EBS Amazon-Ressourcen zu erstellen oder zu ändern. Sie können auch keine Aufgaben mithilfe von AWS Management Console, AWS Command Line Interface (AWS CLI) oder ausführen AWS API. Um Benutzern die Berechtigung zu erteilen, Aktionen mit den Ressourcen durchzuführen, die sie benötigen, kann ein IAM Administrator IAM Richtlinien erstellen. Der Administrator kann dann die IAM Richtlinien zu Rollen hinzufügen, und Benutzer können die Rollen übernehmen.

Informationen zum Erstellen einer IAM identitätsbasierten Richtlinie anhand dieser JSON Beispieldokumente finden Sie unter IAMRichtlinien erstellen im IAMBenutzerhandbuch.

Einzelheiten zu den von Amazon definierten Aktionen und RessourcentypenEBS, einschließlich des Formats ARNs für die einzelnen Ressourcentypen, finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon Elastic Block Store in der Service Authorization Reference.

Bewährte Methoden für Richtlinien

Identitätsbasierte Richtlinien legen fest, ob jemand EBS Amazon-Ressourcen in Ihrem Konto erstellen, darauf zugreifen oder diese 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:

  • Beginnen Sie mit AWS verwalteten Richtlinien und wechseln Sie zu Berechtigungen mit den geringsten Rechten — Verwenden Sie die AWS verwalteten Richtlinien, die Berechtigungen für viele gängige Anwendungsfälle gewähren, um Ihren Benutzern und Workloads zunächst 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 AWS im IAMBenutzerhandbuch unter AWS Verwaltete Richtlinien oder Verwaltete Richtlinien für Jobfunktionen.

  • Berechtigungen mit den geringsten Rechten anwenden — Wenn Sie Berechtigungen mit IAM Richtlinien festlegen, gewähren Sie nur die Berechtigungen, die für die Ausfü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 IAM zum Anwenden von Berechtigungen finden Sie IAMim Benutzerhandbuch unter Richtlinien und Berechtigungen. IAM

  • Verwenden Sie Bedingungen in IAM Richtlinien, um den Zugriff weiter einzuschränken — Sie können Ihren Richtlinien eine Bedingung hinzufügen, um den Zugriff auf Aktionen und Ressourcen einzuschränken. Sie können beispielsweise eine Richtlinienbedingung schreiben, um anzugeben, dass alle Anfragen mit gesendet werden müssenSSL. Sie können auch Bedingungen verwenden, um Zugriff auf Serviceaktionen zu gewähren, wenn diese über einen bestimmten Zweck verwendet werden AWS-Service, z. AWS CloudFormation B. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter IAMJSONRichtlinienelemente: Bedingung.

  • Verwenden Sie IAM Access Analyzer, um Ihre IAM Richtlinien zu validieren, um sichere und funktionale Berechtigungen zu gewährleisten. IAM Access Analyzer validiert neue und bestehende Richtlinien, sodass die Richtlinien der IAM Richtliniensprache (JSON) und den IAM bewährten Methoden entsprechen. IAMAccess Analyzer bietet mehr als 100 Richtlinienprüfungen und umsetzbare Empfehlungen, um Sie bei der Erstellung sicherer und funktionaler Richtlinien zu unterstützen. Weitere Informationen finden Sie unter IAMAccess Analyzer-Richtlinienvalidierung im IAMBenutzerhandbuch.

  • Multi-Faktor-Authentifizierung erforderlich (MFA) — Wenn Sie ein Szenario haben, in dem IAM Benutzer oder ein Root-Benutzer erforderlich sind AWS-Konto, aktivieren Sie die Option MFA für zusätzliche Sicherheit. Wenn Sie festlegen möchten, MFA wann API Operationen aufgerufen werden, fügen Sie MFA Bedingungen zu Ihren Richtlinien hinzu. Weitere Informationen finden Sie unter Konfiguration des MFA -geschützten API Zugriffs im IAMBenutzerhandbuch.

Weitere Informationen zu bewährten Methoden finden Sie unter Bewährte Sicherheitsmethoden IAM im IAM Benutzerhandbuch. IAM

Benutzern die Nutzung der EBS Amazon-Konsole erlauben

Um auf die Amazon Elastic Block Store-Konsole zugreifen zu können, benötigen Sie ein Mindestmaß an Berechtigungen. Diese Berechtigungen müssen es Ihnen ermöglichen, Details zu den EBS Amazon-Ressourcen 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 Anrufe an AWS CLI oder am tätigen, keine Mindestberechtigungen für die Konsole gewähren AWS API. Erlauben Sie stattdessen nur den Zugriff auf die Aktionen, die dem API Vorgang entsprechen, den sie ausführen möchten.

Um sicherzustellen, dass Benutzer und Rollen die EBS Amazon-Konsole weiterhin verwenden können, fügen Sie den Entitäten auch die Amazon EBS ConsoleAccess - oder ReadOnly AWS verwaltete Richtlinie hinzu. Weitere Informationen finden Sie im Benutzerhandbuch unter Hinzufügen von Berechtigungen für einen IAM Benutzer.

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

Dieses Beispiel zeigt, wie Sie eine Richtlinie erstellen könnten, die es IAM Benutzern ermöglicht, die Inline-Richtlinien und verwalteten Richtlinien einzusehen, die mit ihrer Benutzeridentität verknüpft sind. Diese Richtlinie umfasst Berechtigungen zum Ausführen dieser Aktion auf der Konsole oder programmgesteuert mithilfe von oder. AWS CLI AWS API

{ "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": "*" } ] }

Erlauben Sie Benutzern, mit Volumes zu arbeiten

Beispiel: Anhängen und Trennen von Volumes

Wenn ein Aufrufer für eine API Aktion mehrere Ressourcen angeben muss, müssen Sie eine Richtlinienanweisung erstellen, die Benutzern den Zugriff auf alle erforderlichen Ressourcen ermöglicht. Falls ein Condition-Element mit einem oder mehreren dieser Ressourcen erforderlich ist, müssen Sie mehrere Anweisungen erstellen, wie in diesem Beispiel gezeigt.

Die folgende Richtlinie ermöglicht es Benutzern, Volumes mit dem Tag "volume_user= iam-user-name" an Instances mit dem Tag "department=dev" anzuhängen und diese Volumes von diesen Instances zu trennen. Wenn Sie diese Richtlinie an eine IAM Gruppe anhängen, erteilt die aws:username Richtlinienvariable jedem Benutzer in der Gruppe die Berechtigung, Volumes mit einem Tag mit dem Namen und dem Wert seines Benutzernamens an Instances anzuhängen oder von volume_user diesen zu trennen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AttachVolume", "ec2:DetachVolume" ], "Resource": "arn:aws:ec2:us-east-1:account-id:instance/*", "Condition": { "StringEquals": { "aws:ResourceTag/department": "dev" } } }, { "Effect": "Allow", "Action": [ "ec2:AttachVolume", "ec2:DetachVolume" ], "Resource": "arn:aws:ec2:us-east-1:account-id:volume/*", "Condition": { "StringEquals": { "aws:ResourceTag/volume_user": "${aws:username}" } } } ] }

Beispiel: Erstellen eines Volumes

Die folgende Richtlinie ermöglicht es Benutzern, die CreateVolumeAPIAktion zu verwenden. Die Benutzer dürfen nur ein Volume erstellen, wenn das Volume verschlüsselt und nicht größer als 20 GiB ist.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateVolume" ], "Resource": "arn:aws:ec2:us-east-1:account-id:volume/*", "Condition":{ "NumericLessThan": { "ec2:VolumeSize" : "20" }, "Bool":{ "ec2:Encrypted" : "true" } } } ] }

Beispiel: Erstellen eines Volumes mit Tags (Markierungen)

Die folgende Richtlinie umfasst den aws:RequestTag-Bedingungsschlüssel. Die Benutzer müssen daher alle Volumes, die sie erstellen, mit den Tags costcenter=115 und stack=prod versehen. Werden nicht genau diese Tags (Markierungen) übergeben oder überhaupt keine Tags (Markierungen) angegeben, schlägt die Anforderung fehl.

Bei Aktionen zur Ressourcenerstellung, die Tags anwenden, müssen die Benutzer zudem über Berechtigungen für die Aktion CreateTags verfügen. Die zweite Anweisung enthält den ec2:CreateAction-Bedingungsschlüssel, sodass die Benutzer Tags nur im Kontext von CreateVolume erstellen können. Die Benutzer können keine vorhandenen Volumes oder andere Ressourcen markieren.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateTaggedVolumes", "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "arn:aws:ec2:us-east-1:account-id:volume/*", "Condition": { "StringEquals": { "aws:RequestTag/costcenter": "115", "aws:RequestTag/stack": "prod" } } }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:us-east-1:account-id:volume/*", "Condition": { "StringEquals": { "ec2:CreateAction" : "CreateVolume" } } } ] }

Die folgende Richtline erlaubt den Benutzern die Erstellung eines Volumes, ohne Tags (Markierungen) angeben zu müssen. Die CreateTags-Aktion wird nur ausgewertet, wenn Tags in der CreateVolume-Anforderung festgelegt werden. Wenn Benutzer Tags (Markierungen) hinzufügen, muss das Tag (Markierungen) purpose=test sein. Andere Tags (Markierungen) sind in der Anforderung nicht zulässig.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:us-east-1:account-id:volume/*", "Condition": { "StringEquals": { "aws:RequestTag/purpose": "test", "ec2:CreateAction" : "CreateVolume" }, "ForAllValues:StringEquals": { "aws:TagKeys": "purpose" } } } ] }

Beispiel: Arbeiten Sie mit Volumes über die EC2 Amazon-Konsole

Die folgende Richtlinie gewährt Benutzern die Erlaubnis, Volumes über die EC2 Amazon-Konsole anzuzeigen und zu erstellen sowie Volumes an bestimmte Instances anzuhängen und zu trennen.

Die Benutzer können Instances, die über den purpose=test-Tag (Markierung) verfügen, beliebige Volumes anfügen und außerdem Volumes von diesen Instances trennen. Um ein Volume über die EC2 Amazon-Konsole anzuhängen, ist es hilfreich, wenn Benutzer über die entsprechende Berechtigung verfügen, ec2:DescribeInstances da sie auf diese Weise eine Instance aus einer vorausgefüllten Liste im Dialogfeld „Volume anhängen“ auswählen können. Allerdings dürfen die Benutzer dadurch außerdem alle Instances auf der Seite Instances in der Konsole ansehen. Sie können diese Aktion daher auch auslassen.

In der ersten Anweisung ist die Aktion ec2:DescribeAvailabilityZones erforderlich, damit ein Benutzer eine Availability Zone auswählen kann, wenn er ein Volume erstellt.

Benutzer können die von ihnen erstellten Volumes nicht mit Tags (Markierungen) versehen (entweder während oder nach der Erstellung eines Volumes).

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:DescribeVolumes", "ec2:DescribeAvailabilityZones", "ec2:CreateVolume", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:AttachVolume", "ec2:DetachVolume" ], "Resource": "arn:aws:ec2:region:111122223333:instance/*", "Condition": { "StringEquals": { "aws:ResourceTag/purpose": "test" } } }, { "Effect": "Allow", "Action": [ "ec2:AttachVolume", "ec2:DetachVolume" ], "Resource": "arn:aws:ec2:region:111122223333:volume/*" } ] }

Erlauben Sie Benutzern, mit Snapshots zu arbeiten

Im Folgenden finden Sie Beispielrichtlinien sowohl für CreateSnapshot (point-in-timeSnapshot eines EBS Volumes) als auch für CreateSnapshots (Snapshots mit mehreren Volumes).

Beispiel: Erstellen eines Snapshots

Die folgende Richtlinie ermöglicht es Kunden, die Aktion zu verwenden. CreateSnapshotAPI Die Kunden können nur dann Snapshots erstellen, wenn das Volume verschlüsselt und nicht größer als 20 GiB ist.

{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"ec2:CreateSnapshot", "Resource":"arn:aws:ec2:us-east-1::snapshot/*" }, { "Effect":"Allow", "Action":"ec2:CreateSnapshot", "Resource":"arn:aws:ec2:us-east-1:account-id:volume/*", "Condition":{ "NumericLessThan":{ "ec2:VolumeSize":"20" }, "Bool":{ "ec2:Encrypted":"true" } } } ] }

Beispiel: Erstellen von Snapshots

Die folgende Richtlinie ermöglicht es Kunden, die CreateSnapshotsAPIAktion zu nutzen. Der Kunde kann nur dann Snapshots erstellen, wenn es sich bei allen Volumes auf der Instance um GP2 Typ-Volumes handelt.

{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"ec2:CreateSnapshots", "Resource":[ "arn:aws:ec2:us-east-1::snapshot/*", "arn:aws:ec2:*:*:instance/*" ] }, { "Effect":"Allow", "Action":"ec2:CreateSnapshots", "Resource":"arn:aws:ec2:us-east-1:*:volume/*", "Condition":{ "StringLikeIfExists":{ "ec2:VolumeType":"gp2" } } } ] }

Beispiel: Erstellen eines Snapshots mit Tags (Markierungen)

Die folgende Richtlinie umfasst den aws:RequestTag-Bedingungsschlüssel. Er fordert, dass die Kunden die Tags costcenter=115 und stack=prod auf jeden neuen Snapshot anwenden. Werden nicht genau diese Tags (Markierungen) übergeben oder überhaupt keine Tags (Markierungen) angegeben, schlägt die Anforderung fehl.

Bei Aktionen zur Ressourcenerstellung, die Tags anwenden, müssen die Kunden zudem über die Berechtigungen für die CreateTags-Aktion verfügen. Die dritte Anweisung enthält den ec2:CreateAction-Bedingungsschlüssel, sodass die Kunden Tags nur im Kontext von CreateSnapshot erstellen können. Kunden können keine vorhandenen Volumes oder andere Ressourcen markieren.

{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"ec2:CreateSnapshot", "Resource":"arn:aws:ec2:us-east-1:account-id:volume/*" }, { "Sid":"AllowCreateTaggedSnapshots", "Effect":"Allow", "Action":"ec2:CreateSnapshot", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "StringEquals":{ "aws:RequestTag/costcenter":"115", "aws:RequestTag/stack":"prod" } } }, { "Effect":"Allow", "Action":"ec2:CreateTags", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "StringEquals":{ "ec2:CreateAction":"CreateSnapshot" } } } ] }

Beispiel: Erstellen von Multi-Volume-Snapshots mit Tags

Die folgende Richtlinie enthält den Bedingungsschlüssel aws:RequestTag, der verlangt, dass der Kunde die Tags costcenter=115 und stack=prod anwendet, wenn er ein Multi-Volume-Snapshot-Satz erstellt. Werden nicht genau diese Tags (Markierungen) übergeben oder überhaupt keine Tags (Markierungen) angegeben, schlägt die Anforderung fehl.

{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"ec2:CreateSnapshots", "Resource":[ "arn:aws:ec2:us-east-1::snapshot/*", "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:volume/*" ] }, { "Sid":"AllowCreateTaggedSnapshots", "Effect":"Allow", "Action":"ec2:CreateSnapshots", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "StringEquals":{ "aws:RequestTag/costcenter":"115", "aws:RequestTag/stack":"prod" } } }, { "Effect":"Allow", "Action":"ec2:CreateTags", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "StringEquals":{ "ec2:CreateAction":"CreateSnapshots" } } } ] }

Die folgende Richtlinie erlaubt den Kunden die Erstellung eines Snapshots, ohne Tags (Markierungen) angeben zu müssen. Die CreateTags-Aktion wird nur ausgewertet, wenn Tags in der CreateSnapshot- oder CreateSnapshots-Anforderung angegeben werden. In der Anforderung können Tags weggelassen werden. Wenn ein Tags (Markierungen) angegeben ist, muss das Tag (Markierungen) purpose=test sein. Andere Tags (Markierungen) sind in der Anforderung nicht zulässig.

{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"ec2:CreateSnapshot", "Resource":"*" }, { "Effect":"Allow", "Action":"ec2:CreateTags", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "StringEquals":{ "aws:RequestTag/purpose":"test", "ec2:CreateAction":"CreateSnapshot" }, "ForAllValues:StringEquals":{ "aws:TagKeys":"purpose" } } } ] }

Die folgende Richtlinie ermöglicht es Kunden, Multi-Volume-Snapshot-Sätze zu erstellen, ohne Tags angeben zu müssen. Die CreateTags-Aktion wird nur ausgewertet, wenn Tags in der CreateSnapshot- oder CreateSnapshots-Anforderung angegeben werden. In der Anforderung können Tags weggelassen werden. Wenn ein Tags (Markierungen) angegeben ist, muss das Tag (Markierungen) purpose=test sein. Andere Tags (Markierungen) sind in der Anforderung nicht zulässig.

{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"ec2:CreateSnapshots", "Resource":"*" }, { "Effect":"Allow", "Action":"ec2:CreateTags", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "StringEquals":{ "aws:RequestTag/purpose":"test", "ec2:CreateAction":"CreateSnapshots" }, "ForAllValues:StringEquals":{ "aws:TagKeys":"purpose" } } } ] }

Die folgende Richtlinie erlaubt nur dann, einen Snapshot zu erstellen, wenn das Quell-Volume das Tag (Markierungen) User:username für den Kunden hat, und wenn der eigentliche Snapshot mit den Tags (Markierungen) Environment:Dev und User:username gekennzeichnet ist. Der Kunde kann dem Snapshot weitere Tags (Markierungen) hinzufügen.

{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"ec2:CreateSnapshot", "Resource":"arn:aws:ec2:us-east-1:account-id:volume/*", "Condition":{ "StringEquals":{ "aws:ResourceTag/User":"${aws:username}" } } }, { "Effect":"Allow", "Action":"ec2:CreateSnapshot", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "StringEquals":{ "aws:RequestTag/Environment":"Dev", "aws:RequestTag/User":"${aws:username}" } } }, { "Effect":"Allow", "Action":"ec2:CreateTags", "Resource":"arn:aws:ec2:us-east-1::snapshot/*" } ] }

Die folgende Richtlinie für CreateSnapshots erlaubt nur dann, Snapshots zu erstellen, wenn das Quell-Volume mit User:username für den Kunden markiert ist und der eigentliche Snapshot mit Environment:Dev und User:username markiert ist.

{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"ec2:CreateSnapshots", "Resource":"arn:aws:ec2:us-east-1:*:instance/*", }, { "Effect":"Allow", "Action":"ec2:CreateSnapshots", "Resource":"arn:aws:ec2:us-east-1:account-id:volume/*", "Condition":{ "StringEquals":{ "aws:ResourceTag/User":"${aws:username}" } } }, { "Effect":"Allow", "Action":"ec2:CreateSnapshots", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "StringEquals":{ "aws:RequestTag/Environment":"Dev", "aws:RequestTag/User":"${aws:username}" } } }, { "Effect":"Allow", "Action":"ec2:CreateTags", "Resource":"arn:aws:ec2:us-east-1::snapshot/*" } ] }

Die folgende Richtlinie erlaubt nur dann, einen Snapshot zu löschen, wenn der Snapshot mit User:Benutzername für den Kunden markiert ist.

{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"ec2:DeleteSnapshot", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "StringEquals":{ "aws:ResourceTag/User":"${aws:username}" } } } ] }

Die folgende Richtlinie erlaubt einem Kunden, einen Snapshot zu erstellen, weist die Aktion jedoch ab, wenn der zu erstellende Snapshot den Tag (Markierung)-Schlüssel value=stack hat.

{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":[ "ec2:CreateSnapshot", "ec2:CreateTags" ], "Resource":"*" }, { "Effect":"Deny", "Action":"ec2:CreateSnapshot", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "ForAnyValue:StringEquals":{ "aws:TagKeys":"stack" } } } ] }

Die folgende Richtlinie erlaubt einem Kunden, Snapshots zu erstellen, weist die Aktion jedoch ab, wenn die zu erstellenden Snapshots den Tag (Markierung)-Schlüssel value=stack haben.

{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":[ "ec2:CreateSnapshots", "ec2:CreateTags" ], "Resource":"*" }, { "Effect":"Deny", "Action":"ec2:CreateSnapshots", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "ForAnyValue:StringEquals":{ "aws:TagKeys":"stack" } } } ] }

Die folgende Richtlinie erlaubt es Ihnen, mehrere Aktionen in einer Richtlinie zu kombinieren. Sie können nur einen Snapshot erstellen (im Kontext vonCreateSnapshots), wenn der Snapshot in der Region us-east-1 erstellt wird. Sie können nur Snapshots erstellen (im Kontext von CreateSnapshots) wenn die Snapshots in der Region us-east-1 erstellt werden und der Instance-Typ t2* lautet.

{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":[ "ec2:CreateSnapshots", "ec2:CreateSnapshot", "ec2:CreateTags" ], "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:snapshot/*", "arn:aws:ec2:*:*:volume/*" ], "Condition":{ "StringEqualsIgnoreCase": { "ec2:Region": "us-east-1" }, "StringLikeIfExists": { "ec2:InstanceType": ["t2.*"] } } } ] }

Beispiel: Snapshots kopieren

Die für die CopySnapshotAktion angegebenen Berechtigungen auf Ressourcenebene gelten nur für den neuen Snapshot. Sie können nicht für den Quell-Snapshot angegeben werden.

Die folgende Beispielrichtlinie ermöglicht es Prinzipalen, Snapshots nur zu kopieren, wenn der neue Snapshot mit dem Tag (Markierung)-Schlüssel von purpose und einem Tag (Markierung)-Wert von production (purpose=production) erstellt wird.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCopySnapshotWithTags", "Effect": "Allow", "Action": "ec2:CopySnapshot", "Resource": "arn:aws:ec2:*:account-id:snapshot/*", "Condition": { "StringEquals": { "aws:RequestTag/purpose": "production" } } } ] }

Beispiel: Ändern der Berechtigungseinstellungen für Snapshots

Die folgende Richtlinie erlaubt die Änderung eines Snapshots nur, wenn der Snapshot mit gekennzeichnet ist, wobei User:username username ist der Benutzername des AWS Kundenkontos. Die Anforderung schlägt fehl, wenn diese Bedingungen nicht erfüllt ist.

{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"ec2:ModifySnapshotAttribute", "Resource":"arn:aws:ec2:us-east-1::snapshot/*", "Condition":{ "StringEquals":{ "aws:ResourceTag/user-name":"${aws:username}" } } } ] }