Controle de acesso para HSM gerenciado

O HSM gerenciado do Azure Key Vault é um serviço de nuvem que protege as chaves de criptografia. Como esses dados são confidenciais e essenciais para a sua empresa, é necessário proteger os módulos de segurança de hardware (HSMs) gerenciados, permitindo que somente aplicativos e usuários autorizados acessem os dados.

Este artigo apresenta uma visão geral do modelo de controle de acesso do HSM gerenciado. Explica a autenticação e a autorização e descreve como proteger o acesso ao seus HSMs gerenciados.

Observação

O provedor de recursos do Azure Key Vault dá suporte a dois tipos de recursos: cofres e HSMs gerenciados. O controle de acesso descrito neste artigo se aplica somente aos HSMs gerenciados. Para saber mais sobre o controle de acesso para o HSM gerenciado, confira Fornecer acesso a chaves do Key Vault, certificados e segredos com um controle de acesso baseado em função do Azure.

Modelo de controle de acesso

Acesso a um HSM gerenciado é controlado por duas interfaces:

  • Plano de gerenciamento
  • Plano de dados

No plano de gerenciamento, você gerencia o HSM em si. As operações nesse plano incluem a criação e a exclusão de HSMs gerenciados e a recuperação de propriedades de HSM gerenciado.

No plano de dados, você trabalha com os dados armazenados em um HSM gerenciado. Ou seja, você trabalha com as chaves de criptografia com suporte de HSM. Você pode adicionar, excluir, modificar e usar chaves para executar operações criptográficas, gerenciar atribuições de função para controlar o acesso às chaves, criar um backup completo do HSM, restaurar um backup completo e gerenciar o domínio de segurança a partir da interface do plano de dados.

Para acessar um HSM gerenciado em qualquer plano, todos os chamadores devem ter a autenticação e a autorização adequadas. A autenticação estabelece a identidade do chamador. A autorização determina quais operações o chamador pode executar. Um chamador pode ser qualquer uma das entidades de segurança que são definidas no Microsoft Entra ID: usuário, grupo, entidade de serviço ou identidade gerenciada.

Ambos os planos usam o Microsoft Entra ID para autenticação. Para autorização, eles usam sistemas diferentes:

  • O plano de gerenciamento usa o controle de acesso baseado em função do Azure (Azure RBAC), um sistema de autorização criado no Azure Resource Manager.
  • O plano de dados usa um RBAC no nível do HSM gerenciado (RBAC local do HSM gerenciado), que é um sistema de autorização implementado e imposto no nível do HSM gerenciado.

Quando um HSM gerenciado é criado, o solicitante fornece uma lista de administradores de plano de dados (há suporte para todas as entidades de segurança). Somente esses administradores podem acessar o plano de dados do HSM gerenciado para executar operações de chave e gerenciar atribuições de função de plano de dados (RBAC local do HSM gerenciado).

Os modelos de permissão para ambos os planos usam a mesma sintaxe, mas eles são impostos em níveis diferentes, e as atribuições de função usam escopos diferentes. O RBAC do Azure do plano de gerenciamento é imposto pelo Azure Resource Manager, e o RBAC local do HSM gerenciado do plano de dados é imposto pelo próprio HSM gerenciado.

Importante

Conceder acesso ao plano de gerenciamento a uma entidade de segurança não concede acesso ao plano de dados da entidade de segurança. Por exemplo, uma entidade de segurança com acesso ao plano de gerenciamento não tem acesso automaticamente a chaves ou atribuições de função do plano de dados. Por padrão, o objetivo desse isolamento é evitar a expansão inadvertida de privilégios que afetam o acesso às chaves que são armazenadas no HSM gerenciado.

Porém há uma exceção: os membros da função Administrador Global do Microsoft Entra sempre podem adicionar usuários à função Administrador de HSM Gerenciado para fins de recuperação, como quando não há mais nenhuma conta de Administrador do HSM Gerenciado válida. Para obter mais informações, consulte as melhores práticas do Microsoft Entra ID para proteger a função de Administrador Global.

Por exemplo, um administrador de assinatura (porque eles têm permissões de Colaborador para todos os recursos na assinatura) pode excluir um HSM gerenciado em sua assinatura. Mas se eles não tiverem acesso ao plano de dados especificamente concedido por meio do RBAC local do HSM gerenciado, eles não poderão obter acesso a chaves ou gerenciar atribuições de função no HSM gerenciado para conceder a si mesmos ou a outras pessoas acesso ao plano de dados.

autenticação do Microsoft Entra

Ao cria um HSM gerenciado em uma assinatura do Azure, o HSM gerenciado é automaticamente associado ao locatário do Microsoft Entra da assinatura. Todos os chamadores em ambos os planos devem ser registrados nesse locatário e se autenticar para acessar o HSM gerenciado.

