Creare regole di filtro IP dei bucket

Questa pagina descrive come creare regole di filtro IP dei bucket. Se attivi il filtro IP dei bucket, puoi controllare l'accesso ai bucket esaminando le richieste in arrivo in base agli indirizzi IP specificati nelle regole di filtro IP dei bucket. Per maggiori dettagli, vedi Filtro IP dei bucket.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare regole di filtro IP dei bucket, chiedi all'amministratore di concederti il ruolo Amministratore archiviazione (roles/storage.admin) nel bucket. Questo ruolo contiene le autorizzazioni necessarie per creare regole di filtro IP dei bucket.

Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

  • storage.buckets.create
  • storage.buckets.setIpFilter

Puoi anche ottenere queste autorizzazioni con i ruoli personalizzati. Potresti anche ottenere queste autorizzazioni con altri ruoli predefiniti. Per vedere quali ruoli sono associati a quali autorizzazioni, consulta la sezione Ruoli IAM per Cloud Storage.

Per istruzioni su come concedere i ruoli ai bucket, consulta Utilizzare IAM con i bucket.

Creare regole di filtro IP dei bucket

Riga di comando

  1. In the Google Cloud console, activate Cloud Shell.

    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.

  2. Crea un file JSON che definisce le regole per le richieste in arrivo. Per esempi e informazioni su come strutturare le regole di filtro IP dei bucket, consulta Configurazioni di filtro IP dei bucket.

    {
      "mode": "Enabled",
      "publicNetworkSource":
        {
        "allowedIpCidrRanges":
          [RANGE_CIDR,
          ...
          ]
        },
      "vpcNetworkSources":
          [
           {"network": "projects/PROJECT_ID/global/networks/NETWORK_NAME",
            "allowedIpCidrRanges":
              [RANGE_CIDR,
              ...
              ]
           },
          ...
          ]
       }

    Dove:

    • mode è la modalità di configurazione del filtro IP del bucket. I valori validi sono Enabled e Disabled. Se impostato su Enabled, 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 su Disabled, tutte le richieste in entrata sono autorizzate ad accedere al bucket.

    • RANGE_CIDR è un intervallo di indirizzi IPv4 o IPv6 di una rete pubblica che ha l'autorizzazione ad accedere al bucket. Puoi inserire uno o più intervalli di indirizzi sotto forma di 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 ciascuna rete.

    • NETWORK_NAME è il nome della rete VPC che ha il permesso di accedere al bucket. Per configurare più reti VPC, devi specificare un nome per ogni rete.

  3. Per creare un bucket con regole di filtro IP, esegui il comando gcloud alpha storage buckets create nell'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 assegnare al bucket, rispettando i 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

  1. Avere installato e inizializzatogcloud CLI, che consente di generare un token di accesso per l'intestazione Authorization.

  2. Crea un file JSON contenente le impostazioni del bucket, che deve includere i campi di configurazione name e ipFilter per il bucket. Per esempi e informazioni su come strutturare le regole di filtro IP dei bucket, consulta Configurazioni di filtro IP dei bucket.

    {
      "name": "BUCKET_NAME"
      "ipFilter": {
        "mode": "Enabled",
        "publicNetworkSource":
          {
            "allowedIpCidrRanges":
              [RANGE_CIDR,
                ...
              ]
              },
              "vpcNetworkSources":
              [
              {"network": "projects/PROJECT_ID/global/networks/NETWORK_NAME",
                "allowedIpCidrRanges":
                [RANGE_CIDR,
                  ...
                ]
              },
              ...
              ]
            }
           }
          

    Dove:

    • mode è lo stato della configurazione del filtro IP. I valori validi sono Enabled e Disabled. Se impostato su Enabled, le regole di filtro IP vengono applicate a un bucket e tutte le richieste in arrivo al bucket vengono valutate in base a queste regole. Se impostato su Disabled, tutte le richieste in arrivo possono accedere al bucket e ai relativi dati senza alcuna valutazione se disponi delle autorizzazioni IAM richieste. Per attivare in sicurezza le regole di filtro IP del bucket, inizia configurando le regole con mode impostato su Disabled in modo da poter aggiungere e modificare le regole senza bloccare immediatamente le richieste. Dopo aver verificato che le regole siano definite correttamente, aggiorna mode in Enabled per attivare il filtro IP dei bucket.

    • RANGE_CIDR è un intervallo di indirizzi IPv4 o IPv6 di una rete pubblica che ha l'autorizzazione ad accedere al bucket. Puoi inserire uno o più intervalli di indirizzi sotto forma di 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 che ha il permesso di accedere al bucket. Per configurare più reti VPC, devi specificare un nome per ogni rete.

  3. 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&projection=full"

    Dove:

    • JSON_FILE_NAME è il nome del file JSON che contiene le impostazioni del bucket.
    • PROJECT_IDENTIFIER è l'ID o il numero del progetto a cui è associato il bucket. Ad esempio, my-project.

