Konfigurieren von IAM-Richtlinien für die Verwendung von Zugangspunkten für Verzeichnis-Buckets
Zugangspunkte unterstützen AWS Identity and Access Management (IAM)-Ressourcenrichtlinien, mit denen Sie die Verwendung des Zugangspunkts nach Ressourcen, Benutzern oder anderen Bedingungen steuern können. Damit eine Anwendung oder ein Benutzer über einen Zugangspunkt auf Objekte zugreifen kann, müssen sowohl der Zugangspunkt als auch die zugrunde liegende Bucket-Richtlinie die Anfrage zulassen.
Wichtig
Das Hinzufügen eines Zugangspunkts zu einem Verzeichnis-Bucket ändert nicht das Verhalten des Buckets, wenn der Bucket direkt über den Bucket-Namen aufgerufen wird. Alle vorhandenen Vorgänge für den Bucket funktionieren weiterhin wie zuvor. Einschränkungen, die Sie in eine Zugriffsrichtlinie oder einen Zugriffsbereich für einen Zugangspunkt aufnehmen, gelten nur für Anfragen, die über diesen Zugangspunkt gestellt werden.
Wenn Sie IAM-Ressourcenrichtlinien verwenden, stellen Sie sicher, dass Sie die Sicherheitswarnungen, Fehler, allgemeinen Warnungen und Vorschläge von AWS Identity and Access Management Access Analyzer beheben, bevor Sie Ihre Richtlinie speichern. IAM Access Analyzer führt Richtlinienprüfungen durch, um Ihre Richtlinie anhand der IAM-Richtliniengrammatik und der bewährten Methoden zu validieren. Diese Prüfungen generieren Ergebnisse und bieten Empfehlungen, die Sie beim Erstellen von Richtlinien unterstützen, die funktionsfähig sind und den bewährten Methoden für Sicherheit entsprechen.
Weitere Informationen zum Validieren von Richtlinien mit IAM Access Analyzer finden Sie unter Validierung der IAM-Access-Analyzer-Richtlinien im IAM-Benutzerhandbuch. Eine Liste der Warnungen, Fehler und Vorschläge, die von IAM Access Analyzer zurückgegeben werden, finden Sie unter IAM-Access-Analyzer-Richtlinienprüfungsreferenz.
Beispiele für Zugangspunkte für Verzeichnis-Buckets
Die folgenden Zugangspunktrichtlinien veranschaulichen, wie Anfragen an einen Verzeichnis-Bucket gesteuert werden können. Zugriffsrichtlinien für Zugangspunkte erfordern Bucket-ARNs oder Zugangspunkt-ARNs. Aliasnamen für Zugangspunkte werden in Richtlinien nicht unterstützt. Im Folgenden finden Sie ein Beispiel für einen Zugangspunkt-ARN:
arn:aws:s3express:region:account-id:accesspoint/myaccesspoint--zoneID--xa-s3
Sie können den ARN des Zugangspunkts in den Details eines Zugangspunkts einsehen. Weitere Informationen finden Sie unter Details zu Ihren Zugangspunkten für Verzeichnis-Buckets anzeigen.
Anmerkung
Berechtigungen, die in einer Zugriffspunktrichtlinie erteilt werden, sind nur wirksam, wenn der zugrunde liegende Bucket auch denselben Zugriff zulässt. Sie können dies auf zwei Arten erreichen:
-
(Empfohlen) Delegieren Sie die Zugriffssteuerung vom Bucket an den Zugriffspunkt, wie unter Delegieren der Zugangskontrolle an Zugriffspunkte beschrieben.
-
Fügen Sie der Richtlinie des zugrunde liegenden Buckets dieselben Berechtigungen hinzu, die in der Zugriffspunktrichtlinie enthalten sind.
Beispiel 1 – Service-Kontrollrichtlinie zur Beschränkung von Zugangspunkten auf VPC-Netzwerkquellen
Die folgende Service-Kontrollrichtlinie erfordert, dass alle neuen Zugangspunkte mit einem Virtual Private Cloud (VPC)-Netzwerkursprung erstellt werden. Mit dieser Richtlinie können Benutzer in Ihrer Organisation keine neuen Zugangspunkte erstellen, auf die über das Internet zugegriffen werden kann.
Beispiel 2 – Zugangspunktrichtlinie zur Beschränkung des Bucket-Zugriffs auf Zugangspunkte mit VPC-Netzwerkursprung
Die folgende Zugangspunktrichtlinie beschränkt den gesamten Zugriff auf den Bucket amzn-s3-demo-bucket--zoneID--x-s3 auf einen Zugangspunkt mit einem VPC-Netzwerkursprung.
Bedingungsschlüssel
Zugangspunkte für Verzeichnis-Buckets verfügen über Bedingungsschlüssel, die Sie in IAM-Richtlinien zur Kontrolle des Zugriffs auf Ihre Ressourcen verwenden können. Die folgenden Bedingungsschlüssel stellen nur einen Teil einer IAM-Richtlinie dar. Vollständige Richtlinienbeispiele finden Sie unter Beispiele für Zugangspunkte für Verzeichnis-Buckets, Delegieren der Zugangskontrolle an Zugriffspunkte und Erteilen von Berechtigungen für kontoübergreifende Zugriffspunkte.
s3express:DataAccessPointArn-
Dieses Beispiel zeigt, wie der Zugriff nach dem Amazon-Ressourcennamen (ARN) eines Zugangspunkts gefiltert wird und entspricht allen Zugangspunkten für AWS-Konto
111122223333in der RegionRegion:"Condition" : { "StringLike": { "s3express:DataAccessPointArn": "arn:aws:s3express:region:111122223333:accesspoint/*" } } s3express:DataAccessPointAccount-
Dieses Beispiel zeigt einen Zeichenfolgenoperator, mit dem Sie die Konto-ID des Besitzers eines Zugriffspunkts abgleichen können. Das folgende Beispiel entspricht allen Zugriffspunkten im Besitz des s AWS-Konto
.111122223333"Condition" : { "StringEquals": { "s3express:DataAccessPointAccount": "111122223333" } } s3express:AccessPointNetworkOrigin-
Dieses Beispiel zeigt einen Zeichenfolgenoperator, den Sie verwenden können, um für den Netzwerkursprung entweder
InternetoderVPCabzugleichen. Im folgenden Beispiel werden nur Zugriffspunkte mit einem VPC-Ursprung abgeglichen."Condition" : { "StringEquals": { "s3express:AccessPointNetworkOrigin": "VPC" } } s3express:Permissions-
Sie können
s3express:Permissionsverwenden, um den Zugriff auf bestimmte API-Operationen im Zugangspunkt-Bereich einzuschränken. Folgende API-Operationen werden unterstützt:PutObjectGetObjectDeleteObjectListBucket(erforderlich fürListObjectsV2)GetObjectAttributesAbortMultipartUploadListBucketMultipartUploadsListMultipartUploadParts
Anmerkung
Bei der Verwendung von mehrwertigen Bedingungsschlüsseln empfehlen wir,
ForAllValuesmitAllow-Anweisungen undForAnyValuemitDeny-Anweisungen zu verwenden. Weitere Informationen finden Sie unter Kontextschlüssel mit mehreren Werten im IAM-Benutzerhandbuch.
Weitere Informationen zur Verwendung von Bedingungsschlüsseln mit Amazon S3 finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon S3 in der Service-Authorization-Referenz.
Weitere Informationen zu den erforderlichen Berechtigungen für S3-API-Vorgänge nach S3-Ressourcentypen finden Sie unter Erforderliche Berechtigungen für Amazon-S3-API-Operationen.
Delegieren der Zugangskontrolle an Zugriffspunkte
Sie können die Zugriffskontrolle von der Bucket-Richtlinie an die Zugangspunktrichtlinie delegieren. Die folgende Bucket-Beispielrichtlinie ermöglicht Vollzugriff auf alle Zugriffspunkte, die dem Konto des Bucket-Eigentümers gehören. Nach Anwendung der Richtlinie wird der gesamte Zugriff auf diesen Bucket durch Zugangspunkte gesteuert. Wir empfehlen, Ihre Buckets auf diese Weise für alle Anwendungsfälle zu konfigurieren, die keinen direkten Zugriff auf den Bucket erfordern.
Beispiel Bucket-Richtlinie zum Delegieren der Zugriffskontrolle an Zugangspunkte
{ "Version": "2012-10-17", "Statement" : [ { "Effect": "Allow", "Principal" : { "AWS": "*" }, "Action" : "*", "Resource" : [ "Bucket ARN", "Condition": { "StringEquals" : { "s3express:DataAccessPointAccount" : "Bucket owner's account ID" } } }] }
Erteilen von Berechtigungen für kontoübergreifende Zugriffspunkte
Wenn Sie einen Zugriffspunkt für einen Bucket erstellen möchten, der einem anderen Konto gehört, müssen Sie zuerst den Zugriffspunkt erstellen, indem Sie den Bucket-Namen und die Kontobesitzer-ID angeben. Dann muss der Bucket-Eigentümer die Bucket-Richtlinie aktualisieren, um Anfragen vom Zugriffspunkt zu autorisieren. Ein Zugriffspunkt wird insofern ähnlich erstellt wie ein DNS-CNAME, als der Zugriffspunkt keinen Zugriff auf den Bucket-Inhalt bietet. Der gesamte Bucket-Zugriff wird durch die Bucket-Richtlinie kontrolliert. Die folgende Bucket-Beispielrichtlinie erlaubt GET- und LIST- Anfragen an den Bucket von einem Zugriffspunkt aus, der einem vertrauenswürdigen AWS-Konto gehört.
Ersetzen Sie den Bucket-ARN durch den Namen des Buckets.