Risolvere i problemi relativi all'implementazione di criteri di Azure in Key Vault

Questo articolo illustra come risolvere gli errori generali che possono verificarsi quando si configura il Criteri di Azure per Key Vault e suggerisce i modi per risolverli.

Informazioni sui criteri di Azure per Key Vault

Criteri di Azure è uno strumento di governance che consente agli utenti di controllare e gestire con scalabilità il proprio ambiente Azure. Criteri di Azure consente di inserire protezioni per le risorse di Azure per garantire che rispettino la conformità alle regole dei criteri assegnate. Consente anche agli utenti di eseguire il controllo, l'applicazione in tempo reale e la correzione dell'ambiente Azure. I risultati dei controlli eseguiti dai criteri saranno disponibili per gli utenti in un dashboard di conformità in cui è possibile visualizzare un elenco delle risorse e dei componenti conformi e non.

Registrazione

Per monitorare il modo in cui vengono eseguite le valutazioni dei criteri, è possibile esaminare i log di Key Vault. Abilitazione della registrazione per Azure Key Vault, che salva le informazioni in un account di archiviazione di Azure fornito. Per le istruzioni dettagliate, vedere Come abilitare la registrazione di Key Vault.

Quando si abilita la registrazione, verrà creato automaticamente un nuovo contenitore denominato AzurePolicyEvaluationDetails per raccogliere informazioni di registrazione correlate ai criteri nell'account di archiviazione specificato.

Nota

È consigliabile regolare rigorosamente l'accesso ai dati di monitoraggio, in particolare ai file di log, in quanto possono contenere informazioni riservate. Informazioni sull'applicazione di monitoraggio predefinito del ruolo di Azure e sulla limitazione dell'accesso.

I singoli BLOB vengono archiviati come testo, formattati come BLOB JSON.

Verrà ora esaminata una voce di log di esempio per un criterio chiave: Chiavi deve avere una data di scadenza impostata. Questo criterio valuta tutte le chiavi negli insiemi di credenziali delle chiavi e contrassegna come non conformi quelle per cui non è impostata una data di scadenza.

{
  "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"
        }
      ]
    }
  ]
}

La tabella seguente elenca i nomi dei campi e le descrizioni:

Nome del campo Descrizione
ObjectName Nome dell'oggetto
ObjectType Tipo di oggetto insieme di credenziali delle chiavi: certificato, segreto o chiave
IsComplianceCheck True se la valutazione si è verificata durante il controllo notturno, false se la valutazione si è verificata durante la creazione o l'aggiornamento delle risorse
AssignmentId ID dell'assegnazione dei criteri
AssignmentDisplayName Nome descrittivo dell'assegnazione dei criteri
DefinitionId ID della definizione dei criteri per l'assegnazione
DefinitionDisplayName Nome descrittivo della definizione dei criteri per l'assegnazione
Risultato Risultato della valutazione dei criteri
ExpressionEvaluationDetails Dettagli sulle valutazioni eseguite durante la valutazione dei criteri
ExpressionValue Valore effettivo del campo specificato durante la valutazione dei criteri
TargetValue Valore previsto del campo specificato

Domande frequenti

Ripristino di Key Vault bloccato dal criterio di Azure

Uno dei motivi potrebbe essere che la sottoscrizione (o il gruppo di gestione) ha un criterio che blocca il ripristino. La correzione consiste nel modificare i criteri in modo che non venga applicato quando viene ripristinato un insieme di credenziali.

Se viene visualizzato il tipo di errore RequestDisallowedByPolicy per il ripristino a causa del criterio predefinito, assicurarsi di usare la versione più aggiornata.

Se è stato creato un criterio personalizzato con la propria logica, di seguito è riportato un esempio di parte di un criterio che può essere usato per richiedere l'eliminazione temporanea. Il ripristino di un insieme di credenziali eliminato temporaneamente usa la stessa API della creazione o dell'aggiornamento di un insieme di credenziali. Tuttavia, invece di specificare le proprietà dell'insieme di credenziali, ha una singola proprietà "createMode" con il valore "recover". L'insieme di credenziali verrà ripristinato con le proprietà che aveva quando è stato eliminato. I criteri che bloccano le richieste, a meno che non abbiano proprietà specifiche configurate, bloccano anche il ripristino di insiemi di credenziali eliminati temporaneamente. La correzione consiste nell'includere una clausola che causerà l'ignorare le richieste in cui "createMode" è "recover":

Si noterà che ha una clausola che fa sì che il criterio venga applicato solo quando "createMode" non è uguale 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')]"
      }
    }

Latenza nell'eliminazione dell'assegnazione di criteri di Azure in Key Vault

Microsoft.KeyVault.Data: un'assegnazione di criteri eliminata può richiedere fino a 24 ore per interrompere l'applicazione.

Mitigazione: aggiornare l'effetto dell'assegnazione dei criteri su "Disabilitato".

Creazione di segreti tramite il modello di Resource Manager per la valutazione dei criteri mancante

I criteri del piano dati che valutano la creazione di segreti non sono applicabili ai segreti creati tramite il modello di ARM al momento della creazione dei segreti. Dopo 24 ore, quando si verifica il controllo di conformità automatizzato e i risultati di conformità possono essere esaminati.

Passaggi successivi