Problemen met het implementeren van Azure-beleid in Key Vault oplossen
In dit artikel wordt uitgelegd hoe u algemene fouten kunt oplossen die kunnen optreden wanneer u Azure Policy voor Key Vault instelt en manieren voorstelt om deze op te lossen.
Over Azure-beleid voor Key Vault
Azure Policy is een governance-programma waarmee gebruikers hun Azure-omgeving op schaal kunnen controleren en beheren. Met Azure Policy kunt u kaders op Azure-resources plaatsen om ervoor te zorgen dat ze voldoen aan de toegewezen beleidsregels. Gebruikers kunnen zo audits uitvoeren, in realtime bepaalde zaken afdwingen en indien nodig hun Azure-omgeving herstellen. De resultaten van controles die door beleid worden uitgevoerd, zijn beschikbaar voor gebruikers in een nalevingsdashboard waar ze kunnen inzoomen op welke resources en onderdelen compatibel zijn en welke niet.
Logboekregistratie
Als u wilt controleren hoe beleidsevaluaties worden uitgevoerd, kunt u de Key Vault-logboeken bekijken. Logboekregistratie inschakelen voor Azure Key Vault, waarmee informatie wordt opgeslagen in een Azure-opslagaccount dat u opgeeft. Zie Key Vault-logboekregistratie inschakelen voor stapsgewijze instructies.
Wanneer u logboekregistratie inschakelt, wordt automatisch een nieuwe container met de naam AzurePolicyEvaluationDetails gemaakt om beleidsgerelateerde logboekgegevens in uw opgegeven opslagaccount te verzamelen.
Notitie
U moet de toegang tot bewakingsgegevens, met name logboekbestanden, strikt reguleren, omdat ze gevoelige informatie kunnen bevatten. Meer informatie over het toepassen van ingebouwde bewakingsrollen in Azure en het beperken van de toegang.
Afzonderlijke blobs worden opgeslagen als tekst, die is opgemaakt als een JSON-blob.
Laten we eens kijken naar een voorbeeld van een logboekvermelding voor een sleutelbeleid: sleutels moeten de vervaldatum hebben ingesteld. Dit beleid evalueert alle sleutels in uw sleutelkluizen en markeert sleutels waarvoor geen vervaldatum is ingesteld als niet-compatibel.
{
"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"
}
]
}
]
}
De volgende tabel bevat de namen en beschrijvingen van velden:
Veldnaam | Beschrijving |
---|---|
Objectname | Naam van het object |
ObjectType | Type sleutelkluisobject: certificaat, geheim of sleutel |
IsComplianceCheck | Waar als de evaluatie heeft plaatsgevonden tijdens de nachtcontrole, onwaar als de evaluatie plaatsvond tijdens het maken of bijwerken van resources |
AssignmentId | De id van de beleidstoewijzing |
AssignmentDisplayName | Beschrijvende naam van de beleidstoewijzing |
DefinitionId | Id van de beleidsdefinitie voor de toewijzing |
DefinitionDisplayName | Beschrijvende naam van de beleidsdefinitie voor de toewijzing |
Resultaat | Resultaat van de beleidsevaluatie |
ExpressionEvaluationDetails | Details over de evaluaties die tijdens de beleidsevaluatie zijn uitgevoerd |
ExpressionValue | Werkelijke waarde van het opgegeven veld tijdens de beleidsevaluatie |
TargetValue | Verwachte waarde van het opgegeven veld |
Veelgestelde vragen
Key Vault-herstel geblokkeerd door Azure-beleid
Een van de redenen kan zijn dat uw abonnement (of beheergroep) een beleid heeft dat het herstel blokkeert. De oplossing is het aanpassen van het beleid, zodat dit niet van toepassing is wanneer een kluis wordt hersteld.
Als u het fouttype RequestDisallowedByPolicy
voor herstel ziet vanwege ingebouwd beleid, controleert u of u de meest bijgewerkte versie gebruikt.
Als u een aangepast beleid met uw eigen logica hebt gemaakt, ziet u hier een voorbeeld van een deel van een beleid dat kan worden gebruikt om voorlopig verwijderen te vereisen. Het herstel van een voorlopig verwijderde kluis maakt gebruik van dezelfde API als het maken of bijwerken van een kluis. In plaats van de eigenschappen van de kluis op te geven, heeft deze echter één createMode-eigenschap met de waarde 'herstellen'. De kluis wordt hersteld met de eigenschappen die de kluis had toen deze werd verwijderd. Beleidsregels die aanvragen blokkeren, tenzij ze specifieke eigenschappen hebben geconfigureerd, blokkeren ook het herstel van voorlopig verwijderde kluizen. De oplossing is om een component op te nemen die ervoor zorgt dat het beleid aanvragen negeert waarbij createMode 'recover' is:
U ziet dat het een component bevat die ervoor zorgt dat het beleid alleen van toepassing is wanneer 'createMode' niet gelijk is aan 'herstellen':
"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')]"
}
}
Latentie voor azure-beleidstoewijzing verwijderen in Key Vault
Microsoft.KeyVault.Data: het kan tot 24 uur duren voordat een verwijderde beleidstoewijzing niet meer wordt afgedwongen.
Oplossing: wijzig de instelling van de beleidstoewijzing in 'Uitgeschakeld'.
Geheim maken via ARM-sjabloon ontbrekende beleidsevaluatie
Beleid voor gegevensvlak dat het maken van geheimen evalueert, is niet van toepassing op geheimen die zijn gemaakt via een ARM-sjabloon op het moment van het maken van geheimen. Na 24 uur, wanneer de geautomatiseerde nalevingscontrole zou plaatsvinden en de nalevingsresultaten kunnen worden beoordeeld.
Volgende stappen
- Meer informatie over het oplossen van fouten met het gebruik van Azure Policy
- Meer informatie over bekende problemen met Azure Policy