Uma conta de serviço é um tipo especial de conta e é normalmente usada por uma aplicação ou uma carga de trabalho de computação, como uma instância do Compute Engine, em vez de uma pessoa. Esta conta é identificada pelo respetivo endereço de email, que é exclusivo.
As aplicações usam contas de serviço para fazer chamadas de API autorizadas através da autenticação como a própria conta de serviço ou como utilizadores do Google Workspace ou do Cloud ID através da delegação ao nível do domínio. Quando uma aplicação se autentica como uma conta de serviço, tem acesso a todos os recursos aos quais a conta de serviço tem autorização de acesso.
Pode usar uma conta de serviço para identificar a origem do tráfego e configurar as políticas do proxy Web seguro, conforme necessário.
Este guia mostra-lhe como fazer o seguinte:
- Crie uma instância do Secure Web Proxy com uma política vazia.
- Criar e anexar contas de serviço a recursos.
- Use contas de serviço para criar uma política de proxy Web seguro.
- Crie uma instância do Secure Web Proxy.
- Teste a conetividade a partir das VMs.
Antes de começar
Conclua os passos de configuração inicial.
Um administrador da organização conceder acesso a uma conta de serviço.
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 e anexe contas de serviço a recursos
Faça o seguinte para criar e anexar contas de serviço:
Crie regras do Secure Web Proxy
Para criar regras do Secure Web Proxy, faça o seguinte:
Use o seu editor de texto preferido para criar um ficheiro
RULE_FILE
.yaml. SubstituaRULE_FILE
pelo nome de ficheiro escolhido.Para permitir o acesso a um URL a partir da conta de serviço escolhida, adicione o seguinte ao ficheiro YAML:
name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME description: RULE_DESCRIPTION enabled: true priority: RULE_PRIORITY sessionMatcher: CEL_EXPRESSION basicProfile: ALLOW
Substitua o seguinte:
RULE_NAME
: um nome para esta regraRULE_DESCRIPTION
: uma descrição da regra que está a criarRULE_PRIORITY
: a prioridade desta regra; um número inferior corresponde a uma prioridade superiorCEL_EXPRESSION
: uma expressão do Idioma de expressão comum (IEC)Para mais informações, consulte a referência de linguagem do CEL matcher.
Por exemplo, para permitir o acesso a
example.com
a partir do recurso com a conta de serviço desejada anexada, adicione o seguinte ao ficheiro YAML que criou para osessionMatcher
:sessionMatcher: "source.matchServiceAccount('SERVICE_ACCOUNT') && host() == 'example.com'"
Substitua
SERVICE_ACCOUNT
pela conta de serviço que quer permitir. Tem de ser o endereço de email da conta de serviço.
Importe as regras que criou:
gcloud network-security gateway-security-policies rules import RULE_NAME \ --source=RULE_FILE.yaml \ --location=REGION \ --gateway-security-policy=POLICY_NAME
Teste a conetividade
Para testar a conetividade, use o comando curl
do recurso com o SERVICE_ACCOUNT
anexado:
curl -x https://IPv4_ADDRESS:443 http://example.com
--proxy-insecure
Substitua IPv4_ADDRESS
pelo endereço IPv4 da sua instância do proxy Web seguro.