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 le policy 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 Securitynetworksecurity.googleapis.com.
Ruoli IAM
Per creare e gestire un gruppo di indirizzi, devi disporre del ruolo Compute Network Admin (roles/compute.networkAdmin). Puoi anche definire un ruolo personalizzato con un set 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 |
Compute Network Admin |
networksecurity.addressGroups.* |
| Scoprire e visualizzare |
Compute Network User |
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.
Utilizza i gruppi di indirizzi con ambito a livello di progetto
Le sezioni seguenti spiegano come utilizzare la console Google Cloud o Google Cloud CLI per creare e modificare gruppi di indirizzi con ambito a livello di progetto e come utilizzare gruppi di indirizzi con ambito a livello di progetto con le policy di sicurezza.
Crea o modifica gruppi di indirizzi con ambito a livello di progetto
Le sezioni seguenti spiegano come creare gruppi di indirizzi con ambito a livello di progetto, come aggiungere e rimuovere indirizzi dai gruppi di indirizzi con ambito a livello di progetto e come eliminare questi gruppi.
Crea 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.
- In Tipo, scegli IPv4 o IPv6.
In 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 saperne di più sulla scelta di uno scopo, consulta le specifiche dei gruppi 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
Aggiungi 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, utilizzerai 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 di elementi separati da virgole 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
Rimuovi elementi da un gruppo di indirizzi con ambito a livello di progetto
Segui questi passaggi 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 con ambito a livello di progetto
Segui questi passaggi 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, utilizzerai il comando gcloud network-security 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 address-groups clone-items GROUP_NAME \
--location global \
--source SOURCE_GROUP_NAME
Elimina un gruppo di indirizzi con ambito a livello di progetto
Non puoi eliminare un gruppo di indirizzi se vi fa riferimento una risorsa, incluse una policy del firewall o 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 dei progetti, se disponibile, seleziona il tuo progetto.
- Seleziona la casella di controllo accanto al gruppo di indirizzi da eliminare. Assicurati che nessuna policy firewall o di sicurezza faccia riferimento al gruppo di indirizzi selezionato.
- 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
Utilizza gruppi di indirizzi con ambito a livello di progetto con policy 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.
Non consentire 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 della policy di sicurezza con la seguente condizione di corrispondenza:
evaluateAddressGroup('MALICIOUS_IPS', origin.ip)
Riutilizza un gruppo di intervalli di indirizzi IP in più policy 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). Segui questi passaggi 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 del backend denominata
POLICY_1e collegala aBACKEND_SERVICE_1. In
POLICY_1, crea una regoladenycon la seguente condizione di corrispondenza:evaluateAddressGroup('MALICIOUS_IPS', origin.ip)Crea una seconda policy di sicurezza del backend chiamata
POLICY_2e collegala aBACKEND_SERVICE_2.In
POLICY_2, crea una regoladenycon la seguente condizione di corrispondenza, che esclude66.249.77.32/27e66.249.77.64/27:evaluateAddressGroup('MALICIOUS_IPS', origin.ip, [66.249.77.32/27, 66.249.77.64/27])
Utilizza un gruppo di indirizzi per la corrispondenza con gli indirizzi IP utente
Per utilizzare un gruppo di indirizzi per la corrispondenza con gli indirizzi IP del client di origine ("user"), devi configurare userIpRequestHeaders[] nella policy 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 indirizzi 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 tutti questi indirizzi IP utilizzando una singola regola deny della policy di sicurezza con la seguente condizione di corrispondenza:
evaluateAddressGroup('MALICIOUS_IPS', origin.user_ip)
Per saperne di più sugli indirizzi IP, consulta Attributi.
Per saperne di più sugli indirizzi IP utente, consulta la Panoramica degli indirizzi IP utente.
Utilizza gruppi di indirizzi con ambito a livello di organizzazione
Le sezioni seguenti spiegano come creare e modificare gruppi di indirizzi con ambito a livello di organizzazione utilizzando la console Google Cloud o Google Cloud CLI e come utilizzare gruppi di indirizzi con ambito a livello di organizzazione con le policy di sicurezza.
Crea o modifica gruppi di indirizzi con ambito a livello di organizzazione
Puoi utilizzare i gruppi di indirizzi con ambito a livello di organizzazione sia con le policy di sicurezza a livello di servizio che con le policy di sicurezza gerarchiche.
Le sezioni seguenti spiegano come creare gruppi di indirizzi con ambito a livello di organizzazione, come aggiungere e rimuovere indirizzi dai gruppi di indirizzi con ambito a livello di organizzazione e come eliminare questi gruppi.
Crea un gruppo di indirizzi con ambito a livello di 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 dei 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.
- In Tipo, scegli IPv4 o IPv6.
In Scopo, scegli Cloud Armor; in alternativa, scegli Cloud NGFW e Cloud Armor se prevedi di utilizzare il gruppo di indirizzi anche con le policy Cloud Next Generation Firewall.
Per saperne di più sulla scelta di uno scopo per un gruppo di indirizzi, consulta 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
L'esempio seguente utilizza il comando gcloud network-security org-address-groups create per creare un gruppo di indirizzi con ambito a livello di organizzazione denominato GROUP_NAME con una capacità di 1000 indirizzi IPv4, che possono essere utilizzati con Cloud Armor o Cloud NGFW:
gcloud 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 a livello di 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 network-security org-address-groups create GROUP_NAME \
--location global \
--description "org address group description" \
--capacity 10000 \
--type IPv6 \
--purpose CLOUD_ARMOR
Aggiungi elementi a un gruppo di indirizzi con ambito a livello di organizzazione
Dopo aver creato un gruppo di indirizzi con ambito a livello di organizzazione, puoi aggiungere elementi.
Console
- Nella console Google Cloud , vai alla pagina Gruppi di indirizzi.
- Nel menu del selettore dei 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, utilizzerai 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 a livello di organizzazione GROUP_NAME. Fornisci un elenco di elementi separati da virgole 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
Rimuovi elementi da un gruppo di indirizzi con ambito a livello di organizzazione
Segui questi passaggi per rimuovere elementi da un gruppo di indirizzi con ambito a livello di organizzazione:
Console
- Nella console Google Cloud , vai alla pagina Gruppi di indirizzi.
- Nel menu del selettore dei 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
Clona un gruppo di indirizzi con ambito a livello di organizzazione
Segui questi passaggi 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 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, utilizzerai 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
Elimina un gruppo di indirizzi con ambito a livello di organizzazione
Non puoi eliminare un gruppo di indirizzi con ambito a livello di organizzazione se vi fa riferimento una risorsa, incluse una policy del firewall o 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 dei progetti, se disponibile, seleziona la tua organizzazione.
- Seleziona la casella di controllo accanto al gruppo di indirizzi da eliminare. Assicurati che nessuna policy firewall o di sicurezza faccia riferimento al gruppo di indirizzi selezionato.
- 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
Utilizza gruppi di indirizzi con ambito a livello di organizzazione con policy 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.
Non consentire 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 a livello di 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 una policy di sicurezza gerarchica, 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 compute org-security-policies associations create \
--security-policy=POLICY_NAME \
--organization=ORGANIZATION_ID
Riutilizza 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 impedire agli indirizzi IP non web crawler di accedere a tutti i servizi di backend della tua organizzazione, ma vuoi consentire alle policy di sicurezza con ambito a livello di progetto di determinare se i web crawler possono accedere ai tuoi servizi di backend per migliorare l'ottimizzazione per i motori di ricerca (SEO).
Segui questi passaggi 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 del backend denominata
BACKEND_POLICY_1. Aggiungi una regola
denyaBACKEND_POLICY_1con 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_1aBACKEND_SERVICE_1:gcloud compute backend-services update BACKEND_SERVICE_1 \ --security-policy BACKEND_POLICY_1Crea una seconda policy di sicurezza del backend chiamata
BACKEND_POLICY_2.Aggiungi una regola
denyaBACKEND_POLICY_2con la seguente condizione di corrispondenza, che blocca tutti gli indirizzi IP inMALICIOUS_IPS, ad eccezione di66.249.77.32/27e66.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_2aBACKEND_SERVICE_2. SostituisciORG_IDcon l'ID della tua organizzazione.gcloud compute backend-services update BACKEND_SERVICE_2 \ --security-policy BACKEND_POLICY_2
Utilizza un gruppo di indirizzi per la corrispondenza con 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 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 della policy di sicurezza con la seguente condizione di corrispondenza:
evaluateOrganizationAddressGroup('MALICIOUS_IPS', origin.user_ip)
Per saperne di più sugli indirizzi IP, consulta Attributi.
Per saperne di più sugli indirizzi IP utente, consulta la Panoramica degli indirizzi IP utente.