Integrar o HSM Gerenciado pelo Azure com o Azure Policy

O Azure Policy é uma ferramenta de governança que oferece aos usuários a capacidade de auditar e gerenciar em grande escala o respectivo ambiente do Azure. O Azure Policy permite a colocação de grades de proteção em recursos do Azure, de modo a garantir que eles estejam em conformidade com as regras da política atribuída. A ferramenta permite que os usuários realizem auditoria, imposição em tempo real e correção do ambiente do Azure. Os resultados das auditorias realizadas pela política estarão disponíveis aos usuários em um painel de conformidade que mostra o detalhamento de quais recursos e componentes estão em conformidade e quais não estão. Para saber mais, confira Visão geral do serviço do Azure Policy.

Exemplo de cenários de uso:

  • Atualmente, você não tem uma solução para executar uma auditoria na organização ou está realizando auditorias manuais do ambiente, solicitando que equipes individuais dentro da organização relatem a respectiva conformidade. Está procurando uma maneira de automatizar essa tarefa, executar auditorias em tempo real e garantir a precisão da auditoria.
  • Quer impor as políticas de segurança da empresa e impedir que as pessoas criem certas chaves criptográficas, mas não tem um método automatizado de bloquear essa criação.
  • Você quer suavizar alguns requisitos para as equipes de teste, mas manter rígido controle sobre o ambiente de produção. Você precisa de uma maneira simples e automatizada de separar a imposição de seus recursos.
  • Quer ter a certeza de que pode reverter a imposição de novas políticas se houver um problema no site ativo. Você precisa de uma solução para desativar a imposição da política com apenas um clique.
  • Está contando com uma solução de terceiros para auditar seu ambiente e quer usar uma oferta interna da Microsoft.

Diretrizes e tipos de efeito da política

Auditar: quando o efeito de uma política for definido para auditar, a política não causará alterações de falha em seu ambiente. Ela só alertará sobre componentes, como chaves que não estão em conformidade com as definições da política em um escopo especificado, marcando-os como fora de conformidade no painel de conformidade com a política. A auditoria será padrão se nenhum efeito de política for selecionado.

Negar: quando o efeito de uma política for definido para negar, a política bloqueará a criação de novos componentes, como chaves mais fracas, e bloqueará novas versões de chaves existentes que não estão em conformidade com a definição da política. Os recursos existentes sem conformidade em um HSM Gerenciado não são afetados. Os recursos de "auditoria" continuarão funcionando.

As chaves que usam a criptografia de curva elíptica devem ter os nomes de curva permitidos

Ao usar a criptografia de curva elíptica ou as chaves ECC, você pode personalizar uma lista de permissões de nomes de curva usando a lista abaixo. A opção padrão permite todos os nomes de curva a seguir.

  • P-256
  • P-256K
  • P-384
  • P-521

As chaves devem ter datas de validade definidas

Esta política audita todas as chaves nos seus HSMs Gerenciados e sinaliza como sem conformidade as chaves que não têm uma data de validade definida. Você também pode usar esta política para bloquear a criação de chaves que não tenham uma data de validade definida.

As chaves devem ter um número maior de dias do que o especificado até a validade

Se uma chave estiver muito próxima da validade, um atraso organizacional para fazer a rotação da chave poderá resultar em uma interrupção. A rotação das chaves deve ser feita em um número de dias especificado antes da validade para que haja tempo suficiente para reagir a uma falha. Esta política audita as chaves muito próximas da data de validade e permite que você defina esse limite em dias. Você também pode usar esta política para impedir a criação de chaves muito próximas à data de validade.

As chaves que usam a criptografia RSA devem ter o tamanho mínimo da chave especificado

O uso de chaves RSA com tamanhos de chave menores não é uma prática de design segura. Talvez você esteja sujeito a padrões de auditoria e de certificação que determinem o uso de um tamanho mínimo de chave. A política a seguir permite que você defina um requisito de tamanho mínimo de chave no HSM Gerenciado. Você pode auditar as chaves que não atendem a esse requisito mínimo. Esta política também pode ser usada para bloquear a criação de chaves que não atendam ao requisito de tamanho mínimo de chave.

