Usar contas de serviço para criar políticas

Uma conta de serviço é um tipo especial de conta usada normalmente por um aplicativo ou carga de trabalho de computação, como uma instância do Compute Engine, em vez de uma pessoa. Essa conta é identificada pelo endereço de e-mail, que é exclusivo dela.

Os aplicativos usam contas de serviço para fazer chamadas de API autorizadas que autenticam como a própria conta de serviço ou como um usuário do Google Workspace ou do Cloud Identity por meio da delegação em todo o domínio. Quando um aplicativo é autenticado como uma conta de serviço, ele tem acesso a todos os recursos que a conta de serviço tem permissão para acessar.

É possível usar uma conta de serviço para identificar a origem do tráfego e configurar políticas do Secure Web Proxy, conforme necessário.

Neste guia, você aprende as seguintes ações com relação à verificação de tempo de atividade:

  • Crie uma instância do Secure Web Proxy com uma política vazia.
  • Criar e anexar contas de serviço a recursos.
  • Use contas de serviço para criar uma política do Secure Web Proxy.
  • Crie uma instância do Secure Web Proxy.
  • Teste a conectividade das suas VMs.

Antes de começar

Criar uma instância do Secure Web Proxy com uma política vazia

Para criar uma instância do Secure Web Proxy, primeiro é necessário criar uma política de segurança vazia e, em seguida, um proxy da Web que use a política.

Criar uma política de segurança vazia

Console

  1. No console do Google Cloud , acesse a página Políticas de SWP.

    Acessar as políticas do SWP

  2. Clique em Criar uma política.

  3. No campo Nome, insira um nome para a política, como myswppolicy.

  4. No campo Descrição, insira uma descrição para a política, como My new swp policy.

  5. Em Regiões, selecione a região em que você quer criar a política, como us-central1.

  6. Clique em Criar.

Cloud Shell

  1. Use o editor de texto de sua preferência para criar um arquivo policy.yaml.

  2. Adicione o seguinte ao arquivo policy.yaml que você criou:

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

    Substitua:

    • PROJECT_NAME: nome do projeto

    • REGION: região em que a política é criada, como us-central1

    • POLICY_NAME: nome da política

    • POLICY_DESCRIPTION: descrição da política

  3. Importe a política de segurança usando o comando gcloud network-security gateway-security-policies import:

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

Criar um proxy da Web

Console

  1. No console Google Cloud , acesse a página Proxies da Web.

    Acesse proxies da Web

  2. Clique em Criar um proxy da Web seguro.

  3. No campo Nome, insira um nome para o proxy da Web, como myswp.

  4. No campo Descrição, insira uma descrição para o proxy da Web, como My new swp.

  5. Em Modo de roteamento, selecione a opção Explícito.

  6. Em Regiões, selecione a região em que você quer criar o proxy da Web, como us-central1.

  7. Em Rede, selecione a rede em que você quer criar o proxy da Web.

  8. Em Sub-rede, selecione a sub-rede da VPC que você criou anteriormente como parte das etapas de configuração inicial.

  9. Opcional: no campo Endereço IP do proxy da Web, insira o endereço IP do proxy da Web seguro.

    Você pode inserir um endereço IP do intervalo de endereços IP do proxy da Web seguro que reside na sub-rede criada na etapa anterior. Se você não inserir o endereço IP, sua instância do Secure Web Proxy escolherá automaticamente um endereço IP da sub-rede selecionada.

  10. Em Certificado, selecione o certificado que você quer usar para criar o proxy da Web.

  11. Em Política, selecione a política que você criou para associar o proxy da Web.

  12. Clique em Criar.

Cloud Shell

  1. Use o editor de texto de sua preferência para criar um arquivo gateway.yaml.

  2. Adicione o seguinte ao arquivo 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
    

    Substitua:

    • GATEWAY_NAME: nome desta instância do Secure Web Proxy

    • GATEWAY_PORT_NUMBERS: lista de números de porta para este gateway, como [80,443].

    • CERTIFICATE_URLS: lista de URLs de certificados SSL

    • SUBNETWORK: a sub-rede VPC que você criou anteriormente como parte das etapas de configuração inicial.

    • GATEWAY_IP_ADDRESS: lista opcional de endereços IP das instâncias do proxy seguro da Web nas sub-redes de proxy criadas anteriormente nas etapas de configuração inicial.

      Se você não quiser listar endereços IP, omita o campo para que o proxy da Web escolha um endereço IP para você.

  3. Crie a instância do Secure Web Proxy usando o comando gcloud network-services gateways import:

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

testar a conectividade

Para testar a conectividade, use o comando curl em qualquer instância de máquina virtual (VM) na rede de nuvem privada virtual (VPC):

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

Se tudo estiver funcionando corretamente, sua instância do Secure Web Proxy vai retornar um código de status 403 Forbidden. Esse erro confirma o seguinte:

  • A instância do Secure Web Proxy foi implantada e está recebendo tráfego.

  • A política de proxy da Web segura está aplicando corretamente a postura de segurança padrão de rejeitar todo o tráfego até que você defina regras específicas de allow nas próximas seções.

Criar e anexar contas de serviço a recursos

Faça o seguinte para criar e anexar contas de serviço:

  1. Crie as contas de serviço.

  2. Anexe contas de serviço a recursos.

Criar regras do Secure Web Proxy

Para criar regras do Secure Web Proxy, faça o seguinte:

  1. Use o editor de texto de sua preferência para criar um arquivo RULE_FILE.yaml. Substitua RULE_FILE pelo nome de arquivo escolhido.

  2. Para permitir o acesso a um URL da conta de serviço escolhida, adicione o seguinte ao arquivo 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
    

    Substitua:

    • RULE_NAME: um nome para esta regra
    • RULE_DESCRIPTION: uma descrição da regra que você está criando
    • RULE_PRIORITY: a prioridade desta regra. Um número menor corresponde a uma prioridade maior.
    • CEL_EXPRESSION: uma expressão da linguagem de expressão comum (CEL)

      Para mais informações, consulte a referência da linguagem do comparador de CEL.

      Por exemplo, para permitir o acesso a example.com do recurso com a conta de serviço desejada anexada, adicione o seguinte ao arquivo YAML criado para o sessionMatcher:

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

      Substitua SERVICE_ACCOUNT pela conta de serviço que você quer permitir. Esse precisa ser o endereço de e-mail da conta de serviço.

  3. Importe as regras que você criou:

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

testar a conectividade

Para testar a conectividade, use o comando curl do recurso com o SERVICE_ACCOUNT anexado:

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

Substitua IPv4_ADDRESS pelo endereço IPv4 da sua instância do Secure Web Proxy.

A seguir