O aplicativo é autenticado com o Microsoft Entra ID antes de chamar qualquer um dos planos. O aplicativo pode usar qualquer método de autenticação compatível dependendo do tipo de aplicativo. O aplicativo adquire um token para um recurso no plano para conceder acesso. O recurso é um ponto de extremidade no plano de gerenciamento ou no plano de dados, dependendo do ambiente do Azure. O aplicativo usa o token e envia uma solicitação da API REST ao ponto de extremidade do HSM gerenciado. Para saber mais, examine o fluxo de autenticação completo.

Usar um mecanismo de autenticação único em ambos os planos tem vários benefícios:

  • As organizações podem controlar centralmente o acesso a todos os HSMs gerenciados na organização.
  • Se um usuário sair da organização, ele perde instantaneamente o acesso a todos os HSMs gerenciados na organização.
  • As organizações podem personalizar a autenticação usando as opções no Microsoft Entra ID, como habilitar a autenticação multifator para obter maior segurança.

Pontos de extremidade do recurso

As entidades de segurança acessam os planos por meio de pontos de extremidade. Os controles de acesso dos dois planos trabalham de forma independente. Para conceder a um aplicativo acesso para usar chaves em um HSM gerenciado, conceda acesso ao plano de dados usando o RBAC local do HSM gerenciado. Para conceder a um usuário acesso ao recurso do HSM gerenciado para criar, ler, excluir, mover os HSMs gerenciados e editar outras propriedades e marcas, use o RBAC do Azure.

A tabela a seguir mostra os pontos de extremidade para o plano de gerenciamento e o plano de dados.

Plano de acesso Pontos de extremidade de acesso Operações Mecanismo de controle de acesso
Plano de gerenciamento Global:
management.azure.com:443
Criar, ler, atualizar, excluir e mover os HSMs gerenciados

Definir marcas de HSM gerenciado
RBAC do Azure
Plano de dados Global:
<hsm-name>.managedhsm.azure.net:443
Chaves: descriptografar, criptografar,
desencapsular, encapsular, verificar, assinar, obter, listar, atualizar, criar, importar, excluir, fazer backup, restaurar, limpar

Gerenciamento de função de plano de dados (RBAC local HSM gerenciado): Definições de função de lista, atribuir funções, excluir atribuições de função, definir funções personalizadas

Backup e restauração: fazer backup, restaurar, verificar o status de operações de backup e restauração

Domínio de segurança: baixar e carregar o domínio de segurança
RBAC local do HSM gerenciado

Plano de gerenciamento e RBAC do Azure

No plano de gerenciamento, você pode usar o RBAC do Azure para autorizar as operações que um chamador pode executar. No modelo de RBAC do Azure, cada assinatura do Azure tem uma instância do Microsoft Entra ID. Você pode conceder acesso a usuários, grupos e aplicativos desse diretório. O acesso é concedido para gerenciar recursos de assinatura que usam o modelo de implantação do Azure Resource Manager. Para conceder acesso, use o portal do Azure, a CLI do Azure, o Azure PowerShell ou APIs REST do Azure Resource Manager.

Crie um cofre de chaves em um grupo de recursos e gerencie o acesso usando o Microsoft Entra ID. Conceda a usuários ou grupos a capacidade de gerenciar os cofres de chaves em um grupo de recursos. Conceda o acesso em um nível de escopo específico atribuindo funções do Azure apropriadas. Para conceder acesso a um usuário para gerenciar os cofres de chaves, atribua uma função key vault Contributor predefinida ao usuário em um escopo específico. Os seguintes níveis de escopo podem ser atribuídos a uma função do Azure:

  • Grupo de gerenciamento: uma função do Azure atribuída no nível da assinatura se aplica a todas as assinaturas nesse grupo de gerenciamento.
  • Assinatura: uma função do Azure atribuída no nível da assinatura que se aplica a todos os grupos de recursos e recursos dentro dessa assinatura.
  • Grupo de recursos: uma função do Azure atribuída no nível do grupo de recursos que se aplica a todos os recursos nesse grupo de recursos.
  • Recursos específicos: uma função do Azure atribuída a um recurso específico que se aplica a esse recurso. Nesse caso, o recurso é um cofre de chaves específico.

Várias funções são predefinidas. Se uma função predefinida não atender às suas necessidades, você poderá definir sua própria função. Para obter mais informações, confira Funções internas do Azure RBAC.

Plano de dados e RBAC local de HSM gerenciado

Atribuindo uma função, você concede um acesso de entidade de segurança para executar operações de chave específicas. Para cada atribuição de função, você deve especificar uma função e um escopo para qual essa atribuição se aplica. Para o RBAC local do HSM gerenciado, dois escopos estão disponíveis:

  • / ou /keys: Escopo de nível de HSM. As entidades de segurança que são atribuídas a uma função nesse escopo podem executar as operações definidas na função para todos os objetos (chaves) no HSM gerenciado.
  • /keys/<key-name>: Escopo de nível de chave. As entidades de segurança que são atribuídas a uma função nesse escopo podem executar as operações definidas nessa função somente para todas as versões da chave especificada.

Próximas etapas