Usar uma lista de URLs para criar políticas

Neste guia, mostramos como usar listas de URL para definir URLs que os usuários podem acessar.

Antes de começar

  • Conclua as etapas iniciais de configuração.

  • Verifique se você tem a versão 406.0.0 ou posterior do 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 de proxy seguro da Web com uma política vazia

Para criar uma instância de Proxy seguro da Web, primeiro crie uma política de segurança vazia e, em seguida, 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. Insira 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 de 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 Secure Web Proxy.

  3. Clique em Configurar um proxy da Web.

  4. Digite 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 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 criada 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 este 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 as instâncias do Proxy seguro da Web nas sub-redes do proxy criadas anteriormente nas etapas de configuração inicial.

      Se você optar por não 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 de proxy seguro da Web:

    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 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 Secure Web Proxy.

  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 onde você quer criar a lista de URLs.

  8. Clique em Fazer upload de listas para carregar a lista de hosts, URLs ou padrões correspondentes. Para mais informações, consulte a referência de sintaxe de 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 a 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 a Referência de sintaxe de 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 de asterisco (*) tem um significado especial em YAML. Portanto, você precisa colocar aspas nos URLs que incluem um caractere *.

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

    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 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 TLS, selecione Ativar inspeção 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 esta regra se aplica.
    • POLICY_NAME: o nome de um GatewaySecurityPolicy atual usado pela sua instância do Proxy seguro da Web
    • RULE_NAME: um nome para a GatewaySecurityPolicyRule que você está criando.
    • PRIORITY_VALUE: um valor de prioridade para esta regra. Números menores correspondem às prioridades mais altas
    • RULE_DESCRIPTION: uma descrição da política que você está criando
    • SESSION_CEL_EXPRESSION: uma expressão Common Expression Language (CEL) para a sessão
    • APPLICATION_CEL_EXPRESSION: uma expressão CEL para o aplicativo

    Veja a seguir 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 Secure Web Proxy usando a lista de URLs criada 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 para o 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 um host ou uma entrada de URL no URL_LIST.

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

A seguir