Visão geral do acesso elevado temporário

Uma forma de proteger recursos confidenciais é limitar o acesso a eles. No entanto, limitar o acesso a recursos confidenciais também cria atrito para qualquer pessoa que às vezes precise acessar esses recursos. Por exemplo, um usuário pode precisar de acesso imediato ou emergencial a recursos confidenciais para resolver um incidente.

Nessas situações, recomendamos conceder ao usuário permissão para acessar o recurso temporariamente. Também recomendamos que, para melhorar a auditoria, você registre a justificativa do usuário para acessar o recurso.

No Google Cloud, há várias maneiras de gerenciar esse tipo de acesso elevado temporário.

Grupos do Google

Uma maneira de gerenciar o acesso elevado temporário é conceder a um grupo do Google acesso a recursos confidenciais e, em seguida, adicionar e remover usuários desse grupo para controlar o acesso.

Para configurar um Grupo do Google para acesso elevado temporário, primeiro crie um grupo e conceda a ele os papéis que você quer dar temporariamente aos usuários. Se você usar políticas de negação, considere também tornar o grupo isento de qualquer regra de negação relevante para evitar negações inesperadas.

Depois de configurar o grupo, é possível adicionar e remover usuários para modificar o acesso deles. Se você usar a API Google Groups, poderá adicionar usuários temporariamente a um grupo usando a validade da associação.

Se quiser registrar as justificativas do usuário para acessar recursos confidenciais, defina seus próprios processos operacionais e ferramentas.

Por exemplo, para gerenciar o acesso de emergência aos recursos do Compute Engine, crie um grupo, emergency-compute-access@example.com, e conceda a ele o papel de Administrador do Compute (roles/compute.admin). Se um usuário precisar de acesso administrativo emergencial para computar recursos, adicione-o ao grupo emergency-compute-access@example.com. Depois que a emergência for resolvida, você poderá removê-la do grupo.

Condições do IAM

É possível usar as Condições do IAM para conceder aos usuários acesso temporário aos recursos do Google Cloud. Para mais informações, consulte Configurar o acesso temporário.

Se quiser registrar as justificativas do usuário para acessar recursos confidenciais, defina seus próprios processos operacionais e ferramentas.

As vinculações de papéis expiradas não são removidas automaticamente das políticas de permissão. Para garantir que as políticas de permissão não excedam o tamanho máximo delas, recomendamos remover periodicamente as vinculações de papéis expiradas.

As políticas de negação não são compatíveis com condições baseadas em tempo. Por isso, não é possível usar condições em políticas de negação para isentar temporariamente um usuário de uma regra de negação.

Acesso privilegiado na hora certa

O acesso just-in-time é um aplicativo de código aberto que usa condições do IAM para conceder aos usuários acesso privilegiado em tempo real aos recursos do Google Cloud. Esse aplicativo foi projetado para ser executado no App Engine ou no Cloud Run.

Esse aplicativo tem os seguintes benefícios em relação à adição manual de vinculações de papéis condicionais:

  • Os usuários podem procurar funções que podem ser ativadas com o acesso just-in-time.
  • Os usuários precisam fornecer justificativas antes de ter acesso.
  • O aplicativo substitui a vinculação condicional em vez de criar novas vinculações, o que ajuda a manter o tamanho da política de permissão do IAM.

Para mais informações sobre o acesso just-in-time, consulte Gerenciar acesso privilegiado just-in-time a projetos.

Representação da conta de serviço:

Quando um principal autenticado, como um usuário ou outra conta de serviço, é autenticado como uma conta de serviço para receber as permissões dela, isso é chamado de representação da conta de serviço. Representar uma conta de serviço permite que um principal autenticado acesse tudo o que ela pode acessar. Somente os principais autenticados com as permissões apropriadas podem representar contas de serviço.

Para configurar uma conta de serviço para acesso elevado temporário, crie a conta de serviço e conceda a ela os papéis que você quer atribuir temporariamente a um usuário. Se você usar políticas de negação, considere também adicionar a conta de serviço isenta de qualquer regra de negação relevante para evitar negações inesperadas.

Depois de configurar a conta de serviço, você pode dar aos usuários acesso elevado temporário permitindo que eles personifiquem a conta de serviço. Há várias maneiras de permitir que os usuários representam contas de serviço:

  • Conceda aos usuários um papel que permita criar credenciais de curta duração para a conta de serviço. Os usuários podem usar as credenciais de curta duração para representar a conta de serviço.

    • Conceda o papel de criador do token de identidade do OpenID da conta de serviço (roles/iam.serviceAccountOpenIdTokenCreator) para permitir que o usuário crie tokens de ID do OpenID Connect (OIDC) de curta duração para o serviço.

    • Conceda o papel de Criador de token da conta de serviço (roles/iam.serviceAccountTokenCreator) para permitir que o usuário crie os seguintes tipos de credenciais da conta de serviço:

      • Tokens de acesso do OAuth 2.0, que podem ser usados para autenticar com as APIs do Google
      • Tokens de ID do OIDC
      • JSON Web Tokens (JWTs) e blobs binários assinados

    Se você conceder um desses papéis a um usuário, ele poderá representar a conta de serviço a qualquer momento para aumentar o próprio acesso. No entanto, é menos provável que eles acessem ou modifiquem recursos confidenciais acidentalmente.

    Para saber como representar contas de serviço, consulte Usar a representação de uma conta de serviço.

  • Crie um serviço de agente de token que forneça aos usuários credenciais de curta duração para a conta de serviço depois que eles se autenticarem e fornecerem uma justificativa. Os usuários podem usar as credenciais de curta duração para representar a conta de serviço.

    Com esse método, é possível decidir quando permitir que os usuários representem a conta de serviço.

    Para saber como gerar credenciais de curta duração, consulte Criar credenciais de curta duração para uma conta de serviço.

Para saber mais sobre a representação de uma conta de serviço, consulte Representação da conta de serviço.

A seguir