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
Na Google Cloud consola, aceda à página Políticas de SWP.
Clique em
Criar uma política.Introduza um nome para a política que quer criar, como
myswppolicy
.Introduza uma descrição da política, como
My new swp policy
.Na lista Regiões, selecione a região onde quer criar a política.
Clique em Criar.
Cloud Shell
Use o seu editor de texto preferido para criar o ficheiro
POLICY_FILE
.yaml. SubstituaPOLICY_FILE
pelo nome de ficheiro que quer para o ficheiro de políticas.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 projetoREGION
: a região à qual esta política se aplicaPOLICY_NAME
: o nome da política que está a criarPOLICY_DESCRIPTION
: a descrição da política que está a criar
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
Na Google Cloud consola, aceda à página Proxies Web.
Clique em
Criar um proxy Web seguro.Introduza um nome para o proxy Web que quer criar, como
myswp
.Introduza uma descrição do proxy Web, como
My new swp
.Na lista Regiões, selecione a região onde quer criar o proxy Web.
Na lista Rede, selecione a rede na qual quer criar o proxy Web.
Na lista Sub-rede, selecione a sub-rede onde quer criar o proxy Web.
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.
Na lista Certificado, selecione o certificado que quer usar para criar o proxy Web.
Na lista Política, selecione a política que criou para associar ao proxy Web.
Clique em Criar.
Cloud Shell
Use o seu editor de texto preferido para criar o ficheiro
GATEWAY_FILE
.yaml. SubstituaGATEWAY_FILE
pelo nome de ficheiro que quer para o ficheiro de proxy Web.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ânciaGATEWAY_PORT_NUMBERS
: uma lista de números de portas para este gateway, como[80,443]
CERTIFICATE_URLS
: uma lista de URLs de certificados SSLSUBNET_NAME
: o nome da sub-rede que contémGATEWAY_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 iniciaisSe optar por não indicar endereços IP, omita o campo para que o proxy Web escolha um endereço IP por si.
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
Na Google Cloud consola, aceda à página Listas de URLs.
Clique em
Criar uma lista de URLs.Introduza um nome para a lista de URLs que quer criar, como
myurllist
.Introduza uma descrição da lista de URLs, como
My new URL list
.Na lista Regiões, selecione a região onde quer criar a lista de URLs.
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.
Clique em Criar.
Cloud Shell
Use o seu editor de texto preferido para criar o ficheiro URL_LIST_FILE
.yaml. Replace
URL_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 projetoREGION
: a região à qual esta lista de URLs se aplicaURL_LIST_NAME
: um nome para a lista de URLs que está a criarURL_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*
.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
Na Google Cloud consola, aceda à página Políticas de SWP.
No menu do seletor de projetos, selecione o ID da sua organização ou a pasta que contém a sua política.
Clique no nome da política.
Clique em
Adicionar regra.Preencha os campos da regra:
- Nome
- Descrição
- Estado
- 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. - Na secção Ação, especifique se as ligações que correspondem à regra são permitidas (Permitir) ou recusadas (Recusar).
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')"
Para ativar a inspeção TLS, selecione Ativar inspeção TLS.
Na secção Correspondência da aplicação, especifique os critérios para fazer corresponder o pedido.
Clique em Criar.
Clique em Adicionar regra para adicionar outra regra.
Clique em Criar para criar a política.
Cloud Shell
Use o seu editor de texto preferido para criar o ficheiro
RULE_FILE
.yaml. SubstituaRULE_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 projetoREGION
: a região à qual esta regra se aplicaPOLICY_NAME
: o nome de umGatewaySecurityPolicy
existente usado pela sua instância do Secure Web ProxyRULE_NAME
: um nome para oGatewaySecurityPolicyRule
que está a criarPRIORITY_VALUE
: um valor de prioridade para esta regra; os números mais baixos correspondem a prioridades mais elevadasRULE_DESCRIPTION
: uma descrição da política que está a criarSESSION_CEL_EXPRESSION
: uma expressão do Idioma de expressão comum (IEC) para a sessãoAPPLICATION_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')"
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 WebSWP_PORT_NUMBER
: o número da porta do seu proxy Web, como443
HTTP_TEST_ADDRESS
: um endereço a testar, comohttps://www.example.com
, que corresponde a uma entrada de anfitrião ou URL no seuURL_LIST
O pedido deve devolver uma resposta bem-sucedida.