Acesso seguro a aplicativos SaaS

Esta página mostra como proteger seus 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:

  1. As configurações do navegador do lado do cliente roteiam o tráfego do aplicativo por um proxy de gateway seguro.
  2. O gateway seguro verifica as políticas de acesso baseado no contexto para autorizar o acesso do cliente (usuário e dispositivo).
  3. Se o acesso do cliente for permitido, o gateway encaminhará o tráfego para o aplicativo usando endereços IP de origem exclusivos atribuídos a esse gateway e à região Google Cloud. Esses endereços IP atribuídos são reservados exclusivamente para o gateway que você cria e não podem ser usados por outros usuários ou gateways. Para controlar o acesso, adicione esses endereços IP de origem dedicados a uma lista de permissões no aplicativo SaaS.

Funções exigidas

Peça ao administrador para conceder os seguintes papéis:

Saiba mais sobre os papéis do Identity and Access Management (IAM).

Antes de começar

Antes de configurar o gateway seguro, verifique se você tem o seguinte:

Limitações

Um gateway seguro do Chrome Enterprise Premium tem as seguintes limitações:

  • Conectividade IPv6: o gateway seguro do Chrome Enterprise Premium não é compatível com aplicativos SaaS que usam conectividade IPv6.
  • Provedor de identidade como um aplicativo SaaS: um provedor de identidade não pode ser configurado como um aplicativo SaaS para ser protegido pelo gateway seguro, se a autenticação do usuário final com o gateway seguro depender do mesmo IdP.

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

    PROJECT_ID=PROJECT_ID
    APPLICATION_ID=APPLICATION_ID
    APPLICATION_DISPLAY_NAME="APPLICATION_DISPLAY_NAME"
    HOST_NAME=HOST_NAME

    Substitua:

    • PROJECT_ID: o ID do projeto em que o gateway seguro é criado.
    • APPLICATION_ID: o ID do seu aplicativo, como github. O nome pode ter até 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.
    • APPLICATION_DISPLAY_NAME: o nome legível a ser mostrado.
    • HOST_NAME: o nome do host do seu aplicativo. Por exemplo, github.com. O nome do host pode ter até 253 caracteres e precisa seguir 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 do gateway seguro

    SECURITY_GATEWAY_ID=SECURITY_GATEWAY_ID
    SECURITY_GATEWAY_DISPLAY_NAME="SECURITY_GATEWAY_DISPLAY_NAME"

    Substitua:

    • SECURITY_GATEWAY_ID: o ID do gateway seguro. O ID pode ter até 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.
    • SECURITY_GATEWAY_DISPLAY_NAME: o nome legível do gateway seguro. O nome pode ter até 63 caracteres e só pode conter caracteres imprimíveis.

Criar um gateway seguro

Um gateway seguro do Chrome Enterprise Premium é um bloco fundamental para estabelecer conexões seguras com seus aplicativos. Ele aloca um projeto e uma rede dedicados, oferecendo isolamento e segurança.

Console

Para criar um recurso de gateway seguro, faça o seguinte:

  1. No console do Google Cloud , acesse a página gateway seguro.
    Acessar o gateway seguro
  2. Selecione o projeto em que você quer criar o gateway seguro.
  3. Para criar um gateway seguro, clique em Criar novo gateway e aguarde a conclusão do processo de criação.
  4. É possível acompanhar o progresso na seção "Notificações" do console Google Cloud .
  5. Antes de criar um recurso de aplicativo SaaS, recomendamos que você crie hubs de saída de SaaS. A flag hubs representa os recursos regionais necessários para ativar a conectividade de saída com o aplicativo de destino. É possível configurar um hub para cada região, e cada hub fornece dois endereços IP. Um gateway seguro pode ter no máximo 20 hubs. É 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
  6. No console do Google Cloud , acesse a página Hubs de saída do SaaS.
    Acessar "Hubs de saída de SaaS"
  7. Selecione o projeto em que você quer criar os hubs de saída de SaaS.
  8. Para adicionar um hub de saída de SaaS, clique em Adicionar hub de saída de SaaS.
  9. Na lista suspensa, selecione as regiões em que você quer adicionar os hubs de saída. Para adicionar os hubs de saída, clique em Adicionar hub de saída de SaaS para adicionar mais de um hub. Quando terminar, clique em "Salvar" para criar os hubs de saída.

