Solucionar problemas com a implementação da política do Azure no Key Vault

Este artigo orienta como solucionar problemas gerais que podem ocorrer quando você configura o Azure Policy para Key Vault e sugere maneiras de resolvê-los.

Sobre a política do Azure para Key Vault

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.

Log

Para monitorar como as avaliações de política são realizadas, você pode examinar os logs de Key Vault. Habilitação do registro em log para o Azure Key Vault, que salva informações em uma conta de armazenamento do Azure fornecida por você. Para obter diretrizes passo a passo, confira Como habilitar o registro em log do Key Vault.

Quando você habilita o registro em log, um novo contêiner chamado AzurePolicyEvaluationDetails será criado automaticamente para coletar informações de registro em log relacionadas à política em sua conta de armazenamento especificada.

Observação

Você deve estritamente regular o acesso aos dados de monitoramento, especialmente arquivos de log, pois eles podem conter informações confidenciais. Saiba como aplicar o monitoramento interno da função do Azure e limitar o acesso.

Os blobs individuais são armazenados como texto, formatados como um blob JSON.

Vejamos um exemplo de entrada de log para uma política de chave: as chaves devem ter a data de expiração definida. Esta política avalia todas as chaves nos seus cofres de chaves e sinaliza como sem conformidade as chaves que não têm uma data de validade definida.

{
  "ObjectName": "example",
  "ObjectType": "Key",
  "IsComplianceCheck": false,
  "EvaluationDetails": [
    {
      "AssignmentId": "<subscription ID>",
      "AssignmentDisplayName": "[Preview]: Key Vault keys should have an expiration date",
      "DefinitionId": "<definition ID>",
      "DefinitionDisplayName": "[Preview]: Key Vault keys should have an expiration date",
      "Outcome": "NonCompliant",
      "ExpressionEvaluationDetails": [
        {
          "Result": "True",
          "Expression": "type",
          "ExpressionKind": "Field",
          "ExpressionValue": "Microsoft.KeyVault.Data/vaults/keys",
          "TargetValue": "Microsoft.KeyVault.Data/vaults/keys",
          "Operator": "Equals"
        },
        {
          "Result": "True",
          "Expression": "Microsoft.KeyVault.Data/vaults/keys/attributes.expiresOn",
          "ExpressionKind": "Field",
          "ExpressionValue": "******",
          "TargetValue": "False",
          "Operator": "Exists"
        }
      ]
    }
  ]
}

A tabela a seguir lista os nomes e as descrições de campo:

Nome do campo Descrição
ObjectName Nome do objeto
ObjectType Tipo de objeto do cofre de chaves: certificado, segredo ou chave
IsComplianceCheck True se a avaliação ocorreu durante a auditoria noturna, false se a avaliação ocorreu durante a criação ou atualização de recursos
AssignmentId A ID da atribuição de política
AssignmentDisplayName Nome amigável da atribuição de política
DefinitionId ID da definição de política para a atribuição
DefinitionDisplayName Nome amigável da definição de política para a atribuição
Resultado Resultado da avaliação da política
ExpressionEvaluationDetails Detalhes sobre as avaliações executadas durante a avaliação da política
ExpressionValue Valor real do campo especificado durante a avaliação da política
TargetValue Valor esperado do campo especificado

Perguntas frequentes

Recuperação de Key Vault bloqueada pela política do Azure

Um dos motivos pode ser que sua assinatura (ou grupo de gerenciamento) tenha uma política que está bloqueando a recuperação. A correção é ajustar a política para que ela não se aplique quando um cofre estiver sendo recuperado.

Se você vir o tipo RequestDisallowedByPolicy de erro para recuperação devido à política interna, certifique-se de que você está usando a versão mais atualizada.

Se você criou uma política personalizada com sua própria lógica, aqui está um exemplo de parte de uma política que pode ser usada para exigir a exclusão reversível. A recuperação de um cofre com exclusão reversível usa a mesma API que criar ou atualizar um cofre. No entanto, em vez de especificar as propriedades do cofre, ele tem uma única propriedade "createMode" com o valor "Recover". O cofre será restaurado com qualquer propriedade que tivesse sido excluída. Políticas que bloqueiam solicitações, a menos que tenham propriedades específicas configuradas, também bloquearão a recuperação de cofres com exclusão reversível. A correção é incluir uma cláusula que fará com que a política ignore solicitações em que "createMode" seja "Recover":

Você verá que ele tem uma cláusula que faz com que a política seja aplicada somente quando "createMode" não for igual a "Recover":


    "policyRule": { 
      "if": {
        "allOf": [
          {
            "field": "type",
            "equals": "Microsoft.KeyVault/vaults"
          }, 
          {
            "not": {
              "field": "Microsoft.Keyvault/vaults/createMode",
              "equals": "recover"
            }
          },
          {
            "anyOf": [
              {
                "field": "Microsoft.KeyVault/vaults/enableSoftDelete",
                "exists": "false"
              },
              {
                "field": "Microsoft.KeyVault/vaults/enableSoftDelete",
                "equals": "false"
              }
            ]
          }
        ]
      },
      "then": {
        "effect": "[parameters('effect')]"
      }
    }

Latência na exclusão da atribuição de política do Azure no Key Vault

Microsoft.KeyVault.Data: uma atribuição de política excluída pode levar até 24 horas para parar de ser imposta.

Mitigação: Atualize o efeito da atribuição de política para ' desabilitado '.

Criação de segredo por meio do modelo ARM sem avaliação da política

As políticas de plano de dados que avaliam a criação de segredo não seriam aplicáveis a segredos criados por meio do modelo ARM no momento da criação do segredo. Após 24 horas, quando a verificação de conformidade automatizada ocorrer, e os resultados de conformidade puderem ser revisados.

Próximas etapas