Povolení protokolování služby 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 protokolování služby 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 trezoru klíčů a aktualizace atributů trezoru klíčů, jako jsou značky.
  • Operace s klíči a tajnými klíči 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říkladem jsou požadavky, které nemají nosný token, jsou poškozené nebo prošlé platnosti nebo mají neplatný token.
  • Události oznámení služby Azure Event Grid pro následující podmínky: vypršela platnost, blíží se vypršení platnosti a změna zásad přístupu k trezoru (událost nové verze se nezaprotokoluje). Události se protokolují i v případě, že je v trezoru klíčů vytvořený odběr událostí. Další informace najdete ve službě 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 protokolů. Cílem může být existující nebo nový účet úložiště Azure nebo pracovní prostor služby Log Analytics.

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

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

Připojení k předplatnému služby Key Vault

Prvním krokem při nastavování protokolování klíče 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 PowerShellu můžete nejprve vypsat svá předplatná 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 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>"

Pomocí Azure PowerShellu použijte rutinu Get-AzKeyVault .

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

ID prostředku pro váš trezor 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 službu Key Vault můžete povolit pomocí Azure CLI, Azure PowerShellu nebo webu Azure Portal.

Azure CLI

Pomocí příkazu az monitor diagnostic-settings create , ID účtu úložiště a ID prostředku trezoru klíčů použijte následující příkaz:

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ásady 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 protokolům

Protokoly služby Key Vault jsou v kontejneru insights-logs-auditevent v účtu úložiště, který jste zadali. 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"

Pomocí Azure PowerShellu 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

Ve výstupu příkazu Azure CLI nebo rutiny Azure PowerShellu 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 k potřebným objektům blob nebo jejich stažení.

Nejprve 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, kam 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 PowerShellu pomocí rutiny Get-AzStorageBlob získejte seznam objektů blob. Pak 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>"

Když spustíte tuto druhou rutinu v PowerShellu, / oddělovač v názvech objektů blob vytvoří ú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ů služby Key Vault AuditEvent 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í služby Key Vault.

Další kroky