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.
So funktioniert Amazon S3 mit IAM
Informieren Sie sich vor der Verwendung IAM zur Verwaltung des Zugriffs auf Amazon S3 darüber, welche IAM Funktionen für Amazon S3 verfügbar sind.
IAMFunktion | Amazon-S3-Support |
---|---|
Ja |
|
Ja |
|
Ja |
|
Ja |
|
Ja |
|
Ja |
|
Teilweise |
|
Ja |
|
Ja |
|
Ja |
|
Teilweise |
Einen allgemeinen Überblick darüber, wie Amazon S3 und andere AWS Dienste mit den meisten IAM Funktionen funktionieren, finden Sie IAM im IAMBenutzerhandbuch unter AWS Dienste, die mit funktionieren.
Weitere Informationen zu den Berechtigungen für API S3-Operationen nach S3-Ressourcentypen finden Sie unterErforderliche Berechtigungen für Amazon S3 API S3-Operationen.
Identitätsbasierte Richtlinien für Amazon S3
Unterstützt Richtlinien auf Identitätsbasis: Ja
Identitätsbasierte Richtlinien sind Dokumente mit JSON Berechtigungsrichtlinien, die Sie an eine Identität anhängen können, z. B. an einen IAM Benutzer, eine Benutzergruppe oder eine Rolle. Diese Richtlinien steuern, welche Aktionen die Benutzer und Rollen für welche Ressourcen und unter welchen Bedingungen ausführen können. Informationen zum Erstellen einer identitätsbasierten Richtlinie finden Sie im Benutzerhandbuch unter Definieren benutzerdefinierter IAM Berechtigungen mit vom Kunden verwalteten Richtlinien. IAM
Mit IAM identitätsbasierten Richtlinien können Sie zulässige oder verweigerte Aktionen und Ressourcen sowie die Bedingungen angeben, unter denen Aktionen zulässig oder verweigert werden. Sie können den Prinzipal nicht in einer identitätsbasierten Richtlinie angeben, da er für den Benutzer oder die Rolle gilt, dem er zugeordnet ist. Weitere Informationen zu allen Elementen, die Sie in einer JSON Richtlinie verwenden können, finden Sie im IAMBenutzerhandbuch unter Referenz zu IAM JSON Richtlinienelementen.
Beispiele für identitätsbasierte Richtlinien für Amazon S3
Beispiele für identitätsbasierte Amazon S3 S3-Richtlinien finden Sie unter. Identitätsbasierte Richtlinien für Amazon S3
Ressourcenbasierte Richtlinien in Amazon S3
Unterstützt ressourcenbasierte Richtlinien: Ja
Ressourcenbasierte Richtlinien sind JSON Richtliniendokumente, die Sie an eine Ressource anhängen. Beispiele für ressourcenbasierte Richtlinien sind IAM Rollenvertrauensrichtlinien und Amazon S3 S3-Bucket-Richtlinien. In Services, die ressourcenbasierte Richtlinien unterstützen, können Service-Administratoren sie verwenden, um den Zugriff auf eine bestimmte Ressource zu steuern. Für die Ressource, an welche die Richtlinie angehängt ist, legt die Richtlinie fest, welche Aktionen ein bestimmter Prinzipal unter welchen Bedingungen für diese Ressource ausführen kann. Sie müssen in einer ressourcenbasierten Richtlinie einen Prinzipal angeben. Zu den Prinzipalen können Konten, Benutzer, Rollen, Verbundbenutzer oder gehören. AWS-Services
Um den kontoübergreifenden Zugriff zu ermöglichen, können Sie in einer ressourcenbasierten Richtlinie ein ganzes Konto oder IAM Entitäten in einem anderen Konto als Prinzipal angeben. Durch das Hinzufügen eines kontoübergreifenden Auftraggebers zu einer ressourcenbasierten Richtlinie ist nur die halbe Vertrauensbeziehung eingerichtet. Wenn sich der Prinzipal und die Ressource unterscheiden AWS-Konten, muss ein IAM Administrator des vertrauenswürdigen Kontos auch der Prinzipalentität (Benutzer oder Rolle) die Berechtigung zum Zugriff auf die Ressource gewähren. Sie erteilen Berechtigungen, indem Sie der juristischen Stelle eine identitätsbasierte Richtlinie anfügen. Wenn jedoch eine ressourcenbasierte Richtlinie Zugriff auf einen Prinzipal in demselben Konto gewährt, ist keine zusätzliche identitätsbasierte Richtlinie erforderlich. Weitere Informationen finden Sie IAMim IAMBenutzerhandbuch unter Kontoübergreifender Ressourcenzugriff.
Der Amazon S3 S3-Service unterstützt Bucket-Richtlinien, Zugriffspunkt-Richtlinien und Zugriffsberechtigungen:
-
Bucket-Richtlinien sind ressourcenbasierte Richtlinien, die an einen Amazon S3 S3-Bucket angehängt sind. Eine Bucket-Richtlinie definiert, welche Principals Aktionen für den Bucket ausführen können.
-
Access Point-Richtlinien sind ressourcenbasierte Richtlinien, die in Verbindung mit der zugrunde liegenden Bucket-Richtlinie bewertet werden.
-
Zugriffsberechtigungen sind ein vereinfachtes Modell zur Definition von Zugriffsberechtigungen für Daten in Amazon S3 nach Präfix, Bucket oder Objekt. Informationen zu S3-Zugriffsberechtigungen finden Sie unterVerwalten des Zugriffs mit S3-Zugriffsberechtigungen.
Prinzipien für Bucket-Richtlinien
Das Principal
Element gibt den Benutzer, das Konto, den Dienst oder eine andere Entität an, der der Zugriff auf eine Ressource entweder gewährt oder verweigert wird. Die folgenden sind Beispiele legen den Principal
fest. Weitere Informationen finden Sie unter Principal im IAMBenutzerhandbuch.
Erteilen Sie Berechtigungen für einen AWS-Konto
Um einem Berechtigungen zu erteilen AWS-Konto, identifizieren Sie das Konto anhand des folgenden Formats.
"AWS":"
account-ARN
"
Im Folgenden sind einige Beispiele aufgeführt.
"Principal":{"AWS":"arn:aws:iam::
AccountIDWithoutHyphens
:root"}
"Principal":{"AWS":["arn:aws:iam::
AccountID1WithoutHyphens
:root","arn:aws:iam::AccountID2WithoutHyphens
:root"]}
Erteilen Sie einem IAM Benutzer Berechtigungen
Um einem IAM Benutzer in Ihrem Konto Berechtigungen zu erteilen, müssen Sie ein "AWS":"
Name-Wert-Paar angeben.user-ARN
"
"Principal":{"AWS":"arn:aws:iam::
account-number-without-hyphens
:user/username
"}
Ausführliche Beispiele mit step-by-step Anweisungen finden Sie unter Beispiel 1: Bucket-Eigentümer erteilt seinen Benutzern Bucket-Berechtigungen und. Beispiel 3: Bucket-Eigentümer, der Berechtigungen für Objekte erteilt, die ihm nicht gehören
Anmerkung
Wenn eine IAM Identität gelöscht wird, nachdem Sie Ihre Bucket-Richtlinie aktualisiert haben, zeigt die Bucket-Richtlinie anstelle einer eindeutigen Kennung im Hauptelement anARN. Diese eindeutigen Daten IDs werden niemals wiederverwendet, sodass Sie Prinzipale mit eindeutigen Kennungen problemlos aus all Ihren Richtlinienerklärungen entfernen können. Weitere Informationen zu eindeutigen Kennungen finden Sie unter IAMIdentifikatoren im Benutzerhandbuch. IAM
Erteilen anonymer Berechtigungen
Warnung
Seien Sie vorsichtig, wenn Sie anonymen Zugriff auf Ihren Amazon-S3-Bucket erteilen. Wenn Sie anonymen Zugriff gewähren, kann jeder auf der ganzen Welt auf Ihren Bucket zugreifen. Wir empfehlen dringend, nie einen anonymen Schreibzugriff auf Ihren S3-Bucket zu gewähren.
Um jedem Benutzer Berechtigung zu erteilen, auch als anonymer Zugriff bezeichnet, legen Sie den Platzhalter ("*"
) auf den Wert Principal
fest. Wenn Sie beispielsweise ihren Bucket als Website konfigurieren, müssen Sie alle Objekte im Bucket öffentlich zugänglich machen.
"Principal":"*"
"Principal":{"AWS":"*"}
Durch die Verwendung "Principal": "*"
mit Allow
Wirkung in einer ressourcenbasierten Richtlinie kann jeder, auch wenn er nicht angemeldet ist AWS, auf Ihre Ressource zugreifen.
Wenn Sie die Option "Principal" : { "AWS" : "*" }
mit Allow
Wirkung in einer ressourcenbasierten Richtlinie verwenden, können alle Root-Benutzer, IAM Benutzer, Sitzungen mit übernommener Rolle oder Verbundbenutzer in einem beliebigen Konto in derselben Partition auf Ihre Ressource zugreifen.
Für anonyme Benutzer sind diese beiden Methoden gleichwertig. Weitere Informationen finden Sie im Benutzerhandbuch unter Alle Hauptbenutzer. IAM
Sie können keinen Platzhalter verwenden, um einem Teil eines Prinzipalnamens oder zuzuordnen. ARN
Wichtig
Da jeder eine erstellen kann AWS-Konto, ist die Sicherheitsstufe dieser beiden Methoden gleichwertig, auch wenn sie unterschiedlich funktionieren.
Ressourcenberechtigungen beschränken
Sie können die Ressourcenrichtlinie auch verwenden, um den Zugriff auf Ressourcen einzuschränken, die sonst für IAM Prinzipale verfügbar wären. Verwenden Sie eine Deny
-Anweisung, um den Zugriff zu verhindern.
Das folgende Beispiel blockiert den Zugriff, wenn kein sicheres Transportprotokoll verwendet wird:
{"Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": <bucket ARN>, "Condition": { "Boolean": { "aws:SecureTransport" : "false"} } }
Es hat sich für diese Richtlinie bewährt, "Principal": "*"
so zu verwenden, dass diese Einschränkung für alle gilt, anstatt zu versuchen, mit dieser Methode nur bestimmten Konten oder Prinzipalen den Zugriff zu verweigern.
Erfordern Sie Zugriff über CloudFront URLs
Sie können verlangen, dass Ihre Benutzer nur auf Ihre Amazon S3-Inhalte zugreifen, indem sie Amazon S3 CloudFront URLs anstelle von Amazon S3 verwendenURLs. Erstellen Sie dazu eine CloudFront Origin-Zugriffskontrolle (OAC). Ändern Sie dann die Berechtigungen für Ihre S3-Daten. In Ihrer Bucket-Richtlinie können Sie Folgendes CloudFront als Principal festlegen:
"Principal":{"Service":"cloudfront.amazonaws.com"}
Verwenden Sie ein Condition
Element in der Richtlinie, um nur dann Zugriff auf den Bucket CloudFront zu gewähren, wenn die Anfrage im Namen der CloudFront Distribution erfolgt, die den S3-Ursprung enthält.
"Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudfront::
111122223333
:distribution/CloudFront-distribution-ID
" } }
Weitere Informationen zur Anforderung von S3-Zugriff über CloudFront URLs finden Sie unter Beschränken des Zugriffs auf einen Amazon Simple Storage Service-Ursprung im Amazon CloudFront Developer Guide. Weitere Informationen zu den Sicherheits- und Datenschutzvorteilen der Nutzung von Amazon CloudFront finden Sie unter Konfiguration des sicheren Zugriffs und Beschränkung des Zugriffs auf Inhalte.
Beispiele für ressourcenbasierte Richtlinien für Amazon S3
Richtlinienbeispiele für Amazon S3 S3-Buckets finden Sie unterBucket-Richtlinien für Amazon S3.
Richtlinienbeispiele für Access Points finden Sie unterKonfiguration von IAM Richtlinien für die Verwendung von Access Points.
Politische Maßnahmen für Amazon S3
Unterstützt Richtlinienaktionen: Ja
Administratoren können mithilfe von AWS JSON Richtlinien festlegen, wer Zugriff auf was hat. Das bedeutet, welcher Prinzipal kann Aktionen für welche Ressourcen und unter welchen Bedingungen ausführen.
Das Action
Element einer JSON Richtlinie beschreibt die Aktionen, mit denen Sie den Zugriff in einer Richtlinie zulassen oder verweigern können. Richtlinienaktionen haben normalerweise denselben Namen wie der zugehörige AWS API Vorgang. Es gibt einige Ausnahmen, z. B. Aktionen, für die nur eine Genehmigung erforderlich ist und für die es keinen entsprechenden Vorgang gibt. API Es gibt auch einige Operationen, die mehrere Aktionen in einer Richtlinie erfordern. Diese zusätzlichen Aktionen werden als abhängige Aktionen bezeichnet.
Schließen Sie Aktionen in eine Richtlinie ein, um Berechtigungen zur Durchführung der zugeordneten Operation zu erteilen.
Im Folgenden werden verschiedene Arten von Zuordnungsbeziehungen zwischen API S3-Vorgängen und den erforderlichen Richtlinienaktionen dargestellt.
One-to-one Zuordnung mit demselben Namen. Um den
PutBucketPolicy
API Vorgang verwenden zu können, ist beispielsweise dies3:PutBucketPolicy
Richtlinienaktion erforderlich.One-to-one Zuordnung mit unterschiedlichen Namen. Um den
ListObjectsV2
API Vorgang verwenden zu können, ist beispielsweise dies3:ListBucket
Richtlinienaktion erforderlich.One-to-many Kartierung. Um beispielsweise die
HeadObject
API Operation verwenden zu können,s3:GetObject
ist der erforderlich. Wenn Sie S3 Object Lock verwenden und den Status oder die Aufbewahrungseinstellungen eines Objekts abrufen möchten, sind außerdem die entsprechenden Aktionens3:GetObjectLegalHold
oder dies3:GetObjectRetention
Richtlinienaktionen erforderlich, bevor Sie denHeadObject
API Vorgang verwenden können.Many-to-one Zuordnung. Um beispielsweise die
HeadBucket
API OperationenListObjectsV2
oder zu verwenden, ist dies3:ListBucket
Richtlinienaktion erforderlich.
Eine Liste der Amazon S3-Aktionen zur Verwendung in Richtlinien finden Sie unter Von Amazon S3 definierte Aktionen in der Service Authorization Reference. Eine vollständige Liste der Amazon S3 API S3-Operationen finden Sie unter Amazon S3 API S3-Aktionen in der Amazon Simple Storage API Service-Referenz.
Weitere Informationen zu den Berechtigungen für API S3-Operationen nach S3-Ressourcentypen finden Sie unterErforderliche Berechtigungen für Amazon S3 API S3-Operationen.
Richtlinienaktionen in Amazon S3 verwenden das folgende Präfix vor der Aktion:
s3
Um mehrere Aktionen in einer einzigen Anweisung anzugeben, trennen Sie sie mit Kommata:
"Action": [ "s3:
action1
", "s3:action2
" ]
Bucket-Operationen
Bucket-Operationen sind API S3-Operationen, die auf dem Bucket-Ressourcentyp ausgeführt werden. Beispiel: CreateBucket
, ListObjectsV2
und PutBucketPolicy
. S3-Richtlinienaktionen für Bucket-Operationen erfordern, dass das Resource
Element in Bucket-Richtlinien oder IAM identitätsbasierten Richtlinien der Amazon Resource Name (ARN) -Bezeichner vom Typ S3-Bucket im folgenden Beispielformat ist.
"Resource": "arn:aws:s3:::
amzn-s3-demo-bucket
"
Die folgende Bucket-Richtlinie gewährt dem Benutzer
mit Konto Akua
die 12345678901
s3:ListBucket
Erlaubnis, Folgendes durchzuführen ListObjectsV2APIOperation und Listet Objekte in einem S3-Bucket auf.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Akua to list objects in the bucket", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
12345678901
:user/Akua" }, "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket
" } ] }
Bucket-Operationen in Access Point-Richtlinien
In einer Zugriffspunktrichtlinie gewährte Berechtigungen sind nur wirksam, wenn der zugrunde liegende Bucket dieselben Berechtigungen zulässt. Wenn Sie S3 Access Points verwenden, müssen Sie die Zugriffskontrolle vom Bucket an den Access Point delegieren oder die gleichen Berechtigungen in den Access Point-Richtlinien zur Richtlinie des zugrunde liegenden Buckets hinzufügen. Weitere Informationen finden Sie unter Konfiguration von IAM Richtlinien für die Verwendung von Access Points. In Zugriffspunktrichtlinien erfordern S3-Richtlinienaktionen für Bucket-Operationen, dass Sie den Zugriffspunkt ARN für das Resource
Element im folgenden Format verwenden.
"Resource": "arn:aws:s3:
us-west-2
:123456789012
:accesspoint/example-access-point
"
Die folgende Zugriffspunktrichtlinie gewährt dem Benutzer
mit einem Konto Akua
die 12345678901
s3:ListBucket
Erlaubnis, Folgendes auszuführen ListObjectsV2APIVorgang über den genannten S3-Zugangspunkt
. Diese Berechtigung ermöglicht esexample-access-point
, die Objekte in dem Bucket aufzulisten, dem sie zugeordnet sindAkua
. example-access-point
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow
Akua
to list objects in the bucket through access point", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::12345678901
:user/Akua
" }, "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:us-west-2
:123456789012
:accesspoint/example-access-point
" } ] }
Anmerkung
Nicht alle Bucket-Operationen werden von S3 Access Point unterstützt. Weitere Informationen finden Sie unter Zugriffspunkt-Kompatibilität mit S3-Vorgänge.
Objektoperationen
Objektoperationen sind API S3-Operationen, die auf den Objektressourcentyp einwirken. Beispiel: GetObject
, PutObject
und DeleteObject
. Für S3-Richtlinienaktionen für Objektoperationen muss das Resource
Element in den Richtlinien das S3-Objekt ARN in den folgenden Beispielformaten sein.
"Resource": "arn:aws:s3:::
amzn-s3-demo-bucket
/*"
"Resource": "arn:aws:s3:::
amzn-s3-demo-bucket
/prefix
/*"
Anmerkung
Das Objekt ARN muss nach dem Bucket-Namen einen Schrägstrich enthalten, wie in den vorherigen Beispielen gezeigt.
Die folgende Bucket-Richtlinie gewährt dem Benutzer
mit Konto Akua
die 12345678901
s3:PutObject
entsprechende Berechtigung. Diese Erlaubnis ermöglicht
die Verwendung von PutObjectAPIVorgang zum Hochladen von Objekten in den genannten S3-BucketAkua
.amzn-s3-demo-bucket
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow
Akua
to upload objects", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::12345678901
:user/Akua
" }, "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket
/*" } ] }
Objektoperationen in Zugriffspunktrichtlinien
Wenn Sie S3 Access Points verwenden, um den Zugriff auf Objektoperationen zu steuern, können Sie Zugriffspunktrichtlinien verwenden. Wenn Sie Zugriffspunktrichtlinien verwenden, müssen Sie bei S3-Richtlinienaktionen für Objektoperationen den Zugriffspunkt ARN für das Resource
Element im folgenden Format verwenden:arn:aws:s3:
. Bei Objektoperationen, die Zugriffspunkte verwenden, müssen Sie den region
:account-id
:accesspoint/access-point-name
/object/resource
/object/
Wert hinter dem gesamten Zugriffspunkt ARN in das Resource
Element aufnehmen. Hier sind einige Beispiele.
"Resource": "arn:aws:s3:
us-west-2
:123456789012
:accesspoint/example-access-point
/object/*"
"Resource": "arn:aws:s3:
us-west-2
:123456789012
:accesspoint/example-access-point
/object/prefix
/*"
Die folgende Zugriffspunktrichtlinie gewährt dem Benutzer
mit Konto Akua
die 12345678901
s3:GetObject
entsprechende Berechtigung. Diese Berechtigung ermöglicht
die Ausführung von GetObjectAPIVorgang über den Access Point, der für alle Objekte in dem Bucket benannt Akua
ist, der dem Access Point zugeordnet ist. example-access-point
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow
Akua
to get objects through access point", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::12345678901
:user/Akua
" }, "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:us-west-2
:123456789012
:accesspoint/example-access-point
/object/*" } ] }
Anmerkung
Nicht alle Objektoperationen werden von Access Points unterstützt. Weitere Informationen finden Sie unter Zugriffspunkt-Kompatibilität mit S3-Vorgänge.
Operationen an Zugriffspunkten
Access Point-Operationen sind API S3-Operationen, die auf dem accesspoint
Ressourcentyp ausgeführt werden. Beispiel: CreateAccessPoint
, DeleteAccessPoint
und GetAccessPointPolicy
. S3-Richtlinienaktionen für Access Point-Operationen können nur in IAM identitätsbasierten Richtlinien verwendet werden, nicht in Bucket-Richtlinien oder Zugriffspunktrichtlinien. Für Access Point-Operationen muss das Resource
Element der Access Point ARN im folgenden Beispielformat sein.
"Resource": "arn:aws:s3:
us-west-2
:123456789012
:accesspoint/example-access-point
"
Die folgende IAM identitätsbasierte Richtlinie gewährt die s3:GetAccessPointPolicy
Erlaubnis zur Durchführung von GetAccessPointPolicyAPIVorgang auf dem genannten S3-Zugriffspunkt. example-access-point
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Grant permission to retrieve the access point policy of access point
example-access-point
", "Effect": "Allow", "Action": [ "s3:GetAccessPointPolicy" ], "Resource": "arn:aws:s3:*:123456789012
:accesspoint/example-access-point
" } ] }
Wenn Sie Access Points verwenden, um den Zugriff auf Bucket-Operationen zu steuern, sieheBucket-Operationen in Access Point-Richtlinien; Informationen zur Steuerung des Zugriffs auf Objektoperationen finden Sie unterObjektoperationen in Zugriffspunktrichtlinien. Weitere Informationen zur Konfiguration von Zugriffspunktrichtlinien finden Sie unterKonfiguration von IAM Richtlinien für die Verwendung von Access Points.
Operationen des Object Lambda Access Points
Mit S3 Object Lambda können Sie GET
-, LIST
- und HEAD
-Anforderungen von Amazon S3 eigenen Code hinzufügen, um Daten zu ändern und zu verarbeiten, wenn sie an eine Anwendung zurückgegeben werden. Sie können Anfragen über einen Object Lambda Access Point stellen, was genauso funktioniert wie Anfragen über andere Access Points. Weitere Informationen finden Sie unter Transformieren von Objekten mit S3 Object Lambda.
Weitere Informationen zur Konfiguration von Richtlinien für Object Lambda Access Point-Operationen finden Sie unterKonfiguration von IAM Richtlinien für Object Lambda Access Points.
Access Point-Operationen in mehreren Regionen
Ein Access Point mit mehreren Regionen bietet einen globalen Endpunkt, über den Anwendungen Anfragen von S3-Buckets bearbeiten können, die sich in mehreren befinden. AWS-Region Sie können einen Multi-Region-Access Point verwenden, um multiregionale Anwendungen mit derselben Architektur zu erstellen, die in einer einzelnen Region verwendet wird, und diese Anwendungen dann überall auf der Welt ausführen. Weitere Informationen finden Sie unter Verwaltung von regionsübergreifendem Verkehr mit multiregionalen Access Points.
Weitere Informationen zur Konfiguration von Richtlinien für den Betrieb von Access Points in mehreren Regionen finden Sie unter. Beispielrichtlinien für Multi-Region Access Points
Batch-Job-Operationen
Auftragsoperationen (Batch Operations) sind API S3-Operationen, die auf dem Ressourcentyp Job ausgeführt werden. Beispiel: DescribeJob
und CreateJob
. S3-Richtlinienaktionen für Auftragsoperationen können nur in IAM identitätsbasierten Richtlinien verwendet werden, nicht in Bucket-Richtlinien. Für Auftragsoperationen muss das Resource
Element in IAM identitätsbasierten Richtlinien außerdem das job
ARN folgende Beispielformat haben.
"Resource": "arn:aws:s3:*:
123456789012
:job/*"
Die folgende IAM identitätsbasierte Richtlinie gewährt die s3:DescribeJob
Erlaubnis, den DescribeJobAPIVorgang für den genannten Auftrag S3 Batch Operations auszuführen. example-job
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow describing the Batch operation job
example-job
", "Effect": "Allow", "Action": [ "s3:DescribeJob" ], "Resource": "arn:aws:s3:*:123456789012
:job/example-job
" } ] }
Konfigurationsvorgänge für S3 Storage Lens
Weitere Informationen zur Konfiguration von S3 Storage Lens-Konfigurationsvorgängen finden Sie unterAmazon S3 Storage Lens-Berechtigungen einrichten.
Kontovorgänge
Kontovorgänge sind API S3-Operationen, die auf Kontoebene ausgeführt werden. Zum Beispiel GetPublicAccessBlock
(für ein Konto). Konto ist kein von Amazon S3 definierter Ressourcentyp. S3-Richtlinienaktionen für Kontooperationen können nur in IAM identitätsbasierten Richtlinien verwendet werden, nicht in Bucket-Richtlinien. Außerdem ist für Kontooperationen das Resource
Element in IAM identitätsbasierten Richtlinien erforderlich. "*"
Die folgende IAM identitätsbasierte Richtlinie erteilt die s3:GetAccountPublicAccessBlock
Erlaubnis, die Ausführung auf Kontoebene durchzuführen GetPublicAccessBlockAPIBetrieb und Abrufen der Einstellungen für die Sperrung des öffentlichen Zugriffs auf Kontoebene.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"Allow retrieving the account-level Public Access Block settings", "Effect":"Allow", "Action":[ "s3:GetAccountPublicAccessBlock" ], "Resource":[ "*" ] } ] }
Richtlinienbeispiele für Amazon S3
-
Beispiele für identitätsbasierte Amazon S3 S3-Richtlinien finden Sie unter. Identitätsbasierte Richtlinien für Amazon S3
-
Beispiele für ressourcenbasierte Amazon S3 S3-Richtlinien finden Sie unter Bucket-Richtlinien für Amazon S3 und. Konfiguration von IAM Richtlinien für die Verwendung von Access Points
Richtlinienressourcen für Amazon S3
Unterstützt Richtlinienressourcen: Ja
Administratoren können mithilfe von AWS JSON Richtlinien festlegen, wer Zugriff auf was hat. Das bedeutet, welcher Prinzipal kann Aktionen für welche Ressourcen und unter welchen Bedingungen ausführen.
Das Resource
JSON Richtlinienelement gibt das Objekt oder die Objekte an, für die die Aktion gilt. Anweisungen müssen entweder ein – Resource
oder ein NotResource
-Element enthalten. Es hat sich bewährt, eine Ressource mit ihrem Amazon-Ressourcennamen (ARN) anzugeben. Sie können dies für Aktionen tun, die einen bestimmten Ressourcentyp unterstützen, der als Berechtigungen auf Ressourcenebene bezeichnet wird.
Verwenden Sie für Aktionen, die keine Berechtigungen auf Ressourcenebene unterstützen, z. B. Auflistungsoperationen, einen Platzhalter (*), um anzugeben, dass die Anweisung für alle Ressourcen gilt.
"Resource": "*"
Einige Amazon S3 API S3-Aktionen unterstützen mehrere Ressourcen. s3:GetObject
Greift beispielsweise auf
und zuexample-resource-1
, sodass ein Principal über Berechtigungen für den Zugriff auf beide Ressourcen verfügen muss. Um mehrere Ressourcen in einer einzigen Anweisung anzugeben, trennen Sie sie ARNs durch Kommas, wie im folgenden Beispiel gezeigt. example-resource-2
"Resource": [ "
example-resource-1
", "example-resource-2
"
Ressourcen in Amazon S3 sind Buckets, Objekte, Zugriffspunkte oder Jobs. Verwenden Sie in einer Richtlinie den Amazon-Ressourcennamen (ARN) des Buckets, Objekts, Access Points oder Jobs, um die Ressource zu identifizieren.
Eine vollständige Liste der Amazon S3-Ressourcentypen und ihrer ARNs Eigenschaften finden Sie unter Von Amazon S3 definierte Ressourcen in der Service Authorization Reference. Informationen darüber, mit welchen Aktionen Sie die ARN einzelnen Ressourcen spezifizieren können, finden Sie unter Von Amazon S3 definierte Aktionen.
Weitere Informationen zu den Berechtigungen für API S3-Operationen nach S3-Ressourcentypen finden Sie unterErforderliche Berechtigungen für Amazon S3 API S3-Operationen.
Platzhalterzeichen in der Ressource ARNs
Sie können Platzhalterzeichen als Teil der Ressource verwenden. ARN Sie können die Platzhalterzeichen (*
und?
) in jedem ARN Segment (die durch Doppelpunkte getrennten Teile) verwenden. Ein Sternchen (*
) steht für kein Zeichen oder eine beliebige Kombination von mehreren Zeichen und ein Fragezeichen (?
) entspricht einem beliebigen einzelnen Zeichen. Sie können in jedem Segment mehrere ?
Zeichen *
oder verwenden. Ein Platzhalterzeichen kann sich jedoch nicht über mehrere Segmente erstrecken.
-
Im Folgenden ARN wird das
*
Platzhalterzeichen imrelative-ID
Teil von verwendet, ARN um alle Objekte im Bucket zu identifizieren.amzn-s3-demo-bucket
arn:aws:s3:::
amzn-s3-demo-bucket
/* -
Im Folgenden werden ARN alle
*
S3-Buckets und -Objekte bezeichnet.arn:aws:s3:::*
-
Im Folgenden ARN werden beide Platzhalterzeichen
*
und?
, imrelative-ID
Teil verwendet. Dadurch ARN werden alle Objekte in Buckets identifiziert, z. B.
,, und so weiter.amzn-s3-demo-example1bucket
amzn-s3-demo-example2bucket
amzn-s3-demo-example3bucket
arn:aws:s3:::
amzn-s3-demo-example
?bucket
/*
Richtlinienvariablen für Ressourcen ARNs
Sie können Richtlinienvariablen in Amazon S3 verwendenARNs. Bei der Überprüfung der Richtlinien werden diese vordefinierten Variablen durch ihre entsprechenden Werte ersetzt. Angenommen, Sie organisieren Ihren Bucket als eine Sammlung von Ordnern mit einem Ordner für jeden Ihrer Benutzer. Der Ordnername ist derselbe wie der Benutzername. Um Benutzern Berechtigungen für ihre Ordner zu gewähren, können Sie eine Richtlinienvariable in der Ressource angebenARN:
arn:aws:s3:::
bucket_name
/developers
/${aws:username}/
Zur Laufzeit, wenn die Richtlinie ausgewertet wird, ARN wird die Variable ${aws:username}
in der Ressource durch den Benutzernamen der Person ersetzt, die die Anfrage stellt.
Richtlinienbeispiele für Amazon S3
-
Beispiele für identitätsbasierte Amazon S3 S3-Richtlinien finden Sie unter. Identitätsbasierte Richtlinien für Amazon S3
-
Beispiele für ressourcenbasierte Amazon S3 S3-Richtlinien finden Sie unter Bucket-Richtlinien für Amazon S3 und. Konfiguration von IAM Richtlinien für die Verwendung von Access Points
Schlüssel für Richtlinienbedingungen für Amazon S3
Unterstützt servicespezifische Richtlinienbedingungsschlüssel: Ja
Administratoren können mithilfe von AWS JSON Richtlinien angeben, wer Zugriff auf was hat. Das heißt, welcher Prinzipal kann Aktionen für welche Ressourcen und unter welchen Bedingungen ausführen.
Das Element Condition
(oder Condition
block) ermöglicht Ihnen die Angabe der Bedingungen, unter denen eine Anweisung wirksam ist. Das Element Condition
ist optional. Sie können bedingte Ausdrücke erstellen, die Bedingungsoperatoren verwenden, z. B. ist gleich oder kleiner als, damit die Bedingung in der Richtlinie mit Werten in der Anforderung übereinstimmt.
Wenn Sie mehrere Condition
-Elemente in einer Anweisung oder mehrere Schlüssel in einem einzelnen Condition
-Element angeben, wertet AWS diese mittels einer logischen AND
-Operation aus. Wenn Sie mehrere Werte für einen einzelnen Bedingungsschlüssel angeben, AWS wertet die Bedingung mithilfe einer logischen OR
Operation aus. Alle Bedingungen müssen erfüllt werden, bevor die Berechtigungen der Anweisung gewährt werden.
Sie können auch Platzhaltervariablen verwenden, wenn Sie Bedingungen angeben. Sie können einem IAM Benutzer beispielsweise nur dann Zugriff auf eine Ressource gewähren, wenn sie mit seinem IAM Benutzernamen gekennzeichnet ist. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter IAMRichtlinienelemente: Variablen und Tags.
AWS unterstützt globale Bedingungsschlüssel und dienstspezifische Bedingungsschlüssel. Eine Übersicht aller AWS globalen Bedingungsschlüssel finden Sie unter Kontextschlüssel für AWS globale Bedingungen im IAMBenutzerhandbuch.
Jeder Amazon S3 S3-Bedingungsschlüssel ist demselben Anforderungsheader mit demselben Namen zugeordnet, der von API dem zugelassen wird, für den die Bedingung gesetzt werden kann. Amazon-S3-spezifische Bedingungsschlüssel bestimmen das Verhalten der Anforderungs-Header mit demselben Namen. Beispielsweise definiert der Bedingungsschlüssel, der s3:VersionId
verwendet wird, um die bedingte Berechtigung zu s3:GetObjectVersion
erteilen, das Verhalten des versionId
Abfrageparameters, den Sie in einer GET Objektanforderung festlegen.
Eine Liste der Amazon S3-Bedingungsschlüssel finden Sie unter Bedingungsschlüssel für Amazon S3 in der Service Authorization Reference. Informationen zu den Aktionen und Ressourcen, mit denen Sie einen Bedingungsschlüssel verwenden können, finden Sie unter Von Amazon S3 definierte Aktionen.
Beispiel: Beschränkung von Objekt-Uploads auf Objekte mit einer bestimmten Speicherklasse
Angenommen, Konto A, dargestellt durch Konto-ID
, besitzt einen Bucket. Das Konto, das der Administrator einschränken möchte 123456789012
, ein Benutzer in Konto A, so dass Dave
kann Objekte nur dann in den Bucket hochladen, wenn das Objekt in der Dave
STANDARD_IA
Speicherklasse gespeichert ist. Um das Hochladen von Objekten auf eine bestimmte Speicherklasse einzuschränken, kann der Administrator von Konto A den Bedingungsschlüssel s3:x-amz-storage-class
verwenden wie in der folgenden Bucket-Beispielrichtlinie gezeigt.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
123456789012
:user/Dave
" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1
/*", "Condition": { "StringEquals": { "s3:x-amz-storage-class": [ "STANDARD_IA" ] } } } ] }
Im Beispiel gibt der Block Condition
die Bedingung StringEquals
an, die auf das angegebene Schlüssel-Wert-Paar angewendet wird, "s3:x-amz-acl":["public-read"]
. Es gibt einen Satz vordefinierter Schlüssel, die Sie zum Ausdruck einer Bedingung verwenden können. Das Beispiel verwendet den Bedingungsschlüssel s3:x-amz-acl
. Diese Bedingung erfordert, dass der Benutzer den x-amz-acl
Header mit dem Wert public-read
in jede PutObject
Anfrage einfügt.
Richtlinienbeispiele für Amazon S3
-
Beispiele für identitätsbasierte Amazon S3 S3-Richtlinien finden Sie unter. Identitätsbasierte Richtlinien für Amazon S3
-
Beispiele für ressourcenbasierte Amazon S3 S3-Richtlinien finden Sie unter Bucket-Richtlinien für Amazon S3 und. Konfiguration von IAM Richtlinien für die Verwendung von Access Points
ACLsauf Amazon S3
UnterstütztACLs: Ja
In Amazon S3 kontrollieren Zugriffskontrolllisten (ACLs), welche Berechtigungen für den Zugriff auf eine Ressource AWS-Konten haben. ACLsähneln ressourcenbasierten Richtlinien, verwenden jedoch nicht das Format des JSON Richtliniendokuments.
Wichtig
Für die meisten modernen Anwendungsfälle in Amazon S3 ist die Verwendung von nicht mehr erforderlichACLs.
Informationen zur Verwendung ACLs zur Zugriffskontrolle in Amazon S3 finden Sie unterVerwaltung des Zugriffs mit ACLs.
ABACmit Amazon S3
Unterstützt ABAC (Tags in Richtlinien): Teilweise
Die attributbasierte Zugriffskontrolle (ABAC) ist eine Autorisierungsstrategie, bei der Berechtigungen auf der Grundlage von Attributen definiert werden. In werden AWS diese Attribute als Tags bezeichnet. Sie können Tags an IAM Entitäten (Benutzer oder Rollen) und an viele AWS Ressourcen anhängen. Das Markieren von Entitäten und Ressourcen ist der erste Schritt vonABAC. Anschließend entwerfen Sie ABAC Richtlinien, die Operationen zulassen, wenn das Tag des Prinzipals mit dem Tag auf der Ressource übereinstimmt, auf die er zugreifen möchte.
ABACist hilfreich in Umgebungen, die schnell wachsen, und hilft in Situationen, in denen die Richtlinienverwaltung umständlich wird.
Um den Zugriff auf der Grundlage von Tags zu steuern, geben Sie im Bedingungselement einer Richtlinie Tag-Informationen an, indem Sie die Schlüssel aws:ResourceTag/
, key-name
aws:RequestTag/
, oder Bedingung key-name
aws:TagKeys
verwenden.
Wenn ein Service alle drei Bedingungsschlüssel für jeden Ressourcentyp unterstützt, lautet der Wert für den Service Ja. Wenn ein Service alle drei Bedingungsschlüssel für nur einige Ressourcentypen unterstützt, lautet der Wert Teilweise.
Weitere Informationen dazu finden Sie ABAC unter Definieren von Berechtigungen mit ABAC Autorisierung im IAMBenutzerhandbuch. Ein Tutorial mit Schritten zur Einrichtung finden Sie im ABAC Benutzerhandbuch unter Verwenden der attributebasierten Zugriffskontrolle (ABAC). IAM
Beispiele für identitätsbasierte Richtlinien zur Beschränkung des Zugriffs auf S3 Batch Operations-Jobs basierend auf Tags finden Sie unter. Steuern von Berechtigungen für Batch-Operationen mithilfe von Job-Tags
ABACund Objekt-Tags
In ABAC Richtlinien verwenden Objekte s3:
Tags anstelle von aws:
Tags. Um den Zugriff auf Objekte auf der Grundlage von Objekt-Tags zu steuern, geben Sie Tag-Informationen in der Condition Element einer Richtlinie unter Verwendung der folgenden Tags:
-
s3:ExistingObjectTag/
tag-key
-
s3:s3:RequestObjectTagKeys
-
s3:RequestObjectTag/
tag-key
Informationen zur Verwendung von Objekt-Tags zur Zugriffskontrolle, einschließlich beispielhafter Berechtigungsrichtlinien, finden Sie unterMarkierungs- und Zugriffskontrollrichtlinien.
Temporäre Anmeldeinformationen mit Amazon S3 verwenden
Unterstützt temporäre Anmeldeinformationen: Ja
Einige funktionieren AWS-Services nicht, wenn Sie sich mit temporären Anmeldeinformationen anmelden. Weitere Informationen, einschließlich Informationen darüber, AWS-Services wie Sie mit temporären Anmeldeinformationen arbeiten können AWS-Services , finden Sie IAM im IAMBenutzerhandbuch unter Diese Informationen.
Sie verwenden temporäre Anmeldeinformationen, wenn Sie sich mit einer anderen AWS Management Console Methode als einem Benutzernamen und einem Kennwort anmelden. Wenn Sie beispielsweise AWS über den Single Sign-On-Link (SSO) Ihres Unternehmens darauf zugreifen, werden bei diesem Vorgang automatisch temporäre Anmeldeinformationen erstellt. Sie erstellen auch automatisch temporäre Anmeldeinformationen, wenn Sie sich als Benutzer bei der Konsole anmelden und dann die Rollen wechseln. Weitere Informationen zum Rollenwechsel finden Sie im Benutzerhandbuch unter Von einem Benutzer zu einer IAM Rolle (Konsole) wechseln. IAM
Mit dem AWS CLI oder können Sie manuell temporäre Anmeldeinformationen erstellen AWS API. Sie können diese temporären Anmeldeinformationen dann für den Zugriff verwenden AWS. AWS empfiehlt, temporäre Anmeldeinformationen dynamisch zu generieren, anstatt langfristige Zugriffsschlüssel zu verwenden. Weitere Informationen finden Sie unter Temporäre Sicherheitsanmeldeinformationen unter IAM.
Zugriffssitzungen für Amazon S3 weiterleiten
Unterstützt Forward-Access-Sitzungen (FAS): Ja
Wenn Sie einen IAM Benutzer oder eine Rolle verwenden, um Aktionen auszuführen AWS, gelten Sie als Principal. Bei einigen Services könnte es Aktionen geben, die dann eine andere Aktion in einem anderen Service initiieren. FASverwendet die Berechtigungen des Prinzipals, der einen aufruft AWS-Service, kombiniert mit der Anforderung, Anfragen AWS-Service an nachgelagerte Dienste zu stellen. FASAnfragen werden nur gestellt, wenn ein Dienst eine Anfrage erhält, für deren Abschluss Interaktionen mit anderen AWS-Services oder Ressourcen erforderlich sind. In diesem Fall müssen Sie über Berechtigungen zum Ausführen beider Aktionen verfügen. Einzelheiten zu den Richtlinien beim Stellen von FAS Anfragen finden Sie unter Zugriffssitzungen weiterleiten.
FASwird von Amazon S3 verwendet, um Aufrufe zur Entschlüsselung eines Objekts AWS KMS zu tätigen, wenn SSE - zum Verschlüsseln verwendet KMS wurde. Weitere Informationen finden Sie unter Serverseitige Verschlüsselung mit AWS KMS Schlüsseln verwenden (SSE-) KMS.
S3 Access Grants verwendet auch. FAS Nachdem Sie eine Zugriffsberechtigung für Ihre S3-Daten für eine bestimmte Identität erstellt haben, fordert der Empfänger temporäre Anmeldeinformationen von S3 Access Grants an. S3 Access Grants erhält temporäre Anmeldeinformationen für den Antragsteller von AWS STS und sendet die Anmeldeinformationen an den Antragsteller. Weitere Informationen finden Sie unter Anfordern des Zugriffs auf Amazon-S3-Daten über S3 Access Grants.
Servicerollen für Amazon S3
Unterstützt Servicerollen: Ja
Eine Servicerolle ist eine IAMRolle, die ein Service übernimmt, um Aktionen in Ihrem Namen auszuführen. Ein IAM Administrator kann eine Servicerolle von innen heraus erstellen, ändern und löschenIAM. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter Erstellen einer Rolle zum Delegieren von Berechtigungen AWS-Service an eine.
Warnung
Durch das Ändern der Berechtigungen für eine Servicerolle kann die Amazon S3 S3-Funktionalität beeinträchtigt werden. Bearbeiten Sie Servicerollen nur, wenn Amazon S3 Sie dazu anleitet.
Servicebezogene Rollen für Amazon S3
Unterstützt serviceverknüpfte Rollen: Teilweise
Eine serviceverknüpfte Rolle ist eine Art von Servicerolle, die mit einer verknüpft ist. AWS-Service Der Service kann die Rolle übernehmen, um eine Aktion in Ihrem Namen auszuführen. Dienstbezogene Rollen werden in Ihrem Dienst angezeigt AWS-Konto und gehören dem Dienst. Ein IAM Administrator kann die Berechtigungen für dienstbezogene Rollen anzeigen, aber nicht bearbeiten.
Amazon S3 unterstützt serviceverknüpfte Rollen für Amazon S3 Storage Lens. Einzelheiten zum Erstellen oder Verwalten von serviceverknüpften Amazon S3 S3-Rollen finden Sie unterVerwenden von serviceverknüpften Rollen für Amazon S3 Storage Lens.
Amazon S3 Service als Principal
Name des Dienstes in der Richtlinie | S3-Funktion | Weitere Informationen |
---|---|---|
|
S3-Replikation |
|
|
S3-Ereignisbenachrichtigungen |
|
|
S3-Bestand |
|
|
S3 Access Grants |
|
|
S3-BatchVorgänge |
|
|
Protokollierung des S3-Serverzugriffs |
|
|
S3 Storage Lens |
Anzeigen von Amazon S3-Storage-Lens-Metriken mit einem Datenexport |