Protokolování spravovaných HSM

Po vytvoření jednoho nebo několika spravovaných HSM budete pravděpodobně chtít monitorovat, jak a kdy budou vaše moduly hardwarového zabezpečení přístupné a kdo. Můžete to provést povolením protokolování, které ukládá informace do účtu úložiště Azure, který zadáte. Pro zadaný účet úložiště se automaticky vytvoří nový kontejner s názvem insights-logs-auditevent . Stejný účet úložiště můžete použít ke shromažďování protokolů pro více spravovaných HSM.

K informacím o protokolování se dostanete maximálně 10 minut po operaci spravovaného HSM. Ve většině případů to bude rychlejší. Správa protokolů v účtu úložiště je pouze na vás:

  • Zabezpečte protokoly pomocí standardních metod řízení přístupu Azure a určete, kdo k nim má přístup.
  • Odstraňte protokoly, které už nechcete uchovávat v účtu úložiště.

Tento kurz vám pomůže začít s protokolováním spravovaného HSM. Vytvoříte účet úložiště, povolíte protokolování a interpretujete shromážděné informace protokolu.

Poznámka:

Tento kurz neobsahuje pokyny k vytváření spravovaných HSM nebo klíčů. Tento článek obsahuje pokyny k aktualizaci protokolování diagnostiky v Azure CLI.

Požadavky

K dokončení kroků v tomto článku musíte mít následující položky:

Azure Cloud Shell

Azure hostí interaktivní prostředí Azure Cloud Shell, které můžete používat v prohlížeči. Pro práci se službami Azure můžete v prostředí Cloud Shell použít buď Bash, nebo PowerShell. Předinstalované příkazy Cloud Shellu můžete použít ke spuštění kódu v tomto článku, aniž byste museli instalovat cokoli do místního prostředí.

Spuštění služby Azure Cloud Shell:

Možnost Příklad nebo odkaz
Vyberte Vyzkoušet v pravém horním rohu bloku kódu nebo příkazu. Výběrem možnosti Vyzkoušet se kód ani příkaz automaticky nekopíruje do Cloud Shellu. Snímek obrazovky znázorňující příklad možnosti Vyzkoušet pro Azure Cloud Shell
Přejděte na adresu https://shell.azure.com nebo výběrem tlačítka Spustit Cloud Shell otevřete Cloud Shell v prohlížeči. Tlačítko pro spuštění Azure Cloud Shellu
Zvolte tlačítko Cloud Shell v pruhu nabídky v pravém horním rohu webu Azure Portal. Snímek obrazovky znázorňující tlačítko Cloud Shell na webu Azure Portal

Použití Azure Cloud Shellu:

  1. Spusťte Cloud Shell.

  2. Výběrem tlačítka Kopírovat v bloku kódu (nebo bloku příkazů) zkopírujte kód nebo příkaz.

  3. Vložte kód nebo příkaz do relace Cloud Shellu tak, že ve Windows a Linuxu vyberete ctrl+Shift+V nebo vyberete Cmd+Shift+V v macOS.

  4. Stisknutím klávesy Enter spusťte kód nebo příkaz.

Připojení k předplatnému Azure

Prvním krokem při nastavování protokolování klíče je nasměrovat Azure CLI na spravovaný HSM, který chcete protokolovat.

az login

Další informace o možnostech přihlášení prostřednictvím rozhraní příkazového řádku najdete v článku o přihlášení pomocí Azure CLI.

Možná budete muset zadat předplatné, které jste použili k vytvoření spravovaného HSM. Zadáním následujícího příkazu zobrazíte předplatná pro váš účet:

Identifikace spravovaného HSM a účtu úložiště

hsmresource=$(az keyvault show --hsm-name ContosoMHSM --query id -o tsv)
storageresource=$(az storage account show --name ContosoMHSMLogs --query id -o tsv)

Povolit protokolování

Pokud chcete povolit protokolování pro spravovaný HSM, použijte příkaz az monitor diagnostic-settings create spolu s proměnnými, které jsme vytvořili pro nový účet úložiště a spravovaný HSM. Také nastavíme příznak -Enabled na $true a kategorii nastavíme na AuditEvent (jediná kategorie pro protokolování spravovaného HSM):

