Integrar o Azure Managed HSM no Azure Policy

Azure Policy é uma ferramenta de governação que permite aos utilizadores auditar e gerir o respetivo ambiente do Azure em escala. Azure Policy fornece a capacidade de colocar proteções em recursos do Azure para garantir que estão em conformidade com as regras de política atribuídas. Permite que os utilizadores efetuem auditorias, imposição em tempo real e remediação do respetivo ambiente do Azure. Os resultados das auditorias efetuadas pela política estarão disponíveis para os utilizadores num dashboard de conformidade onde poderão ver uma desagregação dos recursos e componentes que estão em conformidade e que não estão. Para obter mais informações, veja a Descrição geral do serviço Azure Policy.

Exemplos de Cenários de Utilização:

  • Atualmente, não tem uma solução para efetuar uma auditoria na sua organização ou está a realizar auditorias manuais do seu ambiente ao pedir às equipas individuais da sua organização que comuniquem a respetiva conformidade. Está à procura de uma forma de automatizar esta tarefa, realizar auditorias em tempo real e garantir a precisão da auditoria.
  • Quer impor as políticas de segurança da sua empresa e impedir que os indivíduos criem determinadas chaves criptográficas, mas não tem uma forma automatizada de bloquear a sua criação.
  • Quer descontrair alguns requisitos para as suas equipas de teste, mas quer manter controlos apertados sobre o seu ambiente de produção. Precisa de uma forma automatizada simples de separar a imposição dos seus recursos.
  • Quer ter a certeza de que pode reverter a imposição de novas políticas se existir um problema em direto no site. Precisa de uma solução com um clique para desativar a imposição da política.
  • Está a contar com uma solução de terceiros para auditar o seu ambiente e quer utilizar uma oferta interna da Microsoft.

Tipos de efeitos de política e orientação

Auditoria: quando o efeito de uma política está definido para auditoria, a política não causará alterações interruptivas ao seu ambiente. Apenas irá alertá-lo para componentes como chaves que não estejam em conformidade com as definições de política dentro de um âmbito especificado, marcando estes componentes como não conformes no dashboard de conformidade de políticas. A auditoria é predefinida se não for selecionado nenhum efeito de política.

Negar: quando o efeito de uma política está 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 estejam em conformidade com a definição de política. Os recursos não conformes existentes num HSM Gerido não são afetados. As capacidades de "auditoria" continuarão a funcionar.

As teclas que utilizam criptografia de curva elíptica devem ter os nomes de curva especificados

Se utilizar criptografia de curva elíptica ou teclas ECC, pode personalizar uma lista permitida de nomes de curvas na lista abaixo. A opção predefinida permite todos os seguintes nomes de curvas.

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

As chaves devem ter datas de expiração definidas

Esta política audita todas as chaves nos HSMs Geridos e sinaliza chaves que não têm uma data de expiração definida como não conforme. Também pode utilizar esta política para bloquear a criação de chaves que não têm uma data de expiração definida.

As chaves devem ter mais do que o número especificado de dias antes da expiração

Se uma chave estiver demasiado próxima da expiração, um atraso organizacional para rodar a chave pode resultar numa falha. As chaves devem ser rodadas num número especificado de dias antes da expiração para fornecer tempo suficiente para reagir a uma falha. Esta política irá auditar as chaves demasiado perto da data de expiração e permite-lhe definir este limiar em dias. Também pode utilizar esta política para impedir a criação de novas chaves demasiado perto da data de expiração.

As chaves que utilizam a criptografia RSA devem ter um tamanho de chave mínimo especificado

A utilização de chaves RSA com tamanhos de chave mais pequenos não é uma prática de conceção segura. Pode estar sujeito a normas de auditoria e certificação que determinam a utilização de um tamanho mínimo de chave. A seguinte política permite-lhe definir um requisito mínimo de tamanho de chave no HSM Gerido. Pode auditar chaves que não cumpram este requisito mínimo. Esta política também pode ser utilizada para bloquear a criação de novas chaves que não cumpram o requisito mínimo de tamanho da chave.

Ativar e gerir uma política de HSM Gerido através da CLI do Azure

Conceder permissão para analisar diariamente

Para verificar a conformidade das chaves de inventário do conjunto, o cliente tem de atribuir a função "Auditor Criptografativo HSM Gerido" a "Azure Key Vault Serviço de Governação de Chaves HSM Gerido"(ID da Aplicação: a1b76039-a76c-499f-a2dd-846b4cc32627) para que possa aceder aos metadados da chave. Sem a concessão de permissão, as chaves de inventário não serão comunicadas no Azure Policy relatório de conformidade, apenas as chaves novas, as chaves atualizadas, as chaves importadas e as chaves rodadas serão verificadas na conformidade. Para tal, um utilizador que tenha a função de "Administrador do HSM Gerido" no HSM Gerido tem de executar os seguintes comandos da CLI do Azure:

No windows:

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

Copie o id impresso e 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 no Subsistema 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íticas – definir regras de auditoria e/ou negação

As atribuições de políticas têm valores concretos definidos para os parâmetros das definições de política. Na portal do Azure, aceda a "Política", filtre na categoria "Key Vault", localize estas quatro definições de política de governação de chaves de pré-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 denials de pedidos, utilize um nome claro sobre a política porque, quando um pedido é negado, o nome da atribuição de política aparecerá no erro. Selecione Seguinte, desmarque "Mostrar apenas parâmetros que precisam de entrada ou revisão" e introduza valores para parâmetros da definição de política. Ignore a "Remediação" e crie a atribuição. O serviço precisará de até 30 minutos para impor atribuições "Negar".

  • As chaves HSM Geridas do Azure Key Vault devem ter uma data de expiração
  • As chaves HSM Geridas do Azure Key Vault com a criptografia RSA devem ter um tamanho de chave mínimo especificado
  • As Chaves HSM Geridas do Azure Key Vault devem ter mais do que o número especificado de dias antes da expiração
  • As teclas HSM Geridas do Azure Key Vault com a criptografia de curva elíptica devem ter os nomes de curva especificados

Também pode efetuar esta operação com a CLI do Azure. Veja Criar uma atribuição de política para identificar recursos não conformes com a CLI do Azure.

Testar a sua configuração

Tente atualizar/criar uma chave que viole a regra, se tiver uma atribuição de política com o efeito "Negar", devolverá 403 ao seu pedido. Reveja o resultado da análise das chaves de inventário das atribuições de políticas de auditoria. Após 12 horas, verifique o menu Conformidade da Política, filtre a categoria "Key Vault" e localize as suas tarefas. Selecione em cada um deles para verificar o relatório de resultados de conformidade.

Resolução de problemas

Se não existirem resultados de conformidade de um conjunto após um dia. Verifique se a atribuição de função foi efetuada no passo 2 com êxito. Sem o Passo 2, o serviço de governação de chaves não conseguirá aceder aos metadados da chave. O comando da CLI az keyvault role assignment list do Azure pode verificar se a função foi atribuída.

Passos Seguintes