AWS PrivateLink für S3 on Outposts - Amazon S3 on Outposts

AWS PrivateLink für S3 on Outposts

S3 on Outposts unterstützt AWS PrivateLink, der über einen privaten Endpunkt in Ihrem VPN (Virtual Private Network) direkten Verwaltungszugriff auf Ihren S3-on-Outposts-Speicher bietet. Auf diese Weise können Sie Ihre interne Netzwerkarchitektur vereinfachen und Verwaltungsvorgänge auf Ihrem Outposts-Objektspeicher ausführen, indem Sie private IP-Adressen in Ihrer Virtual Private Cloud (VPC) verwenden. Die Verwendung von AWS PrivateLink macht die Nutzung öffentlicher IP-Adressen oder Proxyserver überflüssig.

Mit AWS PrivateLink für Amazon S3 on Outposts können Sie Schnittstellen-VPC-Endpunkte in Ihrer Virtual Private Cloud (VPC) bereitstellen, um auf Ihre S3-on-Outposts-APIs zur Bucket-Verwaltung und Endpunktverwaltung zuzugreifen. Schnittstellen-VPC-Endpunkte sind direkt von Anwendungen aus zugänglich, die in Ihrer VPC oder On-Premises über Ihr Virtual Private Network (VPN) oder AWS Direct Connect bereitgestellt sind. Sie können über AWS PrivateLink auf die APIs für die Bucket- und Endpunktverwaltung zugreifen. AWS PrivateLink unterstützt keine API-Operationen zur Datenübertragung wie GET, PUT und ähnliche APIs. Diese Vorgänge werden bereits privat über die Konfiguration des S3-on-Outposts-Endpunkts und des Zugriffspunkts übertragen. Weitere Informationen finden Sie unter Vernetzung für S3 on Outposts.

Schnittstellenendpunkte werden durch eine oder mehrere Elastic Network-Schnittstellen (ENIs) repräsentiert, denen private IP-Adressen aus Subnetzen in Ihrer VPC zugewiesen werden. Anfragen, die an Schnittstellenendpunkte für S3 on Outposts gestellt werden, werden automatisch an S3-on-Outposts-APIs zur Bucket- und Endpunktverwaltung im AWS-Netzwerk weitergeleitet. Sie können auch von On-Premises-Anwendungen in Ihrer VPC über AWS Direct Connect oder AWS Virtual Private Network (Site-to-Site VPN) auf Schnittstellen-Endpunkte zugreifen. Weitere Informationen darüber, wie Sie Ihre VPC mit Ihrem On-Premises-Netzwerk verbinden, finden Sie im Direct Connect-Benutzerhandbuch und im AWS Site-to-Site VPN-Benutzerhandbuch.

Schnittstellenendpunkte leiten Anfragen für S3-on-Outposts-APIs für die Bucket- und Endpunktverwaltung über das AWS-Netzwerk und durch AWS PrivateLink weiter, wie im folgenden Diagramm veranschaulicht.

Das Datenflussdiagramm zeigt, wie Schnittstellenendpunkte Anfragen für S3-on-Outposts-APIs für die Bucket- und Endpunktverwaltung weiterleiten.

Allgemeine Informationen zu Schnittstellen-Endpunkten finden Sie unter VPC-Schnittstellen-Endpunkte (AWS PrivateLink) im AWS PrivateLink-Handbuch.

Wenn Sie auf S3-on-Outposts-APIs für die Bucket- und Endpunktverwaltung über AWS PrivateLink zugreifen, gelten VPC-Einschränkungen. Weitere Informationen finden Sie unter Interface endpoint properties and limitations (Eigenschaften und Beschränkungen von Schnittstellen-Endpunkten) und AWS PrivateLink quotas (PrivateLink-Kontingente) im AWS PrivateLink-Leitfaden.

Darüber hinaus unterstützt AWS PrivateLink Folgendes nicht:

Zugriff auf S3-on-Outposts-Schnittstellenendpunkte

