Configura le policy di sicurezza gerarchiche

Questa pagina contiene informazioni sulla configurazione delle policy di sicurezza gerarchiche per proteggere la tua organizzazione, le cartelle o i progetti. Prima di configurare le policy di sicurezza gerarchica, assicurati di conoscere le informazioni contenute nella panoramica delle policy di sicurezza gerarchica.

Configura le autorizzazioni IAM per le policy di sicurezza gerarchiche

Le seguenti operazioni richiedono il ruolo Identity and Access Management (IAM) Compute Organization Security Policy Admin (roles/compute.orgSecurityPolicyAdmin) nel nodo della gerarchia delle risorse di destinazione o nella policy stessa, se esiste già:

  • Crea una nuova policy di sicurezza gerarchica
  • Modifica una policy di sicurezza gerarchica aggiungendo, aggiornando o eliminando regole
  • Elimina una policy di sicurezza gerarchica

Le seguenti operazioni richiedono il ruolo IAM Compute Organization Resource Admin (roles/compute.orgSecurityResourceAdmin) sul nodo della gerarchia delle risorse di destinazione, oltre al ruolo Compute Organization Security Policy Admin (roles/compute.orgSecurityPolicyAdmin) o al ruolo Compute Organization Security Policy User (roles/compute.orgSecurityPolicyUser) sul nodo della gerarchia delle risorse di destinazione o sulla policy stessa:

  • Associa una policy di sicurezza gerarchica a un nodo della gerarchia delle risorse

Infine, consulta la tabella seguente per un elenco di operazioni varie che puoi eseguire se disponi di uno dei ruoli elencati:

Operazioni Ruoli
Visualizza tutte le regole Cloud Armor effettive per una risorsa di backend
Visualizza le risorse di backend effettive coperte da una organizationSecurityPolicy

Configura le policy di sicurezza gerarchiche

Le sezioni seguenti spiegano come creare policy di sicurezza gerarchiche, associarle ai nodi della gerarchia delle risorse, spostarle tra i nodi, eliminarle e come visualizzare tutte le regole delle policy sicurezza di Cloud Armor che si applicano a una risorsa protetta.

Crea una policy di sicurezza gerarchica

Crea una policy di sicurezza gerarchica utilizzando il comando gcloud compute org-security-policies create. Crea la policy di sicurezza gerarchica in un'organizzazione o una cartella utilizzando il flag --organization o --folder, insieme al corrispondente ORGANIZATION_ID o FOLDER_ID. Utilizza gli esempi seguenti per creare policy di sicurezza gerarchiche, sostituendo POLICY_NAME con il nome che vuoi assegnare alla nuova policy di sicurezza:

  • Crea una policy di sicurezza gerarchica a livello di organizzazione:

    gcloud compute org-security-policies create \
        --organization=ORGANIZATION_ID \
        --type=CLOUD_ARMOR \
        --short-name=POLICY_NAME
    
  • Crea una policy di sicurezza gerarchica a livello di cartella:

    gcloud compute org-security-policies create \ 
        --folder=FOLDER_ID \
        --type=CLOUD_ARMOR \
        --short-name=POLICY_NAME
    

Associa una policy di sicurezza esistente a un nodo della gerarchia delle risorse

Se hai una policy di sicurezza esistente, puoi associarla a un nodo della gerarchia delle risorse utilizzando il comando gcloud compute org-security-policies associations create.

  • Associa una policy di sicurezza gerarchica a un'organizzazione:

    gcloud compute org-security-policies associations create \
        --security-policy=POLICY_ID \
        --organization=ORGANIZATION_ID \
        --name=ASSOCIATION_NAME
    
  • Associa una policy di sicurezza gerarchica a una cartella:

    gcloud compute org-security-policies associations create \
        --security-policy=POLICY_ID \
        --folder=FOLDER_ID \
        --name=ASSOCIATION_NAME
    
  • Associa una policy di sicurezza gerarchica a un progetto:

    gcloud compute org-security-policies associations create \
        --security-policy=POLICY_ID \
        --project-number=PROJECT_ID \
        --name=ASSOCIATION_NAME
    

