Controle de acesso para HSM gerenciado

O Azure Key Vault Managed HSM é um serviço de nuvem que protege chaves de criptografia. Como esses dados são confidenciais e críticos para seus negócios, você precisa proteger seus módulos de segurança de hardware (HSMs) gerenciados, permitindo que apenas aplicativos e usuários autorizados acessem os dados.

Este artigo fornece uma visão geral do modelo de controle de acesso do HSM gerenciado. Ele explica a autenticação e a autorização e descreve como proteger o acesso aos HSMs gerenciados.

Nota

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 a HSMs gerenciados. Para saber mais sobre o controle de acesso para HSM gerenciado, consulte Fornecer acesso a chaves, certificados e segredos do Cofre de Chaves com o controle de acesso baseado em função do Azure.

Modo de controlo de acesso

O acesso a um HSM gerenciado é controlado por meio de duas interfaces:

  • Plano de gestão
  • Plano de dados

No plano de gerenciamento, você gerencia o próprio HSM. As operações neste plano incluem a criação e exclusão de HSMs gerenciados e a recuperação de propriedades de HSM gerenciados.

No plano de dados, você trabalha com os dados armazenados em um HSM gerenciado. Ou seja, você trabalha com as chaves de criptografia suportadas por 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 HSM completo, 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 autenticação e 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 definidas no ID do Microsoft Entra: usuário, grupo, entidade de serviço ou identidade gerenciada.

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

  • 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 (Managed HSM local RBAC) de nível HSM gerenciado, um sistema de autorização que é implementado e aplicado no nível de HSM gerenciado.

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

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

Importante

A concessão de 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 automático a chaves ou atribuições de função de plano de dados. Esse isolamento é por design, para evitar a expansão inadvertida de privilégios que afetam o acesso a chaves armazenadas no HSM gerenciado.

Mas há uma exceção: os membros da função de Administrador Global do Microsoft Entra sempre podem adicionar usuários à função de Administrador de HSM Gerenciado para fins de recuperação, como quando não há mais contas válidas de Administrador de HSM Gerenciado. Para obter mais informações, consulte Práticas recomendadas do Microsoft Entra ID para proteger a função de Administrador Global.

Por exemplo, um administrador de assinatura (porque ele tem 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 concedido especificamente 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

Quando você 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 neste locatário e autenticados para acessar o HSM gerenciado.

O aplicativo é autenticado com o Microsoft Entra ID antes de chamar qualquer plano. O aplicativo pode usar qualquer método de autenticação suportado, dependendo do tipo de aplicativo. O aplicativo adquire um token para um recurso no plano para obter 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 de API REST para o ponto de extremidade HSM gerenciado. Para saber mais, revise todo o fluxo de autenticação.

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

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

Pontos de extremidade de recursos

As entidades de segurança acessam os planos por meio de endpoints. Os controles de acesso para os dois planos funcionam de forma independente. Para conceder a um aplicativo acesso para usar chaves em um HSM gerenciado, você concede acesso ao plano de dados usando o RBAC local do HSM gerenciado. Para conceder a um usuário acesso ao recurso HSM gerenciado para criar, ler, excluir, mover os HSMs gerenciados e editar outras propriedades e tags, 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 finais de acesso Operações Mecanismo de controlo de acesso
Plano de gestão Global:
management.azure.com:443
Criar, ler, atualizar, excluir e mover HSMs gerenciados

Definir tags HSM gerenciadas
RBAC do Azure
Plano de dados Global:
<hsm-name>.managedhsm.azure.net:443
Chaves: Desencriptar, encriptar,
desembrulhar, encapsular, verificar, assinar, obter, listar, atualizar, criar, importar, excluir, fazer backup, restaurar, limpar

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

Backup e restauração: Faça backup, restaure, verifique o status das operações de backup e restauração

Domínio de segurança: Transferir 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ê usa o RBAC do Azure para autorizar as operações que um chamador pode executar. No modelo RBAC do Azure, cada assinatura do Azure tem uma instância do Microsoft Entra ID. Você concede acesso a usuários, grupos e aplicativos a partir 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 as APIs REST do Azure Resource Manager.

Você cria um cofre de chaves em um grupo de recursos e gerencia o acesso usando o Microsoft Entra ID. Você concede aos usuários ou grupos a capacidade de gerenciar os cofres de chaves em um grupo de recursos. Você concede o acesso em um nível de escopo específico atribuindo funções apropriadas do Azure. Para conceder acesso a um usuário para gerenciar cofres de chaves, atribua uma função predefinida key vault Contributor 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 de assinatura se aplica a todas as assinaturas desse grupo de gerenciamento.
  • Assinatura: uma função do Azure atribuída no nível de assinatura 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 aplica-se a todos os recursos desse grupo de recursos.
  • Recurso específico: uma função do Azure atribuída a um recurso específico aplica-se 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ê pode definir sua própria função. Para obter mais informações, consulte Azure RBAC: funções internas.

Plano de dados e RBAC local do HSM gerenciado

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

  • / ou /keys: escopo de nível HSM. As entidades de segurança às quais é atribuída uma função neste 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 às quais é atribuída uma função neste âmbito podem executar as operações definidas nesta função apenas para todas as versões da chave especificada.

Próximos passos

  • Para obter um tutorial de introdução para um administrador, consulte O que é HSM gerenciado?.
  • Para obter um tutorial de gerenciamento de função, consulte RBAC local do HSM gerenciado.
  • Para obter mais informações sobre o log de uso do HSM gerenciado, consulte Log gerenciado do HSM.