Utilizzare gli account di servizio per creare criteri

Un account di servizio è un tipo speciale di account e viene generalmente utilizzato da un'applicazione o da un carico di lavoro di calcolo, come un'istanza Compute Engine, anziché da una persona. Questo account è identificato dal rispettivo indirizzo email, che è univoco.

Le applicazioni usano account di servizio per chiamate API autorizzate autenticandosi come account di servizio stesso o come Google Workspace. o Cloud Identity tramite delega a livello di dominio. Quando un'applicazione si autentica come account di servizio, ha accesso a tutti e le risorse a cui l'account di servizio è autorizzato ad accedere.

Puoi utilizzare un account di servizio per identificare l'origine del traffico e configurare i criteri del proxy web sicuro, se necessario.

Questa guida illustra come:

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

Prima di iniziare

Creare un'istanza di Secure Web Proxy con un criterio vuoto

Per creare un'istanza di Secure Web Proxy, crea prima un criterio di sicurezza vuoto e poi un proxy web.

Crea un criterio di sicurezza vuoto

Console

  1. Nella console Google Cloud, vai alla pagina Sicurezza di rete.

    Vai a Sicurezza di rete

  2. Fai clic su Secure Web Proxy.

  3. Fai clic sulla scheda Norme.

  4. Fai clic su Crea un criterio.

  5. Inserisci un nome per il criterio da creare. ad esempio myswppolicy.

  6. Inserisci una descrizione della norma, ad esempio My new swp policy.

  7. Nell'elenco Regioni, seleziona la regione in cui vuoi creare il criterio.

  8. Fai clic su Crea.

Cloud Shell

  1. Utilizza l'editor di testo che preferisci per creare il file POLICY_FILE.yaml. Sostituisci POLICY_FILE con il nome file che per il file dei criteri.

  2. Aggiungi quanto segue al file 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 a cui si applicano queste norme
    • POLICY_NAME: il nome del criterio che stai creando
    • POLICY_DESCRIPTION: la descrizione del criterio che stai creando
  3. Importa il criterio di sicurezza:

    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 Sicurezza della rete.

    Vai a Sicurezza di rete

  2. Fai clic su Secure Web Proxy.

  3. Fai clic su Configura un proxy web.

  4. Inserisci un nome per il proxy web che vuoi creare, ad esempio myswp.

  5. Inserisci una descrizione del proxy web, ad esempio My new swp.

  6. Nell'elenco Regioni, seleziona la regione in cui vuoi per creare il proxy web.

  7. Nell'elenco Rete, seleziona la rete in cui vuoi creare il proxy web.

  8. Nell'elenco Subnet, seleziona la subnet in cui vuoi creare il proxy web.

  9. Inserisci l'indirizzo IP del proxy web.

  10. Nell'elenco Certificato, seleziona il certificato da utilizzare per creare il proxy web.

  11. Nell'elenco Criterio, seleziona il criterio che hai creato. a cui associare il proxy web.

  12. Fai clic su Crea.

Cloud Shell

  1. Utilizza il tuo editor di testo preferito per creare il file GATEWAY_FILE.yaml. Sostituisci GATEWAY_FILE con il nome file che vuoi conservare il file del proxy web.

  2. Aggiungi quanto segue al file YAML che hai creato:

    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/SUBNET_NAME
    addresses: [GATEWAY_IP_ADDRESS]
    scope: samplescope
    

    Sostituisci quanto segue:

    • GATEWAY_NAME: il nome di questa istanza
    • GATEWAY_PORT_NUMBERS: un elenco di numeri di porta per questo gateway, ad esempio [80,443]
    • CERTIFICATE_URLS: un elenco di URL dei certificati SSL
    • SUBNET_NAME: il nome della subnet che contiene GATEWAY_IP_ADDRESS

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

      Se scegli di non elencare gli indirizzi IP, ometti il campo per fare in modo che il proxy web scelga un indirizzo IP per te.

  3. Crea un'istanza Secure Web Proxy:

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

Testa la connettività

Per verificare la connettività, utilizza il comando curl da qualsiasi VM all'interno della rete Virtual Private Cloud (VPC):

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

È previsto un errore 403 Forbidden.

Crea e collega gli account di servizio alle risorse

Per creare e collegare gli account di servizio:

  1. Crea gli account di servizio.

  2. Collega gli account di servizio alle risorse.

Creare regole di Secure Web Proxy

Per creare regole di Secure Web Proxy, segui questi passaggi:

  1. Utilizza l'editor di testo che preferisci per creare un RULE_FILE.yaml file. Sostituisci RULE_FILE con il nome file 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 della regola che stai creando
    • RULE_PRIORITY: la priorità per questa regola. Un numero inferiore corrisponde a una priorità più elevata
    • CEL_EXPRESSION: un'espressione comune Espressione lingua (CEL)

      Per ulteriori informazioni, consulta il riferimento linguistico del matcher CEL.

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

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

      Sostituisci SERVICE_ACCOUNT con il service account che vuoi consentire. Deve essere l'indirizzo email dell'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 verificare la connettività, utilizza il comando curl della risorsa con allegato SERVICE_ACCOUNT:

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

Sostituisci IPv4_ADDRESS con l'indirizzo IPv4 del tuo Istanza Secure Web Proxy.

Passaggi successivi