gcloud

Para criar um recurso de gateway seguro, execute o seguinte comando: Para a flag --hubs, especifique uma ou mais regiões da lista a seguir.

gcloud beyondcorp security-gateways create SECURITY_GATEWAY_ID \
    --project=PROJECT_ID \
    --location=global \
    --display-name="SECURITY_GATEWAY_DISPLAY_NAME" \
    --hubs=us-central1 \
    --service-discovery={}
      

A flag hubs define os recursos regionais necessários para ativar a conectividade de saída com o aplicativo de destino. É possível ter um hub para cada região, e cada hub fornece dois endereços IP. Um gateway seguro pode ter no máximo 20 hubs. É 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

REST

Para criar um recurso de gateway seguro, chame o método da API Create com os detalhes do gateway no corpo da solicitação. Para a flag hubs, especifique uma ou mais regiões da seguinte lista.

curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -X POST \
    -d '{ "display_name": "SECURITY_GATEWAY_DISPLAY_NAME", "hubs": { "us-central1": {} }, "service_discovery": {} }' \
    "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways?security_gateway_id=SECURITY_GATEWAY_ID"
      

A flag 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 cada região, e cada hub fornece dois endereços IP. Um gateway seguro pode ter no máximo 20 hubs. É 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

Configurar um aplicativo SaaS

Depois de criar um gateway seguro, você pode configurar seus aplicativos SaaS para usar o gateway seguro para acesso seguro.

Console

Para configurar hubs de saída de SaaS, faça o seguinte:

  1. No console do Google Cloud , acesse a página Hubs de saída do SaaS.
    Acessar "Hubs de saída de SaaS"
  2. Na página Hubs de saída de SaaS, encontre a tabela que lista os hubs. Para cada região que você pretende usar, copie todos os endereços IP listados na coluna IPs de saída dedicados estáticos. Cada região fornece dois endereços IP.
  3. 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.

gcloud

Para configurar hubs de saída de SaaS, faça o seguinte:

  1. Receba os endereços IP alocados pelo gateway seguro para cada hub. Dois endereços IP são alocados para uma região.
  2. gcloud beyondcorp security-gateways describe SECURITY_GATEWAY_ID \
        --project=PROJECT_ID \
        --location=global
            

    Confira a seguir um exemplo de resposta GET de um gateway seguro com hubs. No exemplo, hubs são criados nas regiões us-central1 e us-east1, e todos os endereços IP retornados na resposta precisam ser permitidos no aplicativo SaaS.

    createTime: 'CREATE_TIME'
    displayName: My secure gateway
    hubs:
      us-central1:
        internetGateway:
          assignedIps:
          -   IP_ADDRESS_1
          -   IP_ADDRESS_2
      us-east1:
        internetGateway:
          assignedIps:
          -   IP_ADDRESS_1
          -   IP_ADDRESS_2
    name: projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID
    state: RUNNING
    updateTime: 'UPDATE_TIME'
        
  3. 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.

REST

Para configurar hubs de saída de SaaS, faça o seguinte:

  1. Receba os endereços IP alocados pelo gateway seguro para cada hub. Dois endereços IP são alocados para uma região.
  2. curl \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        "https://beyondcorp.googleapis.com/v1/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, hubs são criados nas regiões us-central1 e us-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 secure gateway",
          "state": "RUNNING",
          "hubs": {
            "us-central1": {
              "internetGateway": {
                "assignedIps": [
                  "IP_ADDRESS_1",
                  "IP_ADDRESS_2",
                ]
              }
            },
            "us-east1": {
              "internetGateway": {
                "assignedIps": [
                  "IP_ADDRESS_1",
                  "IP_ADDRESS_2",
                ]
              }
            }
          }
        }
      ]
    }
        
  3. 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 e 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 usando o console Google Cloud ou chamando a API Create.

Console

