Questa pagina descrive come creare un bucket con regole di filtro IP. Se crei un bucket con il filtro IP, puoi controllare l'accesso ai tuoi bucket esaminando le richieste in entrata in base agli indirizzi IP specificati nelle regole di filtro IP del bucket. Per maggiori dettagli, vedi Filtro IP dei bucket.
Per informazioni su come creare o aggiornare le regole di filtro IP in un bucket esistente, vedi Aggiornare le regole di filtro IP del bucket.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare un bucket con regole di filtro IP, chiedi all'amministratore di concederti il ruolo Amministratore archiviazione (roles/storage.admin
) per il bucket. Questo ruolo contiene le autorizzazioni necessarie per creare un bucket con regole di filtro IP.
Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
storage.buckets.create
storage.buckets.setIpFilter
Puoi anche ottenere queste autorizzazioni con ruoli personalizzati. Potresti anche riuscire a ottenere queste autorizzazioni con altri ruoli predefiniti. Per vedere quali ruoli sono associati a quali autorizzazioni, consulta la pagina Ruoli IAM per Cloud Storage.
Per istruzioni sulla concessione dei ruoli sui bucket, consulta Utilizzare IAM con i bucket.
Crea un bucket con regole di filtro IP
gcloud
Verifica di aver installato Google Cloud CLI versione 526.0.0 o successiva:
gcloud version | head -n1
Se hai installato una versione precedente di gcloud CLI, aggiornala:
gcloud components update --version=526.0.0
Crea un file JSON che definisca le regole per le richieste in entrata. Per esempi e informazioni su come strutturare le regole di filtro IP dei bucket, consulta Configurazioni del filtro IP dei bucket.
{ "mode":"MODE", "publicNetworkSource":{ "allowedIpCidrRanges":[ "RANGE_CIDR", "..." ] }, "vpcNetworkSources":[ { "network":"projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges":[ "RANGE_CIDR", "..." ] }, "..." ], "allowCrossOrgVpcs":ALLOW_CROSS_ORG_VPCS, "allowAllServiceAgentAccess": ALLOW_ALL_SERVICE_AGENT_ACCESS }
Dove:
MODE
è la modalità di configurazione del filtro IP del bucket. I valori validi sonoEnabled
eDisabled
. Se impostato suEnabled
, le regole di filtro IP vengono applicate a un bucket. Qualsiasi richiesta in entrata al bucket viene valutata in base a queste regole. Se impostato suDisabled
, tutte le richieste in entrata possono accedere al bucket.RANGE_CIDR
è un intervallo di indirizzi IPv4 o IPv6 di rete pubblica autorizzato ad accedere al bucket. Puoi inserire uno o più intervalli di indirizzi come elenco.PROJECT_ID
è l'ID progetto in cui esiste la rete Virtual Private Cloud (VPC). Per configurare più reti VPC, devi specificare il progetto in cui si trova ogni rete.NETWORK_NAME
è il nome della rete VPC autorizzata ad accedere al bucket. Per configurare più reti VPC, devi specificare un nome per ciascuna rete.ALLOW_CROSS_ORG_VPCS
è un valore booleano che indica se consentire alle reti VPC definite invpcNetworkSources
di provenire da un'organizzazione diversa. Questo campo è facoltativo. Se impostato sutrue
, la richiesta consente reti VPC tra organizzazioni. Se impostato sufalse
, la richiesta limita le reti VPC alla stessa organizzazione del bucket. Se non è specificato, il valore predefinito èfalse
.ALLOW_ALL_SERVICE_AGENT_ACCESS
è un valore booleano che indica se consentire agli agenti di servizio di accedere al bucket, indipendentemente dalla configurazione del filtro IP. Se il valore ètrue
, altri servizi Google Cloud possono utilizzare agenti di servizio per accedere al bucket senza la convalida basata su IP.
Per creare un bucket con regole di filtro IP, esegui il comando
gcloud alpha storage buckets create
nel tuo ambiente di sviluppo:gcloud alpha storage buckets create gs://BUCKET_NAME --ip-filter-file=IP_FILTER_CONFIG_FILE
Dove:
BUCKET_NAME
è il nome che vuoi dare al bucket, soggetto ai requisiti di denominazione. Ad esempio,my-bucket
.IP_FILTER_CONFIG_FILE
è il file JSON che definisce le regole per le richieste in entrata.
API REST
API JSON
Avere la gcloud CLI installata e inizializzata, che ti consente di generare un token di accesso per l'intestazione
Authorization
.Crea un file JSON contenente le impostazioni per il bucket, che devono includere i campi di configurazione
name
eipFilter
per il bucket. Per esempi e informazioni su come strutturare le regole di filtro IP bucket, vedi Configurazioni del filtro IP bucket.{ "name": "BUCKET_NAME", "ipFilter": { "mode": "MODE", "publicNetworkSource": { "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, "vpcNetworkSources": [ {"network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, ... ], "allowCrossOrgVpcs": ALLOW_CROSS_ORG_VPCS, "allowAllServiceAgentAccess": ALLOW_ALL_SERVICE_AGENT_ACCESS }, }
Dove:
MODE
è lo stato della configurazione del filtro IP. I valori validi sonoEnabled
eDisabled
. Se impostato suEnabled
, le regole di filtro IP vengono applicate a un bucket e tutte le richieste in entrata al bucket vengono valutate in base a queste regole. Se impostato suDisabled
, tutte le richieste in entrata possono accedere al bucket e ai relativi dati senza alcuna valutazione se disponi delle autorizzazioni IAM richieste.RANGE_CIDR
è un intervallo di indirizzi IPv4 o IPv6 di rete pubblica autorizzato ad accedere al bucket. Puoi inserire uno o più intervalli di indirizzi come elenco.PROJECT_ID
è l'ID progetto in cui esiste la rete VPC. Per configurare più reti VPC, devi specificare il progetto in cui si trova ciascuna rete.NETWORK_NAME
è il nome della rete VPC autorizzata ad accedere al bucket. Per configurare più reti VPC, devi specificare un nome per ciascuna rete.ALLOW_ALL_SERVICE_AGENT_ACCESS
è un valore booleano che indica se consentire agli agenti di servizio di accedere al bucket, indipendentemente dalla configurazione del filtro IP. Se il valore ètrue
, altri servizi Google Cloud possono utilizzare agenti di servizio per accedere al bucket senza la convalida basata su IP.ALLOW_CROSS_ORG_VPCS
è un valore booleano che indica se consentire alle reti VPC definite invpcNetworkSources
di provenire da un'organizzazione diversa. Questo campo è facoltativo. Se impostato sutrue
, la richiesta consente reti VPC tra organizzazioni diverse. Se impostato sufalse
, la richiesta limita le reti VPC alla stessa organizzazione del bucket. Se non è specificato, il valore predefinito èfalse
.
Utilizza
cURL
per chiamare l'API JSON con una richiesta POST bucket: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"
Dove:
JSON_FILE_NAME
è il nome del file JSON che contiene le impostazioni per il bucket.PROJECT_IDENTIFIER
è l'ID o il numero del progetto a cui è associato il bucket. Ad esempio,my-project
.
Configurazioni del filtro IP del bucket
Questa sezione fornisce esempi di configurazioni di file JSON per il filtro IP dei bucket per controllare l'accesso ai bucket Cloud Storage. Puoi concedere l'accesso alle richieste in entrata utilizzando uno qualsiasi dei seguenti esempi:
Qualsiasi indirizzo IP pubblico (IPv4 o IPv6):
La seguente configurazione concede l'accesso a qualsiasi indirizzo IPv4 o IPv6 pubblico, ma blocca il traffico proveniente da qualsiasi VPC:
gcloud
{ "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": ["0.0.0.0/0", "::/0"] }, "allowAllServiceAgentAccess": false }
API REST
API JSON
{ "ipFilter": { "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": ["0.0.0.0/0", "::/0"] }, "allowAllServiceAgentAccess": false } }
Intervalli IP pubblici specifici:
La seguente configurazione di esempio concede l'accesso all'intervallo di indirizzi IPv4 pubblici
192.0.2.0/24
, ma blocca il traffico proveniente da qualsiasi VPC:gcloud
{ "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": ["192.0.2.0/24"] }, "allowAllServiceAgentAccess": false }
API REST
API JSON
{ "ipFilter": { "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": ["192.0.2.0/24"] }, "allowAllServiceAgentAccess": false } }
La seguente configurazione di esempio concede l'accesso all'intervallo di indirizzi IPv6 pubblici
2001:db8::/32
, ma blocca il traffico proveniente da qualsiasi VPC:gcloud
{ "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": ["2001:db8::/32"] }, "allowAllServiceAgentAccess": false }
API REST
API JSON
{ "ipFilter": { "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": ["2001:db8::/32"] }, "allowAllServiceAgentAccess": false } }
Reti VPC: utilizzando le seguenti configurazioni, puoi concedere l'accesso alle risorse all'interno della tua rete VPC. Puoi concedere l'accesso a tutti gli indirizzi IP all'interno del VPC o a intervalli IP specifici all'interno del VPC. In ciascuno di questi esempi,
PROJECT_ID
è l'ID progetto in cui esiste la rete VPC eNETWORK_NAME
è il nome della rete VPC autorizzata ad accedere al bucket.La seguente configurazione di esempio concede l'accesso a una richiesta da qualsiasi indirizzo IPv4 o IPv6 proveniente da un VPC specifico e blocca il traffico proveniente da un indirizzo IP pubblico:
gcloud
{ "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["0.0.0.0/0", "::/0"] }, ], "allowAllServiceAgentAccess": false }
API REST
API JSON
{ "ipFilter": { "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["0.0.0.0/0", "::/0"] }, ], "allowAllServiceAgentAccess": false } }
La seguente configurazione di esempio concede l'accesso solo a una richiesta da una VPC associata a una VM con un indirizzo IPv4 esterno come
192.0.2.0/24
e blocca il traffico proveniente da un indirizzo IP pubblico:gcloud
{ "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["192.0.2.0/24"] }, ], "allowAllServiceAgentAccess": false }
API REST
API JSON
{ "ipFilter": { "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["192.0.2.0/24"] }, ], "allowAllServiceAgentAccess": false } }
La seguente configurazione di esempio concede l'accesso solo a una richiesta proveniente da un VPC con un intervallo di subnet IPv4 interno associato a una VM senza indirizzo IP esterno e blocca il traffico proveniente da un indirizzo IP pubblico:
gcloud
{ "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["IP_ADDRESS"] }, ], "allowAllServiceAgentAccess": false }
Dove:
IP_ADDRESS
è un intervallo di subnet IPv4 interno.API REST
API JSON
{ "ipFilter": { "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["IP_ADDRESS"] }, ], "allowAllServiceAgentAccess": false } }
Dove:
IP_ADDRESS
è un intervallo di subnet IPv4 interno.La seguente configurazione di esempio concede l'accesso solo a una richiesta proveniente da un VPC con intervallo di subnet IPv4 e IPv6 a doppio stack associato a una VM con un intervallo di indirizzi IPv6 esterni come
2001:db8::/32
e blocca il traffico proveniente da un indirizzo IP pubblico:gcloud
{ "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["2001:db8::/32"] }, ], "allowAllServiceAgentAccess": false }
API REST
API JSON
{ "ipFilter": { "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["2001:db8::/32"] }, ], "allowAllServiceAgentAccess": false } }
Passaggi successivi
- Crea o aggiorna le regole di filtro IP in un bucket esistente.
- Recupera le regole di filtro IP del bucket.
- Elenca le regole di filtro IP dei bucket.
- Disattiva il filtro IP del bucket.
Provalo
Se non conosci Google Cloud, crea un account per valutare le prestazioni di Cloud Storage in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti senza addebiti per l'esecuzione, il test e il deployment dei workload.
Prova Cloud Storage gratuitamente