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 Bucket-Richtlinien mit Bedingungsschlüsseln
Sie können die Sprache der Zugriffsrichtlinie verwenden, um Bedingungen anzugeben, wenn Sie Berechtigungen erteilen. Sie können das optionale Condition
Element oder den Condition
Block verwenden, um Bedingungen für das Inkrafttreten einer Richtlinie festzulegen.
Richtlinien, die Amazon-S3-Bedingungsschlüssel für Objekt- und Bucket-Vorgänge verwenden, finden Sie in den folgenden Beispielen. Weitere Informationen über Bedingungsschlüssel finden Sie unter Schlüssel für Richtlinienbedingungen für Amazon S3. Eine vollständige Liste der Amazon S3-Aktionen, Bedingungsschlüssel und Ressourcen, die Sie in Richtlinien angeben können, finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon S3 in der Service Authorization Reference.
Weitere Informationen zu den Berechtigungen für API S3-Operationen nach S3-Ressourcentypen finden Sie unterErforderliche Berechtigungen für Amazon S3 API S3-Operationen.
Beispiele: Amazon S3 S3-Bedingungsschlüssel für Objektoperationen
Die folgenden Beispiele zeigen, wie Sie Amazon S3 S3-spezifische Bedingungsschlüssel für Objektoperationen verwenden können. Eine vollständige Liste der Amazon S3-Aktionen, Bedingungsschlüssel und Ressourcen, die Sie in Richtlinien angeben können, finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon S3 in der Service Authorization Reference.
Weitere Informationen zu den Berechtigungen für API S3-Operationen nach S3-Ressourcentypen finden Sie unterErforderliche Berechtigungen für Amazon S3 API S3-Operationen.
Einige der Beispielrichtlinien zeigen, wie Sie Bedingungsschlüssel mit PUTObjektoperationen verwenden können. PUTObjektoperationen ermöglichen Zugriffskontrolllisten (ACL) — Header, die Sie verwenden können, um bestimmte Berechtigungen zu erteilenACL. Mithilfe dieser Bedingungsschlüssel können Sie eine Bedingung festlegen, die bestimmte Zugriffsberechtigungen erfordert, wenn der Benutzer ein Objekt hochlädt. Sie können im Rahmen des ACL Vorgangs auch Zugriffsberechtigungen gewähren. PutObjectAcl Weitere Informationen finden Sie PutObjectAclin der Amazon S3 API S3-Referenz zu Amazon Simple Storage Service. Weitere Informationen zu finden ACLs Sie unterÜbersicht über die Zugriffskontrollliste (ACL).
Themen
- Beispiel 1: Erteilung einer s3:PutObject Berechtigung, die erfordert, dass Objekte mit serverseitiger Verschlüsselung gespeichert werden
- Beispiel 2: Erteilen der s3:PutObject Berechtigung zum Kopieren von Objekten mit einer Einschränkung der Kopierquelle
- Beispiel 3: Zugriff auf eine bestimmte Version eines Objekts gewähren
- Beispiel 4: Erteilen von Berechtigungen auf der Grundlage von Objekt-Tags
- Beispiel 5: Beschränkung des Zugriffs anhand der AWS-Konto ID des Bucket-Besitzers
- Beispiel 6: Eine TLS Mindestversion ist erforderlich
- Beispiel 7: Bestimmte Hauptpersonen aus einer Deny Anweisung ausschließen
Beispiel 1: Erteilung einer s3:PutObject
Berechtigung, die erfordert, dass Objekte mit serverseitiger Verschlüsselung gespeichert werden
Angenommen, Konto A besitzt einen Bucket. Der Kontoadministrator möchte Jane, einer Benutzerin in Konto A, die Erlaubnis zum Hochladen von Objekten unter der Bedingung gewähren, dass Jane immer serverseitige Verschlüsselung mit verwalteten Amazon S3 S3-Schlüsseln (SSE-S3) anfordert. Der Konto-A-Administrator kann diese Anforderung mithilfe des s3:x-amz-server-side-encryption
Bedingungsschlüssels wie in der Abbildung dargestellt spezifizieren. Das Schlüssel-Wert-Paar im folgenden Condition
Block gibt den s3:x-amz-server-side-encryption
Bedingungsschlüssel und SSE -S3 (AES256
) als Verschlüsselungstyp an:
"Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption": "AES256" }}
Wenn Sie diese Berechtigung mit dem testen AWS CLI, müssen Sie die erforderliche Verschlüsselung mithilfe des --server-side-encryption
Parameters hinzufügen, wie im folgenden Beispiel gezeigt. Wenn Sie diesen Beispielbefehl verwenden möchten, ersetzen Sie
durch Ihre Informationen. user input
placeholders
aws s3api put-object --bucket
amzn-s3-demo-bucket
--keyHappyFace.jpg
--bodyc:\HappyFace.jpg
--server-side-encryption "AES256
" --profileAccountAadmin
Beispiel 2: Erteilen der s3:PutObject
Berechtigung zum Kopieren von Objekten mit einer Einschränkung der Kopierquelle
Wenn Sie in einer PUT
Objektanforderung ein Quellobjekt angeben, handelt es sich bei der Anforderung um einen Kopiervorgang (siehe CopyObject). Dementsprechend kann der Bucket-Besitzer einem Benutzer die Erlaubnis erteilen, Objekte mit Einschränkungen in Bezug auf die Quelle zu kopieren, zum Beispiel:
-
Erlaubt das Kopieren von Objekten nur aus dem angegebenen Quell-Bucket (z. B.
).amzn-s3-demo-source-bucket
-
Erlaubt das Kopieren von Objekten aus dem angegebenen Quell-Bucket und nur von Objekten, deren Schlüsselnamenpräfix mit einem bestimmten Präfix beginnt, z. B.
(zum Beispielöffentlich/
).amzn-s3-demo-source-bucket
/public/*
-
Erlaubt das Kopieren nur eines bestimmten Objekts aus dem Quell-Bucket (z. B.
).amzn-s3-demo-source-bucket
/example.jpg
Die folgende Bucket-Richtlinie gewährt einem Benutzer (
) die Dave
s3:PutObject
Berechtigung. Diese Richtlinie erlaubt es ihm, Objekte nur unter der Bedingung zu kopieren, dass die Anfrage den s3:x-amz-copy-source
Header enthält und dass der Header-Wert das /
Schlüsselnamenpräfix angibt. Wenn Sie diese Beispielrichtlinie verwenden möchten, ersetzen Sie amzn-s3-demo-source-bucket
/public/*
durch Ihre eigenen Informationen.user
input placeholders
{ "Version": "2012-10-17", "Statement": [ { "Sid": "cross-account permission to user in your own account", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
123456789012
:user/Dave
" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::/*" }, { "Sid": "Deny your user permission to upload object if copy source is not /bucket/prefix", "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam::
amzn-s3-demo-source-bucket
123456789012
:user/Dave
" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::/*", "Condition": { "StringNotLike": { "s3:x-amz-copy-source": "
amzn-s3-demo-source-bucket
amzn-s3-demo-source-bucket
/public/*
" } } } ] }
Testen Sie die Richtlinie mit dem AWS CLI
Sie können die Berechtigung mit dem AWS CLI copy-object
Befehl testen. Sie geben die Quelle an, indem Sie den Parameter --copy-source
hinzufügen. Das Schlüsselnamenpräfix muss dem Präfix entsprechen, das in der Richtlinie zulässig ist. Sie müssen die Anmeldeinformationen des Benutzers Dave mit dem Parameter --profile
angeben. Weitere Informationen zur Einrichtung von finden Sie unter Entwickeln mit Amazon S3 unter Verwendung von AWS CLI in der Amazon S3 API S3-Referenz. AWS CLI
aws s3api copy-object --bucket
--key
amzn-s3-demo-source-bucket
HappyFace.jpg
--copy-source
amzn-s3-demo-source-bucket
/public/PublicHappyFace1.jpg
--profileAccountADave
Erteilen der Berechtigung, nur ein bestimmtes Objekt zu kopieren
Die vorherige Richtlinie verwendet die Bedingung StringNotLike
. Um die Erlaubnis zu erteilen, nur ein bestimmtes Objekt zu kopieren, müssen Sie die Bedingung von StringNotLike
bis ändern StringNotEquals
und dann den genauen Objektschlüssel angeben, wie im folgenden Beispiel gezeigt. Wenn Sie diesen Beispielbefehl verwenden möchten, ersetzen Sie
durch Ihre Informationen.user input
placeholders
"Condition": { "StringNotEquals": { "s3:x-amz-copy-source": "
amzn-s3-demo-source-bucket
/public/PublicHappyFace1.jpg
" } }
Beispiel 3: Zugriff auf eine bestimmte Version eines Objekts gewähren
Angenommen, Konto A besitzt einen Bucket mit aktivierter Versionierung. Der Bucket beinhaltet mehrere Versionen des Objekts
. Der Administrator des Kontos A möchte dem Benutzer nun die HappyFace.jpg
Erlaubnis erteilen, nur eine bestimmte Version des Objekts abzurufen. Der Kontoadministrator kann dies erreichen, indem er dem Benutzer Dave
die Dave
s3:GetObjectVersion
Berechtigung unter bestimmten Bedingungen erteilt, wie im folgenden Beispiel gezeigt. Das Schlüssel-Wert-Paar im Block Condition
gibt den Bedingungsschlüssel s3:VersionId
an. In diesem Fall
muss die genaue Versions-ID des Objekts bekannt sein, um das Objekt aus dem angegebenen Bucket mit aktivierter Versionierung abzurufen. Wenn Sie diese Beispielrichtlinie verwenden möchten, ersetzen Sie Dave
durch Ihre eigenen Informationen.user input
placeholders
Weitere Informationen finden Sie unter GetObjectin der Amazon Simple Storage Service API Reference.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
123456789012
:user/Dave
" }, "Action": "s3:GetObjectVersion", "Resource": "arn:aws:s3:::
amzn-s3-demo-bucket
/HappyFace.jpg
" }, { "Sid": "statement2", "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam::123456789012
:user/Dave
" }, "Action": "s3:GetObjectVersion", "Resource": "arn:aws:s3:::
amzn-s3-demo-bucket
/HappyFace.jpg
", "Condition": { "StringNotEquals": { "s3:VersionId": "AaaHbAQitwiL_h47_44lRO2DDfLlBO5e
" } } } ] }
Testen Sie die Richtlinie mit AWS CLI
Sie können die Berechtigungen in dieser Richtlinie testen, indem Sie den AWS CLI get-object
Befehl mit dem --version-id
Parameter verwenden, um die spezifische Objektversion zu identifizieren, die abgerufen werden soll. Der Befehl ruft die angegebene Version des Objekts ab und speichert sie in der
Datei.OutputFile.jpg
aws s3api get-object --bucket
--key
amzn-s3-demo-bucket
HappyFace.jpg
OutputFile.jpg
--version-idAaaHbAQitwiL_h47_44lRO2DDfLlBO5e
--profileAccountADave
Beispiel 4: Erteilen von Berechtigungen auf der Grundlage von Objekt-Tags
Beispiele für die Verwendung von Bedingungsschlüsseln für Objekt-Tagging bei Amazon S3 S3-Vorgängen finden Sie unterMarkierungs- und Zugriffskontrollrichtlinien.
Beispiel 5: Beschränkung des Zugriffs anhand der AWS-Konto ID des Bucket-Besitzers
Sie können entweder den s3:ResourceAccount
Bedingungsschlüssel aws:ResourceAccount
oder verwenden, um IAM oder virtuelle private Cloud (VPC) -Endpunktrichtlinien zu schreiben, die den Benutzer-, Rollen- oder Anwendungszugriff auf die Amazon S3 S3-Buckets einschränken, die einer bestimmten AWS-Konto ID gehören. Sie können diese Bedingungsschlüssel verwenden, um zu verhindern, dass Clients in Ihrem VPC Unternehmen auf Buckets zugreifen, die Sie nicht besitzen.
Beachten Sie jedoch, dass einige AWS Dienste auf den Zugriff auf AWS verwaltete Buckets angewiesen sind. Daher kann sich die Verwendung der s3:ResourceAccount
Taste aws:ResourceAccount
oder in Ihrer IAM Richtlinie auch auf den Zugriff auf diese Ressourcen auswirken. Weitere Informationen finden Sie in den folgenden Ressourcen:
-
Beschränken des Zugriffs auf Buckets in einem bestimmten AWS-Konto im AWS PrivateLink -Handbuch
-
Beschränken Sie den Zugriff auf Buckets, die Amazon im Amazon ECR Guide ECR verwendet
-
Geben Sie im Handbuch den erforderlichen Zugriff auf Systems Manager für AWS verwaltete Amazon S3 S3-Buckets an AWS Systems Manager
Weitere Informationen zu den Schlüsseln aws:ResourceAccount
und den s3:ResourceAccount
Bedingungsschlüsseln sowie Beispiele für deren Verwendung finden Sie unter Beschränken des Zugriffs auf Amazon S3 S3-Buckets, die bestimmten Personen gehören
Beispiel 6: Eine TLS Mindestversion ist erforderlich
Sie können den s3:TlsVersion
Bedingungsschlüssel verwendenIAM, um Richtlinien für virtuelle private Cloud-Endpunkte (VPCE) oder Buckets zu schreiben, die den Benutzer- oder Anwendungszugriff auf Amazon S3 S3-Buckets je nach der vom Client verwendeten TLS Version einschränken. Sie können diesen Bedingungsschlüssel verwenden, um Richtlinien zu schreiben, für die eine TLS Mindestversion erforderlich ist.
Die folgende Beispiel-Bucket-Richtlinie lehnt PutObject
Anfragen von Clients ab, deren TLS Version älter als 1.2 ist, z. B. 1.1 oder 1.0. Wenn Sie diese Beispielrichtlinie verwenden möchten, ersetzen Sie
durch Ihre eigenen Informationen.user input placeholders
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": [ "arn:aws:s3:::
", "arn:aws:s3:::
amzn-s3-demo-bucket1
/*" ], "Condition": { "NumericLessThan": { "s3:TlsVersion": 1.2 } } } ] }
amzn-s3-demo-bucket1
Die folgende Beispiel-Bucket-Richtlinie erlaubt PutObject
Anfragen von Clients mit einer späteren TLS Version als 1.1, zum Beispiel 1.2, 1.3 oder höher:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:PutObject", "Resource": [ "arn:aws:s3:::
", "arn:aws:s3:::
amzn-s3-demo-bucket1
/*" ], "Condition": { "NumericGreaterThan": { "s3:TlsVersion": 1.1 } } } ] }
amzn-s3-demo-bucket1
Beispiel 7: Bestimmte Hauptpersonen aus einer Deny
Anweisung ausschließen
Die folgende Bucket-Richtlinie verweigert den s3:GetObject
Zugriff auf die
, außer für Principals mit der Kontonummer amzn-s3-demo-bucket
. Um diese Beispielrichtlinie zu verwenden, ersetzen Sie die 123456789012
durch Ihre eigenen Informationen.user input
placeholders
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAccessFromPrincipalNotInSpecificAccount", "Principal": { "AWS": "*" }, "Action": "s3:GetObject", "Effect": "Deny", "Resource": [ "arn:aws:s3:::
amzn-s3-demo-bucket
/*" ], "Condition": { "StringNotEquals": { "aws:PrincipalAccount": [ "" ] } } } ] }
123456789012
Beispiele: Amazon S3 S3-Bedingungsschlüssel für Bucket-Operationen
Die folgenden Beispielrichtlinien zeigen, wie Sie Amazon S3 S3-spezifische Bedingungsschlüssel für Bucket-Operationen verwenden können.
Themen
Beispiel 1: Erteilen einer s3:GetObject
Erlaubnis mit einer Bedingung für eine IP-Adresse
Sie können authentifizierten Benutzern die Erlaubnis erteilen, die s3:GetObject
Aktion zu verwenden, wenn die Anfrage von einem bestimmten IP-Adressbereich stammt (z. B.
), es sei denn, es handelt sich um eine IP-Adresse, die Sie ausschließen möchten (z. B.). 192.0.2.*
Im 192.0.2.188
Condition
Block IpAddress
und NotIpAddress
befinden sich Bedingungen, und jeder Bedingung wird ein Schlüssel-Wert-Paar zur Auswertung zugewiesen. Beide Schlüssel-Wert-Paare in diesem Beispiel verwenden den breiten Schlüssel. aws:SourceIp
AWS Wenn Sie diese Beispielrichtlinie verwenden möchten, ersetzen Sie
durch Ihre eigenen Informationen.user input placeholders
Anmerkung
Die im Condition
Block angegebenen NotIpAddress
Schlüsselwerte IPAddress
und verwenden die CIDR Notation, wie in RFC 4632 beschrieben. Weitere Informationen finden Sie unter http://www.rfc-editor. org/rfc/rfc
{ "Version": "2012-10-17", "Id": "S3PolicyId1", "Statement": [ { "Sid": "statement1", "Effect": "Allow", "Principal": "*", "Action":"s3:GetObject", "Resource": "arn:aws:s3:::
/*", "Condition" : { "IpAddress" : { "aws:SourceIp": "
amzn-s3-demo-bucket
192.0.2.0/24
" }, "NotIpAddress" : { "aws:SourceIp": "192.0.2.188/32
" } } } ] }
Sie können auch andere bedingte Schlüssel für AWS alle Bereiche in Amazon S3 S3-Richtlinien verwenden. Sie können beispielsweise die Bedingungsschlüssel aws:SourceVpce
und die aws:SourceVpc
Bedingungsschlüssel in Bucket-Richtlinien für VPC Endgeräte angeben. Spezifische Beispiele finden Sie unter Steuern des Zugriffs von VPC Endpunkten aus mit Bucket-Richtlinien.
Anmerkung
Für einige AWS globale Bedingungsschlüssel werden nur bestimmte Ressourcentypen unterstützt. Prüfen Sie daher, ob Amazon S3 den globalen Bedingungsschlüssel und den Ressourcentyp unterstützt, den Sie verwenden möchten, oder ob Sie stattdessen einen Amazon S3 S3-spezifischen Bedingungsschlüssel verwenden müssen. Eine vollständige Liste der unterstützten Ressourcentypen und Bedingungsschlüssel für Amazon S3 finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon S3 in der Service Authorization Reference.
Weitere Informationen zu den Berechtigungen für API S3-Operationen nach S3-Ressourcentypen finden Sie unterErforderliche Berechtigungen für Amazon S3 API S3-Operationen.
Beispiel 2: Abrufen einer Liste von Objekten in einem Bucket mit einem bestimmten Präfix
Sie können den s3:prefix
Bedingungsschlüssel verwenden, um die Antwort des ListObjectsV2APIOperation zur Eingabe von Schlüsselnamen mit einem bestimmten Präfix. Wenn Sie der Bucket-Besitzer sind, können Sie diesen Bedingungsschlüssel verwenden, um einen Benutzer darauf zu beschränken, den Inhalt eines bestimmten Präfixes im Bucket aufzulisten. Der s3:prefix
Bedingungsschlüssel ist nützlich, wenn die Objekte im Bucket nach Schlüsselnamenpräfixen organisiert sind.
Die Amazon-S3-Konsole verwendet Schlüsselnamenpräfixe zum Anzeigen von Ordnerkonzepten. Nur die Konsole unterstützt das Konzept von Ordnern; Amazon S3 API unterstützt nur Buckets und Objekte. Zum Beispiel, wenn Sie zwei Objekte mit den Schlüsselnamen haben
and public/object1.jpg
, die Konsole zeigt die Objekte unter public/object2.jpg
folder. In Amazon S3 API sind dies Objekte mit Präfixen, keine Objekte in Ordnern. Weitere Informationen zur Verwendung von Präfixen und Trennzeichen zum Filtern von Zugriffsberechtigungen finden Sie unter Kontrollieren des Zugriffs auf einen Bucket mit Benutzerrichtlinien. öffentlich
Im folgenden Szenario sind der Bucket-Besitzer und das übergeordnete Konto, zu dem der Benutzer gehört, identisch. Der Bucket-Besitzer kann also entweder eine Bucket-Richtlinie oder eine Benutzerrichtlinie verwenden, um Zugriff zu gewähren. Weitere Informationen zu anderen Bedingungsschlüsseln, die Sie für den ListObjectsV2
API Vorgang verwenden können, finden Sie unter ListObjectsV2.
Anmerkung
Wenn für den Bucket die Versionsverwaltung aktiviert ist, müssen Sie, um die Objekte im Bucket aufzulisten, die s3:ListBucketVersions
Berechtigung in den folgenden Richtlinien statt der s3:ListBucket
Berechtigung erteilen. Die s3:ListBucketVersions
Berechtigung unterstützt auch den s3:prefix
Bedingungsschlüssel.
Richtlinie für Benutzer:
Die folgende Benutzerrichtlinie gewährt die s3:ListBucket
Berechtigung (siehe ListObjectsV2) mit einer Condition
Anweisung, nach der der Benutzer in der Anfrage ein Präfix mit dem Wert angeben muss
. Wenn Sie diese Beispielrichtlinie verwenden möchten, ersetzen Sie projects
durch Ihre eigenen Informationen.user input placeholders
{ "Version":"2012-10-17", "Statement":[ { "Sid":"statement1", "Effect":"Allow", "Action": "s3:ListBucket", "Resource":"arn:aws:s3:::
", "Condition" : { "StringEquals" : { "s3:prefix": "
amzn-s3-demo-bucket
projects
" } } }, { "Sid":"statement2", "Effect":"Deny", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::", "Condition" : { "StringNotEquals" : { "s3:prefix": "
amzn-s3-demo-bucket
projects
" } } } ] }
Die Condition
Anweisung beschränkt den Benutzer darauf, nur Objektschlüssel aufzulisten, die das
Präfix haben. Die hinzugefügte explizite projects
Deny
Anweisung verbietet dem Benutzer, Schlüssel mit einem anderen Präfix aufzulisten, unabhängig davon, welche anderen Berechtigungen der Benutzer möglicherweise hat. Es ist beispielsweise möglich, dass der Benutzer die Erlaubnis erhält, Objektschlüssel ohne Einschränkungen aufzulisten, entweder durch Aktualisierungen der vorherigen Benutzerrichtlinie oder durch eine Bucket-Richtlinie. Da explizite Deny
Anweisungen immer Allow
Anweisungen überschreiben, wird die Anfrage verweigert, wenn der Benutzer versucht, andere Schlüssel als die aufzulisten, die das
Präfix haben. projects
Bucket-Richtlinie
Wenn Sie das Principal
Element zur obigen Benutzerrichtlinie hinzufügen und den Benutzer identifizieren, verfügen Sie jetzt über eine Bucket-Richtlinie, wie im folgenden Beispiel gezeigt. Wenn Sie diese Beispielrichtlinie verwenden möchten, ersetzen Sie
durch Ihre eigenen Informationen.user input
placeholders
{ "Version":"2012-10-17", "Statement":[ { "Sid":"statement1", "Effect":"Allow", "Principal": { "AWS": "arn:aws:iam::
123456789012
:user/bucket-owner
" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::", "Condition" : { "StringEquals" : { "s3:prefix": "
amzn-s3-demo-bucket
projects
" } } }, { "Sid":"statement2", "Effect":"Deny", "Principal": { "AWS": "arn:aws:iam::123456789012
:user/bucket-owner
" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::", "Condition" : { "StringNotEquals" : { "s3:prefix": "
amzn-s3-demo-bucket
projects
" } } } ] }
Testen Sie die Richtlinie mit dem AWS CLI
Sie können die Richtlinie mit dem folgenden list-object
AWS CLI Befehl testen. Im Befehl geben Sie Benutzeranmeldeinformationen mit dem Parameter --profile
an. Weitere Informationen zur Einrichtung und Verwendung von finden Sie unter Entwickeln mit Amazon S3 unter Verwendung von AWS CLI in der Amazon S3 API S3-Referenz. AWS CLI
aws s3api list-objects --bucket
--prefix
amzn-s3-demo-bucket
projects
--profileAccountA
Beispiel 3: Festlegen der maximalen Anzahl von Schlüsseln
Sie können den s3:max-keys
Bedingungsschlüssel verwenden, um die maximale Anzahl von Schlüsseln festzulegen, die ein Anforderer in einem ListObjectsV2 oder ListObjectVersions request. Standardmäßig geben diese API Operationen bis zu 1.000 Schlüssel zurück. Eine Liste der numerischen Bedingungsoperatoren, die Sie zusammen mit s3:max-keys
zugehörigen Beispielen verwenden können, finden Sie unter Numerische Bedingungsoperatoren im IAMBenutzerhandbuch.