Usar uma lista de URLs para criar políticas

Neste guia, mostramos como usar listas para definir os URLs que seus usuários podem acesso.

Antes de começar

  • Conclua as etapas de configuração inicial.

  • 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 gcloud CLI instalada, atualize a versão:

    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, em seguida, criar 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 Secure Web Proxy.

  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. Substituir POLICY_FILE pelo nome de arquivo que 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. Insira um nome para o proxy da Web que você quer criar, como myswp.

  5. Digite 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 para criar o proxy da Web.

  11. Na lista 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 o arquivo GATEWAY_FILE.yaml. Substitua GATEWAY_FILE pelo nome de arquivo que você quer para o arquivo de proxy da Web.

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

    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 URLs de certificados SSL
    • SUBNET_NAME: o nome da sub-rede que contém GATEWAY_IP_ADDRESS

    • GATEWAY_IP_ADDRESS: uma lista opcional de IPs para as instâncias do Secure Web Proxy dentro do proxy sub-redes criadas anteriormente etapas iniciais de configuração

      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 em 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 uma lista de URLs

Para criar uma lista de URLs e adicionar uma regra, conclua as tarefas nas seções a seguir.

Criar e configurar uma lista de URLs

Console

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

    Acesse Segurança de rede

  2. Clique em Secure Web Proxy.

  3. Clique na guia Listas de URLs.

  4. Clique em Criar uma lista de URLs.

  5. Digite um nome para a lista de URLs que você quer criar. como myurllist.

  6. Insira uma descrição da lista de URLs, como My new URL list.

  7. Na lista Regiões, selecione uma região para criar a lista de URLs.

  8. Clique em Fazer upload de listas para fazer upload da lista de hosts, URLs ou padrões a serem correspondidos. Para mais informações, consulte a referência de sintaxe da UrlList.

  9. Clique em Criar.

Cloud Shell

  1. Use o editor de texto de sua preferência para criar o arquivo URL_LIST_FILE.yaml. ReplaceURL_LIST_FILE` com o nome de arquivo desejado.

      name: projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME
      values: URL_LIST
    

    Substitua:

    • PROJECT_ID: o ID do seu projeto
    • REGION: a região a que esta lista de URLs se aplica
    • URL_LIST_NAME: um nome para a lista de URLs que você está criando
    • URL_LIST: a lista de hosts, URLs ou padrões para correspondência

    Para mais informações, consulte Referência de sintaxe UrlList.

    Veja a seguir um exemplo de arquivo de regra de lista de URLs:

    name: projects/PROJECT_ID/locations/REGION/urlLists/example-org-allowed-list
    values:
      - www.example.com
      - about.example.com
      - "*.google.com"
      - "github.com/example-org/*"
    

    O caractere asterisco (*) tem um significado especial em YAML. Portanto, adicione aspas em URLs que incluem um caractere *.

  2. Adicione a lista de URLs para que ela possa ser referenciada por um Secure Web Proxy. regra:

    gcloud network-security url-lists import URL_LIST_NAME \
        --location=REGION \
        --project=PROJECT_ID \
        --source=URL_LIST_FILE.yaml
    

Adicionar uma regra

Console

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

    Acesse Segurança de rede

  2. Clique em Secure Web Proxy.

  3. No menu do seletor de projetos, selecione o ID da organização ou a pasta que contém a política.

  4. Clique no nome da sua política.

  5. Clique em Adicionar regra.

  6. Preencha os campos da regra:

    1. Nome
    2. Descrição
    3. Status
    4. Prioridade: a ordem de avaliação numérica da regra. As regras são avaliadas da prioridade mais alta para a mais baixa, em que 0 é a mais alta.
    5. Na seção Ação, especifique se as conexões correspondentes a regra é permitida (Allow) ou negada (Deny).
    6. Na seção Correspondência de sessão, especifique o nome da lista de URLs criada anteriormente. Exemplo:

        sessionMatcher: "inUrlList(host(), 'projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME')"
      
    7. Para ativar a inspeção TLS, selecione Ativar inspeção TLS.

    8. Na seção Correspondência de aplicativo, especifique os critérios das que correspondam à solicitação.

    9. Clique em Criar.

  7. Clique em Adicionar regra para adicionar outra regra.

  8. Clique em Criar para criar a política.

Cloud Shell

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

    name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME
    basicProfile: ALLOW
    enabled: true
    priority: PRIORITY_VALUE
    description: RULE_DESCRIPTION
    sessionMatcher: SESSION_CEL_EXPRESSION
    applicationMatcher: APPLICATION_CEL_EXPRESSION
    

    Substitua:

    • PROJECT_ID: o ID do seu projeto
    • REGION: a região a que a regra se aplica.
    • POLICY_NAME: o nome de um GatewaySecurityPolicy usado. pela instância do Secure Web Proxy.
    • RULE_NAME: um nome para o GatewaySecurityPolicyRule que você está criando
    • PRIORITY_VALUE: um valor de prioridade para essa regra. Números menores correspondem a prioridades mais altas.
    • RULE_DESCRIPTION: uma descrição da política que você está criando.
    • SESSION_CEL_EXPRESSION: uma expressão da Common Expression Language (CEL) para a sessão
    • APPLICATION_CEL_EXPRESSION: uma expressão CEL para o aplicativo

    Este é um exemplo de arquivo de regras:

    name: projects/PROJECT_ID/locations/REGION/urlLists/allow-repos
    basicProfile: ALLOW
    enabled: true
    priority: 100
    description: Allow access to our list of known code repos.
    sessionMatcher: "inUrlList(host(), 'projects/PROJECT_ID/locations/REGION/urlLists/URL_LIST_NAME')"
    

  2. Adicione uma regra do Proxy seguro da Web usando a lista de URLs que você criou anteriormente:

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

testar a conectividade

Para testar a conectividade, use o seguinte comando curl:

curl -x https://SWP_IP_ADDRESS:SWP_PORT_NUMBER HTTP_TEST_ADDRESS
--proxy-insecure

Substitua:

  • SWP_IP_ADDRESS: o endereço IP do proxy da Web.

  • SWP_PORT_NUMBER: o número da porta do proxy da Web, como 443

  • HTTP_TEST_ADDRESS: um endereço a ser testado, como https://www.example.com, que corresponde a uma entrada de host ou URL no URL_LIST.

A solicitação deve retornar uma resposta bem-sucedida.

A seguir