Para criar um aplicativo SaaS, faça o seguinte:

  1. No console do Google Cloud , acesse a página gateway seguro.
    Acessar o gateway seguro
  2. Para criar um aplicativo, clique em Adicionar aplicativo.
  3. Selecione o tipo de aplicativo: Aplicativo público.
  4. Se os hubs de saída do SaaS ainda não estiverem configurados para esse gateway seguro, você vai precisar criá-los. Os aplicativos públicos exigem pelo menos um hub de saída de SaaS. Para configurar hubs de saída de SaaS, clique em Acessar hubs de saída de SaaS e adicione uma ou mais regiões.
  5. Depois de ter um ou mais hubs de saída, clique em Próxima.
  6. Insira os detalhes do aplicativo:
    • Nome do aplicativo: insira um nome, por exemplo, GitHub.
    • Correspondedores de domínio: insira uma lista de padrões de domínio separados por vírgulas para rotear pelo gateway seguro. Inclua a porta no formato domain:port. Caracteres curinga (*) são permitidos. Exemplo: github.com:443.
  7. Para configurar seu aplicativo SaaS, clique em Continuar.
  8. Configure seu aplicativo SaaS para permitir o tráfego do gateway seguro:
    1. Anote ou copie todos os endereços IP listados para as regiões que você está usando. Esses endereços IP são exclusivos do seu gateway seguro.
    2. Faça login no console de administração do aplicativo SaaS.
    3. Navegue até as configurações de rede ou de segurança em que as listas de permissão de IP são gerenciadas.
    4. Adicione todos os endereços IP obtidos à lista de permissões de IP do aplicativo.
  9. Para adicionar o aplicativo, clique em Continuar.
  10. Opcional: Defina uma política de acesso: selecione uma política de acesso do Access Context Manager. Você pode pular esta etapa neste guia.
  11. Para criar e salvar as configurações do aplicativo, clique em Criar.

gcloud

Para criar um aplicativo SaaS usando a gcloud, execute o seguinte comando:

gcloud beyondcorp security-gateways applications create APPLICATION_ID \
    --project=PROJECT_ID \
    --security-gateway=SECURITY_GATEWAY_ID \
    --location=global \
    --display-name="APPLICATION_DISPLAY_NAME" \
    --endpoint-matchers="hostname=HOST_NAME,ports=443"
      

REST

Para criar um aplicativo SaaS usando a API REST, execute o seguinte comando:

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\", ports: 443}] }" \
    "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID/applications?application_id=APPLICATION_ID"
      

Configurar uma política de acesso

É possível aplicar uma política de acesso para controlar o acesso no nível do aplicativo. Se nenhuma política de acesso for configurada, o acesso ao aplicativo será negado por padrão.

Console

Criar uma política para vários aplicativos

Para configurar uma política de acesso, faça o seguinte:

  1. Para criar uma política que se aplique a vários aplicativos vinculados ao gateway seguro, acesse a página Políticas.
    Acessar "Políticas"
  2. Para adicionar políticas de acesso a aplicativos, clique em Criar política.
  3. Na lista suspensa, selecione os aplicativos a que você quer aplicar as políticas.
  4. Adicione principais à política:

    Os principais podem ser usuários, grupos, domínios ou contas de serviço. O acesso a esses participantes é concedido ou negado com base nos níveis de acesso atribuídos.

    1. Para adicionar um principal, clique em Adicionar principal.
    2. No campo Principal, insira o endereço de e-mail do usuário, grupo, conta de serviço ou o nome de domínio.
    3. No menu suspenso Níveis de acesso, selecione um ou mais níveis predefinidos de Acesso Baseado no Contexto. O acesso só é concedido se a conta principal atender às condições dos níveis de acesso selecionados.

    Para adicionar mais principais, clique em Adicionar principal novamente e repita as subetapas.

    É possível criar e gerenciar níveis de acesso no Access Context Manager.

  5. Para aplicar a política ao aplicativo, clique em Criar política.

Modificar uma política de acesso no nível do aplicativo

  1. Para modificar uma política de um único aplicativo, acesse a página Aplicativos.
    Acesse Aplicativos
  2. Para encontrar o aplicativo que você quer editar, faça o seguinte:
    1. Na lista Aplicativos, procure o aplicativo que você quer modificar.
    2. Para conferir os detalhes do aplicativo, clique no menu Mais ações () e selecione Ver detalhes.
  3. Para editar o aplicativo, clique em Editar.
  4. Adicione principais à política:

    Os principais podem ser usuários, grupos, domínios ou contas de serviço. O acesso a esses participantes é concedido ou negado com base nos níveis de acesso atribuídos.

    1. Para adicionar um principal, clique em Adicionar principal.
    2. No campo Principal, insira o endereço de e-mail do usuário, grupo, conta de serviço ou o nome de domínio.
    3. Na lista suspensa Níveis de acesso, selecione um ou mais níveis de acesso baseados no contexto predefinidos. O acesso só é concedido se a conta principal atender às condições dos níveis de acesso selecionados.

    Para adicionar mais principais, clique em Adicionar principal novamente e repita as subetapas.

    É possível criar e gerenciar níveis de acesso no Access Context Manager.

  5. Para aplicar a política ao aplicativo, clique em Salvar.