Habilitar e gerenciar uma política do HSM Gerenciado por meio da CLI do Azure

Dar permissão para verificar diariamente

Para verificar a conformidade das chaves de inventário do pool, o cliente deve atribuir a função "Auditor de Criptografia do HSM Gerenciado" ao "Serviço de Governança de Chave do HSM Gerenciado pelo Azure Key Vault"(ID do aplicativo: a1b76039-a76c-499f-a2dd-846b4cc32627) para poder acessar os metadados da chave. Sem a concessão de permissão, as chaves de inventário não serão relatadas no relatório de conformidade Azure Policy, somente novas chaves, chaves atualizadas, chaves importadas e chaves giradas serão verificadas quanto à conformidade. Para fazer isso, um usuário que tem a função de "Administrador de HSM Gerenciado" para o HSM Gerenciado precisa executar os seguintes comandos da CLI do Azure:

No Windows:

az ad sp show --id a1b76039-a76c-499f-a2dd-846b4cc32627 --query id

Copie o impresso id, cole-o no seguinte comando:

az keyvault role assignment create --scope / --role "Managed HSM Crypto Auditor" --assignee-object-id "the id printed in previous command" --hsm-name <hsm name>

No Linux ou Subsistema do Windows do Linux:

spId=$(az ad sp show --id a1b76039-a76c-499f-a2dd-846b4cc32627 --query id|cut -d "\"" -f2)
echo $spId
az keyvault role assignment create --scope / --role "Managed HSM Crypto Auditor" --assignee-object-id $spId --hsm-name <hsm name>

Criar atribuições de política – definir regras de auditoria e/ou negar

As atribuições de política têm valores concretos definidos para parâmetros de definições de política. Na portal do Azure, acesse a "Política", filtre na categoria "Key Vault", localize essas quatro definições de política de governança de chave de visualização. Selecione um e, em seguida, selecione o botão "Atribuir" na parte superior. Preencha cada campo. Se a atribuição de política for para negações de solicitação, use um nome claro sobre a política porque, quando uma solicitação for negada, o nome da atribuição de política aparecerá no erro. Selecione Avançar, desmarque "Mostrar apenas parâmetros que precisam de entrada ou revisão" e insira valores para parâmetros da definição de política. Ignore a "Correção" e crie a atribuição. O serviço precisará de até 30 minutos para impor atribuições de "Negar".

  • As chaves do HSM gerenciado do Azure Key Vault devem ter uma data de expiração
  • As chaves de HSM gerenciado do Azure Key Vault que usam a criptografia RSA devem ter um tamanho mínimo de chave especificado
  • As chaves de HSM gerenciado do Azure Key Vault devem ter um número de dias até a expiração maior que o especificado
  • As chaves de HSM gerenciado do Azure Key Vault que usam criptografia de curva elíptica devem ter os nomes de curva especificados

Você também pode fazer essa operação com a CLI do Azure. Consulte Criar uma atribuição de política para identificar recursos sem conformidade na CLI do Azure.

Testar a configuração

Tente atualizar/criar uma chave que viole a regra, caso tenha uma atribuição de política com o efeito "Negar", ela retornará 403 à sua solicitação. Examine o resultado da verificação das chaves de inventário das atribuições de política de auditoria. Após 12 horas, verifique o menu Conformidade da Política, filtre na categoria "Key Vault" e localize suas atribuições. Selecione em cada um deles para verificar o relatório de resultados de conformidade.

Solução de problemas

Se não houver resultados de conformidade de um pool após um dia. Verifique se a atribuição de função foi feita na etapa 2 com êxito. Sem a Etapa 2, o serviço de governança de chaves não poderá acessar os metadados da chave. O comando az keyvault role assignment list da CLI do Azure pode verificar se a função foi atribuída.

Próximas etapas