Aplique o acesso baseado em certificados a um grupo de utilizadores

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

  1. Na consola, aceda à página IAM.

    Aceda ao IAM

  2. No separador Autorizações, clique em Conceder acesso e, de seguida, configure o seguinte:

    1. Novos responsáveis: especifique o grupo ao qual quer conceder a função.
    2. Na opção Selecionar uma função, selecione Gestor de contexto de acesso > Administrador de associação de acesso à nuvem.
    3. Clique em Guardar.

gcloud

  1. Iniciar sessão:

    gcloud auth login
    
  2. 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.

  1. Na consola, aceda à página Chrome Enterprise Premium.

    Aceda ao Chrome Enterprise Premium

  2. Escolha uma organização e, de seguida, clique em Selecionar.

  3. Clique em Gerir acesso para escolher os grupos de utilizadores que devem ter acesso.

  4. Clique em Adicionar e, de seguida, configure o seguinte:

    1. 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.
    2. Selecionar níveis de acesso: selecione o nível de acesso de CBA a aplicar ao grupo.
    3. 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.

  1. Inicie sessão na CLI gcloud.

    gcloud auth application-default login
    
  2. 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.
  3. 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.

  4. (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.

  1. Crie um nível de acesso de isenção através de um dos seguintes métodos.

  2. 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.
  3. 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.