Konfigurieren von IAM-Richtlinien für die Verwendung von Zugriffspunkten
Amazon S3 Access Points unterstützt AWS Identity and Access Management (IAM)-Ressourcenrichtlinien, mit denen Sie die Verwendung des Zugriffspunkts nach Ressource, Benutzer 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 der zugrunde liegende Bucket oder das Amazon FSx-Dateisystem die Anfrage zulassen.
Wichtig
Einschränkungen, die Sie in eine Zugriffspunktrichtlinie einschließen, gelten nur für Anforderungen, die über diesen Zugriffspunkt eingehen. Durch das Anhängen eines Zugangspunkts an einen Bucket wird das Verhalten der zugrunde liegenden Ressource nicht geändert. Alle bestehenden Vorgänge mit dem Bucket, die nicht über Ihren Zugangspunkt erfolgen, funktionieren weiterhin wie bisher.
Wenn Sie IAM-Ressourcenrichtlinien verwenden, stellen Sie sicher, dass Sie Sicherheitswarnungen, Fehler, allgemeine 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.
Richtlinienbeispiele für Zugangspunkte
In den folgenden Beispielen wird veranschaulicht, wie IAM-Richtlinien zum Steuern von Anforderungen erstellt werden, die über einen Zugriffspunkt eingehen.
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 für eine Zugriffspunktrichtlinie veranschaulicht, wie die zugrunde liegende Bucket-Richtlinie geändert wird, damit der erforderliche Zugriff gewährt wird.
Beispiel 1 – Erteilung der Zugriffspunktberechtigung
Die folgende Zugriffspunktrichtlinie gewährt IAM-Benutzer in Konto Jane Berechtigungen für 123456789012GET- und PUT-Objekte mit dem Präfix über Zugriffspunkt Jane/ in Konto my-access-point.123456789012
Anmerkung
Damit die Zugangspunkt-Richtlinie effektiv Zugriff auf gewährt, muss der zugrunde liegende Bucket Jane auch denselben Zugriff gewähren. Sie können die Zugriffssteuerung vom Bucket an den Zugriffspunkt delegieren, wie unter beschriebe Delegieren der Zugangskontrolle an Zugriffspunkte. Oder Sie können dem zugrunde liegenden Bucket die folgende Richtlinie hinzufügen, um Jane die erforderlichen Berechtigungen zu erteilen. Beachten Sie, dass sich der JaneResource-Eintrag zwischen den Zugriffspunkt- und Bucket-Richtlinien unterscheidet.
Beispiel 2 – Zugriffspunktrichtlinie mit Tag-Bedingung
Die folgende Zugriffspunktrichtlinie gewährt IAM-Benutzer in Konto Mateo Berechtigungen für 123456789012GET-Objekte über Zugriffspunkt in Konto my-access-point, für deren Tag-Schlüssel 123456789012 der Wert data festgelegt ist.finance
Beispiel 3 – Zugriffspunktrichtlinie, die eine Bucket-Auflistung ermöglicht
Die folgende Zugriffspunktrichtlinie berechtigt den IAM-Benutzer Arnav im Konto dazu, die Objekte in dem Bucket anzuzeigen, der Zugriffspunkt 123456789012 im Konto my-access-point zugrunde liegt.123456789012
Beispiel 4 – Service-Kontrollrichtlinie
Die folgende Service-Kontrollrichtlinie erfordert, dass alle neuen Zugriffspunkte mit einem Virtual Private Cloud (VPC)-Netzwerkursprung erstellt werden. Mit dieser Richtlinie können Benutzer in Ihrer Organisation keine neuen Zugriffspunkte erstellen, auf die über das Internet zugegriffen werden kann.
Beispiel 5 – Bucket-Richtlinie zur Begrenzung von S3-Vorgängen für VPC-Netzwerkursprünge
Die folgende Bucket-Richtlinie beschränkt den Zugriff auf alle S3-Objekt-Vorgänge für Bucket auf Zugriffspunkte mit einem VPC-Netzwerkursprung.amzn-s3-demo-bucket
Wichtig
Bevor Sie eine Anweisung wie in diesem Beispiel gezeigt verwenden, stellen Sie sicher, dass Sie keine Funktionen verwenden müssen, die von Zugriffspunkten nicht unterstützt werden, z. B. regionsübergreifende Replikation.
Bedingungsschlüssel
S3-Zugriffspunkte verwenden Bedingungsschlüssel, die Sie in IAM-Richtlinien zur Kontrolle des Zugriffs auf Ihre Ressourcen verwendet werden können. Die folgenden Bedingungsschlüssel stellen nur einen Teil einer IAM-Richtlinie dar. Vollständige Richtlinienbeispiele finden Sie unter Richtlinienbeispiele für Zugangspunkte, Delegieren der Zugangskontrolle an Zugriffspunkte und Erteilen von Berechtigungen für kontoübergreifende Zugriffspunkte.
s3:DataAccessPointArn-
Dieses Beispiel zeigt eine Zeichenfolge, die Sie mit einem Zugriffspunkt-ARN abgleichen können. Das folgende Beispiel gleicht alle Zugangspunkte für AWS-Konto
in der Region123456789012ab:us-west-2"Condition" : { "StringLike": { "s3:DataAccessPointArn": "arn:aws:s3:us-west-2:123456789012:accesspoint/*" } } s3: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
.123456789012"Condition" : { "StringEquals": { "s3:DataAccessPointAccount": "123456789012" } } s3: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": { "s3:AccessPointNetworkOrigin": "VPC" } }
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 Berechtigungen für S3-API-Operationen nach S3-Ressourcentypen finden Sie unter Erforderliche Berechtigungen für Amazon-S3-API-Operationen.
Delegieren der Zugangskontrolle an Zugriffspunkte
Sie können die Zugriffssteuerung für einen Bucket an die Zugriffspunkte des Buckets delegieren. Die folgende Bucket-Beispielrichtlinie ermöglicht Vollzugriff auf alle Zugriffspunkte, die dem Konto des Bucket-Eigentümers gehören. Somit wird der gesamte Zugriff auf diesen Bucket durch die an seine Zugriffspunkte angehängten Richtlinien gesteuert. Wir empfehlen, Ihre Buckets auf diese Weise für alle Anwendungsfälle zu konfigurieren, die keinen direkten Zugriff auf den Bucket erfordern.
Beispiel 6 – Bucket-Richtlinie zum Delegieren der Zugriffskontrolle an Standardzugriffspunkte
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.
Beispiel 7 – Bucket-Richtlinie, die Berechtigungen an ein anderes AWS-Konto delegiert
Anmerkung
Kontoübergreifende Zugangspunkte sind nur für Zugangspunkte verfügbar, die an S3-Buckets angeschlossen sind. Sie können keinen Zugangspunkt an ein Volume auf einem Amazon FSx-Dateisystem anhängen, das einem anderen AWS-Konto gehört.