gcloud

Adicionar uma vinculação no nível do gateway do Service Discovery

Antes de conceder acesso a um aplicativo, verifique se o usuário tem permissões de descoberta de serviço no nível do Secure Gateway.

gcloud beyondcorp security-gateways add-iam-policy-binding SECURITY_GATEWAY_ID \
    --project=PROJECT_ID \
    --location=global \
    --role="roles/beyondcorp.serviceDiscoveryUser" \
    --member=MEMBER
  

Substitua:

  • SECURITY_GATEWAY_ID: o ID do gateway seguro
  • PROJECT_ID: o ID do projeto em que o gateway seguro está configurado
  • MEMBER: o usuário, grupo ou conta de serviço a que você quer atribuir o papel de Service Discovery. Para mais informações, consulte Principais do IAM.

Adicionar uma vinculação no nível do aplicativo

gcloud beyondcorp security-gateways applications add-iam-policy-binding APPLICATION_ID \
    --security-gateway=SECURITY_GATEWAY_ID \
    --project=PROJECT_ID \
    --location=global \
    --role="roles/beyondcorp.sgApplicationUser" \
    --member=MEMBER
  

Substitua:

  • APPLICATION_ID: o ID do recurso de aplicativo
  • SECURITY_GATEWAY_ID: o ID do gateway seguro
  • PROJECT_ID: o ID do projeto em que o gateway seguro está configurado
  • MEMBER: o usuário, grupo ou conta de serviço a que você quer atribuir o papel de Service Discovery. Para mais informações, consulte Principais do IAM.

Adicionar uma vinculação condicional

Também é possível adicionar uma vinculação com condições. As condições especificam requisitos, como o endereço IP de um usuário originado de um local específico. O nível de acesso pode ser definido em uma política de acesso no nível da organização ou em uma política de acesso com escopo.

O exemplo de comando a seguir concede acesso somente se o endereço IP de origem estiver em um nível de acesso especificado:

gcloud beyondcorp security-gateways applications add-iam-policy-binding APPLICATION_ID \
    --security-gateway=SECURITY_GATEWAY_ID \
    --project=PROJECT_ID \
    --location=global \
    --role="roles/beyondcorp.sgApplicationUser" \
    --member=MEMBER \
    --condition="expression='accessPolicies/1234567890/accessLevels/in_us' in request.auth.access_levels,title=Source IP must be in US"
  

Remover uma vinculação no nível do gateway do Service Discovery

Revogue as permissões de descoberta de serviços de um usuário no nível do gateway seguro.

gcloud beyondcorp security-gateways remove-iam-policy-binding SECURITY_GATEWAY_ID \
    --project=PROJECT_ID \
    --location=global \
    --role="roles/beyondcorp.serviceDiscoveryUser" \
    --member=MEMBER
  

Substitua:

  • SECURITY_GATEWAY_ID: o ID do gateway seguro
  • PROJECT_ID: o ID do projeto em que o gateway seguro está configurado
  • MEMBER: o usuário, grupo ou conta de serviço de que você quer remover o papel de Service Discovery. Para mais informações, consulte Principais do IAM.

Remover uma vinculação no nível do aplicativo

gcloud beyondcorp security-gateways applications remove-iam-policy-binding APPLICATION_ID \
    --security-gateway=SECURITY_GATEWAY_ID \
    --project=PROJECT_ID \
    --location=global \
    --role="roles/beyondcorp.sgApplicationUser" \
    --member=MEMBER
  

Substitua:

  • APPLICATION_ID: o ID do recurso de aplicativo
  • SECURITY_GATEWAY_ID: o ID do gateway seguro
  • PROJECT_ID: o ID do projeto em que o gateway seguro está configurado
  • MEMBER: o usuário, grupo ou conta de serviço de que você quer remover o papel de Service Discovery. Para mais informações, consulte Principais do IAM.

