Visão geral

O Access Context Manager permite que os administradores da organização do Google Cloud definam um controle de acesso refinado e baseado em atributos para projetos e recursos no Google Cloud.

Os administradores primeiro definem uma política de acesso, que é um contêiner em toda a organização para níveis de acesso e perímetros de serviço.

Os níveis de acesso descrevem os requisitos necessários para que as solicitações sejam atendidas. Por exemplo:

  • Tipo de dispositivo e sistema operacional
  • Endereço IP
  • Identidade do usuário

Os perímetros de serviço definem sandboxes de recursos que podem trocar dados livremente dentro do perímetro, mas não têm permissão para exportar dados para fora dele. O Access Context Manager não é responsável pela aplicação de políticas. Sua finalidade é descrever as regras desejadas. A política é configurada e aplicada em vários pontos, como os VPC Service Controls. Veja mais sobre esses serviços nos respectivos guias do usuário.

Por que o Access Context Manager

Muitas empresas confiam em um modelo de segurança de perímetro - por exemplo, Firewalls - para proteger recursos internos. Esse modelo é semelhante a um castelo medieval: uma fortaleza com muralhas espessas, cercada por um fosso, com um único ponto de entrada e saída fortemente vigiado. Qualquer coisa que esteja do lado de fora é considerada perigosa, e tudo o que estiver do lado de dentro é confiável.

Os firewalls e o modelo de segurança de perímetro funcionarão bem se houver um limite preciso em torno de usuários e serviços específicos. No entanto, se uma força de trabalho for móvel, a variedade de dispositivos aumentará à medida que os usuários trouxerem os próprios dispositivos deles (BYOD, sigla em inglês) e utilizarem serviços baseados em nuvem. Isso resulta em outros vetores de ataque não considerados pelo modelo de perímetro. O perímetro não é mais apenas o local físico da empresa, e o que está dentro não pode mais ser considerado seguro.

Com o Access Context Manager, é possível reduzir o tamanho da rede privilegiada e passar para um modelo em que os endpoints não são encarregados da autoridade do ambiente com base na rede. Em vez disso, é possível conceder acesso com base no tipo de dispositivo e na identidade do usuário, enquanto ainda verifica o acesso à rede corporativa, quando necessário.

O Access Context Manager é parte integrante do esforço da BeyondCorp no Google. Para saber mais, veja BeyondCorp.

Políticas de acesso

Uma política de acesso é um contêiner para todos os seus recursos do Access Context Manager, como níveis de acesso e perímetros de serviço.

O Access Context Manager é um recurso de toda a organização. É criada uma política de acesso no contexto de um projeto para fins de cota, mas essa política pode ser usada em qualquer lugar da organização, não apenas nesse projeto.

Uma política de acesso é versionada usando um etag. Isso permite que você direcione alterações à sua política de acesso, como modificações nos níveis de acesso, a uma versão específica da política. Se sua política de acesso estiver sendo alterada por várias fontes, o uso do campo etag para os comandos gcloud do Access Context Manager e chamadas de API pode garantir que nenhuma alteração seja substituída inesperadamente e que não sejam introduzidos conflitos não intencionais.

Veja o Guia de início rápido para aprender a criar uma política de acesso.

Níveis de acesso

Um nível de acesso é um conjunto de atributos ligados a solicitações com base em na origem delas. Usando informações, como tipo de dispositivo, endereço IP ou identidade do usuário, é possível designar o nível de acesso a ser concedido. Por exemplo, atribua um nível "High_Trust" às conexões da rede corporativa e confiança "Medium_Trust" a dispositivos externos que executam sistemas operacionais aprovados.

Depois de definir os níveis de acesso, os serviços de aplicação podem usá-los para determinar se uma solicitação será atendida. Por exemplo, você pode especificar que, enquanto muitos recursos estão disponíveis para "Medium_Trust", certos recursos mais confidenciais exigem o nível "High_Trust". Essas verificações são aplicadas além da política padrão do Cloud IAM.

Os níveis de acesso são personalizáveis. Por exemplo, "High_Trust" e "Medium_Trust". É possível especificar vários níveis de acesso como parte de uma política de acesso.

Endereço IP

É possível conceder um nível de acesso com base no endereço IP da solicitação de origem. O intervalo de IPs a permitir é especificado na forma de um bloco de roteamento entre domínios sem classe (CIDR, sigla em inglês), que permite um controle simples, porém, detalhado, sobre os IPs permitidos.

Um único nível de acesso pode conter vários intervalos de IP.

Consulte Como criar um nível de acesso para rede corporativa para aprender a criar um nível de acesso que permita acesso somente a um intervalo especificado de endereços IP (por exemplo, aqueles dentro de uma rede corporativa).

Tipo de dispositivo

O Access Context Manager usa a verificação do endpoint para coletar informações sobre os dispositivos do usuário, incluindo sistema operacional e versão. É possível conceder um nível de acesso com base nesses dados. Por exemplo, é possível conceder um nível de acesso mais abrangente a dispositivos que executam a versão mais recente do sistema operacional principal implantado na sua empresa.

Para mais informações sobre como conceder um nível de acesso a determinados dispositivos, leia Como criar um nível de acesso para dispositivos do usuário.

Identidade do usuário

Em alguns cenários, é possível conceder um nível de acesso a entidades específicas. Nesse caso, a identidade do chamador determina se a condição é atendida.

Esse cenário geralmente é usado em conjunto com contas de serviço e com o VPC Service Controls. Por exemplo, para ativar um Cloud Function para acessar dados protegidos pelos VPC Service Controls.

Os níveis de acesso somente à identidade podem ser criados e gerenciados apenas com a ferramenta de linha de comando gcloud, não pelo Console do Google Cloud Platform.

Aprenda a trabalhar com identidades e níveis de acesso em Como incluir identidades em níveis de acesso com redes.

Como combinar condições

Um único nível de acesso pode conter várias condições. As condições podem ser avaliadas usando o operador AND ou OR. Especifique o modo ao criar ou atualizar um nível de acesso.

O caso AND é a opção mais estrita (e padrão). E apenas concederá o nível de acesso se todas as condições forem cumpridas. Por exemplo, é possível exigir que uma solicitação venha de dentro da rede corporativa e de um dispositivo que esteja executando o sistema operacional mais recente.

OR é uma opção menos restritiva. E apenas requer que uma das muitas condições seja verdadeira. Às vezes, isso é valioso ao lidar com identidades de usuários. Por exemplo, para excluir entidades específicas (como Contas de serviço) dos requisitos normais.

Condições de aninhamento

As condições podem ser aninhadas de maneira que uma dependa da outra. Por exemplo, se você tiver dois níveis de acesso, de confiança "Média" e "Alta", será possível definir os requisitos da "Alta" para a "Média", além de outras condições.

As condições de aninhamento podem tornar o gerenciamento de níveis de acesso mais conveniente. Por exemplo, imagine que seu nível de acesso mais abrangente contém uma versão mínima do sistema operacional e você define os níveis mais restritivos para depender dele. Se você atualizar a versão mínima no futuro, só precisará atualizar uma única condição, em vez de cada nível de acesso na política.

Saiba mais