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 Richtlinien für Amazon S3
In diesem Abschnitt werden mehrere identitätsbasierte AWS Identity and Access Management (IAM) -Richtlinien zur Steuerung des Zugriffs auf Amazon S3 vorgestellt. Beispiele für Bucket-Richtlinien (ressourcenbasierte Richtlinien) finden Sie unter Bucket-Richtlinien für Amazon S3. Informationen zur IAM-Richtliniensprache finden Sie unter Richtlinien und Berechtigungen in Amazon S3.
Die folgenden Beispielrichtlinien funktionieren, wenn Sie sie programmgesteuert verwenden. Um sie mit der Amazon-S3-Konsole verwenden zu können, müssen Sie aber zusätzliche Berechtigungen gewähren, die für die Konsole erforderlich sind. Informationen zur Verwendung von Richtlinien wie dieser mit der Amazon-S3-Konsole finden Sie unter Kontrollieren des Zugriffs auf einen Bucket mit Benutzerrichtlinien.
Weitere Informationen zu den Berechtigungen für S3-API-Operationen nach S3-Ressourcentypen finden Sie unter Erforderliche Berechtigungen für Amazon-S3-API-Operationen.
Themen
Einem IAM-Benutzer den Zugriff auf einen Ihrer Buckets erlauben
Jedem IAM-Benutzer Zugriff auf einen Ordner in einem Bucket erlauben
Einer Gruppe erlauben, einen freigegebenen Ordner in Amazon S3 zu haben
Erteilen der Erlaubnis für alle Benutzer, Objekte in einem Teil des Buckets zu lesen
Erteilen der Erlaubnis für einen Partner, Dateien in einem bestimmten Bereich des Buckets abzulegen
Beschränken des Zugriffs auf Amazon-S3-Buckets in einem bestimmten AWS-Konto
Beschränken des Zugriffs auf Amazon-S3-Buckets innerhalb Ihrer Organisationseinheit
Beschränken des Zugriffs auf Amazon-S3-Buckets innerhalb Ihrer Organisation
Erteilung der Erlaubnis zum Abrufen der PublicAccessBlock Konfiguration für ein AWS-Konto
Einem IAM-Benutzer den Zugriff auf einen Ihrer Buckets erlauben
In diesem Beispiel möchten Sie einem IAM-Benutzer AWS-Konto Zugriff auf einen Ihrer Buckets gewähren und es dem Benutzer ermöglichenamzn-s3-demo-bucket1
, Objekte hinzuzufügen, zu aktualisieren und zu löschen.
Zusätzlich zum Erteilen der Berechtigungen s3:PutObject
, s3:GetObject
und s3:DeleteObject
für den Benutzer, gewährt die Richtlinie die Berechtigungen s3:ListAllMyBuckets
, s3:GetBucketLocation
und s3:ListBucket
. Dies sind die zusätzlichen Berechtigungen, die von der Konsole benötigt werden. Außerdem sind die Aktionen s3:PutObjectAcl
und s3:GetObjectAcl
erforderlich, um Objekte in der Konsole kopieren, ausschneiden und einfügen zu können. Ein detailliertes Beispiel für eine Richtlinie, die Berechtigungen für Benutzer erteilt und sie unter Verwendung der Konsole testet, finden Sie unter Kontrollieren des Zugriffs auf einen Bucket mit Benutzerrichtlinien.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action": "s3:ListAllMyBuckets", "Resource":"*" }, { "Effect":"Allow", "Action":["s3:ListBucket","s3:GetBucketLocation"], "Resource":"arn:aws:s3:::
amzn-s3-demo-bucket1
" }, { "Effect":"Allow", "Action":[ "s3:PutObject", "s3:PutObjectAcl", "s3:GetObject", "s3:GetObjectAcl", "s3:DeleteObject" ], "Resource":"arn:aws:s3:::amzn-s3-demo-bucket1
/*" } ] }
Jedem IAM-Benutzer Zugriff auf einen Ordner in einem Bucket erlauben
In diesem Beispiel möchten Sie zwei IAM-Benutzern, Mary und Carlos, den Zugriff auf Ihren Bucket, amzn-s3-demo-bucket1
, gewähren, damit sie Objekte hinzufügen, aktualisieren und löschen können. Allerdings möchten Sie den Zugriff beider Benutzer auf ein einzelnes Präfix (Ordner) im Bucket einschränken. Sie könnten Ordner mit Namen erstellen, die dem jeweiligen Benutzernamen entsprechen.
amzn-s3-demo-bucket1
Mary
/Carlos
/
Um jedem Benutzer nur den Zugriff auf den eigenen Ordner zu gewähren, können Sie für jeden Benutzer eine Richtlinie schreiben und ihnen einzeln zuweisen. Sie können beispielsweise die folgende Richtlinie der Benutzerin Mary zuweisen, um ihr spezifische Amazon-S3-Berechtigungen für den Ordner
zu gewähren.amzn-s3-demo-bucket1
/Mary
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:PutObject", "s3:GetObject", "s3:GetObjectVersion", "s3:DeleteObject", "s3:DeleteObjectVersion" ], "Resource":"arn:aws:s3:::
amzn-s3-demo-bucket1
/Mary
/*" } ] }
Dann können Sie dem Benutzer Carlos eine ähnliche Richtlinie zuweisen, indem Sie den Ordner
im Wert Carlos
Resource
angeben.
Statt Richtlinien einzelnen Benutzern zuzuweisen, können Sie auch eine einzelne Richtlinie mit einer Richtlinienvariable schreiben und dann die Richtlinie einer Gruppe zuweisen. Sie müssen zuerst eine Gruppe erstellen und die Benutzer Mary und Carlos in die Gruppe aufnehmen. Die folgende Beispielrichtlinie erlaubt eine Reihe von Amazon-S3-Berechtigungen für den Ordner
. Wenn die Richtlinie ausgewertet wird, wird die Richtlinienvariable amzn-s3-demo-bucket1
/${aws:username}${aws:username}
durch den Benutzernamen des Anforderers ersetzt. Wenn Mary beispielsweise eine Anforderung zum Anlegen eines Objekts sendet, ist die Operation nur zulässig, wenn Mary das Objekt in den Ordner
hochlädt.amzn-s3-demo-bucket1
/Mary
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:PutObject", "s3:GetObject", "s3:GetObjectVersion", "s3:DeleteObject", "s3:DeleteObjectVersion" ], "Resource":"arn:aws:s3:::
amzn-s3-demo-bucket1
/${aws:username}/*" } ] }
Anmerkung
Bei der Verwendung von Richtlinienvariablen müssen Sie explizit die Version 2012-10-17
in der Richtlinie angeben. Die Standardversion der IAM-Richtliniensprache, 2008-10-17, unterstützt keine Richtlinienvariablen.
Wenn Sie die vorherige Richtlinie in der Amazon-S3-Konsole testen möchten, erfordert die Konsole zusätzliche Berechtigungen, wie in der folgenden Richtlinie gezeigt. Weitere Informationen darüber, wie die Konsole diese Berechtigungen verwendet, finden Sie unter Kontrollieren des Zugriffs auf einen Bucket mit Benutzerrichtlinien.
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowGroupToSeeBucketListInTheConsole", "Action": [ "s3:ListAllMyBuckets", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": "arn:aws:s3:::*" }, { "Sid": "AllowRootLevelListingOfTheBucket", "Action": "s3:ListBucket", "Effect": "Allow", "Resource": "arn:aws:s3:::
amzn-s3-demo-bucket1
", "Condition":{ "StringEquals":{ "s3:prefix":[""], "s3:delimiter":["/"] } } }, { "Sid": "AllowListBucketOfASpecificUserPrefix", "Action": "s3:ListBucket", "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1
", "Condition":{ "StringLike":{"s3:prefix":["${aws:username}/*"] } } }, { "Sid": "AllowUserSpecificActionsOnlyInTheSpecificUserPrefix", "Effect":"Allow", "Action":[ "s3:PutObject", "s3:GetObject", "s3:GetObjectVersion", "s3:DeleteObject", "s3:DeleteObjectVersion" ], "Resource":"arn:aws:s3:::amzn-s3-demo-bucket1
/${aws:username}/*" } ] }
Anmerkung
In der 2012-10-17-Version der Richtlinie beginnen Richtlinienvariablen mit $
. Diese Syntaxänderung kann möglicherweise einen Konflikt verursachen, wenn Ihr Objektschlüssel (Objektname) ein $
-Zeichen enthält.
Damit dieser Konflikt vermieden wird, geben Sie das Zeichen $
mithilfe von ${$}
an. Um beispielsweise einen Objektschlüssel my$file
in eine Richtlinie aufzunehmen, geben Sie das Zeichen mit my${$}file
an.
Obwohl IAM-Benutzernamen benutzerfreundliche, von Menschen lesbare Bezeichner sind, müssen sie global nicht eindeutig sein. Wenn beispielsweise der Benutzer Carlos die Organisation verlässt und ein anderer Carlos hinzukommt, könnte der neue Carlos auf die Informationen des vorherigen Carlos zugreifen.
Anstatt Benutzernamen zu verwenden, könnten Sie Ordner erstellen, die auf dem IAM-Benutzer basieren. IDs Jede IAM-Benutzer-ID muss eindeutig sein. In diesem Fall müssen Sie die vorherige Richtlinie ändern, und die Richtlinienvariable ${aws:userid}
verwenden. Weitere Informationen zu den Benutzerkennungen finden Sie unter IAM-Kennungen im IAM-Benutzerhandbuch.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:PutObject", "s3:GetObject", "s3:GetObjectVersion", "s3:DeleteObject", "s3:DeleteObjectVersion" ], "Resource":"arn:aws:s3:::
amzn-s3-demo-bucket1
/home/${aws:userid}/*" } ] }
Nicht-IAM-Benutzern (Nutzern mobiler Apps) den Zugriff auf Ordner in einem Bucket erlauben
Angenommen, Sie möchten eine mobile App entwickeln, ein Spiel, in dem Benutzerdaten in einem S3-Bucket gespeichert werden. Sie möchten für jeden App-Benutzer einen Ordner in Ihrem Bucket erstellen. Sie möchten auch den Zugriff jedes Benutzers auf seinen eigenen Ordner beschränken. Sie können jedoch keine Ordner erstellen, bevor jemand Ihre App herunterlädt und das Spiel beginnt, weil Sie dessen Benutzer-ID nicht vorliegen haben.
In diesem Fall können Sie von den Nutzern verlangen, dass Sie sich in Ihrer App über einen öffentlichen Identitätsanbieter anmelden, wie z. B. Login with Amazon, Facebook oder Google. Nachdem sich Benutzer über einen dieser Anbieter bei Ihrer App angemeldet haben, verfügen sie über eine Benutzer-ID, mit der Sie zur Laufzeit benutzerspezifische Ordner erstellen können.
Sie können dann den Web-Identitätsverbund verwenden AWS Security Token Service , um Informationen vom Identitätsanbieter in Ihre App zu integrieren und temporäre Sicherheitsanmeldeinformationen für jeden Benutzer abzurufen. Sie können dann IAM-Richtlinien erstellen, die es der App ermöglichen, auf Ihren Bucket zuzugreifen und solche Vorgänge wie das Erstellen von benutzerspezifischen Ordnern und das Hochladen von Daten durchzuführen. Weitere Informationen zum Web-Identitätsverbund finden Sie unter Über Web Identity Federation im IAM-Benutzerhandbuch.
Einer Gruppe erlauben, einen freigegebenen Ordner in Amazon S3 zu haben
Durch Anfügen der folgenden Richtlinie an die Gruppe erhalten alle Benutzer der Gruppe Zugriff auf den folgenden Ordner in Amazon S3:
. Gruppenmitglieder dürfen nur auf die spezifischen Amazon-S3-Berechtigungen zugreifen, die in der Richtlinie gegeben sind, und nur für Objekte im angegebenen Ordner. amzn-s3-demo-bucket1
/share/marketing
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:PutObject", "s3:GetObject", "s3:GetObjectVersion", "s3:DeleteObject", "s3:DeleteObjectVersion" ], "Resource":"arn:aws:s3:::
amzn-s3-demo-bucket1
/share/marketing/*" } ] }
Erteilen der Erlaubnis für alle Benutzer, Objekte in einem Teil des Buckets zu lesen
In diesem Beispiel erstellen Sie eine Gruppe mit dem Namen
, die alle IAM-Benutzer enthält, die dem AWS-Konto angehören. Anschließend fügen Sie eine Richtlinie hinzu, die der Gruppe Zugriff auf AllUsers
GetObject
und GetObjectVersion
gewährt, jedoch nur für Objekte im Ordner
. amzn-s3-demo-bucket1
/readonly
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetObject", "s3:GetObjectVersion" ], "Resource":"arn:aws:s3:::
amzn-s3-demo-bucket1
/readonly/*" } ] }
Erteilen der Erlaubnis für einen Partner, Dateien in einem bestimmten Bereich des Buckets abzulegen
In diesem Beispiel erstellen Sie eine Gruppe namens
, die eine Partnerfirma darstellt. Sie erstellen einen IAM-Benutzer für die bestimmte Person oder Anwendung bei der Partnerfirma, die Zugriff benötigt, und dann fügen Sie den Benutzer in die Gruppe ein. AnyCompany
Sie fügen dann eine Richtlinie hinzu, die der Gruppe den PutObject
-Zugriff auf den folgenden Ordner im Bucket erteilt:
amzn-s3-demo-bucket1
/uploads/anycompany
Sie möchten verhindern, dass die
-Gruppe andere Aktionen für den Bucket ausführt. Daher fügen Sie eine Anweisung hinzu, die explizit die Berechtigung für andere Amazon-S3-Aktionen verweigert, außer für AnyCompany
PutObject
in einer Amazon-S3-Ressource im AWS-Konto.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"s3:PutObject", "Resource":"arn:aws:s3:::
amzn-s3-demo-bucket1
/uploads/anycompany
/*" }, { "Effect":"Deny", "Action":"s3:*", "NotResource":"arn:aws:s3:::amzn-s3-demo-bucket1
/uploads/anycompany
/*" } ] }
Beschränken des Zugriffs auf Amazon-S3-Buckets in einem bestimmten AWS-Konto
Wenn Sie sicherstellen möchten, dass Ihre Amazon S3 S3-Prinzipale nur auf die Ressourcen zugreifen, die sich in einem vertrauenswürdigen System befinden AWS-Konto, können Sie den Zugriff einschränken. Beispiel: Diese identitätsbasierte IAM-Richtlinie verwendet eine Deny
-Auswirkung, um den Zugriff auf Amazon-S3-Aktionen zu blockieren, es sei denn, die Amazon-S3-Ressource, auf die zugegriffen wird, befindet sich im Konto
. Um zu verhindern, dass ein IAM-Prinzipal in einem AWS-Konto auf Amazon S3 S3-Objekte außerhalb des Kontos zugreift, fügen Sie die folgende IAM-Richtlinie bei:222222222222
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyS3AccessOutsideMyBoundary", "Effect": "Deny", "Action": [ "s3:*" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:ResourceAccount": [ "
222222222222
" ] } } } ] }
Anmerkung
Diese Richtlinie ersetzt Ihre vorhandenen IAM-Zugriffskontrollen nicht, da sie keinen Zugriff gewährt. Stattdessen fungiert diese Richtlinie als zusätzlicher Integritätsschutz für Ihre anderen IAM-Berechtigungen, unabhängig von den durch andere IAM-Richtlinien erteilten Berechtigungen.
Ersetzen Sie unbedingt die Konto-ID
in der Richtlinie durch Ihr eigenes AWS-Konto. Wenn Sie eine Richtlinie unter Beibehaltung dieser Einschränkung auf mehrere Konten anwenden möchten, ersetzen Sie die Konto-ID durch den Bedingungsschlüssel 222222222222
aws:PrincipalAccount
. Diese Bedingung erfordert, dass sich der Prinzipal und die Ressource in demselben Konto befinden müssen.
Beschränken des Zugriffs auf Amazon-S3-Buckets innerhalb Ihrer Organisationseinheit
Wenn Sie eine Organisationseinheit (OU) eingerichtet haben AWS Organizations, möchten Sie möglicherweise den Zugriff auf den Amazon S3 S3-Bucket auf einen bestimmten Teil Ihrer Organisation beschränken. In diesem Beispiel wird der aws:ResourceOrgPaths
-Schlüssel verwendet, um den Amazon-S3-Bucket-Zugriff auf eine OU in Ihrer Organisation einzuschränken. In diesem Beispiel lautet die OU-ID
. Stellen Sie sicher, dass Sie diesen Wert in Ihrer eigenen Richtlinie durch Ihre eigene Organisationseinheit ersetzen IDs.ou-acroot-exampleou
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowS3AccessOutsideMyBoundary", "Effect": "Allow", "Action": [ "s3:*" ], "Resource": "*", "Condition": { "ForAllValues:StringNotLike": { "aws:ResourceOrgPaths": [ "
o-acorg/r-acroot/ou-acroot-exampleou/
" ] } } } ] }
Anmerkung
Diese Richtlinie gewährt keinen Zugriff. Stattdessen fungiert diese Richtlinie als Schutz für Ihre anderen IAM-Berechtigungen und verhindert, dass Ihre Prinzipale außerhalb einer von OU definierten Grenze auf Amazon-S3-Objekte zugreifen.
Die Richtlinie verweigert den Zugriff auf Amazon-S3-Aktionen, es sei denn, das Amazon-S3-Objekt, auf das zugegriffen wird, befindet sich in der OU
Ihrer Organisation. Die IAM-Richtlinienbedingung erfordert, dass ou-acroot-exampleou
aws:ResourceOrgPaths
, ein Mehrfachwertbedingungsschlüssel, einen der aufgelisteten OU-Pfade enthält. Die Richtlinie verwendet den ForAllValues:StringNotLike
Operator, um die Werte von mit den aufgelisteten Werten aws:ResourceOrgPaths
zu vergleichen, OUs ohne dass Groß- und Kleinschreibung beachtet wird.
Beschränken des Zugriffs auf Amazon-S3-Buckets innerhalb Ihrer Organisation
Wenn Sie den Zugriff auf Amazon-S3-Objekte in Ihrer Organisation einschränken möchten, fügen Sie eine IAM-Richtlinie an das Stammverzeichnis der Organisation an und wenden Sie sie auf alle Konten in Ihrer Organisation an. Verwenden Sie eine Service-Kontrollrichtlinie (SCP), um zu verlangen, dass Ihre IAM-Prinzipale diese Regel befolgen. Wenn Sie sich für die Verwendung einer SCP entscheiden, achten Sie darauf, die SCP gründlich zu testen, bevor Sie die Richtlinie dem Stammverzeichnis der Organisation anfügen.
In der folgenden Beispielrichtlinie wird der Zugriff auf Amazon-S3-Aktionen verweigert, es sei denn, das Amazon-S3-Objekt, auf das zugegriffen wird, befindet sich in derselben Organisation wie der IAM-Prinzipal, der darauf zugreift:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyS3AccessOutsideMyBoundary", "Effect": "Deny", "Action": [ "s3:*" ], "Resource": "arn:aws:s3:::*/*", "Condition": { "StringNotEquals": { "aws:ResourceOrgID": "${aws:PrincipalOrgID}" } } } ] }
Anmerkung
Diese Richtlinie gewährt keinen Zugriff. Stattdessen fungiert diese Richtlinie als Schutz für Ihre anderen IAM-Berechtigungen und verhindert, dass Ihre Prinzipale auf Amazon-S3-Objekte außerhalb Ihrer Organisation zugreifen. Diese Richtlinie gilt auch für Amazon-S3-Ressourcen, die nach Inkrafttreten der Richtlinie erstellt werden.
Die IAM-Richtlinienbedingung in diesem Beispiel erfordert, dass aws:ResourceOrgID
und aws:PrincipalOrgID
gleich sind. Bei dieser Anforderung müssen sich der Prinzipal, der die Anforderung stellt, und die Ressource, auf die zugegriffen wird, in derselben Organisation befinden.
Erteilung der Erlaubnis zum Abrufen der PublicAccessBlock Konfiguration für ein AWS-Konto
Die folgende identitätsbasierte Richtlinie gewährt einem Benutzer die s3:GetAccountPublicAccessBlock
-Berechtigung. Für diese Berechtigungen legen Sie den Wert Resource
auf "*"
fest. Hinweise zur Ressource finden ARNs Sie unterRichtlinienressourcen für Amazon S3.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"statement1", "Effect":"Allow", "Action":[ "s3:GetAccountPublicAccessBlock" ], "Resource":[ "*" ] } ] }
Beschränken der Bucket-Erstellung auf eine Region
Angenommen, ein AWS-Konto Administrator möchte seinem Benutzer (Dave) die Erlaubnis erteilen, einen Bucket nur in der Region Südamerika (São Paulo) zu erstellen. Der Kontoadministrator kann die folgende Benutzerrichtlinie anfügen, welche die Berechtigung s3:CreateBucket
mit der angegebenen Bedingung gewährt. Das Schlüssel-Wert-Paar im Block Condition
gibt den Schlüssel s3:LocationConstraint
und die Region sa-east-1
als seinen Wert an.
Anmerkung
In diesem Beispiel erteilt der Bucket-Eigentümer einem seiner Benutzer die Berechtigung, daher kann entweder eine Bucket-Richtlinie oder eine Benutzerrichtlinie verwendet werden. Dieses Beispiel zeigt eine Benutzerrichtlinie.
Die Liste der Amazon-S3-Regionen finden Sie unter Regionen und Endpunkte in der Allgemeine AWS-Referenz.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"statement1", "Effect":"Allow", "Action": "s3:CreateBucket", "Resource": "arn:aws:s3:::*", "Condition": { "StringLike": { "s3:LocationConstraint": "sa-east-1" } } } ] }
Hinzufügen einer expliziten Zugriffsverweigerung
Die vorangegangene Richtlinie hindert den Benutzer an der Erstellung eines Buckets in einer anderen Region als sa-east-1
. Einige andere Richtlinien gewähren diesem Benutzer möglicherweise jedoch die Berechtigung, Buckets in einer anderen Region zu erstellen. Wenn der Benutzer beispielsweise zu einer Gruppe gehört, ist der Gruppe möglicherweise eine Richtlinie angefügt, die alle Benutzer der Gruppe zum Erstellen von Buckets in einer anderen Region berechtigt. Um sicherzustellen, dass der Benutzer keine Berechtigung zum Erstellen von Buckets in einer anderen Region erhält, können Sie in der oben gezeigten Richtlinie eine explizite Anweisung zur Ablehnung hinzufügen.
Die Anweisung Deny
verwendet die Bedingung StringNotLike
. Das bedeutet, dass, eine Anforderung zum Erstellen eines Buckets abgelehnt wird, wenn die Standorteinschränkung nicht sa-east-1
ist. Die explizite Verweigerung erlaubt dem Benutzer nicht, einen Bucket in einer anderen Region zu erstellen, unabhängig davon, welche andere Berechtigung der Benutzer erhält. Die folgende Richtlinie enthält eine explizite Zugriffsverweigerungsanweisung.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"statement1", "Effect":"Allow", "Action": "s3:CreateBucket", "Resource": "arn:aws:s3:::*", "Condition": { "StringLike": { "s3:LocationConstraint": "sa-east-1" } } }, { "Sid":"statement2", "Effect":"Deny", "Action": "s3:CreateBucket", "Resource": "arn:aws:s3:::*", "Condition": { "StringNotLike": { "s3:LocationConstraint": "sa-east-1" } } } ] }
Testen Sie die Richtlinie mit AWS CLI
Sie können die Richtlinie mit dem folgenden create-bucket
AWS CLI Befehl testen. In diesem Beispiel wird die Datei bucketconfig.txt
verwendet, um die Standortbeschränkung anzugeben. Beachten Sie den Windows Dateipfad. Sie müssen den Bucket-Namen und -Pfad entsprechend aktualisieren. Sie müssen die Anmeldeinformationen des Benutzers bereitstellen, indem Sie den Parameter --profile
hinzufügen. Weitere Informationen zur Einrichtung und Verwendung von finden Sie unter Entwickeln mit Amazon S3 mithilfe der AWS CLI in der Amazon S3 S3-API-Referenz. AWS CLI
aws s3api create-bucket --bucket
examplebucket
--profile AccountADave --create-bucket-configuration file://c:/Users/someUser/bucketconfig.txt
Die Datei bucketconfig.txt
gibt die Konfiguration wie folgt an.
{"LocationConstraint": "sa-east-1"}