Remover uma vinculação condicional

Também é possível remover uma vinculação com condições. As condições especificam requisitos, como o endereço IP de um usuário originado de um local específico. O nível de acesso pode ser definido em uma política de acesso no nível da organização ou em uma política de acesso com escopo.

O comando de exemplo a seguir remove uma vinculação condicional com um nível de acesso especificado:

gcloud beyondcorp security-gateways applications remove-iam-policy-binding APPLICATION_ID \
    --security-gateway=SECURITY_GATEWAY_ID \
    --project=PROJECT_ID \
    --location=global \
    --role="roles/beyondcorp.sgApplicationUser" \
    --member=MEMBER \
    --condition="expression='accessPolicies/1234567890/accessLevels/in_us' in request.auth.access_levels,title=Source IP must be in US"
  

REST

Atualizar uma política de acesso com segurança

O comando setIamPolicy substitui toda a política atual pela que você fornece. Para evitar a remoção acidental de permissões atuais, recomendamos usar o seguinte padrão "ler-modificar-gravar". Esse padrão ajuda a evitar a remoção acidental de permissões atuais.

  1. Ler: salva a política de acesso atual em um arquivo.
  2. Modificar: edite o arquivo de política localmente para adicionar ou mudar permissões.
  3. Grave: aplique o arquivo de política atualizado.

Definir uma política no nível do gateway de descoberta de serviços

Para conceder permissões de descoberta de serviço, defina uma política de acesso no gateway de segurança em vez de um aplicativo individual. Isso segue o mesmo padrão "ler-modificar-gravar".

Recupere a política atual e salve-a em um arquivo chamado gateway_policy.json.

curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID:getIamPolicy" > gateway_policy.json
  

Em seguida, abra o arquivo gateway_policy.json em um editor de texto e adicione os principais necessários à lista members para a função roles/beyondcorp.serviceDiscoveryUser, semelhante às modificações no nível do aplicativo.

O arquivo gateway_policy.json é semelhante ao exemplo a seguir:

{
  "version": 3,
  "bindings": [
    {
      "role": "roles/beyondcorp.serviceDiscoveryUser",
      "members": [
        "group:existing-group@example.com"
      ]
    }
  ],
  "etag": "BwXN8_d-bOM="
}
  

Também é possível adicionar outros tipos de membros, como serviceAccount, user, group, principal e principalSet, em vinculações de políticas. Para mais informações, consulte Principais do IAM.

Aplique a política atualizada:

jq '{policy: .}' gateway_policy.json | curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d @- \
    "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID:setIamPolicy"
  

Definir uma política de acesso no nível do aplicativo

Ver a política atual

Recupere a política atual. O campo etag evita atualizações conflitantes se vários administradores fizerem mudanças simultaneamente.

O comando a seguir recupera a política e a salva em um arquivo chamado policy.json.

curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID/applications/APPLICATION_ID:getIamPolicy" > policy.json
  

Substitua:

  • PROJECT_ID: o ID do projeto em que o gateway seguro está configurado
  • SECURITY_GATEWAY_ID: o ID do gateway seguro
  • APPLICATION_ID: o ID do recurso de aplicativo

O comando cria um arquivo policy.json que contém a política atual.

Modificar o arquivo de política

Para conceder a um grupo acesso ao gateway seguro, faça o seguinte:

  1. Abra o arquivo policy.json em um editor de texto.
  2. Adicione o grupo à lista members para a função roles/beyondcorp.securityGatewayUser.

O arquivo policy.json é semelhante ao exemplo a seguir:

{
  "version": 3,
  "bindings": [
    {
      "role": "roles/beyondcorp.sgApplicationUser",
      "members": [
        "group:existing-group@example.com"
      ]
    }
  ],
  "etag": "BwXN8_d-bOM="
}
      

Para adicionar outro grupo, inclua uma nova entrada na matriz members. Inclua uma vírgula após a entrada anterior. O exemplo a seguir adiciona new-group@example.com:

{
  "version": 3,
  "bindings": [
    {
      "role": "roles/beyondcorp.sgApplicationUser",
      "members": [
        "group:existing-group@example.com",
        "group:new-group@example.com"
      ]
    }
  ],
  "etag": "BwXN8_d-bOM="
}
    

Também é possível adicionar outros tipos de membros, como serviceAccount, user, group, principal e principalSet, em vinculações de políticas. Para mais informações, consulte Principais do IAM.

