Aplicação de acesso baseado em certificado para um grupo de usuários

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

  1. No console, acesse a página IAM.

    Acessar o IAM

  2. Na guia Permissões, clique em Conceder acesso e configure o seguinte:

    1. Novos principais: especifique o grupo a que você quer conceder o de rede.
    2. Na opção Selecionar papel, escolha Access Context Manager > Administrador de vinculação de acesso ao Cloud.
    3. Clique em Salvar.

gcloud

  1. Faça login:

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

  1. No console, acesse a página do Chrome Enterprise Premium.

    Acesse o Chrome Enterprise Premium

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

  3. Clique em Gerenciar acesso para escolher os grupos de usuários que devem ter acesso.

  4. Clique em Adicionar e configure o seguinte:

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

  1. Faça login na CLI gcloud.

    $ gcloud auth application-default login
    
  2. 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}" ],
    }
    
  3. 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.

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

  1. Crie um nível de acesso de isenção usando um dos métodos a seguir.

  2. 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}" ],
    }
    
  3. 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.