Hanterad HSM-loggning

När du har skapat en eller flera hanterade HSM:er vill du förmodligen övervaka hur och när dina HSM:er används och av vem. Du kan göra detta genom att aktivera loggning, vilket sparar information i ett Azure-lagringskonto som du anger. En ny container med namnet insights-logs-auditevent skapas automatiskt för ditt angivna lagringskonto. Du kan använda samma lagringskonto för att samla in loggar för flera hanterade HSM:er.

Du kan komma åt loggningsinformationen 10 minuter (högst) efter den hanterade HSM-åtgärden. Oftast är informationen dock tillgänglig snabbare än så. Det är upp till dig att hantera loggarna i ditt lagringskonto:

  • Använd standardåtkomstmetoder i Azure för att skydda loggarna genom att begränsa vem som kan komma åt dem.
  • Ta bort loggar som du inte vill behålla i ditt lagringskonto.

Använd den här självstudien för att komma igång med Hanterad HSM-loggning. Du skapar ett lagringskonto, aktiverar loggning och tolkar den insamlade logginformationen.

Kommentar

Den här självstudien innehåller inte instruktioner för hur du skapar hanterade HSM:er eller nycklar. Den här artikeln innehåller Azure CLI-instruktioner för uppdatering av diagnostikloggning.

Förutsättningar

För att slutföra stegen i den här artikeln måste du ha följande:

Azure Cloud Shell

Azure är värd för Azure Cloud Shell, en interaktiv gränssnittsmiljö som du kan använda via webbläsaren. Du kan använda antingen Bash eller PowerShell med Cloud Shell för att arbeta med Azure-tjänster. Du kan använda förinstallerade Cloud Shell-kommandon för att köra koden i den här artikeln, utan att behöva installera något i din lokala miljö.

Så här startar du Azure Cloud Shell:

Alternativ Exempel/länk
Välj Prova i det övre högra hörnet i en kod eller ett kommandoblock. Om du väljer Prova kopieras inte koden eller kommandot automatiskt till Cloud Shell. Skärmbild som visar ett exempel på Try It for Azure Cloud Shell.
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. Knapp för att starta Azure Cloud Shell.
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. Skärmbild som visar Cloud Shell-knappen i Azure-portalen

Så här använder du Azure Cloud Shell:

  1. Starta Cloud Shell.

  2. Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.

  3. Klistra in koden eller kommandot i Cloud Shell-sessionen genom att välja Ctrl+Skift+V i Windows och Linux, eller genom att välja Cmd+Shift+V på macOS.

  4. Välj Retur för att köra koden eller kommandot.

Ansluta till din Azure-prenumeration

Det första steget när du konfigurerar nyckelloggning är att peka Azure CLI till den hanterade HSM som du vill logga.

az login

Mer information om inloggningsalternativen via CLI finns i Logga in med Azure CLI

Du kan behöva ange den prenumeration som du använde för att skapa din hanterade HSM. Ange följande kommando för att se prenumerationerna för ditt konto:

Identifiera det hanterade HSM- och lagringskontot

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

Aktivera loggning

Om du vill aktivera loggning för Managed HSM använder du kommandot az monitor diagnostic-settings create tillsammans med de variabler som vi skapade för det nya lagringskontot och managed HSM. Vi ställer också in flaggan -Enabled till $true och anger kategorin till AuditEvent (den enda kategorin för Hanterad HSM-loggning):

Det här utdata bekräftar att loggning nu är aktiverat för din hanterade HSM och att den sparar information till ditt lagringskonto.

Du kan också ange en kvarhållningsprincip för dina loggar så att äldre loggar tas bort automatiskt. Ange till exempel kvarhållningsprincipen genom att ange flaggan -RetentionEnabled till $true och ange parametern -RetentionInDays till 90 så att loggar som är äldre än 90 dagar tas bort automatiskt.

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

Vad loggas:

  • Alla autentiserade REST API-begäranden, inklusive misslyckade begäranden till följd av åtkomstbehörigheter, systemfel, brandväggsblock eller felaktiga begäranden.
  • Hanterade planåtgärder på själva den hanterade HSM-resursen, inklusive skapande, borttagning och uppdatering av attribut som taggar.
  • Säkerhetsdomänrelaterade åtgärder som att initiera och ladda ned, initiera återställning, ladda upp
  • Fullständiga HSM-säkerhetskopierings-, återställnings- och selektiva återställningsåtgärder
  • Rollhanteringsåtgärder som att skapa/visa/ta bort rolltilldelningar och skapa/visa/ta bort anpassade rolldefinitioner
  • Åtgärder på nycklar, inklusive:
    • Skapa, ändra eller ta bort nycklarna.
    • Signera, verifiera, kryptera, dekryptera, omsluta och packa upp nycklar, visa en lista över nycklar.
    • Nyckelsäkerhetskopiering, återställning, rensning
    • Nyckelversion
  • Ogiltiga sökvägar som resulterar i ett 404-svar.

Komma åt loggarna

Hanterade HSM-loggar lagras i containern insights-logs-auditevent i lagringskontot som du angav. Om du vill visa loggarna måste du ladda ned blobar. Information om Azure Storage finns i Skapa, ladda ned och lista blobar med Azure CLI.

Enskilda blobar lagras som text, formaterade som en JSON. Nu ska vi titta på en exempelloggpost. Exemplet nedan visar loggposten när en begäran om att skapa en fullständig säkerhetskopia skickas till den hanterade HSM:en.

[
  {
    "TenantId": "766eaf62-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "time": "2020-08-31T19:52:39.763Z",
    "resourceId": "/SUBSCRIPTIONS/A1BA9AAA-xxxx-xxxx-xxxx-xxxxxxxxxxxx/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\":\"04b07795-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\"http_schemas_microsoft_com_identity\":{\"claims\":{\"objectidentifier\":\"b1c52bf0-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"}},\"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"
  }
]

Nästa steg