I gruppi di indirizzi ti consentono di combinare più indirizzi IP e intervalli di indirizzi IP in una singola unità logica denominata, che puoi utilizzare in più prodotti. Questo documento mostra come utilizzare i gruppi di indirizzi con i criteri di sicurezza di Google Cloud Armor. Per utilizzare i gruppi di indirizzi, devi avere un abbonamento Google Cloud Armor Enterprise attivo.
Prima di iniziare
Prima di configurare i gruppi di indirizzi, devi abilitare l'API Network Security
networksecurity.googleapis.com
.
Ruoli IAM
Per creare e gestire un gruppo di indirizzi, devi disporre del ruolo
Amministratore rete Compute (roles/compute.networkAdmin
). Puoi anche definire
un ruolo personalizzato con un insieme equivalente di autorizzazioni.
La seguente tabella fornisce un elenco delle autorizzazioni Identity and Access Management (IAM) necessarie per eseguire un insieme di attività sui gruppi di indirizzi.
Attività | Nome del ruolo IAM | Autorizzazioni IAM |
---|---|---|
Creare e gestire |
Amministratore rete Compute |
networksecurity.addressGroups.* |
Scoprire e visualizzare i gruppi di indirizzi |
Utente di rete Compute |
networksecurity.addressGroups.list networksecurity.addressGroups.get networksecurity.addressGroups.use |
Per saperne di più sui ruoli che includono autorizzazioni IAM specifiche, consulta l'indice di ruoli e autorizzazioni IAM.
Utilizzare i gruppi di indirizzi con ambito progetto
Le sezioni seguenti spiegano come utilizzare la console Google Cloud o Google Cloud CLI per creare e modificare gruppi di indirizzi con ambito progetto e come utilizzare gruppi di indirizzi con ambito progetto con i criteri di sicurezza.
Creare o modificare gruppi di indirizzi con ambito progetto
Le sezioni seguenti spiegano come creare gruppi di indirizzi con ambito progetto, come aggiungere e rimuovere indirizzi dai gruppi di indirizzi con ambito progetto e come eliminare questi gruppi.
Creare un gruppo di indirizzi con ambito a livello di progetto
Quando crei un gruppo di indirizzi, devi specificarne la capacità e la versione dell'indirizzo IP utilizzando rispettivamente i flag --capacity
e --type
. Non puoi
modificare questi valori dopo aver creato il gruppo di indirizzi.
Inoltre, la capacità massima di Cloud Armor potrebbe essere superiore a quella di altri prodotti, come Cloud Next Generation Firewall. Pertanto, se vuoi utilizzare lo stesso gruppo di indirizzi in più prodotti, devi impostare la capacità in modo che sia inferiore o uguale alla capacità massima più bassa tra questi prodotti.
Console
- Nella console Google Cloud , vai alla pagina Gruppi di indirizzi.
- Nel menu del selettore dei progetti, se disponibile, seleziona il tuo progetto.
- Fai clic su Crea gruppo di indirizzi.
- Nel campo Nome, inserisci un nome.
- (Facoltativo) Nel campo Descrizione, aggiungi una descrizione.
- In Ambito, scegli Globale.
- Per Tipo, scegli IPv4 o IPv6.
Per Scopo, scegli Cloud Armor; in alternativa, scegli Firewall e Cloud Armor se prevedi di utilizzare il gruppo di indirizzi anche con le policy Cloud Next Generation Firewall.
Per ulteriori informazioni sulla scelta di uno scopo, consulta la specifica del gruppo di indirizzi.
Nel campo Capacità, inserisci la capacità del gruppo di indirizzi.
Nel campo Indirizzi IP, elenca gli indirizzi IP o gli intervalli IP che vuoi includere nel gruppo di indirizzi separati da virgole. Ad esempio,
1.1.1.0/24,1.2.0.0
.Il numero di indirizzi IP o intervalli IP non può superare la capacità configurata.
Fai clic su Crea.
gcloud
L'esempio seguente utilizza il
comando gcloud network-security address-groups create
per creare un gruppo di indirizzi denominato GROUP_NAME
con una
capacità di 1000 indirizzi IPv4
, che possono essere utilizzati con
Cloud Armor o Cloud NGFW:
gcloud network-security address-groups create GROUP_NAME \ --location global \ --description "address group description" \ --capacity 1000 \ --type IPv4 \ --purpose DEFAULT,CLOUD_ARMOR
In alternativa, puoi creare un gruppo di indirizzi con una capacità maggiore
impostando lo scopo esclusivamente su CLOUD_ARMOR
. Nell'esempio seguente,
crei un gruppo di indirizzi con una capacità di 10.000 intervalli di indirizzi IP IPv6
:
gcloud network-security address-groups create GROUP_NAME \ --location global \ --description "address group description" \ --capacity 10000 \ --type IPv6 \ --purpose CLOUD_ARMOR
Aggiungere elementi a un gruppo di indirizzi con ambito a livello di progetto
Dopo aver creato un gruppo di indirizzi, puoi aggiungere elementi.
Console
- Nella console Google Cloud , vai alla pagina Gruppi di indirizzi.
- Nel menu del selettore dei progetti, se disponibile, seleziona il tuo progetto.
- Per modificare un gruppo di indirizzi, fai clic sul suo nome.
- Fai clic su Modifica.
- Nel campo Indirizzi IP, aggiungi i nuovi elementi all'elenco di indirizzi IP separati da virgole. In alternativa, puoi fare clic su Importa indirizzi per caricare un file CSV con un elenco di indirizzi IP.
- Fai clic su Salva.
gcloud
Nell'esempio seguente, utilizzi il
comando gcloud network-security address-groups add-items
per aggiungere gli indirizzi IP 192.168.1.2
,
192.168.1.8
e 192.168.1.9
al gruppo di indirizzi
GROUP_NAME
. Fornisci un elenco separato da virgole di
elementi con il flag --item
:
gcloud network-security address-groups add-items GROUP_NAME \ --location global \ --items 192.168.1.2,192.168.1.8,192.168.1.9
Rimuovere elementi da un gruppo di indirizzi con ambito progetto
Per rimuovere elementi da un gruppo di indirizzi:
Console
- Nella console Google Cloud , vai alla pagina Gruppi di indirizzi.
- Nel menu del selettore dei progetti, se disponibile, seleziona il tuo progetto.
- Per modificare un gruppo di indirizzi, fai clic sul suo nome.
- Fai clic su Modifica.
- Nel campo Indirizzi IP, elimina gli elementi da rimuovere dall'elenco di indirizzi IP separati da virgole.
- Fai clic su Salva.
gcloud
Il seguente esempio utilizza il comando gcloud network-security address-groups remove-items
per rimuovere gli indirizzi IP 192.168.1.2
, 192.168.1.8
e 192.168.1.9
che hai aggiunto nel comando precedente:
gcloud network-security address-groups remove-items GROUP_NAME \ --location global \ --items 192.168.1.2,192.168.1.8,192.168.1.9
Clona un gruppo di indirizzi nell'ambito del progetto
Per clonare elementi da un gruppo di indirizzi:
Console
- Nella console Google Cloud , vai alla pagina Gruppi di indirizzi.
- Nel menu del selettore dei progetti, se disponibile, seleziona il tuo progetto.
- Per clonare un gruppo di indirizzi, fai clic sul nome del gruppo di indirizzi.
- Fai clic su Clona.
- Nel campo Nome, inserisci il nome del gruppo di indirizzi clonato da creare.
- Fai clic su Clona.
gcloud
Nell'esempio seguente, utilizzi il
gcloud network-security address-groups clone-items
comando
per clonare gli indirizzi IP da un gruppo di indirizzi di origine
SOURCE_GROUP_NAME
in un gruppo di indirizzi di destinazione GROUP_NAME
:
gcloud network-security address-groups clone-items GROUP_NAME \ --location global \ --source SOURCE_GROUP_NAME
Eliminare un gruppo di indirizzi con ambito progetto
Non puoi eliminare un gruppo di indirizzi se vi fa riferimento una risorsa, inclusi un criterio di firewall o un criterio di sicurezza. Per eliminare un gruppo di indirizzi:
Console
- Nella console Google Cloud , vai alla pagina Gruppi di indirizzi.
- Nel menu del selettore dei progetti, se disponibile, seleziona il tuo progetto.
- Seleziona la casella di controllo accanto al gruppo di indirizzi da eliminare. Assicurati che il gruppo di indirizzi selezionato non faccia riferimento a nessun firewall o criterio di sicurezza.
- Fai clic su Elimina, quindi fai di nuovo clic su Elimina per confermare.
gcloud
L'esempio seguente utilizza il comando gcloud network-security address-groups delete
per eliminare un gruppo di indirizzi denominato GROUP_NAME
.
gcloud network-security address-groups delete GROUP_NAME \ --location global
Utilizzare gruppi di indirizzi con ambito progetto con criteri di sicurezza
Dopo aver creato un gruppo di indirizzi e avervi aggiunto indirizzi IP, puoi utilizzarlo con qualsiasi policy di sicurezza del backend Cloud Armor esistente. Gli esempi seguenti mostrano due modi diversi di utilizzare i gruppi di indirizzi.
Negare un gruppo di indirizzi IP
Per questo esempio, supponiamo di avere un gruppo di indirizzi IP chiamato
MALICIOUS_IPS
con 10.000 indirizzi IP che sai essere
dannosi. Puoi negare tutti questi indirizzi IP utilizzando una singola regola deny
del criterio di sicurezza con la seguente condizione di corrispondenza:
evaluateAddressGroup('MALICIOUS_IPS', origin.ip)
Riutilizza un gruppo di intervalli di indirizzi IP in più criteri di sicurezza
Per questo esempio, supponiamo di avere lo stesso elenco di 10.000 indirizzi IP dell'esempio precedente, ma che alcuni degli indirizzi IP siano noti per essere web crawler. Vuoi bloccare tutti questi indirizzi IP da alcuni servizi di backend, ma consentire ai web crawler di accedere ad altri servizi di backend per migliorare l'ottimizzazione per i motori di ricerca (SEO). Per negare a tutti gli indirizzi l'accesso a BACKEND_SERVICE_1
, consentendo al contempo agli intervalli di indirizzi IP 66.249.77.32/27
e 66.249.77.64/27
di accedere a BACKEND_SERVICE_2
:
- Crea un criterio di sicurezza del backend chiamato
POLICY_1
e collegalo aBACKEND_SERVICE_1
. In
POLICY_1
, crea una regoladeny
con la seguente condizione di corrispondenza:evaluateAddressGroup('MALICIOUS_IPS', origin.ip)
Crea un secondo criterio di sicurezza del backend chiamato
POLICY_2
e collegalo aBACKEND_SERVICE_2
.In
POLICY_2
, crea una regoladeny
con la seguente condizione di corrispondenza, che esclude66.249.77.32/27
e66.249.77.64/27
:evaluateAddressGroup('MALICIOUS_IPS', origin.ip, [66.249.77.32/27, 66.249.77.64/27])
Utilizzare un gruppo di indirizzi per la corrispondenza con gli indirizzi IP degli utenti
Per utilizzare un gruppo di indirizzi per la corrispondenza con gli indirizzi IP del client di origine ("utente"), devi configurare userIpRequestHeaders[]
nel criterio di sicurezza.
È importante notare che nelle seguenti condizioni ricevi l'indirizzo IP di origine della richiesta e non l'indirizzo IP del client di origine perché il valore di origin.user_ip
è impostato per impostazione predefinita sul valore di origin.ip
:
- Non configuri l'opzione
userIpRequestHeaders[]
. - Le intestazioni configurate non sono presenti.
- Le intestazioni configurate contengono valori di indirizzo IP non validi.
Per questo esempio, supponiamo di avere un gruppo di indirizzi IP chiamato
MALICIOUS_IPS
con 10.000 indirizzi IP che sai essere
dannosi. Inoltre, utilizzi un proxy upstream, che include
informazioni sui client di origine nell'intestazione. Puoi negare l'accesso a tutti questi indirizzi IP utilizzando una singola regola deny
dei criteri di sicurezza con la seguente condizione di corrispondenza:
evaluateAddressGroup('MALICIOUS_IPS', origin.user_ip)
Per saperne di più sugli indirizzi IP degli utenti, vedi Attributi.
Utilizzare gruppi di indirizzi con ambito organizzazione
Le sezioni seguenti spiegano come creare e modificare gruppi di indirizzi con ambito organizzazione utilizzando la console Google Cloud o Google Cloud CLI e come utilizzare gruppi di indirizzi con ambito organizzazione con i criteri di sicurezza.
Creare o modificare gruppi di indirizzi con ambito organizzazione
Puoi utilizzare i gruppi di indirizzi con ambito organizzazione sia con i criteri di sicurezza a livello di servizio sia con i criteri di sicurezza gerarchici.
Le sezioni seguenti spiegano come creare gruppi di indirizzi con ambito organizzazione, come aggiungere e rimuovere indirizzi dai gruppi di indirizzi con ambito organizzazione e come eliminare i gruppi di indirizzi con ambito organizzazione.
Creare un gruppo di indirizzi con ambito organizzazione
Quando crei un gruppo di indirizzi, devi specificarne la capacità e la versione dell'indirizzo IP utilizzando rispettivamente i flag --capacity
e --type
. Non puoi
modificare questi valori dopo aver creato il gruppo di indirizzi.
Inoltre, la capacità massima di Cloud Armor potrebbe essere superiore a quella di altri prodotti, come Cloud Next Generation Firewall. Pertanto, se vuoi utilizzare lo stesso gruppo di indirizzi in più prodotti, devi impostare la capacità in modo che sia inferiore o uguale alla capacità massima più bassa tra questi prodotti.
Console
- Nella console Google Cloud , vai alla pagina Gruppi di indirizzi.
- Nel menu del selettore di progetti, se disponibile, seleziona la tua organizzazione.
- Fai clic su Crea gruppo di indirizzi.
- Nel campo Nome, inserisci un nome.
- (Facoltativo) Nel campo Descrizione, aggiungi una descrizione.
- In Ambito, scegli Globale.
- Per Tipo, scegli IPv4 o IPv6.
Per Scopo, scegli Cloud Armor; in alternativa, scegli Cloud NGFW e Cloud Armor se prevedi di utilizzare il gruppo di indirizzi anche con i criteri Cloud Next Generation Firewall.
Per ulteriori informazioni sulla scelta di uno scopo per un gruppo di indirizzi, vedi Specifiche.
Nel campo Capacità, inserisci la capacità del gruppo di indirizzi.
Nel campo Indirizzi IP, elenca gli indirizzi IP o gli intervalli IP che vuoi includere nel gruppo di indirizzi separati da virgole. Ad esempio,
1.1.1.0/24,1.2.0.0
.Il numero di indirizzi IP o intervalli IP non può superare la capacità configurata.
Fai clic su Crea.
gcloud
Il seguente esempio utilizza il
comando gcloud network-security org-address-groups create
per creare un gruppo di indirizzi con ambito organizzazione chiamato
GROUP_NAME
con una capacità di 1000 indirizzi IPv4,
che può essere utilizzato sia con Cloud Armor che con Cloud NGFW:
gcloud beta network-security org-address-groups create GROUP_NAME \ --location global \ --description "org address group description" \ --capacity 1000 \ --type IPv4 \ --purpose DEFAULT,CLOUD_ARMOR
In alternativa, puoi creare un gruppo di indirizzi con ambito organizzazione con una
capacità maggiore impostando lo scopo esclusivamente su CLOUD_ARMOR
. Nell'esempio seguente, crei un gruppo di indirizzi con una capacità di 10.000 intervalli di indirizzi IP IPv6:
gcloud beta network-security org-address-groups create GROUP_NAME \ --location global \ --description "org address group description" \ --capacity 10000 \ --type IPv6 \ --purpose CLOUD_ARMOR
Aggiungere elementi a un gruppo di indirizzi con ambito organizzazione
Dopo aver creato un gruppo di indirizzi con ambito organizzazione, puoi aggiungere elementi.
Console
- Nella console Google Cloud , vai alla pagina Gruppi di indirizzi.
- Nel menu del selettore di progetti, se disponibile, seleziona la tua organizzazione.
- Per modificare un gruppo di indirizzi, fai clic sul suo nome.
- Fai clic su Modifica.
- Nel campo Indirizzi IP, aggiungi i nuovi elementi all'elenco di indirizzi IP separati da virgole. In alternativa, puoi fare clic su Importa indirizzi per caricare un file CSV con un elenco di indirizzi IP.
- Fai clic su Salva.
gcloud
Nell'esempio seguente, utilizzi il
comando gcloud network-security org-address-groups add-items
per aggiungere gli indirizzi IP 192.168.1.2
,
192.168.1.8
e 192.168.1.9
al gruppo di indirizzi con ambito organizzazione
GROUP_NAME
. Fornisci un elenco separato da virgole di
elementi con il flag --items
:
gcloud network-security org-address-groups add-items GROUP_NAME \ --location global \ --items 192.168.1.2,192.168.1.8,192.168.1.9
Rimuovere elementi da un gruppo di indirizzi con ambito organizzazione
Per rimuovere elementi da un gruppo di indirizzi con ambito organizzazione:
Console
- Nella console Google Cloud , vai alla pagina Gruppi di indirizzi.
- Nel menu del selettore di progetti, se disponibile, seleziona la tua organizzazione.
- Per modificare un gruppo di indirizzi, fai clic sul suo nome.
- Fai clic su Modifica.
- Nel campo Indirizzi IP, elimina gli elementi da rimuovere dall'elenco di indirizzi IP separati da virgole.
- Fai clic su Salva.
gcloud
Il seguente esempio utilizza il comando gcloud network-security org-address-groups remove-items
per rimuovere gli indirizzi IP 192.168.1.2
, 192.168.1.8
e 192.168.1.9
che hai aggiunto nel comando precedente:
gcloud network-security org-address-groups remove-items GROUP_NAME \ --location global \ --items 192.168.1.2,192.168.1.8,192.168.1.9
Clonare un gruppo di indirizzi con ambito organizzazione
Per clonare elementi da un gruppo di indirizzi:
Console
- Nella console Google Cloud , vai alla pagina Gruppi di indirizzi.
- Nel menu del selettore di progetti, se disponibile, seleziona la tua organizzazione.
- Per clonare un gruppo di indirizzi, fai clic sul nome del gruppo di indirizzi.
- Fai clic su Clona.
- Nel campo Nome, inserisci il nome del gruppo di indirizzi clonato da creare.
- Fai clic su Clona.
gcloud
Nell'esempio seguente, utilizzi
il comando
gcloud network-security org-address-groups clone-items
per clonare gli indirizzi IP da un gruppo di indirizzi di origine
SOURCE_GROUP_NAME
in un gruppo di indirizzi di destinazione GROUP_NAME
:
gcloud network-security org-address-groups clone-items GROUP_NAME \ --location global \ --source SOURCE_GROUP_NAME
Eliminare un gruppo di indirizzi con ambito organizzazione
Non puoi eliminare un gruppo di indirizzi con ambito organizzazione se vi fa riferimento una risorsa, inclusi un criterio firewall o un criterio di sicurezza. Segui questi passaggi per eliminare un gruppo di indirizzi:
Console
- Nella console Google Cloud , vai alla pagina Gruppi di indirizzi.
- Nel menu del selettore di progetti, se disponibile, seleziona la tua organizzazione.
- Seleziona la casella di controllo accanto al gruppo di indirizzi da eliminare. Assicurati che il gruppo di indirizzi selezionato non faccia riferimento a nessun firewall o criterio di sicurezza.
- Fai clic su Elimina, quindi fai di nuovo clic su Elimina per confermare.
gcloud
L'esempio seguente utilizza il comando gcloud network-security org-address-groups delete
per eliminare un gruppo di indirizzi denominato GROUP_NAME
.
gcloud network-security org-address-groups delete GROUP_NAME \ --location global
Utilizzare gruppi di indirizzi con ambito organizzazione con criteri di sicurezza
Dopo aver creato un gruppo di indirizzi e avervi aggiunto indirizzi IP, puoi utilizzarlo con qualsiasi policy di sicurezza del backend Cloud Armor esistente. Gli esempi seguenti mostrano due modi diversi di utilizzare i gruppi di indirizzi.
Negare un gruppo di indirizzi IP per tutti i servizi di backend di un'organizzazione
Per questo esempio, supponiamo di avere un gruppo di indirizzi IP con ambito organizzazione
chiamato MALICIOUS_IPS
con 10.000 indirizzi IP che sai essere dannosi. Puoi negare tutti questi indirizzi IP per tutti i
servizi di backend della tua organizzazione utilizzando un'unica
policy di sicurezza gerarchica. Crea un criterio di sicurezza gerarchico, poi aggiungi una
regola deny
con la seguente condizione di corrispondenza:
evaluateOrganizationAddressGroup('MALICIOUS_IPS', origin.ip)
Infine, associa la policy di sicurezza gerarchica a tutti i servizi di backend della tua organizzazione, sostituendo POLICY_NAME
con il nome della tua policy di sicurezza gerarchica e ORGANIZATION_ID
con l'ID della tua organizzazione:
gcloud beta compute org-security-policies associations create \ --security-policy=POLICY_NAME \ --organization=ORGANIZATION_ID
Riutilizzare un gruppo di intervalli di indirizzi IP per tutti i servizi di backend all'interno di un'organizzazione
Per questo esempio, supponiamo di avere lo stesso elenco di 10.000 indirizzi IP dell'esempio precedente, ma che alcuni degli indirizzi IP siano noti per essere web crawler. Vuoi bloccare l'accesso agli indirizzi IP dei crawler non web a tutti i servizi di backend della tua organizzazione, ma vuoi consentire ai criteri di sicurezza con ambito progetto di determinare se i crawler web possono accedere ai tuoi servizi di backend per migliorare l'ottimizzazione per i motori di ricerca (SEO).
Per negare a tutti gli indirizzi l'accesso a
BACKEND_SERVICE_1
, consentendo al contempo agli intervalli di indirizzi IP
66.249.77.32/27
e 66.249.77.64/27
di accedere a
BACKEND_SERVICE_2
:
- Crea una policy di sicurezza di backend denominata
BACKEND_POLICY_1
. Aggiungi una regola
deny
aBACKEND_POLICY_1
con la seguente condizione di corrispondenza, che blocca tutti gli indirizzi IP inMALICIOUS_IPS
:evaluateOrganizationAddressGroup('MALICIOUS_IPS', origin.ip)
Utilizza il seguente comando per associare
BACKEND_POLICY_1
aBACKEND_SERVICE_1
:gcloud compute backend-services update BACKEND_SERVICE_1 \ --security-policy BACKEND_POLICY_1
Crea una seconda policy di sicurezza del backend chiamata
BACKEND_POLICY_2
.Aggiungi una regola
deny
aBACKEND_POLICY_2
con la seguente condizione di corrispondenza, che blocca tutti gli indirizzi IP inMALICIOUS_IPS
, ad eccezione di66.249.77.32/27
e66.249.77.64/27
:evaluateOrganizationAddressGroup('MALICIOUS_IPS', origin.ip, [`66.249.77.32/27`, `66.249.77.64/27`])
Utilizza il seguente comando per associare
BACKEND_POLICY_2
aBACKEND_SERVICE_2
. SostituisciORG_ID
con l'ID della tua organizzazione:gcloud compute backend-services update BACKEND_SERVICE_2 \ --security-policy BACKEND_POLICY_2
Utilizza un gruppo di indirizzi per confrontare gli indirizzi IP utente per tutti i servizi di backend di un'organizzazione
Per questo esempio, supponiamo di avere un gruppo di indirizzi IP chiamato
MALICIOUS_IPS
con 10.000 indirizzi IP che sai essere
dannosi. Inoltre, utilizzi un proxy upstream, che include informazioni sull'indirizzo IP del client di origine nell'intestazione. Puoi negare
l'accesso a tutti i servizi di backend della tua
organizzazione a tutti questi indirizzi IP utilizzando una singola regola deny
dei criteri di sicurezza con la seguente
condizione di corrispondenza:
evaluateOrganizationAddressGroup('MALICIOUS_IPS', origin.user_ip)
Per saperne di più sugli indirizzi IP degli utenti, vedi Attributi.