Sostituisci quanto segue:

  • POLICY_ID: l'ID della policy di sicurezza
  • ORGANIZATION_ID: l'ID dell'organizzazione
  • ASSOCIATION_NAME: il nome dell'associazione
  • FOLDER_ID: l'ID della cartella
  • PROJECT_ID: l'ID del progetto

Escludi progetti dalle policy di sicurezza gerarchiche

Inoltre, puoi escludere i progetti dalle policy di sicurezza gerarchiche a livello di cartella ed escludere sia i progetti sia le cartelle dalle policy di sicurezza gerarchiche a livello di organizzazione:

  • Puoi escludere i progetti da una policy di sicurezza gerarchica utilizzando il comando gcloud compute org-security-policies associations create con il flag --excluded-projects.

    Il seguente comando di esempio associa la policy di sicurezza example-policy all'organizzazione 10000001, escludendo il progetto con l'ID 2000000002:

    gcloud compute org-security-policies associations create \
        --security-policy=example-policy \
        --excluded-projects="projects/2000000002" \
        --organization=10000001
    
  • Puoi escludere le cartelle da una policy di sicurezza gerarchica a livello di organizzazione utilizzando il comando gcloud compute org-security-policies associations create con il flag --excluded-folders.

    Il seguente comando di esempio associa la policy di sicurezza example-policy all'organizzazione 10000001, escludendo la cartella con l'ID 3000000003:

    gcloud compute org-security-policies associations create \
        --security-policy=example-policy \
        --excluded-folders="folders/3000000003" \
        --organization=10000001
    

Sposta una policy di sicurezza gerarchica

Puoi modificare il padre di una policy di sicurezza gerarchica utilizzando il comando gcloud compute org-security-policies move per spostare la policy di sicurezza gerarchica in un nodo della gerarchia della risorsa padre diverso. Fornisci l'origine come primo flag e la destinazione come secondo flag. Lo spostamento di una policy di sicurezza gerarchica ne modifica la proprietà, non le risorse a cui è associata. Solo le organizzazioni e le cartelle possono essere proprietarie di policy di sicurezza gerarchiche, pertanto non puoi spostarle nei progetti.

Nell'esempio seguente, sposti una policy di sicurezza gerarchica dall'organizzazione ORGANIZATION_ID alla cartella FOLDER_ID:

gcloud compute org-security-policies move policy-1 \
    --organization ORGANIZATION_ID \
    --folder FOLDER_ID

Elimina una policy di sicurezza gerarchica

Prima di poter eliminare una policy di sicurezza gerarchica, devi prima eliminare tutte le associazioni della policy ai nodi della gerarchia delle risorse. Nell'esempio seguente, utilizzi il comando gcloud compute org-security-policies associations delete per rimuovere l'associazione denominata ASSOCIATION_NAME tra la policy di sicurezza gerarchica con il nome POLICY_NAME e l'organizzazione ORGANIZATION_ID:

gcloud compute org-security-policies associations delete ASSOCIATION_NAME \
    --security-policy=POLICY_NAME \
    --organization=ORGANIZATION_ID

Se questa non è l'unica associazione della policy di sicurezza, ripeti il passaggio precedente per ogni associazione. Quando la policy di sicurezza gerarchica non ha associazioni, puoi eliminarla utilizzando il comando gcloud compute org-security-policies delete, come nel seguente esempio:

gcloud compute org-security-policies delete POLICY_NAME \
    --organization=ORGANIZATION_ID

Visualizza tutte le regole Cloud Armor effettive per una risorsa protetta

Puoi visualizzare tutte le regole delle policy di sicurezza Cloud Armor che si applicano a una risorsa protetta utilizzando il comando gcloud compute backend-services get-effective-security-policies.

gcloud compute backend-services get-effective-security-policies PROTECTED_RESOURCE

Sostituisci PROTECTED_RESOURCE con il nome della risorsa protetta che vuoi controllare.

Quando esegui il comando gcloud compute backend-services get-effective-security-policies su un servizio di backend all'interno di un progetto che eredita una policy di sicurezza gerarchica, la risposta potrebbe includere la policy di sicurezza gerarchica anche se il tipo di servizio di backend specifico non è supportato dalle policy di sicurezza gerarchiche. Per un elenco delle configurazioni di backend supportate per le policy di sicurezza gerarchiche, consulta la panoramica delle policy di sicurezza gerarchiche.

