Private Endpunkte in Object Storage
Erfahren Sie, wie Sie mit privaten Endpunkten über eine private IP-Adresse in Ihrem VCN und nicht über das öffentliche Internet auf Ihre Object Storage-Buckets und -Objekte zugreifen.
Private Endpunkte bieten sicheren Zugriff auf Object Storage von Ihren OCI-VCNs oder On-Premise-Netzwerken. Der private Endpunkt ist eine VNIC mit einer privaten IP-Adresse in einem Subnetz, das Sie in Ihrem VNC auswählen. Diese Methode ist eine Alternative zur Verwendung eines Servicegateways mit öffentlichen IP-Adressen, die mit OCI-Services verknüpft sind.
Private Endpunkte unterscheiden sich von dedizierten Endpunkten dadurch, dass dedizierte Endpunkte mandantenspezifische Endpunkte sind, die jeweils über eine dedizierte Namespace-Zeichenfolge in der URL verfügen. Dieses Attribut stellt eine vollständige Isolation sicher, um die Sicherheits- und Complianceanforderungen Ihres Unternehmens zu erfüllen. Ähnlich wie die herkömmlichen öffentlichen Endpunkt-URLs werden die dedizierten Endpunkte in die öffentliche IP-Adresse von Object Storage aufgelöst.
Im Gegensatz dazu sind private Endpunkte anpassbare Endpunkte, die in eine private IP-Adresse einer VNIC aufgelöst werden. Anforderungen werden an eine private IP-Adresse im VCN gesendet. Der Traffic wird dann von der VNIC an den Object Storage-Service weitergeleitet.
Wenn Sie einen privaten Endpunkt in einem VCN erstellen und ihn mit einem Bucket verknüpfen, wird der Zugriff auf den Bucket über das Internet oder andere Netzwerkquellen nicht eingeschränkt. Sie müssen Regeln mit IAM-Policys im Bucket definieren. Anforderungen werden daher nur autorisiert, wenn sie von einem bestimmten VCN oder CIDR-Block in diesem VCN stammen. Alle anderen Zugriffe, auch über das Internet, werden für diese Buckets blockiert. Weitere Informationen finden Sie unter Netzwerkquellen verwalten.
Im Folgenden finden Sie eine Beispiel-Policy zum Beschränken eines bestimmten Buckets auf eine bestimmte Netzwerkquelle:
allow group groupName to manage objects in tenancy where all {target.bucket.name = 'bucketName', request.networkSource.name = 'networkSourceName'}
Wenn Sie einen privaten Endpunkt erstellen, können Sie den Zugriff auf bestimmte Object Storage-Ressourcen einschränken, indem Sie Zugriffsziele angeben. Jedes Zugriffsziel besteht aus den folgenden erforderlichen Parametern:
- Namespace: Gibt den Ziel-Namespace an, der vom privaten Endpunkt ausgehen darf.
- Compartment: Gibt an, auf welchen Namespace/welche Compartments der private Endpunkt zugreifen kann. Sie können entweder ein einzelnes Compartment oder alle Compartments konfigurieren.
- Bucket: Gibt an, auf welchen Namespace/Buckets innerhalb der zulässigen Compartments der private Endpunkt zugreifen kann. Sie können entweder einen einzelnen Bucket oder alle Buckets innerhalb der zulässigen Compartments konfigurieren.
Geben Sie entweder den Namen des Parameters oder einen Platzhalter ("*") an, um einen beliebigen Parameterzugriff zuzulassen. Weitere Informationen zum Konfigurieren von Zugriffszielen finden Sie unter Privaten Endpunkt erstellen.
Jeder private Endpunkt muss mindestens ein Zugriffsziel bis maximal 10 haben.
Im folgenden Beispiel weist ein Zugriffsziel die folgende Konfiguration auf:
- Namespace = Namespace1
- Compartment = Compartment1
- Bucket = Bucket1
In dieser Konfiguration hat der private Endpunkt Zugriff auf Objekte in Bucket1, die in Compartment1 gespeichert sind und zu Namespace1 gehören. Wenn Sie eine Bucket1 in ein anderes Compartment (Compartment2) verschieben, kann der private Endpunkt nicht mehr auf den Bucket Bucket1 zugreifen.
Durch das Hinzufügen eines Zugriffsziels erhalten Sie nicht automatisch Zugriff auf den Bucket oder das Objekt. Ihre Anforderung an Object Storage über den privaten Endpunkt wird immer von OCI IAM autorisiert, um sicherzustellen, dass sie über die richtigen IAM-Policys für den Zugriff auf den Bucket oder das Objekt verfügen.
Objektspeicher-Buckets, die einen privaten Endpunkt verwenden, sind nicht nur auf diesen privaten Endpunkt beschränkt. Buckets, die einen privaten Endpunkt verwenden, können auch andere Zugriffsmethoden verwenden.
Sie können die folgenden privaten Object Storage-Endpunktaufgaben ausführen:
Listet die privaten Object Storage-Endpunkte in einem Compartment auf.
Einen privaten Object Storage-Endpunkt erstellen.
Details eines privaten Object Storage-Endpunkts abrufen.
Einstellungen eines privaten Object Storage-Endpunkts bearbeiten.
Vollqualifizierte Domainnamen für einen privaten Object Storage-Endpunkt anzeigen.
Zugriffsziele für einen privaten Object Storage-Endpunkt anzeigen.
Arbeitsanforderungen des privaten Object Storage-Endpunkts in einem Compartment anzeigen.
Privaten Object Storage-Endpunkt aus einem Compartment löschen.
Details für private Endpunktressourcen suchen
Die neue Oracle Cloud-Konsolenerfahrung verwendet Registerkarten, um die Informationen auf der Detailseite für jede private Endpunktressource im Object Storage-Service zu organisieren.
In den folgenden Abschnitten wird beschrieben, welche Informationen auf den Registerkarten für die privaten Endpunktressourcen in Object Storage angezeigt werden. Je nach Ressourcentyp werden hier möglicherweise einige oder alle Registerkarten aufgeführt.
Object Storage
| Tabulator | Informationen auf Registerkarte |
|---|---|
| Details |
|
| FQDNs |
|
| Zugriffsziele |
|
| Arbeitsanforderungen |
|
| Tags |
|
IAM-Policys
Mit Policys können Sie den Zugriff auf private Object Storage-Endpunkte begrenzen. In einer Policy ist definiert, wer wie auf Oracle Cloud Infrastructure-Ressourcen zugreifen kann. Weitere Informationen finden Sie unter Funktionsweise von Policys.
Weisen Sie einer Gruppe jeweils nur die geringsten Berechtigungen zu, die diese Gruppe benötigt, um ihre Zuständigkeiten ausführen zu können. Jede Policy enthält ein Verb, das beschreibt, welche Aktionen die Gruppe ausführen darf. Jede Policy enthält ein Verb, das beschreibt, welche Aktionen die Gruppe ausführen darf. Folgende Verben sind verfügbar (sortiert nach Berechtigung): inspect, read, use und manage.
Die folgenden Berechtigungen sind erforderlich, um die entsprechenden Vorgänge auszuführen:
Allow group groupName to manage objectstorage-private-endpoint in tenancy
Allow group groupName to manage virtual-network-family in tenancy
Es wird empfohlen, die folgenden IAM-Policys hinzuzufügen, um die Verwaltung privater Object Storage-Endpunkte zu ermöglichen:
| Vorgänge | Object Storage-IAM-Berechtigungen | Andere IAM-Berechtigungen |
|---|---|---|
|
Privaten Endpunkt erstellen |
|
|
|
Private Endpunkte in einem Compartment auflisten |
|
|
|
Details eines privaten Endpunkts abrufen |
|
|
|
privaten Endpunkt bearbeiten |
|
|
|
Privaten Endpunkt aus einem Compartment löschen |
|
|
Zugriffsziele
Mit der folgenden Zugriffs-Policy können Sie einen bestimmten Bucket auf eine bestimmte Netzwerkquelle beschränken:
allow group groupName to manage objects in tenancy where all {target.bucket.name = 'bucketName', request.networkSource.name = 'networkSourceName'}
Limits
Die folgenden Limits gelten für private Endpunkte in Object Storage:
- Sie können maximal 10 private Endpunkte in einem Mandanten verwenden.
- Sie können bis zu 10 Zugriffsziele für jeden privaten Endpunkt verwenden.
- Jeder private Endpunkt hat eine maximale Bandbreite von 25 Gbit/s.
Verhalten von vorab authentifizierten Anforderungen
Beachten Sie beim Erstellen vorab authentifizierter Anforderungen (PARs) über private Endpunkte die folgenden Punkte:
- Die PAR hat den vollqualifizierten Domainnamen (FQDN) des privaten Endpunkts als Teil der PAR-URL.
- Sie können eine PAR über den privaten Endpunkt für Buckets erstellen, die nur für Zugriffsziele zulässig sind.
- Sie können auch vom öffentlichen Endpunkt aus auf PAR-Buckets und -Objekte zugreifen, indem Sie den FQDN des privaten Endpunkts in der URL durch den öffentlichen Endpunkt ersetzen.
Weitere Informationen finden Sie unter Vorab authentifizierte Anforderungen.
Private Endpunkte verwenden
Nachdem Sie einen privaten Object Storage-Endpunkt erstellt haben, kann er verwendet werden. Die vollqualifizierten Domainnamen (FQDNs), die aus der DNS-Präfixeingabe erstellt werden, können von der privaten DNS-Zone im VCN aufgelöst werden. Diese FQDNs werden zum Endpunkt, der in Anforderungen an Object Storage verwendet wird, um sicherzustellen, dass die Anforderungen den privaten Endpunkt durchlaufen.
Im Folgenden finden Sie ein Beispiel dafür, wie die FQDNs in den CLI-basierten Details eines privaten Endpunkts angezeigt werden:
oci os private-endpoint get --pe-name pe1
{
"data": {
"access-targets": [
{
"bucket": "*",
"compartment-id": "*",
"namespace": "MyNamespace"
}
],
"additional-prefixes": [],
"compartment-id": "ocid1.tenancy.oc1..exampleuniqueID",
"created-by": "ocid1.user.region1..exampleuniqueID",
"defined-tags": {},
"etag": "017e1d8f-1013-477a-86a4-d4d03b473f74",
"fqdns": {
"additional-prefixes-fqdns": {},
"prefix-fqdns": {
"object-storage-api-fqdn": "pe1-MyNamespace.private.objectstorage.us-phoenix-1.oci.customer-oci.com",
"s3-compatibility-api-fqdn": "pe1-MyNamespace.private.compat.objectstorage.us-phoenix-1.oci.customer-oci.com",
"swift-api-fqdn": "pe1-MyNamespace.private.swiftobjectstorage.us-phoenix-1.oci.customer-oci.com"
}
},
"freeform-tags": {},
"id": "ocid1.privateendpoint.region1.sea.exampleuniqueID",
"lifecycle-state": "ACTIVE",
"name": "pe1",
"namespace": "MyNamespace",
"nsg-ids": [],
"prefix": "pe1",
"private-endpoint-ip": "10.0.0.2",
"subnet-id": "ocid1.subnet.region1.sea.exampleuniqueID",
"time-created": "2024-06-20T06:33:56.866000+00:00",
"time-modified": "2024-06-20T06:36:01.820000+00:00"
},
"etag": "017e1d8f-1013-477a-86a4-d4d03b473f74"
}
Im Folgenden finden Sie ein Beispiel für das Abrufen von Details zu einem Objekt mit einem der FQDNs, die Sie mit der CLI erstellt haben:
oci os object get --namespace 'MyNamespace' --bucket-name 'MyBucket' --name MyObjectName --endpoint https://pe1-MyNamespace.private.objectstorage.us-phoenix-1.oci.customer-oci.com
Best Practices
Um eine sichere, private Konnektivität zu Object Storage sicherzustellen, empfehlen wir die folgenden Best Practices bei der Verwendung privater Endpunkte:
- Sie müssen Ingress für Port 443 mit einer der folgenden Methoden zulassen:
- Hinzufügen einer Sicherheitslistenregel in die Standard-Sicherheitsliste. Diese Sicherheitsregel wird auf alle VNICs im Subnetz angewendet. Weitere Informationen finden Sie unter Sicherheitslisten.
- Erstellen Sie eine Netzwerksicherheitsgruppe (NSG) mit der Sicherheitslistenregel des Ingresses, und nehmen Sie dann die NSG in die Erstellung des privaten Endpunkts auf. Diese NSG wird nur auf den privaten Endpunkt angewendet. Weitere Informationen finden Sie unter Netzwerksicherheitsgruppen. Wir empfehlen, diese Methode zu verwenden, da sie ein höheres Maß an Sicherheit bietet.
- Um eine mandantenübergreifende Datenexfiltration zu vermeiden, beginnen Sie mit einem konfigurierten Zugriffsziel wie Namespace = your_namespace, Compartment = *, Bucket = *. Mit dieser Konfiguration kann der private Endpunkt auf alle Buckets in allen Compartments in Ihrem Namespace zugreifen.
- Um den Zugriff auf mindestens einen Bucket, auf den der private Endpunkt zugreifen kann, weiter einzuschränken, beginnen Sie mit einem konfigurierten Zugriffsziel wie Namespace = <your_namespace>, Compartment = Compartment1, Bucket = Bucket1. Sie können bis zu 10 Buckets mit Zugriffszielen angeben.
- Verwenden Sie IAM-Policys im Bucket, sodass Anforderungen nur autorisiert werden, wenn sie von einem bestimmten VCN oder einem CIDR-Block in diesem VCN stammen. Alle anderen Zugriffe, auch über das Internet, werden für diese Buckets blockiert. Weitere Informationen finden Sie unter Netzwerkquellen verwalten.
Im Folgenden finden Sie eine Beispiel-Policy zum Beschränken eines bestimmten Buckets auf eine bestimmte Netzwerkquelle:
allow group groupName to manage objects in tenancy where all {target.bucket.name = 'bucketName', request.networkSource.name = 'networkSourceName'} - Mindestens eine private DNS-Zone wird beim Erstellen eines privaten Endpunkts im VCN erstellt. Mit dieser privaten DNS-Zone kann der vollqualifizierte Domainname des privaten Endpunkts in die private IP-Adresse des privaten Endpunkts aufgelöst werden. Wenn Sie private Endpunkte verwenden, wird empfohlen, die DNS-Einträge in der privaten DNS-Zone des VCN nicht zu ändern. Eine Änderung dieser Einstellungen kann sich auf das Verhalten von Traffic und Anforderungen auswirken, die durch den privaten Endpunkt fließen.
- Um ein Subnetz oder VCN zu löschen, das einen privaten Endpunkt enthält, wird empfohlen, den privaten Endpunkt zu löschen, bevor Sie das Subnetz oder das VCN löschen.