Configura le policy di autorizzazione per Secure Web Proxy

Questa pagina descrive come configurare le policy di autorizzazione per Secure Web Proxy.

Prima di iniziare

Crea una policy di autorizzazione

Questa sezione spiega come creare diversi tipi di policy di autorizzazione collegate a un'istanza di Secure Web Proxy.

Per creare una policy di autorizzazione per Secure Web Proxy:

Policy di autorizzazione basata sull'identità mTLS

Secure Web Proxy supporta l'applicazione di regole di sicurezza basate su identità derivate da certificati mutual TLS (mTLS). L'applicazione di regole basate su queste identità è particolarmente utile negli ambienti Zero Trust, in cui il traffico tra i client e il proxy è protetto da mTLS. Per saperne di più, consulta Criterio di autorizzazione basato sulle entità.

L'esempio seguente mostra una policy di autorizzazione per un'istanza di Secure Web Proxy denominata swp1. Questo esempio presuppone che il traffico verso il proxy utilizzi il protocollo HTTPS.

La policy con il profilo REQUEST_AUTHZ impone che tutto il traffico verso example.com/mcp richieda l'autenticazione mTLS da un principal specifico prima che il traffico possa passare. La policy nega anche tutto il traffico in uscita che non è destinato a example.com/mcp.

  1. Crea il file YAML della policy di autorizzazione.

    L'esempio seguente crea un file authz-policy.yaml. Il criterio consente il traffico verso l'host e il percorso specificati solo se il client presenta un certificato che corrisponde all'entità SPIFFE ID definita.

    $ cat >authz-policy.yaml <<EOF
    name: test-authz-policy-mtls
    target:
      resources:
      - "projects/ PROJECT_ID /locations/ LOCATION /gateways/swp1"
    policyProfile: REQUEST_AUTHZ
    httpRules:
    - to:
      operations:
      - hosts:
          - exact: "example.com"
        paths:
          - exact: "/mcp"
      from:
        sources:
        - principals:
          - principalSelector: CLIENT_CERT_URI_SAN
            principal:
              exact: "spiffe:// PROJECT_ID .global.123.workload.id.goog/ns/ns1/sa/hellomcp"
    action: ALLOW
    EOF
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del tuo Google Cloud progetto
    • LOCATION: la regione dell'istanza Secure Web Proxy
  2. Crea una policy di autorizzazione e importa il file YAML utilizzando il comando gcloud network-security authz-policies import.

    gcloud beta network-security authz-policies import my-authz-policy-allow
        --source=authz-policy.yaml
        --location= LOCATION 
    

    Sostituisci LOCATION con la regione dell'istanza Secure Web Proxy.

Norme di autorizzazione basate su service account o tag

Puoi applicare un'autorizzazione basata su service account o tag collegati a varie risorse Google Cloud .

Questo esempio presuppone che tu abbia completato le seguenti operazioni:

Service account

  1. Crea un file YAML della policy di autorizzazione per consentire determinate richieste.

    L'esempio seguente crea un file authz-policy.yaml per l'istanza Secure Web Proxy denominata swp1. Il criterio è configurato per consentire alle richieste di un'istanza di macchina virtuale (VM) Compute Engine con il account di servizio my-sa-123@56788.iam.gserviceaccount.com di raggiungere il percorso example1.com/url1.

    $ cat >authz-policy.yaml <<EOF
    name: my-authz-policy-allow
    target:
        resources:
        - "projects/PROJECT_ID/locations/ LOCATION /gateways/swp1"
    policyProfile: REQUEST_AUTHZ
    httpRules:
    - from:
        sources:
            - resources:
                - iamServiceAccount:
                    exact: "my-sa-123@56788.iam.gserviceaccount.com"
      to:
        operations:
        - hosts:
            - exact: "example1.com"
        paths:
        - prefix: "/url1"
    action: ALLOW
    EOF
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del tuo Google Cloud progetto
    • LOCATION: la regione della tua istanza Secure Web Proxy
  2. Crea una policy di autorizzazione e importa il file YAML utilizzando il comando gcloud network-security authz-policies import.

    Il seguente comando di esempio mostra come importare il file della policy creato in precedenza e creare una policy di autorizzazione:

    gcloud network-security authz-policies import my-authz-policy-allow
    
        --source=authz-policy.yaml
        --location= LOCATION 
    

    Sostituisci LOCATION con la regione dell'istanza Secure Web Proxy.

