Esta página orienta você no processo de proteção dos aplicativos SaaS pelo gateway seguro do Chrome Enterprise Premium.
Um gateway seguro do Chrome Enterprise Premium funciona como um proxy de encaminhamento, aplicando um framework de acesso de confiança zero e oferecendo controle granular e baseado no contexto sobre quem acessa seus aplicativos SaaS.
Como funciona a proteção do acesso a aplicativos SaaS
Confira a seguir uma visão geral de como um gateway seguro protege seus aplicativos SaaS:
- As configurações do navegador do lado do cliente encaminham o tráfego de aplicativos por um proxy de gateway seguro.
- O gateway seguro verifica as políticas de acesso baseado no contexto para autorizar o acesso do cliente (usuário e dispositivo).
- Se permitido, o gateway encaminha o tráfego para o aplicativo usando endereços IP de origem exclusivos atribuídos a esse gateway e à região Google Cloud . É possível usar esses endereços IP de origem dedicados para implementar regras de lista de permissões de IP.
Antes de começar
Antes de configurar o gateway seguro, verifique se você tem o seguinte:
- Uma licença do Chrome Enterprise Premium
- Acesso ao Google Admin Console com uma conta de administrador
- Um projeto do Google Cloud com uma conta de faturamento atribuída e a seguinte API ativada: API BeyondCorp
O seguinte papel do Identity and Access Management (IAM) concedido ao administrador que está configurando tudo: nível do projeto: administrador do Cloud BeyondCorp (
beyondcorp.admin
).Um aplicativo SaaS que você quer proteger. O aplicativo precisa oferecer suporte a
IP allowlisting
para aplicar verificações de segurança pela infraestrutura do Google.
Limitações
Um gateway seguro do Chrome Enterprise Premium tem a seguinte limitação: um gateway seguro não é compatível com aplicativos SaaS que permitem apenas conectividade IPv6.
Configurar o ambiente shell
Para simplificar o processo de configuração e interagir com as APIs do gateway seguro, defina as seguintes variáveis de ambiente no shell de trabalho.
Parameters gerais
API="beyondcorp.googleapis.com" API_VERSION=v1 PROJECT_ID=MY_PROJECT_ID APPLICATION_ID=MY_APPLICATION_ID APPLICATION_DISPLAY_NAME="MY_APPLICATION_DISPLAY_NAME" HOST_NAME=MY_HOST_NAME
Substitua:
- MY_PROJECT_ID: o ID do projeto em que o gateway seguro é criado.
- MY_APPLICATION_ID: o ID do seu aplicativo. Por exemplo,
github
. O nome pode ter no máximo 63 caracteres e conter letras minúsculas, números e hífens. O primeiro caractere precisa ser uma letra, e o último pode ser uma letra ou um número. - MY_APPLICATION_DISPLAY_NAME: o nome legível a ser mostrado.
MY_HOST_NAME: o nome do host do seu aplicativo. Por exemplo,
github.com
. O nome do host pode ter até 253 caracteres e precisa obedecer a um dos seguintes formatos:- Um endereço IPv4 válido
- Um endereço IPv6 válido
- Um nome DNS válido
- Um asterisco (*)
- Um asterisco (*) seguido por um nome DNS válido
Parâmetros de gateway seguros
SECURITY_GATEWAY_ID=MY_SECURITY_GATEWAY_ID SECURITY_GATEWAY_DISPLAY_NAME="MY_SECURITY_GATEWAY_DISPLAY_NAME"
Substitua:
- MY_SECURITY_GATEWAY_ID: o ID do gateway seguro. O ID pode ter no máximo 63 caracteres e conter letras minúsculas, números e hífens. O primeiro caractere precisa ser uma letra, e o último pode ser uma letra ou um número.
- MY_SECURITY_GATEWAY_DISPLAY_NAME: o nome legível do gateway seguro. O nome pode ter até 63 caracteres e incluir caracteres imprimíveis.
Criar um gateway seguro
Um gateway seguro do Chrome Enterprise Premium é um elemento fundamental para estabelecer conexões seguras com seus aplicativos. Ele aloca um projeto e uma rede dedicados, oferecendo isolamento e segurança.
Para criar um gateway seguro, siga estas etapas.
Crie um arquivo chamado
securityGateway.json
usando o exemplo a seguir.{ "display_name": "MY_SECURITY_GATEWAY_DISPLAY_NAME", "hubs": { "us-central1": {} } }
No exemplo,
hubs
representa os recursos regionais necessários para ativar a conectividade de saída com o aplicativo de destino. É possível ter um hub para uma região, e cada hub fornece dois endereços IP.É possível especificar as seguintes regiões:
africa-south1
asia-east1
asia-south1
asia-south2
asia-southeast1
europe-central2
europe-north1
europe-southwest1
europe-west1
europe-west2
europe-west3
europe-west4
europe-west8
europe-west9
northamerica-northeast1
northamerica-northeast2
northamerica-south1
southamerica-east1
southamerica-west1
us-central1
us-east1
us-east4
us-east5
us-west1
Crie um recurso de gateway seguro chamando a API
Create
.curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -X POST \ -d @securityGateway.json \ "https://${API}/${API_VERSION}/projects/${PROJECT_ID}/locations/global/securityGateways?security_gateway_id=${SECURITY_GATEWAY_ID}"
Configurar um aplicativo SaaS
Depois de criar um gateway seguro, é possível configurar os aplicativos SaaS para usar o gateway seguro para acesso seguro.
Receba os endereços IP alocados pelo gateway seguro para cada hub. Dois endereços IP são alocados para uma região.
curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://${API}/${API_VERSION}/projects/${PROJECT_ID}/locations/global/securityGateways/${SECURITY_GATEWAY_ID}"
Confira a seguir um exemplo de resposta
GET
de um gateway seguro com hubs. No exemplo, os hubs são criados nas regiõesus-central1
eus-east1
, e todos os endereços IP retornados na resposta precisam ser permitidos no aplicativo SaaS.{ "securityGateways": [ { "name": "projects/${PROJECT_ID}/locations/global/securityGateways/${SECURITY_GATEWAY_ID}", "createTime": "CREATE_TIME", "updateTime": "UPDATE_TIME", "displayName": "My security gateway", "state": "RUNNING", "hubs": { "us-central1": { "internetGateway": { "assignedIps": [ "IP_ADDRESS_1", "IP_ADDRESS_2", "IP_ADDRESS_3", "IP_ADDRESS_4", "IP_ADDRESS_5" ] } }, "us-east1": { "internetGateway": { "assignedIps": [ "IP_ADDRESS_1", "IP_ADDRESS_2", "IP_ADDRESS_3", "IP_ADDRESS_4", "IP_ADDRESS_5" ] } } } } ] }
Adicione os endereços IP à lista de permissões de IP do seu aplicativo SaaS. Por exemplo, para um aplicativo do GitHub, siga este guia: Gerenciar endereços IP permitidos para sua organização.
Criar um recurso de aplicativo
As informações a seguir orientam o processo de configuração de um recurso de aplicativo de gateway seguro.
Crie um recurso de aplicativo de gateway seguro em Google Cloud
O recurso de aplicativo Google Cloud é um sub-recurso do recurso de gateway
seguro. Crie um recurso de aplicativo chamando a
API
Create
.
curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -X POST \ -d "{ \"display_name\": \"${APPLICATION_DISPLAY_NAME}\", \"endpoint_matchers\": [{hostname: \"${HOST_NAME}\"}] }" \ "https://${API}/${API_VERSION}/projects/${PROJECT_ID}/locations/global/securityGateways/${SECURITY_GATEWAY_ID}/applications?application_id=${APPLICATION_ID}"
Configurar o modo de proxy do Google Chrome
Para rotear o tráfego do recurso de aplicativo pelo gateway seguro, configure o Chrome aplicando um arquivo PAC nas configurações do Chrome no Google Admin Console.
Crie ou atualize um arquivo PAC.
Se você estiver criando seu primeiro aplicativo, crie um arquivo
pac_config.js
usando o exemplo de arquivo PAC a seguir.Se você estiver criando um segundo aplicativo ou um posterior, atualize o arquivo
pac_config.js
atual e adicione os domínios do novo aplicativo à matriz de sites, conforme mostrado no exemplo de arquivo PAC a seguir.
function FindProxyForURL(url, host) { const PROXY = "HTTPS ingress.cloudproxy.app:443"; const sites = ["MY_HOST_NAME"]; for (const site of sites) { if (shExpMatch(url, 'https://' + site + '/*') || shExpMatch(url, '*.' + site + '/*')) { return PROXY; } } return 'DIRECT'; }
Se você estiver usando um arquivo PAC que não é específico de um gateway seguro, mescle os arquivos PAC adicionando os domínios do aplicativo à matriz "sites".
Faça upload do arquivo para que ele possa ser baixado publicamente. Por exemplo, é possível fazer upload do arquivo para o Cloud Storage e permitir que ele seja baixado publicamente concedendo a todos os usuários o papel Usuário de objetos do Storage no bucket.
Para verificar se o arquivo enviado é sempre a versão mais recente, ajuste o comportamento de cache definindo o cabeçalho
Cache-Control
comono-cache
. Essa configuração impede que navegadores e servidores intermediários armazenem uma cópia do arquivo, para que o Chrome sempre faça o download da versão mais recente.Para mais informações sobre
Cache-Control
e como ele afeta o armazenamento em cache do navegador, consulte Cabeçalho Cache-Control.Copie o URL público do arquivo enviado.
Atualizar as configurações do modo de proxy
- Acesse o Google Admin Console.
- Clique em Dispositivos -> Chrome -> Configurações.
- Selecione uma unidade organizacional ou um grupo e clique em Modo de proxy.
- Na página "Modo de proxy", selecione Sempre usar a configuração automática de proxy especificada abaixo e insira o URL do arquivo PAC do Cloud Storage.
Configurar uma política de acesso
É possível aplicar uma política de acesso no nível do gateway seguro ou do aplicativo:
- Recurso de gateway seguro:aplique uma política no nível do gateway seguro para controlar o acesso a todos os aplicativos associados.
- Aplicativo individual:para ter um controle mais granular, aplique uma política de acesso a um aplicativo individual.
Crie um arquivo no formato JSON chamado
setIamPolicy.json
e adicione o seguinte.{ "policy": { object (POLICY) } }
Substitua POLICY por uma política de permissão do IAM. O
etag
na política precisa ser o mesmo que oetag
na política ativa, que pode ser obtido chamando o métodogetIamPolicy
.Para permitir que um grupo específico use o gateway seguro, conceda a função
roles/beyondcorp.securityGatewayUser
ao grupo.{ "policy": { "version": 3, "bindings": [ { "role": "roles/beyondcorp.securityGatewayUser", "members": [ "group:
" ] } ], "etag": "AA1jlb" } } Para mais identificadores, como
serviceAccount
,user
,group
,principal
eprincipalSet
, em vinculações de políticas, consulte Principal do IAM.Aplique a política de acesso no gateway seguro especificado no arquivo JSON chamando a API
setIamPolicy
.curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -X POST \ -d @setIamPolicy.json \ "https://${API}/${API_VERSION}/projects/${PROJECT_ID}/locations/global/securityGateways/${SECURITY_GATEWAY_ID}:setIamPolicy"
Para aplicar a política de acesso a um aplicativo, use o seguinte comando:
curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -X POST \ -d @setIamPolicy.json \ "https://${API}/${API_VERSION}/projects/${PROJECT_ID}/locations/global/securityGateways/${SECURITY_GATEWAY_ID}/applications/${APPLICATION_ID}:setIamPolicy"
Também é possível definir políticas de acesso com níveis de acesso como condição, conforme mostrado no exemplo a seguir.
{ "policy": { "version": 3, "bindings": [ { "role": "roles/beyondcorp.securityGatewayUser", "members": [ "group:" ], "condition": { "expression": "'accessPolicies/1234567890/accessLevels/in_us' in request.auth.access_levels", "title": "Source IP must be in US" } } ], "etag": "A1jlb" } }'
Instalar a extensão do Chrome Enterprise Premium
A extensão do Chrome Enterprise Premium é parte integrante de um gateway seguro e ajuda na autenticação. Instale a extensão para todos os usuários do gateway seguro. Para informações sobre como implantar a extensão, consulte Ver e configurar apps e extensões.
- Acesse o Google Admin Console.
- Clique em Navegador Chrome -> Apps e extensões.
- Clique na guia Usuários e navegadores.
- Para adicionar uma extensão do Chrome, clique no botão +.
- Pesquise
ekajlcmdfcigmdbphhifahdfjbkciflj
e force a instalação para todos os usuários na unidade organizacional ou no grupo. Clique na extensão instalada e acesse o campo Política para extensões e forneça o seguinte valor JSON:
{ "securityGateway": { "Value": { "authentication": {}, "context": { "resource": "projects/MY_PROJECT_ID/locations/global/securityGateways/MY_SECURITY_GATEWAY_ID" } } } }
Experiência do usuário final
Quando a configuração é concluída, os usuários finais que acessam o aplicativo SaaS protegido recebem ou têm o acesso negado com base na política de acesso aplicada ao aplicativo.
Como acessar o aplicativo no Chrome
A extensão do Chrome Enterprise Premium é necessária para direcionar o tráfego pelo gateway seguro. A extensão processa a autenticação entre o usuário e o gateway seguro. A extensão é instalada automaticamente pela política do domínio.
Quando os usuários acessam o aplicativo SaaS configurado, o tráfego deles passa pelo gateway seguro, que verifica se eles atendem à política de acesso. Se os usuários passarem nas verificações da política de acesso, eles vão receber acesso ao aplicativo.
Quando o acesso do navegador ao aplicativo é rejeitado pela política de autorização, os usuários recebem uma mensagem Access denied
.