Utilizzare gli account di servizio per creare criteri

Un account di servizio è un tipo speciale di account e viene in genere utilizzato da un'applicazione o da un workload di computing, come un'istanza di Compute Engine, anziché da una persona. Questo account è identificato dal rispettivo indirizzo email, che è univoco per l'account.

Le applicazioni utilizzano i service account per effettuare chiamate API autorizzate autenticandosi come il account di servizio stesso o come utenti Google Workspace o Cloud Identity tramite la delega a livello di dominio. Quando un'applicazione esegue l'autenticazione come account di servizio, ha accesso a tutte le risorse a cui il account di servizio ha l'autorizzazione di accedere.

Puoi utilizzare un account di servizio per identificare l'origine del traffico e configurare le policy Secure Web Proxy, se necessario.

Questa guida mostra come:

  • Crea un'istanza di Secure Web Proxy con un criterio vuoto.
  • Crea e collega service account alle risorse.
  • Utilizza gli account di servizio per creare un criterio Secure Web Proxy.
  • Crea un'istanza di Secure Web Proxy.
  • Testa la connettività dalle tue VM.

Prima di iniziare

Crea un'istanza di Secure Web Proxy con una policy vuota

Per creare un'istanza di Secure Web Proxy, devi prima creare una policy di sicurezza vuota e poi creare un proxy web che utilizzi la policy.

Crea una policy di sicurezza vuota

Console

  1. Nella console Google Cloud , vai alla pagina Policy SWP.

    Vai alle policy SWP

  2. Fai clic su Crea una policy.

  3. Nel campo Nome, inserisci un nome per la policy, ad esempio myswppolicy.

  4. Nel campo Descrizione, inserisci una descrizione della norma, ad esempio My new swp policy.

  5. Per Regioni, seleziona la regione in cui vuoi creare il criterio, ad esempio us-central1.

  6. Fai clic su Crea.

Cloud Shell

  1. Utilizza l'editor di testo che preferisci per creare un file policy.yaml.

  2. Aggiungi quanto segue al file policy.yaml che hai creato:

    name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
    description: POLICY_DESCRIPTION
    

    Sostituisci quanto segue:

    • PROJECT_NAME: il nome del progetto

    • REGION: la regione in cui viene creata la policy, ad esempio us-central1

    • POLICY_NAME: il nome della policy

    • POLICY_DESCRIPTION: la descrizione della policy

  3. Importa la policy di sicurezza utilizzando il comando gcloud network-security gateway-security-policies import:

    gcloud network-security gateway-security-policies import POLICY_NAME \
        --source=POLICY_FILE.yaml \
        --location=REGION
    

Crea un proxy web

Console

  1. Nella console Google Cloud , vai alla pagina Proxy web.

    Vai a Proxy web

  2. Fai clic su Crea un proxy web sicuro.

  3. Nel campo Nome, inserisci un nome per il web proxy, ad esempio myswp.

  4. Nel campo Descrizione, inserisci una descrizione del proxy web, ad esempio My new swp.

  5. Per Modalità di routing, seleziona l'opzione Esplicita.

  6. Per Regioni, seleziona la regione in cui vuoi creare il proxy web, ad esempio us-central1.

  7. In Rete, seleziona la rete in cui vuoi creare il proxy web.

  8. Per Subnet, seleziona la subnet VPC che hai creato in precedenza nell'ambito dei passaggi di configurazione iniziali.

  9. (Facoltativo) Nel campo Indirizzo IP del proxy web, inserisci l'indirizzo IP del proxy web sicuro.

    Puoi inserire un indirizzo IP dall'intervallo di indirizzi IP proxy web sicuri che si trovano nella subnet creata nel passaggio precedente. Se non inserisci l'indirizzo IP, l'istanza di Secure Web Proxy sceglie automaticamente un indirizzo IP dalla subnet selezionata.

  10. In Certificato, seleziona il certificato che vuoi utilizzare per creare il proxy web.

  11. Per Policy, seleziona la policy che hai creato per associare il proxy web.

  12. Fai clic su Crea.