Für den Zugriff auf S3-on-Outposts-APIs für die Bucket- und Endpunktverwaltung über AWS PrivateLink müssen Sie Ihre Anwendungen aktualisieren, damit diese endpunktspezifische DNS-Namen verwenden. Wenn Sie einen Schnittstellenendpunkt erstellen, generiert AWS PrivateLink zwei Arten von endpunktspezifischen S3-on-Outposts-Namen: regional und zonengebunden.

  • Regionale DNS-Namen enthalten eine eindeutige VPC-Endpunkt-ID, eine Service-ID, die AWS-Region und vpce.amazonaws.com, z. B. vpce-1a2b3c4d-5e6f.s3-outposts.us-east-1.vpce.amazonaws.com.

  • Zonengebundene DNS-Namen enthalten eine eindeutige VPC-Endpunkt-ID, die Availability Zone, eine Service-ID, die AWS-Region und vpce.amazonaws.com, z. B. vpce-1a2b3c4d-5e6f-us-east-1a.s3-outposts.us-east-1.vpce.amazonaws.com. Sie können diese Option verwenden, wenn Ihre Architektur Availability Zones isoliert. Sie könnten zonengebundene Namen beispielsweise zur Fehlereingrenzung oder zur Senkung der regionalen Datenübertragungskosten verwenden.

Wichtig

Die Endpunkte der S3-on-Outposts-Schnittstelle werden von der öffentlichen DNS-Domain aus aufgelöst. S3 on Outposts unterstützt kein privates DNS. Benutze den Parameter --endpoint-url für alle Bucket- und Endpunktverwaltungs-APIs.

Verwenden Sie die Parameter --region und --endpoint-url für den Zugriff auf Bucket- und Endpunktverwaltungs-APIs über S3-on-Outposts-Schnittstellenendpunkte.

Beispiel : Verwenden der Endpunkt-URL zum Auflisten von Buckets mit der S3-Steuerungs-API

Im folgenden Beispiel ersetzen Sie die Region us-east-1, die VPC-Endpunkt-URL vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com und die Konto-ID 111122223333 durch entsprechende Informationen.

aws s3control list-regional-buckets --region us-east-1 --endpoint-url https://vpce-1a2b3c4d-5e6f.s3-outposts.us-east-1.vpce.amazonaws.com --account-id 111122223333

Aktualisieren Sie Ihre SDKs auf die neueste Version und konfigurieren Sie Ihre Clients so, dass sie eine Endpunkt-URL für den Zugriff auf eine S3-Steuerungs-API für S3-on-Outposts-Schnittstellenendpunkte verwenden.

SDK for Python (Boto3)
Beispiel : Verwenden einer Endpunkt-URL, um auf die S3-Steuerungs-API zuzugreifen

Ersetzen Sie im folgenden Beispiel die Region us-east-1 und die VPC-Endpunkt-URL vpce-1a2b3c4d-5e6f.s3-outposts.us-east-1.vpce.amazonaws.com durch entsprechende Informationen.

control_client = session.client( service_name='s3control', region_name='us-east-1', endpoint_url='https://vpce-1a2b3c4d-5e6f.s3-outposts.us-east-1.vpce.amazonaws.com' )

Weitere Informationen finden Sie unter AWS PrivateLink für Amazon S3 im Boto3-Entwicklerhandbuch.

SDK for Java 2.x
Beispiel : Verwenden einer Endpunkt-URL, um auf die S3-Steuerungs-API zuzugreifen

Ersetzen Sie im folgenden Beispiel die VPC-Endpunkt-URL vpce-1a2b3c4d-5e6f.s3-outposts.us-east-1.vpce.amazonaws.com und die Region Region.US_EAST_1 durch entsprechende Informationen.

// control client Region region = Region.US_EAST_1; s3ControlClient = S3ControlClient.builder().region(region) .endpointOverride(URI.create("https://vpce-1a2b3c4d-5e6f.s3-outposts.us-east-1.vpce.amazonaws.com")) .build()

Weitere Informationen finden Sie unter S3ControlClient in der AWS SDK für Java-API-Referenz.

Aktualisieren einer lokalen DNS-Konfiguration

Wenn Sie endpunktspezifische DNS-Namen für den Zugriff auf die Schnittstellenendpunkte für S3-on-Outposts-APIs für die Bucket- und Endpunktverwaltung verwenden, brauchen Sie Ihren On-Premises-DNS-Resolver nicht zu aktualisieren. Sie können den endpunktspezifischen DNS-Namen mit der privaten IP-Adresse des Schnittstellenendpunkts aus der öffentlichen S3-on-Outposts-DNS-Domäne auflösen.

Erstellen eines VPC-Endpunkts für S3 on Outposts

Informationen zum Erstellen eines VPC-Schnittstellenendpunkts für S3 on Outposts finden Sie unter Erstellen eines VPC-Endpunkts im AWS PrivateLink-Handbuch.

Erstellen von Bucket-Richtlinien und VPC-Endpunktrichtlinien für S3 on Outposts

