AWS PrivateLink für Amazon S3
Mit AWS PrivateLink für Amazon S3 können Sie VPC-Schnittstellen-Endpunkte (Schnittstellen-Endpunkte) in Ihrer Virtual Private Cloud (VPC) bereitstellen. Diese Endpunkte sind direkt von Anwendungen aus zugänglich, die über VPN und Direct Connect On-Premises oder in einer anderen AWS-Region über VPC-Peering verfügbar sind.
Schnittstellenendpunkte werden durch eine oder mehrere Elastic Network-Schnittstellen (ENIs) repräsentiert, denen private IP-Adressen aus Subnetzen in Ihrer VPC zugewiesen werden. Anforderungen an Amazon S3 über Schnittstellenendpunkte bleiben im Amazon-Netzwerk. 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.
Allgemeine Informationen zu Schnittstellen-Endpunkten finden Sie unter VPC-Schnittstellen-Endpunkte (AWS PrivateLink) im AWS PrivateLink-Handbuch.
Arten von VPC-Endpunkten für Amazon S3
Sie können zwei Arten von VPC-Endpunkten für den Zugriff auf Amazon S3 verwenden: Gateway-Endpunkte und Schnittstellenendpunkte (unter Verwendung von AWS PrivateLink). Ein Gateway-Endpunkt ist ein Gateway, das Sie in Ihrer Routentabelle angeben, um von Ihrer VPC über das AWS-Netzwerk auf Amazon S3 zuzugreifen. Schnittstellenendpunkte erweitern die Funktionalität von Gateway-Endpunkten, indem sie private IP-Adressen verwenden, um Anforderungen von Ihrer VPC, On-Premises oder von einer VPC in einer anderen AWS-Region mithilfe von VPC-Peering oder AWS Transit Gateway an Amazon S3 weiterzuleiten. Weitere Informationen finden Sie unter Was ist VPC Peering? und Vergleich zwischen Transit Gateway und VPC-Peering.
Schnittstellenendpunkte sind mit Gateway-Endpunkten kompatibel. Wenn Sie einen vorhandenen Gateway-Endpunkt in der VPC haben, können Sie beide Arten von Endpunkten in derselben VPC verwenden.
|
Gateway-Endpunkte für Amazon S3 |
Schnittstellenendpunkte für Amazon S3 |
|---|---|
|
In beiden Fällen verbleibt Ihr Netzwerkverkehr im AWS-Netzwerk. |
|
|
Verwenden Sie öffentliche IP-Adressen von Amazon S3 |
Verwenden Sie private IP-Adressen aus Ihrer VPC für den Zugriff auf Amazon S3 |
|
Verwenden Sie die gleichen Amazon-S3-DNS-Namen |
|
|
Erlauben keinen On-Premises-Zugriff |
Erlaubt On-Premises-Zugriff |
|
Erlauben keinen Zugriff von einer anderen AWS-Region aus |
Erlauben Zugriff von einer VPC in einer anderen AWS-Region mit VPC-Peering oder AWS Transit Gateway |
|
Nicht berechnet |
Berechnet |
Weitere Informationen zu Gateway-Endpunkten finden Sie unter Gateway-VPC-Endpunkte im AWS PrivateLink-Handbuch.
Beschränkungen und Einschränkungen von AWS PrivateLink für Amazon S3
VPC-Beschränkungen gelten für AWS PrivateLink für Amazon S3. Weitere Informationen finden Sie unter Überlegungen zu Schnittstellenendpunkten und AWS PrivateLink-Kontingente im Handbuch zu AWS PrivateLink. Darüber hinaus gelten die folgenden Einschränkungen.
AWS PrivateLink für Amazon S3 unterstützt Folgendes nicht:
-
Endpunkte für den Federal Information Processing Standard (FIPS
-
Verwendung von CopyObject oder UploadPartCopy zwischen Buckets in verschiedenen AWS-Regionen
-
Transport Layer Security (TLS) 1.0
-
Transport Layer Security (TLS) 1.1
-
Transport Layer Security (TLS) 1.3
Erstellung eines VPC-Endpunkts
Informationen zum Erstellen eines VPC-Schnittstellenendpunkts finden Sie unter Erstellen eines VPC-Endpunkts im AWS PrivateLink-Handbuch.
Zugriff auf Amazon-S3-Schnittstellen-Endpunkte
Wenn Sie einen Schnittstellenendpunkt erstellen, generiert Amazon S3 zwei Arten von endpunktspezifischen S3-DNS-Namen: regional und zonengebunden.
-
Ein regionaler DNS-Name enthält eine eindeutige VPC-Endpunkt-ID, eine Servicekennung, die AWS-Region und
vpce.amazonaws.com.rproxy.govskope.cain seinem Namen. Beispielsweise könnte der generierte DNS-Name für VPC-Endpunkt-IDmitvpce-1a2b3c4dvergleichbar sein.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com -
Ein zonengebundener DNS-Name enthält die Availability Zone, z. B.
. Sie können diese Option verwenden, wenn Ihre Architektur Availability Zones isoliert. Sie könnten sie beispielsweise zur Fehlereingrenzung oder zur Senkung der regionalen Datenübertragungskosten verwenden.vpce-1a2b3c4d-5e6f-us-east-1a.s3.us-east-1.vpce.amazonaws.com
Endpunktspezifische S3-DNS-Namen können aus der öffentlichen S3-DNS-Domain aufgelöst werden.
Privates DNS
Optionen für private DNS für VPC-Schnittstellenendpunkte vereinfachen das Routing von S3-Datenverkehr über VPC-Endpunkte und helfen Ihnen dabei, den kostengünstigsten Netzwerkpfad für Ihre Anwendung zu nutzen. Sie können Optionen für private DNS verwenden, um regionalen S3-Datenverkehr weiterzuleiten, ohne Ihre S3-Clients aktualisieren zu müssen, damit sie die endpunktspezifischen DNS-Namen Ihrer Schnittstellenendpunkte verwenden, und ohne die DNS-Infrastruktur verwalten zu müssen. Wenn private DNS-Namen aktiviert sind, werden regionale S3-DNS-Abfragen an die privaten IP-Adressen von AWS PrivateLink für die folgenden Endpunkte aufgelöst:
-
Regionale Bucket-Endpunkte (z. B.
s3.us-east-1.amazonaws.com) -
Kontrollendpunkte (z. B.
s3-control.us-east-1.amazonaws.com) -
Zugriffspunkt-Endpunkte (z. B.
s3-accesspoint.us-east-1.amazonaws.com)
AWS PrivateLink für Amazon S3 unterstützt die Verwendung von Amazon-S3-Dual-Stack-Endpunkten nicht. Wenn Sie einen S3-Dual-Stack-DNS-Namen als privaten DNS-Namen verwenden, wird Ihr IPv6-Verkehr entweder gelöscht oder, falls Ihre Virtual Private Cloud (VPC) über ein Internet-Gateway verfügt, wird Ihr IPv6-Verkehr über das Internet-Gateway in Ihrer VPC geleitet.
Wenn Sie einen Gateway-Endpunkt in Ihrer VPC haben, können Sie In-VPC-Anforderungen automatisch über Ihren vorhandenen S3-Gateway-Endpunkt und On-Premises-Anforderungen über Ihren Schnittstellenendpunkt weiterleiten. Mit diesem Ansatz können Sie Ihre Netzwerkkosten optimieren, indem Sie Gateway-Endpunkte für Ihren In-VPC-Datenverkehr verwenden, die nicht in Rechnung gestellt werden. Ihre On-Premises-Anwendungen können AWS PrivateLink mithilfe des eingehenden Resolver-Endpunkts verwenden. Amazon stellt einen DNS-Server den Route 53 Resolver für Ihre VPC zur Verfügung. Ein eingehender Resolver-Endpunkt leitet DNS-Abfragen vom On-Premises Netzwerk an Route 53 Resolver weiter.
Wichtig
Um bei Verwendung von Private DNS nur für eingehende Endpunkte aktivieren den kostengünstigsten Netzwerkpfad zu nutzen, muss in Ihrer VPC ein Gateway-Endpunkt vorhanden sein. Ein Gateway-Endpunkt hilft dabei, sicherzustellen, dass der In-VPC-Datenverkehr immer über das private AWS-Netzwerk weitergeleitet wird, wenn die Option Private DNS nur für eingehende Endpunkte aktivieren ausgewählt ist. Sie müssen diesen Gateway-Endpunkt beibehalten, solange die Option Private DNS nur für eingehende Endpunkte aktivieren aktiviert ist. Wenn Sie Ihren Gateway-Endpunkt löschen möchten, müssen Sie zuerst Private DNS nur für eingehende Endpunkte aktivieren deaktivieren.
Wenn Sie einen vorhandenen Schnittstellenendpunkt auf Private DNS nur für eingehende Endpunkte aktivieren aktualisieren möchten, vergewissern Sie sich zunächst, dass Ihre VPC über einen S3-Gateway-Endpunkt verfügt. Weitere Informationen zu Gateway-Endpunkten und zur Verwaltung von privaten DNS-Namen finden Sie unter Gateway-VPC-Endpunkte bzw. DNS-Namen verwalten im Handbuch zu AWS PrivateLink.
Die Option Private DNS nur für eingehende Endpunkte aktivieren ist nur für Services verfügbar, die Gateway-Endpunkte unterstützen.
Weitere Informationen zum Erstellen eines VPC-Endpunkts, der Private DNS nur für eingehende Endpunkte aktivieren verwendet, finden Sie unter Erstellen eines Schnittstellenendpunkts im Handbuch zu AWS PrivateLink.
Verwenden der VPC-Konsole
In der Konsole haben Sie zwei Optionen: DNS-Namen aktivieren und Private DNS nur für eingehende Endpunkte aktivieren. Die Option DNS-Namen aktivieren wird von AWS PrivateLink unterstützt. Mit der Option DNS-Namen aktivieren können Sie die private Konnektivität von Amazon mit Amazon S3 nutzen und gleichzeitig Anforderungen an die standardmäßigen DNS-Namen für öffentliche Endpunkte ausführen. Wenn diese Option aktiviert ist, können Kunden den für Ihre Anwendung kostengünstigsten Netzwerkpfad nutzen.
Wenn Sie private DNS-Namen für einen vorhandenen oder neuen VPC-Schnittstellenendpunkt für Amazon S3 aktivieren, ist die Option Private DNS nur für eingehende Endpunkte aktivieren standardmäßig ausgewählt. Wenn diese Option ausgewählt ist, verwenden Ihre Anwendungen nur Schnittstellenendpunkte für Ihren On-Premises-Datenverkehr. Dieser In-VPC-Datenverkehr verwendet automatisch die kostengünstigeren Gateway-Endpunkte. Alternativ können Sie Private DNS nur für eingehende Endpunkte aktivieren deaktivieren, um alle S3-Anforderungen über Ihren Schnittstellenendpunkt weiterzuleiten.
Verwenden der AWS CLI
Wenn Sie keinen Wert für PrivateDnsOnlyForInboundResolverEndpoint angeben, wird standardmäßig true verwendet. Bevor Ihre VPC Ihre Einstellungen anwendet, überprüft sie jedoch, ob in der VPC ein Gateway-Endpunkt vorhanden ist. Wenn ein Gateway-Endpunkt in der VPC vorhanden ist, ist der Aufruf erfolgreich. Wenn nicht, wird die folgende Fehlermeldung angezeigt:
Um PrivateDnsOnlyForInboundResolverEndpoint auf true setzen zu können, muss die VPC vpce_id über einen Gateway-Endpunkt für den Service verfügen.
Für einen neuen VPC-Schnittstellenendpunkt
Verwenden Sie die Attribute private-dns-enabled und dns-options, um privates DNS über die Befehlszeile zu aktivieren. Die Option PrivateDnsOnlyForInboundResolverEndpoint im Attribut dns-options muss auf true gesetzt sein. Ersetzen Sie durch Ihre Informationen.user input placeholders
aws ec2 create-vpc-endpoint \ --regionus-east-1\ --service-names3-service-name\ --vpc-idclient-vpc-id\ --subnet-idsclient-subnet-id\ --vpc-endpoint-type Interface \ --private-dns-enabled \ --ip-address-typeip-address-type\ --dns-options PrivateDnsOnlyForInboundResolverEndpoint=true \ --security-group-idsclient-sg-id
Für einen vorhandenen VPC-Endpunkt
Wenn Sie privates DNS für einen vorhandenen VPC-Endpunkt verwenden möchten, verwenden Sie den folgenden Beispielbefehl und ersetzen Sie durch Ihre eigenen Informationen.user input placeholders
aws ec2 modify-vpc-endpoint \ --regionus-east-1\ --vpc-endpoint-idclient-vpc-id\ --private-dns-enabled \ --dns-options PrivateDnsOnlyForInboundResolverEndpoint=false
Wenn Sie einen vorhandenen VPC-Endpunkt aktualisieren möchten, um privates DNS nur für den eingehenden Resolver zu aktivieren, verwenden Sie das folgende Beispiel und ersetzen Sie die Beispielwerte durch Ihre eigenen.
aws ec2 modify-vpc-endpoint \ --regionus-east-1\ --vpc-endpoint-idclient-vpc-id\ --private-dns-enabled \ --dns-options PrivateDnsOnlyForInboundResolverEndpoint=true
Zugriff auf Buckets, Zugriffspunkte und Amazon-S3-Control-API-Operationen über S3-Schnittstellenendpunkte
Sie können die AWS CLI oder AWS-SDKs verwenden, um über S3-Schnittstellenendpunkte auf Buckets, S3-Zugriffspunkte und Amazon-S3-Control-API-Operationen zuzugreifen.
Die folgende Abbildung zeigt den Tab Details der VPC-Konsole, auf der Sie den DNS-Namen eines VPC-Endpunkts finden. In diesem Beispiel lautet die VPC-Endpunkt-ID (vpce-id) vpce-0e25b8cdd720f900e und der DNS-Name lautet *.vpce-0e25b8cdd720f900e-argc85vg.s3.us-east-1.vpce.amazonaws.com.
Wenn Sie den DNS-Namen verwenden, um auf eine Ressource zuzugreifen, ersetzen Sie * durch den entsprechenden Wert. Die entsprechenden Werte, die anstelle von * verwendet werden können, lauten wie folgt:
-
bucket -
accesspoint -
control
Um beispielsweise auf einen Bucket zuzugreifen, verwenden Sie einen DNS-Namen wie diesen:
bucket.vpce-0e25b8cdd720f900e-argc85vg.s3.us-east-1.vpce.amazonaws.com
Beispiele für die Verwendung von DNS-Namen für den Zugriff auf Buckets, Zugriffspunkte und Amazon-S3-Control API-Operationen finden Sie in den folgenden Abschnitten von AWS CLIBeispiele für und AWS-SDK-Beispiele.
Weitere Informationen zum Anzeigen Ihrer endpunktspezifischen DNS-Namen finden Sie unter Anzeigen der privaten DNS-Namenskonfiguration eines Endpunktservice im VPC-Benutzerhandbuch.
AWS CLIBeispiele für
Verwenden Sie die Parameter --region und --endpoint-url, um über S3-Schnittstellenendpunkte in AWS CLI-Befehlen auf S3-Buckets, S3-Zugriffspunkte oder Amazon-S3-Control-API-Operationen zuzugreifen.
Beispiel: Verwenden einer Endpunkt-URL zum Auflisten von Objekten in Ihrem Bucket
Ersetzen Sie im folgenden Beispiel den Bucket-Namen , die Region my-bucket und den DNS-Namen der VPC-Endpunkt-ID us-east-1 durch Ihre eigenen Informationen.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com
aws s3 ls s3://my-bucket/ --regionus-east-1--endpoint-url https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com
Beispiel: Verwenden einer Endpunkt-URL zum Auflisten von Objekten von einem Zugriffspunkt
-
Methode 1 – Verwenden des Amazon-Ressourcennamens (ARN) des Zugriffspunkts mit dem Zugriffspunkt-Endpunkt
Ersetzen Sie den ARN
, die Regionus-east-1:123456789012:accesspoint/accesspointexamplenameund die VPC-Endpunkt-IDus-east-1durch Ihre eigenen Informationen.vpce-1a2b3c4d-5e6f---s3---us-east-1---vpce.amazonaws.com.rproxy.govskope.caaws s3api list-objects-v2 --bucket arn:aws:s3:us-east-1:123456789012:accesspoint/accesspointexamplename--regionus-east-1--endpoint-url https://accesspoint.vpce-1a2b3c4d-5e6f---s3---us-east-1---vpce.amazonaws.com.rproxy.govskope.caWenn Sie den Befehl nicht erfolgreich ausführen können, aktualisieren Sie die AWS CLI auf die aktuelle Version und versuchen Sie es erneut. Weitere Informationen zur Aktualisierung finden Sie unter Installation oder Aktualisierung der aktuellen Version der AWS CLI im Benutzerhandbuch zu AWS Command Line Interface.
-
Methode 2 – Verwenden des Alias des Zugriffspunkts mit dem regionalen Bucket-Endpunkt
Ersetzen Sie im folgenden Beispiel den Zugriffspunkt-Alias
, die Regionaccesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3aliasund die VPC-Endpunkt-IDus-east-1durch Ihre eigenen Informationen.vpce-1a2b3c4d-5e6f---s3---us-east-1---vpce.amazonaws.com.rproxy.govskope.caaws s3api list-objects-v2 --bucketaccesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias--regionus-east-1--endpoint-url https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com -
Methode 3 – Verwenden des Alias des Zugriffspunkts mit dem Zugriffspunkt-Endpunkt
Um einen S3-Endpunkt zu erstellen, bei dem der Bucket als Teil des Hostnamens enthalten ist, legen Sie zunächst den Adressierungsstil auf
virtualfest, damitaws s3apiihn verwenden kann. Weitere Informationen zuAWS configurefinden Sie unter Einstellungen der Konfigurations- und Anmeldeinformationsdatei im Benutzerhandbuch zu AWS Command Line Interface.aws configure set default.s3.addressing_style virtualErsetzen Sie im folgenden Beispiel dann den Zugriffspunkt-Alias
, die Regionaccesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3aliasund die VPC-Endpunkt-IDus-east-1durch Ihre eigenen Informationen. Weitere Informationen zum Zugangspunkt-Alias finden Sie unter Zugriffspunkt-Aliasse.vpce-1a2b3c4d-5e6f---s3---us-east-1---vpce.amazonaws.com.rproxy.govskope.caaws s3api list-objects-v2 --bucketaccesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias--regionus-east-1--endpoint-url https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com
Beispiel: Verwenden einer Endpunkt-URL zum Auflisten von Aufträgen mit einer S3-Control-API-Operation
Ersetzen Sie im folgenden Beispiel die Region , die VPC-Endpunkt-ID us-east-1 und die Konto-ID vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com durch Ihre eigenen Informationen.12345678
aws s3control --regionus-east-1--endpoint-url https://control.vpce-1a2b3c4d-5e6f---s3---us-east-1---vpce.amazonaws.com.rproxy.govskope.calist-jobs --account-id12345678
AWS-SDK-Beispiele
Aktualisieren Sie bei Verwendung der AWS-SDKs die SDKs auf die aktuelle Version, um über S3-Schnittstellenendpunkte auf S3-Buckets, S3-Zugriffspunkte oder Amazon-S3-Control-API-Operationen zuzugreifen. Konfigurieren Sie Ihre Clients anschließend so, dass sie eine Endpunkt-URL verwenden, um über S3-Schnittstellenendpunkte auf einen Bucket, einen Zugriffspunkt oder Amazon-S3-Control-API-Operationen zuzugreifen.
Aktualisieren einer lokalen DNS-Konfiguration
Wenn Sie endpunktspezifische DNS-Namen für den Zugriff auf die Schnittstellenendpunkte für Amazon S3 verwenden, brauchen Sie Ihren lokalen DNS-Resolver nicht zu aktualisieren. Sie können den endpunktspezifischen DNS-Namen mit der privaten IP-Adresse des Schnittstellenendpunkts aus der öffentlichen Amazon S3 DNS Domain auflösen.
Verwenden von Schnittstellenendpunkten für den Zugriff auf Amazon S3 ohne Gateway-Endpunkt oder Internet-Gateway in der VPC
Schnittstellenendpunkte in Ihrer VPC können sowohl In-VPC-Anwendungen als auch lokale Anwendungen über das Amazon-Netzwerk an Amazon S3 weiterleiten, wie im folgenden Diagramm dargestellt.
Das Diagramm veranschaulicht folgende Vorgänge:
-
Ihr On-Premises-Netzwerk verwendet Direct Connect oder Site-to-Site VPN, um eine Verbindung mit VPC A herzustellen.
-
Ihre lokalen Anwendungen und Anwendungen in VPC A verwenden endpunktspezifische DNS-Namen, um über den S3-Schnittstellenendpunkt auf Amazon S3 zuzugreifen.
-
On-Premises Anwendungen senden über Direct Connect (oder Site-to-Site VPN) Daten an den Schnittstellen-Endpunkt in der VPC. AWS PrivateLink verschiebt die Daten vom Schnittstellen-Endpunkt an Amazon S3 über das AWS-Netzwerk.
-
In-VPC-Anwendungen senden auch Datenverkehr and den Schnittstellen-Endpunkt. AWS PrivateLink verschiebt die Daten vom Schnittstellen-Endpunkt an Amazon S3 über das AWS-Netzwerk.
Gemeinsames Verwenden von Gateway-Endpunkten und Schnittstellenendpunkten in derselben VPC für den Zugriff auf Amazon S3
Sie können Schnittstellenendpunkte erstellen und den vorhandenen Gateway-Endpunkt in derselben VPC beibehalten, wie das folgende Diagramm zeigt. Mit diesem Ansatz erlauben Sie In-VPC-Anwendungen, weiterhin über den Gateway-Endpunkt auf Amazon S3 zuzugreifen, was nicht in Rechnung gestellt wird. Dann würden nur Ihre On-Premises-Anwendungen Schnittstellenendpunkte für den Zugriff auf Amazon S3 verwenden. Um auf diese Weise auf Amazon S3 zuzugreifen, müssen Sie Ihre On-Premises-Anwendungen aktualisieren, damit endpunktspezifische DNS-Namen für Amazon S3 verwendet werden.
Das Diagramm veranschaulicht folgende Vorgänge:
-
On-Premises-Anwendungen verwenden endpunktspezifische DNS-Namen, um über Direct Connect (oder Site-to-Site VPN) Daten an den Schnittstellen-Endpunkt innerhalb der VPC zu senden. AWS PrivateLink verschiebt die Daten vom Schnittstellen-Endpunkt an Amazon S3 über das AWS-Netzwerk.
-
Mithilfe von standardmäßigen regionalen Amazon-S3-Namen senden In-VPC-Anwendungen Daten an den Gateway-Endpunkt, der über das AWS-Netzwerk eine Verbindung mit Amazon S3 herstellt.
Weitere Informationen zu Gateway-Endpunkten finden Sie unter Gateway-VPC-Endpunkte im VPC-Benutzerhandbuch.
Erstellen einer VPC-Endpunktrichtlinie für Amazon S3
Sie können eine Endpunktrichtlinie an Ihren VPC-Endpunkt anhängen, der den Zugriff auf Amazon S3 steuert. Die Richtlinie gibt die folgenden Informationen an:
-
Der AWS Identity and Access Management (IAM) Prinzipal, der die Aktionen ausführen kann
-
Aktionen, die ausgeführt werden können
-
Ressourcen, für die Aktionen ausgeführt werden können
Sie können Amazon-S3-Bucket-Richtlinien auch verwenden, um den Zugriff auf bestimmte Buckets von einem bestimmten VPC-Endpunkt aus zu beschränken, indem Sie die Bedingung aws:sourceVpce in Ihrer Bucket-Richtlinie verwenden. Die folgenden Beispiele zeigen Richtlinien, die den Zugriff auf einen Bucket oder einen Endpunkt einschränken.
Themen
Beispiel: Beschränken des Zugriffs auf einen bestimmten Bucket von einem VPC-Endpunkt aus
Sie können eine Endpunktrichtlinie erstellen, die den Zugriff auf spezifische Amazon-S3-Buckets beschränkt. Diese Art von Richtlinie ist hilfreich, wenn Sie in Ihrer VPC andere AWS-Services betreiben, die Buckets verwenden. Die folgende Bucket-Richtlinie schränkt den Zugriff auf ausschließlich ein . Um diese Endpunktrichtlinie zu verwenden, ersetzen Sie amzn-s3-demo-bucket1 im Beispiel durch den Namen Ihres Buckets.amzn-s3-demo-bucket1
Beispiel: Beschränken des Zugriffs auf Buckets in einem bestimmten Konto von einem VPC-Endpunkt aus
Sie können eine Endpunktrichtlinie erstellen, die den Zugriff auf ausschließlich die S3-Buckets in einem spezifischen AWS-Konto einschränkt. Verwenden Sie die folgende Anweisung in Ihrer Endpunktrichtlinie, um Clients in Ihrer VPC daran zu hindern, auf Buckets zuzugreifen, für die Sie keine Rechte haben. Die folgende Beispielanweisung erstellt eine Richtlinie, die den Zugriff auf Ressourcen einschränkt, die einer einzelnen AWS-Konto-ID, , gehören.111122223333
{ "Statement": [ { "Sid": "Access-to-bucket-in-specific-account-only", "Principal": "*", "Action": [ "s3:GetObject", "s3:PutObject" ], "Effect": "Deny", "Resource": "arn:aws:s3:::*", "Condition": { "StringNotEquals": { "aws:ResourceAccount": "111122223333" } } } ] }
Anmerkung
Zum Angeben der AWS-Konto-ID der Ressource, auf die zugegriffen wird, können Sie entweder den Schlüssel aws:ResourceAccount oder den Schlüssel s3:ResourceAccount in Ihrer IAM-Richtlinie verwenden. Dabei sollten Sie allerdings beachten, dass einige AWS-Services auf den Zugriff auf von AWS verwaltete Buckets angewiesen sind. Daher kann es auch den Zugriff auf diese Ressourcen beeinflussen, wenn Sie den Schlüssel aws:ResourceAccount oder s3:ResourceAccount in Ihrer IAM-Richtlinie verwenden.
Beispiel: Beschränken des Zugriffs auf einen bestimmten VPC-Endpunkt in der S3-Bucket-Richtlinie
Beispiel: Beschränken des Zugriffs auf einen bestimmten VPC-Endpunkt in der S3-Bucket-Richtlinie
Die folgende Amazon-S3-Bucket-Richtlinie ermöglicht den Zugriff auf einen spezifischen Bucket, , nur vom VPC-Endpunkt amzn-s3-demo-bucket2 aus. Die Richtlinie lehnt sämtlichen Zugriff auf den Bucket ab, der nicht über den angegebenen Endpunkt erfolgt. Die Bedingung vpce-1a2b3c4daws:sourceVpce gibt den Endpunkt an und erfordert keinen Amazon-Ressourcennamen (ARN) für die VPC-Endpunkt-Ressource, sondern nur die Endpunkt-ID. Um diese Bucket-Richtlinie zu verwenden, ersetzen Sie und amzn-s3-demo-bucket2 durch den Namen Ihres Buckets und Ihren Endpunkt. vpce-1a2b3c4d
Wichtig
-
Wenn Sie die folgende Amazon-S3-Bucket-Richtlinie anwenden, um den Zugriff auf bestimmte VPC-Endpunkte einzuschränken, blockieren Sie möglicherweise unbeabsichtigt Ihren Zugriff auf den Bucket. Bucket-Richtlinien, die den Bucket-Zugriff auf Verbindungen einschränken sollen, die von Ihrem VPC-Endpunkt ausgehen, können alle Verbindungen zum 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 Beispielrichtlinie verwenden, ersetzen Sie die VPC-Endpunkt-ID durch einen geeigneten Wert für Ihren Anwendungsfall. Andernfalls können Sie nicht auf Ihren Bucket zugreifen.
-
Diese Richtlinie deaktiviert den Konsolenzugriff auf den angegebenen Bucket, da Konsolenanforderungen nicht vom angegebenen VPC-Endpunkt stammen.
Weitere Beispiele für Richtlinien finden Sie in Endpunkte für Amazon S3 im VPC-Benutzerhandbuch.
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.