Configurazioni di filtri IP dei 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 arrivo utilizzando uno dei seguenti esempi:

  • Qualsiasi indirizzo IP pubblico (IPv4 o IPv6):

    La seguente configurazione concede l'accesso a qualsiasi indirizzo IPv4 pubblico, ma blocca il traffico proveniente da qualsiasi VPC:

    {
    "ipFilterConfig": {
      "mode": "Enabled"
      "publicNetworkSource": ["0.0.0.0/0", "::/0"]
    }
    }
  • Intervalli IP pubblici specifici:

    • La seguente configurazione di esempio concede l'accesso all'intervallo di indirizzi IPv4 pubblico 192.0.2.0/24, ma blocca il traffico proveniente da qualsiasi VPC:

      {
      "ipFilterConfig": {
        "mode": "Enabled"
        "publicNetworkSource": ["192.0.2.0/24"]
      }
      }
    • 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:

      {
      "ipFilterConfig": {
        "mode": "Enabled"
        "publicNetworkSource": ["2001:db8::/32"]
      }
      }
  • 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 e NETWORK_NAME è il nome della rete VPC che ha il permesso di 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:

      {
      "ipFilterConfig": {
        "mode": "Enabled"
        "vpcNetworkSources": [
            {
                "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME",
                "allowedIpCidrRanges": ["0.0.0.0/0", "::/0"]
            },
        ]
      }
      }
    • La seguente configurazione di esempio concede l'accesso solo a una richiesta da un VPC associato a una VM con un indirizzo IPv4 esterno come 192.0.2.0/24 e blocca il traffico proveniente da un indirizzo IP pubblico:

      {
      "ipFilterConfig": {
        "mode": "Enabled"
      "vpcNetworkSources": [
            {
                "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME",
                "allowedIpCidrRanges": ["192.0.2.0/24"]
            },
        ]
      }
      }
    • La seguente configurazione di esempio concede l'accesso solo a una richiesta proveniente da un VPC con un intervallo di subnet IPv4 interno come 192.0.2.0/24 associato a una VM senza indirizzo IP esterno e blocca il traffico proveniente da un indirizzo IP pubblico:

      {
      "ipFilterConfig": {
        "mode": "Enabled"
      "vpcNetworkSources": [
            {
                "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME",
                "allowedIpCidrRanges": ["192.0.2.0/24"]
            },
        ]
      }
      }
    • 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 esterno come 2001:db8::/32 e blocca il traffico proveniente da un indirizzo IP pubblico:

      {
      "ipFilterConfig": {
        "mode": "Enabled"
      "vpcNetworkSources": [
            {
                "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME",
                "allowedIpCidrRanges": ["2001:db8::/32"]
            },
        ]
      }
      }

Passaggi successivi

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 gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.

Prova Cloud Storage gratuitamente