Sie können eine Endpunktrichtlinie an Ihren VPC-Endpunkt anhängen, der den Zugriff auf S3 on Outposts steuert. Sie können auch die aws:sourceVpce-Bedingung in S3-on-Outposts-Bucket-Richtlinien verwenden, um den Zugriff auf bestimmte Buckets von einem bestimmten VPC-Endpunkt aus zu beschränken. Mit VPC-Endpunktrichtlinien können Sie den Zugriff auf S3-on-Outposts-APIs für die Bucket- und Endpunktverwaltung steuern. Mit Bucket-Richtlinien können Sie den Zugriff auf S3-on-Outposts-APIs für die Bucket-Verwaltung steuern. Sie können jedoch den Zugriff auf Objektaktionen für S3 on Outposts nicht mit aws:sourceVpce verwalten.

Zugriffsrichtlinien für S3 on Outposts enthalten die folgenden Informationen:

  • Der AWS Identity and Access Management (IAM)-Prinzipal, für den Aktionen erlaubt oder verweigert werden.

  • Die S3-Steuerungsaktionen, die erlaubt oder verweigert werden.

  • Die S3-on-Outposts-Ressourcen, für die Aktionen erlaubt oder verweigert werden.

Die folgenden Beispiele zeigen Richtlinien, die den Zugriff auf einen Bucket oder einen Endpunkt einschränken. Weitere Informationen über VPC-Konnektivität finden Sie unter Network-to-VPC connectivity options (Konnektivitätsoptionen vom Netzwerk zu VPC) im AWS-Whitepaper: Amazon Virtual Private Cloud Connectivity Options.

Wichtig
  • Wenn Sie die in diesem Abschnitt beschriebenen Beispielrichtlinien für VPC-Endpunkte anwenden, können Sie Ihren Zugriff auf den Bucket unbeabsichtigt blockieren. Bucket-Berechtigungen, die den Bucket-Zugriff auf Verbindungen beschränken, die von Ihrem VPC-Endpunkt ausgehen, können alle Verbindungen mit dem Bucket blockieren. Informationen zur Behebung dieses Problems finden Sie unter My bucket policy has the wrong VPC or VPC endpoint ID (Meine Bucket-Richtlinie hat die falsche VPC- oder VPC-Endpunkt-ID). Wie kann ich die Richtlinie so ändern, dass ich auf den Bucket zugreifen kann? im Support Knowledge Center.

  • Bevor Sie die folgende Bucket-Beispielrichtlinien verwenden, ersetzen Sie die VPC-Endpunkt-ID durch einen geeigneten Wert für Ihren Anwendungsfall. Andernfalls können Sie nicht auf Ihren Bucket zugreifen.

  • Wenn Ihre Richtlinie nur den Zugriff auf einen S3-on-Outposts-Bucket von einem bestimmten VPC-Endpunkt aus erlaubt, deaktiviert sie den Konsolenzugriff für diesen Bucket, da die Konsolenanforderungen nicht vom angegebenen VPC-Endpunkt stammen.

Sie können eine Endpunktrichtlinie erstellen, die den Zugriff auf bestimmte S3-on-Outposts-Buckets beschränkt. Die folgende Richtlinie beschränkt den Zugriff für die GetBucketPolicy-Aktion nur auf example-outpost-bucket. Zum Verwenden dieses Beispiels ersetzen Sie die Beispielwerte durch Ihre eigenen.

JSON
{ "Version":"2012-10-17", "Id": "Policy1415115909151", "Statement": [ { "Sid": "Access-to-specific-bucket-only", "Principal": { "AWS": "111122223333" }, "Action": "s3-outposts:GetBucketPolicy", "Effect": "Allow", "Resource": "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01ac5d28a6a232904/bucket/example-outpost-bucket" } ] }

Die folgende S3-on-Outposts-Bucket-Richtlinie verweigert den Zugriff auf GetBucketPolicy im Bucket example-outpost-bucket über den vpce-1a2b3c4d-VPC-Endpunkt.

Die aws:sourceVpce-Bedingung gibt den Endpunkt an und erfordert keinen Amazon-Ressourcennamen (ARN) für die VPC-Endpunkt-Ressource, sondern nur die Endpunkt-ID. Zum Verwenden dieses Beispiels ersetzen Sie die Beispielwerte durch Ihre eigenen.

JSON
{ "Version":"2012-10-17", "Id": "Policy1415115909152", "Statement": [ { "Sid": "Deny-access-to-specific-VPCE", "Principal": { "AWS": "111122223333" }, "Action": "s3-outposts:GetBucketPolicy", "Effect": "Deny", "Resource": "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01ac5d28a6a232904/bucket/example-outpost-bucket", "Condition": { "StringEquals": { "aws:sourceVpce": "vpce-1a2b3c4d" } } } ] }