Usar uma lista de URLs para criar políticas

Este guia mostra como usar listas de URLs para definir URLs que os usuários podem acessar.

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 CLI gcloud 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 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 da 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 criado:

    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. 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 em que você quer 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 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 dessa 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 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 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

Um erro 403 Forbidden é esperado.

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 Proxy seguro da Web.

  3. Clique na guia Listas de URLs.

  4. Clique em Criar uma lista de URLs.

  5. Insira 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 a região em que você quer 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 a serem correspondidos

    Para mais informações, consulte a referência de sintaxe da UrlList.

    Confira 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 no YAML. Portanto, é necessário adicionar aspas em URLs que incluem um caractere *.

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

    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 Proxy seguro da Web.

  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 que correspondem à regra são permitidas (Permitir) ou negadas (Negar).
    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 de TLS, selecione Ativar inspeção de TLS.

    8. Na seção Correspondência de aplicativo, especifique os critérios para corresponder à 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 essa regra se aplica
    • POLICY_NAME: o nome de um GatewaySecurityPolicy usado pela sua instância do Proxy seguro da Web.
    • 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 linguagem de expressão comum (CEL) para a sessão
    • APPLICATION_CEL_EXPRESSION: uma expressão CEL para o aplicativo

    Confira a seguir um exemplo de arquivo de regra:

    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 precisa retornar uma resposta bem-sucedida.

A seguir