Povolení protokolování Key Vault

Po vytvoření jednoho nebo více trezorů klíčů budete pravděpodobně chtít monitorovat, jak a kdy se k trezorům klíčů přistupuje a kdo. Úplné podrobnosti o této funkci najdete v tématu Protokolování azure Key Vault.

Co je protokolováno:

  • Všechny ověřené požadavky rozhraní REST API, včetně neúspěšných požadavků v důsledku oprávnění přístupu, systémových chyb nebo chybných požadavků.
  • Operace se samotným trezorem klíčů, včetně vytvoření, odstranění, nastavení zásad přístupu trezoru klíčů a aktualizace atributů trezoru klíčů, jako jsou značky.
  • Operace s klíči a tajnými kódy v trezoru klíčů, včetně následujících:
    • Vytváření, úpravy nebo odstraňování těchto klíčů nebo tajných kódů
    • Podepisování, ověřování, šifrování, dešifrování, zabalení a rozbalování klíčů, získávání tajných kódů a výpis klíčů a tajných kódů (a jejich verzí).
  • Neověřené požadavky, které skončí odpovědí 401 – Neoprávněno. Příklady jsou požadavky, které nemají nosný token, které jsou poškozené nebo prošlé nebo mají neplatný token.
  • Azure Event Grid události oznámení pro následující podmínky: vypršela platnost, blíží se vypršení platnosti a změněná zásada přístupu k trezoru (nová událost verze není protokolovaná). Události se protokolují i v případě, že je v trezoru klíčů vytvořený odběr událostí. Další informace najdete v tématu Azure Key Vault jako zdroj event Gridu.

Požadavky

K dokončení tohoto kurzu budete potřebovat trezor klíčů Azure. Nový trezor klíčů můžete vytvořit pomocí jedné z těchto metod:

Budete také potřebovat cíl pro vaše protokoly. Může se jednat o existující nebo nový účet úložiště Azure nebo pracovní prostor Služby Log Analytics.

Důležité

Pokud používáte existující účet úložiště Azure nebo pracovní prostor Služby Log Analytics, musí být ve stejném předplatném jako váš trezor klíčů. Musí také používat model nasazení Azure Resource Manager, nikoli model nasazení Classic.

Pokud vytvoříte nový účet úložiště Azure nebo pracovní prostor Log Analytics, doporučujeme ho vytvořit ve stejné skupině prostředků jako trezor klíčů, abyste mohli snadno spravovat.

Nový účet úložiště Azure můžete vytvořit pomocí jedné z těchto metod:

Pomocí jedné z těchto metod můžete vytvořit nový pracovní prostor Služby Log Analytics:

Připojení k předplatnému Key Vault

Prvním krokem při nastavování protokolování klíčů je připojení k předplatnému obsahujícímu váš trezor klíčů. To je zvlášť důležité, pokud máte více předplatných přidružených k vašemu účtu.

Pomocí Azure CLI můžete zobrazit všechna předplatná pomocí příkazu az account list . Pak se k němu připojíte pomocí příkazu az account set :

az account list

az account set --subscription "<subscriptionID>"

S Azure PowerShell můžete nejprve zobrazit seznam předplatných pomocí rutiny Get-AzSubscription. Pak se k němu připojíte pomocí rutiny Set-AzContext :

Get-AzSubscription

Set-AzContext -SubscriptionId "<subscriptionID>"

Získání ID prostředků

Pokud chcete povolit protokolování trezoru klíčů, budete potřebovat ID prostředku trezoru klíčů a také cíl (účet Azure Storage nebo Log Analytics).

Pokud si nepamatujete název trezoru klíčů, můžete ho najít pomocí příkazu Azure CLI az keyvault list nebo rutiny Azure PowerShell Get-AzKeyVault.

K vyhledání ID prostředku použijte název trezoru klíčů. Pomocí Azure CLI použijte příkaz az keyvault show .

az keyvault show --name "<your-unique-keyvault-name>"

V Azure PowerShell použijte rutinu Get-AzKeyVault.

Get-AzKeyVault -VaultName "<your-unique-keyvault-name>"

ID prostředku trezoru klíčů je v následujícím formátu: /subscriptions/your-subscription-ID/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/your-unique-keyvault-name. Poznamenejte si ho pro další krok.

Povolit protokolování

Protokolování pro Key Vault můžete povolit pomocí Azure CLI, Azure PowerShell nebo Azure Portal.