Casi d'uso

Le sezioni seguenti descrivono i casi d'uso per le policy di sicurezza gerarchiche.

Nega il traffico da un insieme di indirizzi IP a tutti i bilanciatori del carico delle applicazioni nella tua organizzazione

Puoi utilizzare le policy di sicurezza gerarchiche per gestire un elenco di indirizzi IP che non possono accedere all'intera rete dell'organizzazione o per negare il traffico da una regione o un paese specifico. Ciò può aiutarti ad affrontare problemi di sicurezza specifici dell'azienda o a mantenere la conformità. I passaggi che seguono mostrano come creare una policy di sicurezza gerarchica a livello di organizzazione che nega il traffico dall'intervallo di indirizzi IP 192.0.2.0/24:

  1. Crea una policy di sicurezza gerarchica denominata org-level-deny-ip-policy, collegata a un'organizzazione con ID 1000000001:

     gcloud compute org-security-policies create \
         --organization=1000000001 \
         --type=CLOUD_ARMOR \
         --description= "this org policy denies a set of IP addresses for all resources" \
         --short-name=org-level-deny-ip-policy
    
  2. Aggiungi una regola con priorità 1000 con una condizione di corrispondenza per l'intervallo di indirizzi IP 192.0.2.0/24 e un'azione deny:

     gcloud compute org-security-policies rules create 1000 \
         --action=deny \
         --security-policy=org-level-deny-ip-policy \
         --organization=1000000001 \
         --description "Deny traffic from 192.0.2.0/24" \
         --src-ip-ranges "192.0.2.0/24"
    
  3. Infine, associa la policy di sicurezza all'organizzazione, negando le richieste dall'indirizzo IP 192.0.2.0/24 a tutti i servizi dell'organizzazione:

     gcloud compute org-security-policies associations create \
         --security-policy=org-level-deny-ip-policy \
         --organization=ORGANIZATION_ID
    

Concedi a un insieme di indirizzi IP di origine l'accesso ad alcuni progetti all'interno della tua organizzazione

Puoi concedere l'accesso ad alcuni progetti all'interno della tua organizzazione a un indirizzo IP o a più indirizzi IP. Potresti voler eseguire questa operazione se hai un proxy upstream attendibile che vuoi escludere dalla valutazione delle regole solo per alcuni dei tuoi progetti. Nell'esempio seguente basato su Cloud CDN, utilizzi una policy di sicurezza gerarchica a livello di cartella per concedere all'intervallo di indirizzi IP 192.0.2.0/24 l'accesso ai progetti denominati project-1, project-2 e project-3 nell'organizzazione 10000001:

  1. Utilizza i seguenti comandi per spostare project-1, project-2 e project-3 in una cartella con ID 20000002:

    gcloud projects move project-1 --folder=20000002
    gcloud projects move project-2 --folder=20000002
    gcloud projects move project-3 --folder=20000002
    
  2. Utilizza il seguente comando per creare una policy di sicurezza denominata org-level-proxy-filtering:

     gcloud compute org-security-policies create \
         --folder=20000002 \
         --type=CLOUD_ARMOR \
         --short-name=org-level-proxy-filtering
    
  3. Aggiungi una regola con priorità 1000 con una condizione di corrispondenza per l'intervallo di indirizzi IP 192.0.2.0/24 e un'azione della regola goto_next. Se una richiesta corrisponde a questa condizione, Cloud Armor interrompe la valutazione delle regole all'interno di queste policy di sicurezza:

     gcloud compute org-security-policies rules create 1000 \
         --action=goto_next \
         --security-policy=org-level-proxy-filtering \
         --organization=10000001 \
         --src-ip-ranges="192.0.2.0/24"
    
  4. (Facoltativo) Se vuoi applicare le regole delle policy di sicurezza a questi progetti per le richieste che non provengono da 192.0.2.0/24, aggiungi altre regole con una priorità inferiore a 1000. Puoi eseguire questo passaggio in un secondo momento.

  5. Utilizza il seguente comando per associare la policy alla cartella con ID 20000002, in cui hai spostato i progetti nel passaggio 1:

     gcloud compute org-security-policies associations create \
         --security-policy=org-level-proxy-filtering \
         --folder=20000002
    

Passaggi successivi