Esta página explica como aplicar o acesso baseado em certificados (CBA) através de políticas de acesso sensível ao contexto baseadas num grupo de utilizadores.
Pode restringir o acesso a todos os Google Cloud serviços associando um nível de acesso da CBA a um grupo de utilizadores ao qual quer restringir o acesso. Esta restrição aplica-se a todas as aplicações cliente que chamam as APIs Google Cloud.
Opcionalmente, pode aplicar as restrições a aplicações cliente específicas ou
isentar aplicações específicas. As aplicações incluem aplicações de terceiros e aplicações originais criadas pela Google, como o Cloud Console
para a Google Cloud consola e o Google Cloud SDK
para o
Google Cloud CLI
.
Antes de começar
Certifique-se de que criou um nível de acesso de CBA que requer certificados ao determinar o acesso aos recursos.
Crie um grupo de utilizadores
Crie um grupo de utilizadores com os membros aos quais deve ser concedido acesso com base no nível de acesso da CBA.
Atribua a função de administrador da vinculação de acesso à nuvem
Atribua a função Administrador de associações de acesso à nuvem ao grupo de utilizadores.
Certifique-se de que tem autorização com privilégios suficientes para adicionar autorizações do IAM ao nível da organização. No mínimo, precisa das funções de administrador da organização e administrador da associação de acesso à nuvem.
Consola
Na consola, aceda à página IAM.
No separador Autorizações, clique em Conceder acesso e, de seguida, configure o seguinte:
- Novos responsáveis: especifique o grupo ao qual quer conceder a função.
- Na opção Selecionar uma função, selecione Gestor de contexto de acesso > Administrador de associação de acesso à nuvem.
- Clique em Guardar.
gcloud
Iniciar sessão:
gcloud auth login
Atribua a função
GcpAccessAdmin
executando o seguinte comando:gcloud organizations add-iam-policy-binding ORG_ID \ --member=user:EMAIL \ --role=roles/accesscontextmanager.gcpAccessAdmin
ORG_ID
é o ID da sua organização. Se ainda não tiver o ID da sua organização, pode usar o seguinte comando para o encontrar:gcloud organizations list
EMAIL
é o endereço de email da pessoa ou do grupo ao qual quer conceder a função.
Associe um nível de acesso da CBA a um grupo de utilizadores
Nesta opção de associação, o nível de acesso da CBA aplica-se a todas as aplicações cliente para o grupo de utilizadores que especificar.
Na consola, aceda à página Chrome Enterprise Premium.
Escolha uma organização e, de seguida, clique em Selecionar.
Clique em Gerir acesso para escolher os grupos de utilizadores que devem ter acesso.
Clique em Adicionar e, de seguida, configure o seguinte:
- Grupos de membros: especifique o grupo ao qual quer conceder acesso. Só pode selecionar grupos que ainda não estejam associados a um nível de acesso.
- Selecionar níveis de acesso: selecione o nível de acesso de CBA a aplicar ao grupo.
- Clique em Guardar.
Associe um nível de acesso da CBA a um grupo de utilizadores e a aplicações específicas
Em alguns exemplos de utilização, como aplicações que suportam certificados de cliente, associar um nível de acesso da CBA a um grupo de utilizadores pode ser demasiado abrangente. Pode usar esta opção para aplicar níveis de acesso de CBA a aplicações que suportam certificados de cliente.
O exemplo seguinte associa um nível de acesso da CBA à Google Cloud consola, à CLI gcloud e à aplicação OAuth de um utilizador.
Inicie sessão na CLI gcloud.
gcloud auth application-default login
Crie um ficheiro
policy_file.json
.Pode especificar aplicações através do respetivo ID de cliente OAuth. Para especificar aplicações Google, use o nome da aplicação, como
Cloud Console
para aGoogle Cloud console. Apenas são suportadas as aplicações Google da Google Cloud consola e do SDK Cloud da Google Google.scopedAccessSettings: - scope: clientScope: restrictedClientApplication: name: Cloud Console activeSettings: accessLevels: - CBA_ACCESS_LEVEL - scope: clientScope: restrictedClientApplication: name: Google Cloud SDK activeSettings: accessLevels: - CBA_ACCESS_LEVEL - scope: clientScope: restrictedClientApplication: clientId: CLIENT_ID_1 activeSettings: accessLevels: - CBA_ACCESS_LEVEL
Substitua o seguinte:
- CLIENT_ID_1: o ID de cliente OAuth.
- CBA_ACCESS_LEVEL: O nome de um nível de acesso da CBA no formato
accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME
.
Crie a associação do nível de acesso da CBA.
gcloud access-context-manager cloud-bindings create \ --group-key='GROUP_KEY' \ --organization='ORG_ID' \ --binding-file=.../policy_file.json
Substitua GROUP_KEY pelo grupo de acesso sensível ao contexto e ORG_ID pelo ID da sua organização.
Se não tiver o GROUP_KEY disponível, pode obtê-lo através do método
get
no recurso de grupo.(Opcional) Atualize uma associação de nível de acesso existente.
gcloud access-context-manager cloud-bindings update \ --binding='BINDING_NAME' \ --binding-file=.../policy_file.json
Substitua BINDING_NAME pelo nome da associação gerado automaticamente quando a associação foi criada.
Isente uma aplicação de uma vinculação
Outra forma de aplicar um nível de acesso da CBA sem bloquear as aplicações cliente que não suportam certificados de cliente é isentar essas aplicações da política.
Os passos seguintes partem do princípio de que criou anteriormente um nível de acesso da CBA que requer certificados ao determinar o acesso aos recursos.
Crie um nível de acesso de isenção através de um dos seguintes métodos.
- Nível de acesso personalizado:
Indique
true
como o valor na condição da expressão CEL. - Nível de acesso básico:
Crie um
nível de acesso baseado no intervalo de IPs
fornecendo as sub-redes de IP
0.0.0.0/0
e::/0
, que correspondem, respetivamente, a IPv4 e IPv6.
- Nível de acesso personalizado:
Indique
Crie um ficheiro
exemption_file.json
.scopedAccessSettings: - scope: clientScope: restrictedClientApplication: clientId: CLIENT_ID_2 activeSettings: accessLevels: - EXEMPT_ACCESS_LEVEL - scope: clientScope: restrictedClientApplication: name: APPLICATION_NAME_2 activeSettings: accessLevels: - EXEMPT_ACCESS_LEVEL
Substitua o seguinte:
- CLIENT_ID_2: o ID de cliente OAuth.
- APPLICATION_NAME_2: o nome da aplicação.
- EXEMPT_ACCESS_LEVEL: um nome de nível de acesso de isenção no formato
accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME
.
Crie a política de associação de isenção.
gcloud access-context-manager cloud-bindings create \ --group-key='GROUP_KEY' \ --organization='ORG_ID' \ --binding-file=.../exemption_file.json
Substitua GROUP_KEY pelo grupo de acesso sensível ao contexto e ORG_ID pelo ID da sua organização.
Se não tiver o GROUP_KEY disponível, pode obtê-lo através do método
get
no recurso de grupo.