Azure CLI

Pomocí azure CLI az monitor diagnostic-settings create command, ID účtu úložiště a ID prostředku trezoru klíčů postupujte takto:

az monitor diagnostic-settings create --storage-account "<storage-account-id>" --resource "<key-vault-resource-id>" --name "Key vault logs" --logs '[{"category": "AuditEvent","enabled": true}]' --metrics '[{"category": "AllMetrics","enabled": true}]'

Volitelně můžete nastavit zásady uchovávání informací pro vaše protokoly, aby se starší protokoly po zadané době automaticky odstranily. Můžete například nastavit zásadu uchovávání informací, která automaticky odstraní protokoly starší než 90 dnů.

Pomocí Azure CLI použijte příkaz az monitor diagnostic-settings update .

az monitor diagnostic-settings update --name "Key vault retention policy" --resource "<key-vault-resource-id>" --set retentionPolicy.days=90

Přístup k vašim protokolům

Vaše Key Vault protokoly jsou v kontejneru insights-logs-auditevent v zadaném účtu úložiště. Pokud chcete zobrazit protokoly, musíte stáhnout objekty blob.

Nejprve vypište všechny objekty blob v kontejneru. Pomocí Azure CLI použijte příkaz az storage blob list .

az storage blob list --account-name "<your-unique-storage-account-name>" --container-name "insights-logs-auditevent"

S Azure PowerShell použijte Get-AzStorageBlob. Pokud chcete zobrazit seznam všech objektů blob v tomto kontejneru, zadejte:

Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context

Ve výstupu příkazu Azure CLI nebo rutiny Azure PowerShell vidíte, že názvy objektů blob jsou v následujícím formátu: resourceId=<ARM resource ID>/y=<year>/m=<month>/d=<day of month>/h=<hour>/m=<minute>/filename.json Hodnoty data a času používají koordinovaný univerzální čas.

Vzhledem k tomu, že ke shromažďování protokolů pro více prostředků můžete použít stejný účet úložiště, je úplné ID prostředku v názvu objektu blob užitečné pro přístup nebo stažení jenom požadovaných objektů blob.

Nejdřív ale stáhněte všechny objekty blob. Pomocí Azure CLI použijte příkaz az storage blob download , předejte ho názvy objektů blob a cestu k souboru, do kterého chcete výsledky uložit.

az storage blob download --container-name "insights-logs-auditevent" --file <path-to-file> --name "<blob-name>" --account-name "<your-unique-storage-account-name>"

Pomocí Azure PowerShell pomocí rutiny Gt-AzStorageBlobs získejte seznam objektů blob. Potom tento seznam předejte rutině Get-AzStorageBlobContent a stáhněte si protokoly do zvolené cesty.

$blobs = Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context | Get-AzStorageBlobContent -Destination "<path-to-file>"

Při spuštění této druhé rutiny v PowerShellu / vytvoří oddělovač názvů objektů blob úplnou strukturu složek v cílové složce. Tuto strukturu použijete ke stažení a uložení objektů blob jako souborů.

Chcete-li stahovat objekty blob selektivně, použijte zástupné znaky. Příklad:

  • Máte-li více trezorů klíčů a chcete stáhnout pouze protokoly pro jeden trezor klíčů s názvem CONTOSOKEYVAULT3:

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/VAULTS/CONTOSOKEYVAULT3
    
  • Máte-li více skupin prostředků a chcete stáhnout pouze protokoly pro jednu skupinu prostředků, použijte -Blob '*/RESOURCEGROUPS/<resource group name>/*':

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/RESOURCEGROUPS/CONTOSORESOURCEGROUP3/*'
    
  • Pokud chcete stáhnout všechny protokoly za měsíc leden 2019, použijte -Blob '*/year=2019/m=01/*':

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/year=2016/m=01/*'
    

Použití protokolů Azure Monitoru

Ke kontrole Key Vault AuditEvent protokolů můžete použít řešení Key Vault v protokolech služby Azure Monitor. K analýze dat a získání informací, které potřebujete, v protokolech Azure Monitoru použijete dotazy na protokoly. Další informace najdete v tématu Monitorování Key Vault.

Další kroky

  • Koncepční informace, včetně toho, jak interpretovat protokoly Key Vault, najdete v tématu Key Vault protokolování.
  • Další informace o používání služby Azure Monitor ve vašem trezoru klíčů najdete v tématu Monitorování Key Vault.