Auf dieser Seite wird beschrieben, wie Sie IP-Filterregeln für Bucket erstellen. Wenn Sie die IP-Filterung für Bucket aktivieren, können Sie den Zugriff auf Ihre Bucket steuern, indem Sie eingehende Anfragen anhand der in den Regeln für die IP-Filterung für Bucket angegebenen IP-Adressen prüfen. Weitere Informationen finden Sie unter IP-Filterung für Bucket.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die Rolle „Storage-Administrator“ (roles/storage.admin
) für den Bucket zuzuweisen, um die erforderlichen Berechtigungen zum Erstellen von IP-Filterregeln für einen Bucket zu erhalten. Diese Rolle enthält die Berechtigungen, die zum Erstellen von IP-Filterregeln für Buckets erforderlich sind.
Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
storage.buckets.create
storage.buckets.setIpFilter
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen erhalten. Möglicherweise können Sie diese Berechtigungen auch mit anderen vordefinierten Rollen erhalten. Informationen dazu, welche Rollen mit welchen Berechtigungen verknüpft sind, finden Sie unter IAM-Rollen für Cloud Storage.
Eine Anleitung zum Zuweisen von Rollen für Buckets finden Sie unter IAM mit Buckets verwenden.
IP-Filterregeln für Bucket erstellen
Befehlszeile
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Erstellen Sie eine JSON-Datei, in der die Regeln für eingehende Anfragen definiert sind. Beispiele und Informationen zum Strukturieren der IP-Filterregeln für Bucket finden Sie unter Konfigurationen für die IP-Filterung von Bucket.
{ "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, "vpcNetworkSources": [ {"network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, ... ] }
Wobei:
mode
ist der Modus der IP-Filterkonfiguration des Buckets. Gültige Werte sindEnabled
undDisabled
. Wenn dieser Wert festgelegt ist, werden IP-Filterregeln auf einen Bucket angewendet.Enabled
Alle eingehenden Anfragen an den Bucket werden anhand dieser Regeln ausgewertet. WennDisabled
festgelegt ist, dürfen alle eingehenden Anfragen auf den Bucket zugreifen.RANGE_CIDR ist ein IPv4- oder IPv6-Adressbereich eines öffentlichen Netzwerks, der auf den Bucket zugreifen darf. Sie können einen oder mehrere Adressbereiche als Liste eingeben.
PROJECT_ID
ist die Projekt-ID, in der sich das VPC-Netzwerk (Virtual Private Cloud) befindet. Wenn Sie mehrere VPC-Netzwerke konfigurieren möchten, müssen Sie das Projekt angeben, in dem sich jedes Netzwerk befindet.NETWORK_NAME
ist der Name des VPC-Netzwerk, das auf den Bucket zugreifen darf. Wenn Sie mehrere VPC-Netzwerke konfigurieren möchten, müssen Sie für jedes Netzwerk einen Namen angeben.
Führen Sie in Ihrer Entwicklungsumgebung den Befehl
gcloud alpha storage buckets create
aus, um einen Bucket mit IP-Filterregeln zu erstellen:gcloud alpha storage buckets create gs://BUCKET_NAME --ip-filter-file=IP_FILTER_CONFIG_FILE
Wobei:
BUCKET_NAME
ist der Name, den Sie Ihrem Bucket zuweisen möchten. Beachten Sie dabei die Anforderungen für Bucket-Namen. Beispiel:my-bucket
IP_FILTER_CONFIG_FILE
ist die JSON-Datei, die die Regeln für eingehende Anfragen definiert.
REST APIs
JSON API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Erstellen Sie eine JSON-Datei mit den Einstellungen für den Bucket. Sie muss die Konfigurationsfelder
name
undipFilter
für den Bucket enthalten. Beispiele und Informationen zum Strukturieren der IP-Filterregeln für Bucket finden Sie unter Konfigurationen für die IP-Filterung von Bucket.{ "name": "BUCKET_NAME" "ipFilter": { "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, "vpcNetworkSources": [ {"network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, ... ] } }
Wobei:
mode
ist der Status der IP-Filterkonfiguration. Gültige Werte sindEnabled
undDisabled
. Wenn dieser Wert aufEnabled
festgelegt ist, werden IP-Filterregeln auf einen Bucket angewendet und alle eingehenden Anfragen an den Bucket werden anhand dieser Regeln ausgewertet. Wenn „Disabled
“ festgelegt ist, können alle eingehenden Anfragen ohne Prüfung auf den Bucket und seine Daten zugreifen, sofern Sie die erforderlichen IAM-Berechtigungen haben. Wenn Sie IP-Filterregeln für einen Bucket sicher aktivieren möchten, konfigurieren Sie Ihre Regeln zuerst so, dassmode
aufDisabled
festgelegt ist. So können Sie Regeln hinzufügen und anpassen, ohne Anfragen sofort zu blockieren. Nachdem Sie überprüft haben, ob Ihre Regeln richtig definiert sind, aktualisieren Siemode
inEnabled
, um die Bucket-IP-Filterung zu aktivieren.RANGE_CIDR ist ein IPv4- oder IPv6-Adressbereich eines öffentlichen Netzwerks, der auf den Bucket zugreifen darf. Sie können einen oder mehrere Adressbereiche als Liste eingeben.
PROJECT_ID
ist die Projekt-ID, in der sich das VPC-Netzwerk befindet. Wenn Sie mehrere VPC-Netzwerke konfigurieren möchten, müssen Sie das Projekt angeben, in dem sich jedes Netzwerk befindet.NETWORK_NAME
ist der Name des VPC-Netzwerk, das auf den Bucket zugreifen darf. Wenn Sie mehrere VPC-Netzwerke konfigurieren möchten, müssen Sie für jedes Netzwerk einen Namen angeben.
Verwenden Sie
cURL
, um die JSON API mit einer POST-Bucket-Anfrage aufzurufen:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b?project=PROJECT_IDENTIFIER&projection=full"
Wobei:
JSON_FILE_NAME
ist der Name der JSON-Datei, die die Einstellungen für den Bucket enthält.PROJECT_IDENTIFIER
ist die ID oder Nummer des Projekts, mit dem Ihr Bucket verknüpft ist. Beispiel:my-project
Konfigurationen für die IP-Filterung von Bucket
In diesem Abschnitt finden Sie Beispiele für JSON-Datei-Konfigurationen für die IP-Filterung von Buckets, mit denen Sie den Zugriff auf Ihre Cloud Storage-Buckets steuern können. Sie können eines der folgenden Beispiele verwenden, um Zugriff auf eingehende Anfragen zu gewähren:
Beliebige öffentliche IP-Adresse (IPv4 oder IPv6):
Die folgende Konfiguration gewährt Zugriff auf jede öffentliche IPv4- oder IPv6-Adresse, blockiert aber Traffic, der von einer beliebigen VPC ausgeht:
{ "ipFilterConfig": { "mode": "Enabled" "publicNetworkSource": { "allowedIpCidrRanges": ["0.0.0.0/0", "::/0"] } } }
Bestimmte öffentliche IP-Bereiche:
In der folgenden Beispielkonfiguration wird der Zugriff auf den öffentlichen IPv4-Adressbereich
192.0.2.0/24
gewährt, aber Traffic von einem beliebigen VPC blockiert:{ "ipFilterConfig": { "mode": "Enabled" "publicNetworkSource": { "allowedIpCidrRanges": ["192.0.2.0/24"] } } }
In der folgenden Beispielkonfiguration wird der Zugriff auf den öffentlichen IPv6-Adressbereich
2001:db8::/32
gewährt, aber Traffic von beliebigen VPCs blockiert:{ "ipFilterConfig": { "mode": "Enabled" "publicNetworkSource": { "allowedIpCidrRanges": ["2001:db8::/32"] } } }
VPC-Netzwerke: Mit den folgenden Konfigurationen können Sie Zugriff auf Ressourcen in Ihrem VPC-Netzwerk gewähren. Sie können Zugriff auf alle IP-Adressen innerhalb des VPC oder auf bestimmte IP-Bereiche innerhalb des VPC gewähren. In jedem dieser Beispiele ist
PROJECT_ID
die Projekt-ID, in der sich das VPC-Netzwerk befindet, undNETWORK_NAME
der Name des VPC-Netzwerks, das auf den Bucket zugreifen darf.In der folgenden Beispielkonfiguration wird Zugriff auf eine Anfrage von jeder IPv4- oder IPv6-Adresse gewährt, die aus einer bestimmten VPC stammt, und Traffic von einer öffentlichen IP-Adresse blockiert:
{ "ipFilterConfig": { "mode": "Enabled" "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["0.0.0.0/0", "::/0"] }, ] } }
In der folgenden Beispielkonfiguration wird nur einer Anfrage aus einem VPC gewährt, das mit einer VM mit der externen IPv4-Adresse
192.0.2.0/24
verknüpft ist. Traffic von einer öffentlichen IP-Adresse wird blockiert:{ "ipFilterConfig": { "mode": "Enabled" "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["192.0.2.0/24"] }, ] } }
In der folgenden Beispielkonfiguration wird nur einer Anfrage Zugriff gewährt, die von einem VPC mit einem internen IPv4-Subnetzbereich ausgeht, der einer VM ohne externe IP-Adresse zugewiesen ist. Traffic, der von einer öffentlichen IP-Adresse stammt, wird blockiert:
{ "ipFilterConfig": { "mode": "Enabled" "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["IP_ADDRESS"] }, ] } }
Dabei ist
IP_ADDRESS
ein interner IPv4-Subnetzbereich.In der folgenden Beispielkonfiguration wird nur einer Anfrage Zugriff gewährt, die von einem VPC mit einem Dual-Stack-IPv4- und IPv6-Subnetzbereich ausgeht, der einer VM mit einem externen IPv6-Adressbereich wie
2001:db8::/32
zugewiesen ist. Traffic, der von einer öffentlichen IP-Adresse stammt, wird blockiert:{ "ipFilterConfig": { "mode": "Enabled" "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["2001:db8::/32"] }, ] } }
Nächste Schritte
- Aktualisieren Sie die IP-Filterregeln für den Bucket.
- IP-Filterregeln für Bucket abrufen
- Liste der IP-Filterregeln für Bucket
- Deaktivieren Sie die IP-Filterung für Bucket.
Überzeugen Sie sich selbst
Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit von Cloud Storage in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
Cloud Storage kostenlos testen