Cloud Shell

  1. Utilizza l'editor di testo che preferisci per creare un file gateway.yaml.

  2. Aggiungi quanto segue al file gateway.yaml:

    name: projects/PROJECT_NAME/locations/REGION/gateways/GATEWAY_NAME
    type: SECURE_WEB_GATEWAY
    ports: [GATEWAY_PORT_NUMBERS]
    certificateUrls: [CERTIFICATE_URLS]
    gatewaySecurityPolicy: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
    network: projects/PROJECT_NAME/global/networks/NETWORK_NAME
    subnetwork: projects/PROJECT_NAME/regions/REGION/subnetworks/SUBNETWORK
    addresses: [GATEWAY_IP_ADDRESS]
    scope: samplescope
    

    Sostituisci quanto segue:

    • GATEWAY_NAME: il nome di questa istanza di Secure Web Proxy

    • GATEWAY_PORT_NUMBERS: elenco dei numeri di porta per questo gateway, ad esempio [80,443]

    • CERTIFICATE_URLS: elenco degli URL dei certificati SSL

    • SUBNETWORK: la subnet VPC che hai creato in precedenza nell'ambito dei passaggi di configurazione iniziali.

    • GATEWAY_IP_ADDRESS: elenco facoltativo di indirizzi IP per le istanze Secure Web Proxy all'interno delle subnet proxy create in precedenza nei passaggi di configurazione iniziali.

      Se scegli di non elencare gli indirizzi IP, ometti il campo per consentire al proxy web di scegliere un indirizzo IP per te.

  3. Crea l'istanza del proxy web sicuro utilizzando il comando gcloud network-services gateways import:

    gcloud network-services gateways import GATEWAY_NAME \
        --source=gateway.yaml \
        --location=REGION
    

Testa la connettività

Per testare la connettività, utilizza il comando curl da qualsiasi istanza di macchina virtuale (VM) all'interno della tua rete Virtual Private Cloud (VPC):

  curl -x https://GATEWAY_IP_ADDRESS:PORT_NUMBER https://www.example.com --proxy-insecure

Se tutto funziona correttamente, l'istanza di Secure Web Proxy restituisce un codice di stato 403 Forbidden. Questo errore conferma quanto segue:

  • L'istanza di Secure Web Proxy è stata implementata correttamente e riceve attivamente traffico.

  • Il criterio del proxy web sicuro applica correttamente la postura di sicurezza predefinita di rifiuto di tutto il traffico finché non definisci regole allow specifiche nelle sezioni successive.

Crea e collega service account alle risorse

Per creare e collegare i service account:

  1. Crea i service account.

  2. Collega i service account alle risorse.

Crea regole Secure Web Proxy

Per creare regole Secure Web Proxy:

  1. Utilizza il tuo editor di testo preferito per creare un file RULE_FILE.yaml. Sostituisci RULE_FILE con il nome file che hai scelto.

  2. Per consentire l'accesso a un URL dall'account di servizio scelto, aggiungi quanto segue al file YAML:

    name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME
    description: RULE_DESCRIPTION
    enabled: true
    priority: RULE_PRIORITY
    sessionMatcher: CEL_EXPRESSION
    basicProfile: ALLOW
    

    Sostituisci quanto segue:

    • RULE_NAME: un nome per questa regola
    • RULE_DESCRIPTION: una descrizione per la regola che stai creando
    • RULE_PRIORITY: la priorità di questa regola; un numero inferiore corrisponde a una priorità più alta
    • CEL_EXPRESSION: un'espressione Common Expression Language (CEL)

      Per ulteriori informazioni, consulta il riferimento al linguaggio del matcher CEL.

      Ad esempio, per consentire l'accesso a example.com dalla risorsa con il account di servizio desiderato collegato, aggiungi quanto segue al file YAML che hai creato per sessionMatcher:

      sessionMatcher: "source.matchServiceAccount('SERVICE_ACCOUNT') && host() == 'example.com'"
      

      Sostituisci SERVICE_ACCOUNT con il account di servizio che vuoi consentire. Deve essere l'indirizzo email del account di servizio.

  3. Importa le regole che hai creato:

    gcloud network-security gateway-security-policies rules import RULE_NAME \
       --source=RULE_FILE.yaml \
       --location=REGION \
       --gateway-security-policy=POLICY_NAME
    

Testa la connettività

Per testare la connettività, utilizza il comando curl dalla risorsa con il SERVICE_ACCOUNT allegato:

curl -x https://IPv4_ADDRESS:443 http://example.com 
--proxy-insecure

Sostituisci IPv4_ADDRESS con l'indirizzo IPv4 della tua istanza Secure Web Proxy.

Passaggi successivi