Aplicar a política atualizada

Depois de editar e salvar o arquivo policy.json, aplique-o ao recurso usando o comando setIamPolicy. Esse comando usa o etag do seu arquivo para garantir que você atualize a versão correta.

jq '{policy: .}' policy.json | curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d @- \
    "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID/applications/APPLICATION_ID:setIamPolicy"
  

Substitua:

  • PROJECT_ID: o ID do projeto em que o gateway seguro está configurado
  • SECURITY_GATEWAY_ID: o ID do gateway seguro
  • APPLICATION_ID: o ID do recurso de aplicativo

Adicionar uma política de acesso condicional

Também é possível definir políticas de acesso com condições. As condições especificam requisitos, como o endereço IP de um usuário originado de um local específico. O nível de acesso pode ser definido em uma política de acesso no nível da organização ou em uma política de acesso com escopo.

A política de exemplo a seguir concede acesso somente se o endereço IP de origem estiver dentro de um nível de acesso especificado:

{
  "version": 3,
  "bindings": [
    {
      "role": "roles/beyondcorp.sgApplicationUser",
      "members": [
        "group:group@example.com"
      ],
      "condition": {
        "expression": "request.auth.access_levels.contains('accessPolicies/1234567890/accessLevels/in_us')",
        "title": "Source IP must be in US"
      }
    }
  ],
  "etag": "BwXN8_d-bOM="
}
  

Para aplicar essa política, siga as etapas descritas anteriormente.

Melhorar a segurança com o Acesso baseado no contexto

Para aumentar ainda mais a segurança e garantir que apenas instâncias gerenciadas do Google Chrome possam acessar seus aplicativos da Web pelo gateway de segurança, recomendamos adicionar uma regra de acesso baseado no contexto (CAA). Essa regra verifica se o perfil do Chrome do usuário está sob gerenciamento, evitando possível uso indevido de navegadores não gerenciados ou maliciosos.

Observação: esse recurso exige a instalação e configuração da extensão Verificação de endpoints.

Para fazer isso, adicione uma condição aos seus níveis de acesso personalizados do Access Context Manager. Confira um exemplo de condição que você pode adaptar:

  device.chrome.management_state == ChromeManagementState.CHROME_MANAGEMENT_STATE_PROFILE_MANAGED
  

Para mais informações sobre como configurar, verificar e gerenciar esse estado, consulte Atributos do navegador Chrome.

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. Para instalar a extensão do Chrome Enterprise Premium, faça o seguinte:

  1. Acesse o Google Admin Console.
  2. Clique em Navegador Chrome > Apps e extensões.
  3. Clique na guia Usuários e navegadores.
  4. Para adicionar a extensão do Chrome, clique no botão + e selecione Adicionar o app ou a extensão do Chrome pelo código.
  5. Pesquise a extensão Secure Enterprise Browser usando o seguinte ID e defina a política de instalação como Instalação forçada para todos os usuários na unidade organizacional ou no grupo:

    ekajlcmdfcigmdbphhifahdfjbkciflj
  6. Clique na extensão instalada e, no campo Política para extensões, insira o seguinte valor JSON:

    {
      "securityGateway": {
        "Value": {
          "authentication": {},
          "context": { "resource": "projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID" },
          "serviceDiscovery": { "routes": {} }
        }
      }
    }

    Substitua:

    • PROJECT_ID: o ID do projeto em que o gateway seguro está configurado
    • SECURITY_GATEWAY_ID: o ID do gateway seguro

  7. Para salvar a configuração, clique em Salvar.

Configuração legada de arquivo PAC

Quando ativada, a descoberta de serviços permite que o cliente do navegador Chrome detecte e roteie automaticamente o tráfego para os aplicativos configurados pelo gateway seguro, eliminando a necessidade de configurações de roteamento manual usando um arquivo PAC.

Se a descoberta de serviços não estiver ativada no gateway seguro, você terá uma configuração legada. Você precisará configurar um arquivo PAC para controlar o roteamento no cliente do navegador Chrome.

Para verificar se você tem a configuração legada, use os comandos a seguir e confira se a descoberta de serviços está ativada:

gcloud

gcloud beyondcorp security-gateways describe SECURITY_GATEWAY_ID \
    --project=PROJECT_ID \
    --location=global | grep -i "serviceDiscovery"
      