Tag

  1. Crea un file YAML della policy di autorizzazione per consentire determinate richieste.

    L'esempio seguente crea un file authz-policy-tag.yaml per l'istanza Secure Web Proxy denominata swp1. La policy consente solo le richieste provenienti da una risorsa Google Cloudcon un valore del tag TAG_VALUE_PERMANENT_ID di accedere al percorso dell'URL example1.com/url1.

    $ cat >authz-policy-tag.yaml <<EOF
    name: my-authz-policy-tag-allow
    target:
        resources:
        - "projects/PROJECT_ID/locations/ LOCATION /gateways/ GATEWAY_NAME "
    policyProfile: REQUEST_AUTHZ
    httpRules:
    - from:
        sources:
        - resources:
            - tagValueIdSet:
                ids: ["TAG_VALUE_PERMANENT_ID"]
      to:
        operations:
        - hosts:
            - exact: "example1.com"
            paths:
            - exact: "/url1"
    action: ALLOW
    EOF
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del tuo Google Cloud progetto
    • LOCATION: la regione della tua istanza Secure Web Proxy
    • GATEWAY_NAME: nome del gateway Secure Web Proxy
    • TAG_VALUE_PERMANENT_ID: ID permanente di un valore tag, ad esempio tagValues/123456789012
  2. Crea una policy di autorizzazione e importa il file YAML utilizzando il comando gcloud network-security authz-policies import.

    Il seguente comando di esempio importa il file della policy creato in precedenza e crea una policy di autorizzazione nella regione Google Cloud specificata:

    gcloud network-security authz-policies import my-authz-policy-tag-allow
        --source=authz-policy-tag.yaml
        --location= LOCATION 
    

    Sostituisci LOCATION con la regione dell'istanza Secure Web Proxy.

Policy di autorizzazione per delegare le decisioni di autorizzazione

Per decisioni di autorizzazione complesse che non possono essere espresse utilizzando regole ALLOW o DENY standard, puoi creare una policy di autorizzazione con un'azione CUSTOM. Puoi quindi delegare le decisioni di autorizzazione alle estensioni di autorizzazione (Service Extensions).

Quando configuri una policy con un'azione CUSTOM, Secure Web Proxy esegue l'offload dei metadati o del payload della richiesta a Service Extensions. A seconda della risposta di Service Extensions, il proxy consente o rifiuta il traffico.

Secure Web Proxy supporta i seguenti tipi di delega:

  • Delega le decisioni di autorizzazione delle richieste alle Service Extensions: puoi utilizzare un criterio di autorizzazione configurato con un'azione CUSTOM e un profilo REQUEST_AUTHZ per delegare le decisioni in base ai metadati e alle intestazioni delle richieste. In questa modalità, la decisione di accesso viene delegata a un'estensione di autorizzazione. Puoi utilizzare questa modalità per verificare identità e autorizzazioni.

  • Delega le decisioni di autorizzazione dei contenuti alle Service Extensions: puoi utilizzare una norma di autorizzazione con un'azione CUSTOM e un profilo CONTENT_AUTHZ per delegare le decisioni a un'estensione di autorizzazione in base al payload di dati effettivo della richiesta. Questa modalità ti consente di attivare l'ispezione approfondita dei contenuti e l'applicazione della sicurezza, consentendoti di eseguire la scansione alla ricerca di informazioni sensibili o pattern dannosi integrandosi con servizi come Model Armor.

Limitazioni

Quando implementi le policy di autorizzazione per Secure Web Proxy, si applicano le seguenti limitazioni:

  • Vincoli di destinazione e connettività: le estensioni di autorizzazione per Secure Web Proxy non supportano Identity-Aware Proxy (IAP) come destinazione diretta.

  • Conflitto e compatibilità delle policy: se hai una policy di sicurezza del gateway con regole di sicurezza esistenti, non devi rimuoverle. Secure Web Proxy ignora queste regole quando applichi un criterio di autorizzazione alla tua istanza.

  • Requisiti di protocollo e ispezione: per configurare le policy di autorizzazione Secure Web Proxy, devi abilitare l'ispezione TLS.

Passaggi successivi