Nesta página, explicamos como aplicar o acesso baseado em certificado (CBA, na sigla em inglês) usando políticas de acesso baseado no contexto baseadas em um grupo de usuários.
É possível restringir o acesso a todos os serviços do Google Cloud Nível de acesso da CBA a um grupo de usuários ao qual você quer restringir o acesso. Isso se aplica a todos os aplicativos clientes que chamam o serviço do Google Cloud APIs de terceiros. Os aplicativos incluem aplicativos próprios criados pelo Google, como o console e a Google Cloud CLI, além de aplicativos de terceiros. Como opção, é possível aplicar as restrições a aplicativos clientes ou isentar aplicativos específicos.
Antes de começar
Verifique se você criou um nível de acesso da CBA. que exige certificados ao determinar o acesso aos recursos.
Criar um grupo de usuários
Crie um grupo de usuários que contenha os membros que devem receber acesso com base no nível de acesso da CBA.
Atribuir o papel de administrador de vinculação de acesso à nuvem
Atribua o administrador de vinculação de acesso à nuvem. de usuário ao grupo de usuários.
Verifique se você tem autorização com privilégios suficientes para adicionar Permissões do IAM no nível da organização. No mínimo, você precisa Administrador da organização e os papéis de Administrador de vinculação de acesso ao Cloud.
Console
No console, acesse a página IAM.
Na guia Permissões, clique em Conceder acesso e configure o seguinte:
- Novos principais: especifique o grupo a que você quer conceder o de rede.
- Na opção Selecionar papel, escolha Access Context Manager > Administrador de vinculação de acesso ao Cloud.
- Clique em Salvar.
gcloud
Faça login:
gcloud auth login
Atribua o papel
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 organização. Se você ainda não tiver o ID da organização, use o seguinte comando para encontrá-lo:gcloud organizations list
EMAIL
é o endereço de e-mail da pessoa ou grupo ao qual você quer conceder o papel.
Vincular um nível de acesso da CBA a um grupo de usuários
Nesta opção de vinculação, o nível de acesso da CBA se aplica a todos os clientes aplicativos para o grupo de usuários que você especificar.
No console, acesse a página do Chrome Enterprise Premium.
Escolha uma organização e clique em Selecionar.
Clique em Gerenciar acesso para escolher os grupos de usuários que devem ter acesso.
Clique em Adicionar e configure o seguinte:
- Grupos de associação: especifique o grupo ao qual você quer conceder acesso. Você só podem selecionar grupos que ainda não estejam vinculados a um nível de acesso.
- Selecionar níveis de acesso: escolha o nível de acesso da CBA a ser aplicado ao grupo.
- Clique em Salvar.
Vincular um nível de acesso CBA a um grupo de usuários e a aplicativos específicos
Em alguns casos de uso, como em aplicativos com suporte a certificados do cliente, vincular um nível de acesso CBA a um grupo de usuários pode ser muito amplos. Use essa opção para aplicar níveis de acesso da CBA aos aplicativos que suporte a certificados do cliente.
O exemplo a seguir vincula um nível de acesso da CBA ao console do Google Cloud. a CLI gcloud e o aplicativo OAuth de um usuário.
Faça login na CLI gcloud.
$ gcloud auth application-default login
Crie um arquivo
policy_file.json
.É possível especificar aplicativos usando o ID do cliente OAuth. Para especificar o Google aplicativos, use o nome do aplicativo, como
Cloud Console
para os console do Google Cloud. Apenas o console do Google Cloud e o SDK Google Cloud Os aplicativos do Google são compatíveis.{ "groupKey": "{GROUP_KEY}", "restricted_client_applications": [ {"name": "Cloud Console"}, {"name": "Google Cloud SDK"}, {"client_id": "{CLIENT_ID}"} ], "accessLevels": [ "{LEVEL}" ], }
Crie a vinculação de nível de acesso da CBA.
curl -X POST \ -H "Authorization: Bearer `gcloud auth application-default print-access-token`" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project:PROJECT_ID" \ -d @policy_file.json \ https://accesscontextmanager.googleapis.com/v1/organizations/ORG-ID/gcpUserAccessBindings
Em que PROJECT_ID é o ID do projeto do Google Cloud e ORG-ID é o ID da organização.
(Opcional) Atualize uma vinculação de nível de acesso existente.
$ curl -X PATCH \ -H "Authorization: Bearer `gcloud auth application-default print-access-token`" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project:PROJECT_ID" \ -d @policy_file.json \ https://accesscontextmanager.googleapis.com/v1/POLICY_NAME?update_mask=restricted_client_applications
Em que PROJECT_ID é o ID do projeto do Google Cloud e POLICY_NAME é o nome da política de acesso.
Isentar um aplicativo de uma vinculação
Outra maneira de aplicar um nível de acesso CBA sem bloquear aplicativos clientes que não oferecem suporte a certificados do cliente é isentar esses aplicativos do política.
As etapas a seguir pressupõem que você já criou um nível de acesso CBA que exige certificados ao determinar o acesso aos recursos.
Crie um nível de acesso de isenção usando um dos métodos a seguir.
- Nível de acesso personalizado:
Forneça
true
como o valor na condição da expressão CEL. - Nível de acesso básico:
Crie um
Nível de acesso baseado em intervalo de IP
e informar
0.0.0.0/0
como o valor das sub-redes de IP.
- Nível de acesso personalizado:
Forneça
Crie um arquivo
exemption_file.json
.Você deve selecionar um grupo diferente do usado na Vincule um nível de acesso da CBA a um grupo de usuários. porque só é possível aplicar uma vinculação a um grupo.
{ "groupKey": "{GROUP_KEY}", "restricted_client_applications": [ {"client_id": "{CLIENT_ID}"} ], "accessLevels": [ "{LEVEL}" ], }
Crie a política de vinculação de isenção.
$ curl -X POST \ -H "Authorization: Bearer `gcloud auth application-default print-access-token`" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project:PROJECT_ID" \ -d @exemption_file.json \ https://accesscontextmanager.googleapis.com/v1/organizations/ORG-ID/gcpUserAccessBindings
Em que PROJECT_ID é o ID do projeto do Google Cloud e ORG-ID é o ID da organização.