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
- Saiba como Solucionar erros usando o Azure Policy
- Saiba mais sobre os Problemas conhecidos do Azure Policy