Tento výstup potvrdí, že je teď pro spravovaný HSM povolené protokolování a uloží informace do vašeho účtu úložiště.

Volitelně můžete nastavit zásady uchovávání informací pro protokoly tak, aby se starší protokoly automaticky odstranily. Například nastavením příznaku -RetentionEnabled na $true a nastavením parametru -RetentionInDays na hodnotu 90 , aby se automaticky odstranily protokoly starší než 90 dnů.

az monitor diagnostic-settings create --name ContosoMHSM-Diagnostics --resource $hsmresource --logs '[{"category": "AuditEvent","enabled": true}]' --storage-account $storageresource

Co je protokolováno:

  • 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, bloků brány firewall nebo chybných požadavků.
  • Operace spravované roviny na samotném prostředku spravovaného HSM, včetně vytváření, odstraňování a aktualizace atributů, jako jsou značky.
  • Operace související s doménou zabezpečení, jako jsou inicializace a stahování, inicializace obnovení, nahrávání
  • Úplné operace zálohování, obnovení a selektivního obnovení HSM
  • Operace správy rolí, jako jsou vytvoření, zobrazení, odstranění přiřazení rolí a vytvoření, zobrazení nebo odstranění vlastních definic rolí
  • Operace s klíči, včetně:
    • Vytváření, úpravy nebo odstraňování klíčů
    • Podepisování, ověřování, šifrování, dešifrování, zabalení a rozbalení klíčů, výpis klíčů.
    • Zálohování klíčů, obnovení, vymazání
    • Vydání klíče
  • Neplatné cesty, které vedou k odpovědi 404.

Přístup k protokolům

Spravované protokoly HSM se ukládají v kontejneru insights-logs-auditevent v účtu úložiště, který jste zadali. Pokud chcete zobrazit protokoly, musíte stáhnout objekty blob. Informace o službě Azure Storage najdete v tématu Vytvoření, stažení a výpis objektů blob pomocí Azure CLI.

Jednotlivé objekty blob se ukládají jako text ve formátu JSON. Podívejme se na příklad položky protokolu. Následující příklad ukazuje položku protokolu, když se do spravovaného HSM odešle požadavek na vytvoření úplné zálohy.

[
  {
    "TenantId": "{tenant-id}",
    "time": "2020-08-31T19:52:39.763Z",
    "resourceId": "/SUBSCRIPTIONS/{subscription-id}/RESOURCEGROUPS/CONTOSORESOURCEGROUP/PROVIDERS/MICROSOFT.KEYVAULT/MANAGEDHSMS/CONTOSOMHSM",
    "operationName": "BackupCreate",
    "operationVersion": "7.0",
    "category": "AuditEvent",
    "resultType": "Success",
    "properties": {
        "PoolType": "M-HSM",
        "sku_Family": "B",
        "sku_Name": "Standard_B1"
    },
    "durationMs": 488,
    "callerIpAddress": "X.X.X.X",
    "identity": "{\"claim\":{\"appid\":\"{application-id}\",\"http_schemas_microsoft_com_identity\":{\"claims\":{\"objectidentifier\":\"{object-id}\"}},\"http_schemas_xmlsoap_org_ws_2005_05_identity\":{\"claims\":{\"upn\":\"admin@contoso.com\"}}}}",
    "clientInfo": "azsdk-python-core/1.7.0 Python/3.8.2 (Linux-4.19.84-microsoft-standard-x86_64-with-glibc2.29) azsdk-python-azure-keyvault/7.2",
    "correlationId": "8806614c-ebc3-11ea-9e9b-00155db778ad",
    "subnetId": "(unknown)",
    "httpStatusCode": 202,
    "PoolName": "mhsmdemo",
    "requestUri": "https://ContosoMHSM.managedhsm.azure.net/backup",
    "resourceGroup": "ContosoResourceGroup",
    "resourceProvider": "MICROSOFT.KEYVAULT",
    "resource": "ContosoMHSM",
    "resourceType": "managedHSMs"
  }
]

Další kroky