Use uma lista de URLs para criar políticas

Este guia mostra como usar listas de URLs para definir URLs aos quais os seus utilizadores podem aceder.

Antes de começar

  • Conclua os passos de configuração inicial.

  • Verifique se tem a versão 406.0.0 ou posterior da Google Cloud CLI instalada:

    gcloud version | head -n1
    

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

    gcloud components update --version=406.0.0
    

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

Para criar uma instância de proxy Web seguro, crie primeiro uma política de segurança vazia e, em seguida, crie um proxy Web.

Crie uma política de segurança vazia

Consola

  1. Na Google Cloud consola, aceda à página Políticas de SWP.

    Aceda às políticas de SWP

  2. Clique em Criar uma política.

  3. Introduza um nome para a política que quer criar, como myswppolicy.

  4. Introduza uma descrição da política, como My new swp policy.

  5. Na lista Regiões, selecione a região onde quer criar a política.

  6. Clique em Criar.

Cloud Shell

  1. Use o seu editor de texto preferido para criar o ficheiro POLICY_FILE.yaml. Substitua POLICY_FILE pelo nome de ficheiro que quer para o ficheiro de políticas.

  2. Adicione o seguinte ao ficheiro YAML que criou:

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

    Substitua o seguinte:

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

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

Crie um proxy Web

Consola

  1. Na Google Cloud consola, aceda à página Proxies Web.

    Aceda a Proxies Web

  2. Clique em Criar um proxy Web seguro.

  3. Introduza um nome para o proxy Web que quer criar, como myswp.

  4. Introduza uma descrição do proxy Web, como My new swp.

  5. Na lista Regiões, selecione a região onde quer criar o proxy Web.

  6. Na lista Rede, selecione a rede na qual quer criar o proxy Web.

  7. Na lista Sub-rede, selecione a sub-rede onde quer criar o proxy Web.

  8. Opcional: introduza o endereço IP do proxy Web seguro. Pode introduzir um endereço IP do intervalo de endereços IP do proxy Web seguro que reside na sub-rede que criou no passo anterior. Se não introduzir o endereço IP, a instância do proxy Web seguro escolhe automaticamente um endereço IP da sub-rede selecionada.

  9. Na lista Certificado, selecione o certificado que quer usar para criar o proxy Web.

  10. Na lista Política, selecione a política que criou para associar ao proxy Web.

  11. Clique em Criar.

Cloud Shell

  1. Use o seu editor de texto preferido para criar o ficheiro GATEWAY_FILE.yaml. Substitua GATEWAY_FILE pelo nome de ficheiro que quer para o ficheiro de proxy Web.

  2. Adicione o seguinte ao ficheiro YAML que 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 o seguinte:

    • GATEWAY_NAME: o nome desta instância
    • GATEWAY_PORT_NUMBERS: uma lista de números de portas 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 suas instâncias do Secure Web Proxy nas sub-redes de proxy criadas anteriormente nos passos de configuração iniciais

      Se optar por não indicar endereços IP, omita o campo para que o proxy Web escolha um endereço IP por si.

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

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

Teste a conetividade

Para testar a conetividade, use o comando curl a partir de qualquer VM na sua rede da nuvem virtual privada (VPC):

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

É esperado um erro 403 Forbidden.

Crie uma lista de URLs

Para criar uma lista de URLs e adicionar uma regra, conclua as tarefas nas secções seguintes.

Crie e configure uma lista de URLs

Consola

  1. Na Google Cloud consola, aceda à página Listas de URLs.

    Aceda a Listas de URLs

  2. Clique em Criar uma lista de URLs.

  3. Introduza um nome para a lista de URLs que quer criar, como myurllist.

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

  5. Na lista Regiões, selecione a região onde quer criar a lista de URLs.

  6. Clique em Carregar listas para carregar a lista de anfitriões, URLs ou padrões a corresponder. Para mais informações, consulte a referência da sintaxe UrlList.

  7. Clique em Criar.

Cloud Shell

  1. Use o seu editor de texto preferido para criar o ficheiro URL_LIST_FILE.yaml. ReplaceURL_LIST_FILE` com o nome de ficheiro pretendido.

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

    Substitua o seguinte:

    • PROJECT_ID: o número do seu projeto
    • REGION: a região à qual esta lista de URLs se aplica
    • URL_LIST_NAME: um nome para a lista de URLs que está a criar
    • URL_LIST: a lista de anfitriões, URLs ou padrões a corresponder

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

    Segue-se um exemplo de um ficheiro de regras 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 caráter asterisco (*) tem um significado especial em YAML. Por conseguinte, tem de adicionar aspas aos URLs que incluam um caráter *.

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

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

Adicionar uma regra

Consola

  1. Na Google Cloud consola, aceda à página Políticas de SWP.

    Aceda às políticas de SWP

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

  3. Clique no nome da política.

  4. Clique em Adicionar regra.

  5. Preencha os campos da regra:

    1. Nome
    2. Descrição
    3. Estado
    4. Prioridade: a ordem de avaliação numérica da regra. As regras são avaliadas da prioridade mais elevada para a mais baixa, em que 0 é a prioridade mais elevada.
    5. Na secção Ação, especifique se as ligações que correspondem à regra são permitidas (Permitir) ou recusadas (Recusar).
    6. Na secção Correspondência de sessão, especifique o nome da lista de URLs que criou anteriormente. Por 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 secção Correspondência da aplicação, especifique os critérios para fazer corresponder o pedido.

    9. Clique em Criar.

  6. Clique em Adicionar regra para adicionar outra regra.

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

Cloud Shell

  1. Use o seu editor de texto preferido para criar o ficheiro RULE_FILE.yaml. Substitua RULE_FILE pelo nome de ficheiro pretendido.

    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 o seguinte:

    • PROJECT_ID: o número do seu projeto
    • REGION: a região à qual esta regra se aplica
    • POLICY_NAME: o nome de um GatewaySecurityPolicy existente usado pela sua instância do Secure Web Proxy
    • RULE_NAME: um nome para o GatewaySecurityPolicyRule que está a criar
    • PRIORITY_VALUE: um valor de prioridade para esta regra; os números mais baixos correspondem a prioridades mais elevadas
    • RULE_DESCRIPTION: uma descrição da política que está a criar
    • SESSION_CEL_EXPRESSION: uma expressão do Idioma de expressão comum (IEC) para a sessão
    • APPLICATION_CEL_EXPRESSION: uma expressão IEC para a aplicação

    Segue-se um exemplo de um ficheiro 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 de proxy da Web seguro através da lista de URLs que 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
    

Teste a conetividade

Para testar a conetividade, use o seguinte comando curl:

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

Substitua o seguinte:

  • SWP_IP_ADDRESS: o endereço IP do seu proxy Web

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

  • HTTP_TEST_ADDRESS: um endereço a testar, como https://www.example.com, que corresponde a uma entrada de anfitrião ou URL no seu URL_LIST

O pedido deve devolver uma resposta bem-sucedida.

O que se segue?