Usar contas de serviço para criar políticas

Uma conta de serviço é um tipo especial de conta que geralmente é usada 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.

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.
  • Crie e anexe contas de serviço a recursos.
  • Use contas de serviço para criar uma política do Secure Web Proxy.
  • Criar uma instância do Secure Web Proxy.
  • Teste a conectividade das VMs.

Antes de começar

  • Conclua a configuração inicial etapas.

  • Ter um administrador da organização conceda acesso a uma conta de serviço.

  • Verifique se você tem a versão 406.0.0 ou mais recente da Google Cloud CLI instalada:

    gcloud version | head -n1
    

    Se você tiver uma versão anterior da CLI gcloud instalada, atualize-a:

    gcloud components update --version=406.0.0
    

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

Para criar uma instância do Secure Web Proxy, primeiro crie uma política de segurança vazia e depois um proxy da Web.

Criar uma política de segurança vazia

Console

  1. No Console do Google Cloud, acesse a página Segurança de rede.

    Acesse Segurança de rede

  2. Clique em Proxy seguro da Web.

  3. Clique na guia Políticas.

  4. Clique em Criar uma política.

  5. Digite um nome para a política que você quer criar. como myswppolicy.

  6. Insira uma descrição para a política, como My new swp policy:

  7. Na lista Regiões, selecione a região em que você quer criar a política.

  8. Clique em Criar.

Cloud Shell

  1. Use o editor de texto de sua preferência para criar o arquivo POLICY_FILE.yaml. Substitua POLICY_FILE pelo nome do arquivo que você quer para o arquivo de política.

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

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

    Substitua:

    • PROJECT_NAME: o nome do projeto.
    • REGION: a região a que esta política se aplica.
    • POLICY_NAME: o nome da política que você está criando
    • POLICY_DESCRIPTION: a descrição da política que você está criando
  3. Importe a política de segurança:

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

Criar um proxy da Web

Console

  1. No Console do Google Cloud, acesse a página Segurança de rede.

    Acesse Segurança de rede

  2. Clique em Proxy seguro da Web.

  3. Clique em Configurar um proxy da Web.

  4. Digite um nome para o proxy da Web que você quer criar. como myswp.

  5. Insira uma descrição do proxy da Web, como My new swp.

  6. Na lista Regiões, selecione a região em que você quer criar o proxy da Web.

  7. Na lista Rede, selecione a rede criar o proxy da Web.

  8. Na lista Sub-rede, selecione a sub-rede em que você quer criar o proxy da Web.

  9. Digite o endereço IP do proxy da Web.

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

  11. Na lista Política, selecione a opção que você criou. para associar ao proxy da Web.

  12. Clique em Criar.

Cloud Shell

  1. Use o editor de texto de sua preferência para criar o arquivo GATEWAY_FILE.yaml. Substituir GATEWAY_FILE pelo nome de arquivo que você quer; o arquivo proxy da Web.

  2. Adicione o seguinte ao arquivo YAML criado:

    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
    

    Substitua:

    • GATEWAY_NAME: o nome da instância.
    • GATEWAY_PORT_NUMBERS: uma lista de números de porta para esse gateway, como [80,443]
    • CERTIFICATE_URLS: uma lista de certificados SSL URLs
    • SUBNET_NAME: o nome da sub-rede que contém GATEWAY_IP_ADDRESS

    • GATEWAY_IP_ADDRESS: uma lista opcional de endereços IP para suas instâncias do Secure Web Proxy nas sub-redes de proxy criadas anteriormente nas etapas de configuração inicial.

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

  3. Crie uma instância do Secure Web Proxy:

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

testar a conectividade

Para testar a conectividade, use o comando curl de qualquer VM na sua Rede de nuvem privada virtual (VPC):

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

É esperado um erro 403 Forbidden.

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. Substituir 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 da regra. um número menor corresponde a uma prioridade mais alta
    • CEL_EXPRESSION: uma expressão da linguagem de expressão comum (CEL)

      Para mais informações, consulte matcher de CEL do idioma de referência.

      Por exemplo, para permitir o acesso a example.com pelo recurso com a com a conta de serviço que você quer anexar, adicione o seguinte ao arquivo YAML que você criou para o sessionMatcher:

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

      Substitua SERVICE_ACCOUNT pela conta de serviço. que você quer permitir. Ele 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 a anexo SERVICE_ACCOUNT:

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

Substitua IPv4_ADDRESS pelo endereço IPv4 do seu uma instância do Secure Web Proxy.

A seguir