Povolení protokolování Key Vault

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

Co se protokoluje:

  • Všechny ověřené požadavky rozhraní REST API, včetně neúspěšných požadavků v důsledku přístupových oprávnění, 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 k 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ě:
    • Vytvoření, úprava nebo odstraně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říkladem jsou požadavky, které nemají nosný token, jsou poškozené nebo vypršela jejich platnost 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ásady přístupu k trezoru (událost nové verze se nezaprotokoluje). Události se protokolují i v případě, že se v trezoru klíčů vytvořilo odběr událostí. Další informace najdete v tématu Azure Key Vault jako zdroj služby Event Grid.

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. Cílem může být existující nebo nový účet úložiště Azure nebo pracovní prostor služby Log Analytics.

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

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íčů, pokud máte k vašemu účtu přidružených více předplatných.

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>"

Pomocí 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í k trezoru klíčů, budete potřebovat ID prostředku trezoru klíčů a 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íčů. V 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í příkazu Azure CLI az monitor diagnostic-settings create , ID účtu úložiště a ID prostředku trezoru klíčů použijte následující:

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 pro své protokoly nastavit zásadu uchovávání informací, 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ů.

V 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 účtu úložiště, který jste zadali. Pokud chcete zobrazit protokoly, musíte si stáhnout objekty blob.

Nejprve vypište všechny objekty blob v kontejneru. V 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"

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

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

Z 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 objektů blob, které potřebujete.

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

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 získejte seznam objektů blob pomocí rutiny Get-AzStorageBlob. Pak tento seznam předejte do rutiny 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č v názvech 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 pro 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 protokolů Key Vault můžete použít řešení Key Vault v protokolech služby AuditEvent 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