I gruppi di indirizzi ti consentono di combinare più indirizzi IP e intervalli di indirizzi IP in un'unica unità logica denominata, che puoi utilizzare in più prodotti. Questo documento che mostra come utilizzare i gruppi di indirizzi con la sicurezza di Google Cloud Armor criteri. È necessario un abbonamento a Google Cloud Armor Enterprise attivo per l'utilizzo gruppi di indirizzi.
Ruoli IAM
Per creare e gestire un gruppo di indirizzi, è necessario
Ruolo di amministratore di rete (compute.networkAdmin
)
o il ruolo Amministratore sicurezza (compute.securityAdmin
). Puoi inoltre definire
un ruolo personalizzato
con un insieme equivalente di autorizzazioni.
La tabella seguente fornisce un elenco delle autorizzazioni Identity and Access Management (IAM) necessarie per eseguire un insieme di attività sui gruppi di indirizzi.
Attività | Nome ruolo IAM | Autorizzazioni IAM |
---|---|---|
Creare e gestire gruppi di indirizzi | compute.networkAdmin
|
networksecurity.addressGroups.* |
Trovare e visualizzare i gruppi di indirizzi | compute.networkUser |
networksecurity.addressGroups.list
|
Per saperne di più sui ruoli che includono autorizzazioni IAM specifiche, consulta il riferimento alle autorizzazioni IAM.
Creare o modificare i gruppi di indirizzi
Le sezioni seguenti spiegano come creare gruppi di indirizzi, come aggiungere e rimuovere indirizzi dai gruppi di indirizzi e come eliminare i gruppi di indirizzi.
Crea un gruppo di indirizzi
Quando crei un gruppo di indirizzi, devi specificarne capacità e indirizzo IP
usando rispettivamente i flag --capacity
e --type
. Non puoi
modificare questi valori dopo aver creato il gruppo di indirizzi.
Inoltre, la capacità massima di Google Cloud Armor potrebbe essere superiore alla capacità massima di altri prodotti, come Cloud Next Generation Firewall. Pertanto, se Per utilizzare lo stesso gruppo di indirizzi per più prodotti, devi Impostare la capacità in modo che sia inferiore o uguale alla capacità massima più bassa tra per questi prodotti.
Console
Nella console Google Cloud, vai alla pagina Gruppi di indirizzi.
Nel menu del selettore dei progetti, seleziona il tuo progetto, se disponibile.
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 Finalità, scegli Cloud Armor; in alternativa, scegli Firewall e Cloud Armor se prevedi di utilizzare il gruppo di indirizzi anche con i criteri di 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
.Fai clic su Crea.
gcloud
Utilizza il seguente esempio
Comando gcloud network-security address-groups create
per creare un gruppo di indirizzi denominato GROUP_NAME con un
di 1000 IPv4
indirizzi, che possono essere utilizzati sia con
Google 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
esclusivamente lo scopo 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 articoli a un gruppo di indirizzi
Dopo aver creato un gruppo di indirizzi, puoi aggiungere elementi utilizzando la console Google Cloud o il comando gcloud network-security address-groups add-items
.
Console
Nella console Google Cloud, vai alla pagina Gruppi di indirizzi.
Nel menu del selettore dei progetti, seleziona il tuo progetto, se disponibile.
Per modificare un gruppo di indirizzi, fai clic sul nome del gruppo.
Fai clic su Modifica.
Nel campo Indirizzi IP, aggiungi i nuovi elementi separandoli con di indirizzi IP. 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, aggiungi 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
Rimuovere elementi da un gruppo di indirizzi
Puoi rimuovere elementi da un gruppo di indirizzi utilizzando la console Google Cloud o il comando gcloud network-security address-groups remove-items
.
Console
Nella console Google Cloud, vai alla pagina Gruppi di indirizzi.
Nel menu del selettore dei progetti, seleziona il tuo progetto, se disponibile.
Per modificare un gruppo di indirizzi, fai clic sul nome del gruppo.
Fai clic su Modifica.
Nel campo Indirizzi IP, elimina gli elementi che vuoi rimuovere dall'elenco di indirizzi IP separati da virgole.
Fai clic su Salva.
gcloud
Il seguente comando rimuove gli indirizzi IP 192.168.1.2
, 192.168.1.8
e 192.168.1.9
aggiunti 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
Eliminare un gruppo di indirizzi
Non puoi eliminare un gruppo di indirizzi se una risorsa vi fa riferimento, incluso un il criterio firewall o il 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, seleziona il tuo progetto, se disponibile.
Seleziona la casella di controllo accanto al gruppo di indirizzi da eliminare. Assicurati che al gruppo di indirizzi selezionato non venga fatto riferimento ad alcun gruppo un firewall o un criterio di sicurezza.
Fai clic su Elimina, quindi fai di nuovo clic su Elimina per confermare.
gcloud
L'esempio seguente utilizza il metodo
Comando gcloud network-security address-groups delete
per eliminare un gruppo di indirizzi chiamato GROUP_NAME.
gcloud network-security address-groups delete GROUP_NAME \ --location global
Utilizza i gruppi di indirizzi con criteri di sicurezza
Dopo aver creato un gruppo di indirizzi e avervi aggiunto indirizzi IP, puoi utilizzarlo con qualsiasi criterio di sicurezza di backend Google Cloud Armor esistente. La i seguenti esempi mostrano due diversi modi di utilizzare i gruppi di indirizzi.
Negare un gruppo di indirizzi IP
Per questo esempio, immagina di avere un gruppo di indirizzi IP chiamato
BAD_IPS con 10.000 indirizzi IP che sai essere dannosi. Tu
può rifiutare tutti questi indirizzi IP utilizzando un unico criterio di sicurezza
deny
regola con la seguente condizione di corrispondenza:
evaluateAddressGroup('BAD_IPS', origin.ip)
Riutilizza un gruppo di intervalli di indirizzi IP in più criteri di sicurezza
Per questo esempio, immagina di avere lo stesso elenco di 10.000 indirizzi IP
dell'esempio precedente, ma che alcuni indirizzi IP sono noti per essere
web crawler. Vuoi bloccare tutti questi indirizzi IP da alcuni servizi di backend, ma consentire ai crawler web 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 denominato POLICY_1 e collegalo a BACKEND_SERVICE_1.
In POLICY_1, crea una regola
deny
con la seguente condizione di corrispondenza:evaluateAddressGroup('BAD_IPS', origin.ip)
Creare un secondo criterio di sicurezza del backend denominato POLICY_2. allegalo a BACKEND_SERVICE_2.
In POLICY_2, crea una regola
deny
con la seguente condizione di corrispondenza, che esclude66.249.77.32/27
e66.249.77.64/27
:evaluateAddressGroup('BAD_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 questo esempio, immagina di avere un gruppo di indirizzi IP chiamato
BAD_IPS con 10.000 indirizzi IP che sai essere dannosi. Nella
Inoltre, si utilizza un proxy upstream che include informazioni sul
i clienti che hanno origine nell'intestazione. Puoi negare tutti questi indirizzi IP utilizzando
una singola regola del criterio di sicurezza deny
con la seguente corrispondenza
condizione:
evaluateAddressGroup('BAD_IPS', origin.user_ip)
Per ulteriori informazioni sugli indirizzi IP degli utenti, consulta Attributi del linguaggio delle regole.