REST

curl --silent \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID" | grep -i "serviceDiscovery"
      

Se o comando não retornar nada, seu gateway usa a configuração legada. Para gateways que usam a configuração legada, o roteamento é processado usando um arquivo PAC hospedado.

Etapa 1: criar e hospedar o arquivo PAC

  1. Crie um arquivo chamado pac_config.js com o seguinte JavaScript, substituindo HOST_NAME pelo domínio do seu aplicativo (por exemplo, myapp.example.com):

    function FindProxyForURL(url, host) {
      const PROXY = "HTTPS via.prod.securegateway.goog:443";
      const sites = ["HOST_NAME"];
    
      for (const site of sites) {
        if (shExpMatch(url, 'https://' + site + '/*') || shExpMatch(url, '*.' + site + '/*')) {
          return PROXY;
        }
      }
      return 'DIRECT';
    }
  2. Faça upload do arquivo PAC para um serviço de hospedagem, como um bucket do Cloud Storage.

    • Verifique se o arquivo pode ser baixado publicamente.
    • Defina o cabeçalho HTTP Cache-Control como no-cache para que os navegadores sempre busquem as regras de roteamento mais recentes.
  3. Copie o URL público do arquivo PAC enviado.

Etapa 2: aplicar o arquivo PAC no Google Admin Console

  1. Acesse o Google Admin Console.
  2. Acesse Dispositivos > Chrome > Configurações.
  3. Selecione sua unidade organizacional ou grupo e clique em Modo de proxy.
  4. Em Modo de proxy, selecione Sempre usar a configuração automática de proxy especificada abaixo.
  5. Insira o URL público do arquivo PAC hospedado no campo fornecido.
  6. Clique em Salvar.

Etapa 3: configurar a extensão do Chrome Enterprise Premium

A extensão precisa processar a autenticação. Essa política de extensão difere da configuração padrão porque exclui o bloco serviceDiscovery.

  1. No Google Admin Console, acesse Navegador Chrome > Apps e extensões.
  2. Acesse a guia Usuários e navegadores e verifique se a extensão do Secure Enterprise Browser (ekajlcmdfcigmdbphhifahdfjbkciflj) foi adicionada e aplicada.
  3. Clique na extensão e, no campo Política para extensões, insira o seguinte valor JSON:

    {
      "securityGateway": {
        "Value": {
          "authentication": {},
          "context": {
            "resource": "projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID"
          }
        }
      }
    }
  4. Clique em Salvar.

Fazer a transição para a configuração de descoberta de serviços

Para fazer a transição do gateway seguro legado de uma configuração de arquivo PAC para a configuração mais recente de descoberta de serviços, é necessário ativar o recurso e atualizar as configurações manualmente.

  1. Ative a descoberta de serviços no gateway seguro: atualize o gateway atual para ativar a descoberta de serviços.

    gcloud

    gcloud beyondcorp security-gateways update SECURITY_GATEWAY_ID \
    --project=PROJECT_ID \
    --location=global \
    --service-discovery={}
          

    REST

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{ "service_discovery": {} }' \
    "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID?updateMask=service_discovery"
          
  2. Defina a política de acesso no nível do gateway: conceda aos usuários a função roles/beyondcorp.serviceDiscoveryUser no nível do gateway para que eles possam usar a descoberta de serviços. Siga as instruções na seção Adicionar uma vinculação no nível do gateway do Service Discovery.

  3. Atualize a configuração da extensão do Chrome Enterprise Premium: siga as instruções na seção Instalar a extensão do Chrome Enterprise Premium para atualizar sua política de extensão. A nova configuração JSON precisa incluir o bloco "serviceDiscovery": { "routes": {} }.

  4. Remova o arquivo PAC legado: quando a descoberta de serviços estiver ativa, o arquivo PAC legado não será mais necessário.

    1. No Google Admin Console, acesse Dispositivos > Chrome > Configurações > Configurações do navegador e usuário > Rede.
    2. Encontre a configuração Modo de proxy.
    3. Remova o URL de configuração automática de proxy (PAC) ou mude a configuração de Sempre usar a configuração automática de proxy especificada abaixo para um modo adequado à sua rede, como Permitir que o usuário configure.
    4. Clique em Salvar.

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.

A seguir