Rejestrowanie zarządzanego modułu HSM

Po utworzeniu co najmniej jednego zarządzanego modułu HSM prawdopodobnie zechcesz monitorować sposób i czas uzyskiwania dostępu do modułów HSM oraz przez kogo. Możesz to zrobić, włączając rejestrowanie, które zapisuje informacje na podanym koncie usługi Azure Storage. Nowy kontener o nazwie insights-logs-auditevent jest tworzony automatycznie dla określonego konta magazynu. Tego samego konta magazynu można użyć do zbierania dzienników dla wielu zarządzanych modułów HSM.

Dostęp do informacji rejestrowania można uzyskać przez 10 minut (co najwyżej) po wykonaniu operacji zarządzanego modułu HSM. W większości przypadków czas będzie krótszy. To Ty zarządzasz dziennikami na swoim koncie magazynu:

  • Użyj standardowych metod kontroli dostępu platformy Azure w celu zabezpieczenia dzienników, wprowadzając ograniczenia co do tego, kto może uzyskiwać do nich dostęp.
  • Usuń dzienniki, których nie chcesz już przechowywać na koncie magazynu.

Skorzystaj z tego samouczka, aby ułatwić rozpoczęcie pracy z rejestrowaniem zarządzanego modułu HSM. Utworzysz konto magazynu, włączysz rejestrowanie i zinterpretujesz zebrane informacje dziennika.

Uwaga

Ten samouczek nie zawiera instrukcji dotyczących tworzenia zarządzanych modułów HSM lub kluczy. Ten artykuł zawiera instrukcje interfejsu wiersza polecenia platformy Azure dotyczące aktualizowania rejestrowania diagnostycznego.

Wymagania wstępne

Aby wykonać kroki opisane w tym artykule, musisz mieć następujące elementy:

Azure Cloud Shell

Na platforma Azure hostowane jest Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać w przeglądarce. Do pracy z usługami platformy Azure można używać programu Bash lub PowerShell w środowisku Cloud Shell. Aby uruchomić kod w tym artykule, możesz użyć wstępnie zainstalowanych poleceń usługi Cloud Shell bez konieczności instalowania niczego w środowisku lokalnym.

Aby uruchomić środowisko Azure Cloud Shell:

Opcja Przykład/link
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu lub polecenia. Wybranie pozycji Wypróbuj nie powoduje automatycznego skopiowania kodu lub polecenia do usługi Cloud Shell. Zrzut ekranu przedstawiający przykład narzędzia Try It dla usługi Azure Cloud Shell.
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. Przycisk uruchamiania usługi Azure Cloud Shell.
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. Zrzut ekranu przedstawiający przycisk usługi Cloud Shell w witrynie Azure Portal

Aby użyć usługi Azure Cloud Shell:

  1. Uruchom usługę Cloud Shell.

  2. Wybierz przycisk Kopiuj w bloku kodu (lub bloku poleceń), aby skopiować kod lub polecenie.

  3. Wklej kod lub polecenie do sesji usługi Cloud Shell, wybierając klawisze Ctrl+Shift V w systemach Windows i Linux lub wybierając pozycję Cmd+Shift++V w systemie macOS.

  4. Wybierz klawisz Enter, aby uruchomić kod lub polecenie.

Nawiązywanie połączenia z subskrypcją platformy Azure

Pierwszym krokiem konfigurowania rejestrowania kluczy jest skierowanie interfejsu wiersza polecenia platformy Azure do zarządzanego modułu HSM, który chcesz zarejestrować.

az login

Aby uzyskać więcej informacji na temat opcji logowania za pośrednictwem interfejsu wiersza polecenia, zobacz Logowanie za pomocą interfejsu wiersza polecenia platformy Azure

Może być konieczne określenie subskrypcji użytej do utworzenia zarządzanego modułu HSM. Wprowadź następujące polecenie, aby wyświetlić subskrypcje twojego konta:

Identyfikowanie zarządzanego modułu HSM i konta magazynu

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

Włącz rejestrowanie

Aby włączyć rejestrowanie dla zarządzanego modułu HSM, użyj polecenia az monitor diagnostic-settings create wraz ze zmiennymi utworzonymi dla nowego konta magazynu i zarządzanym modułem HSM. Ustawimy również flagę -Enabled na $true i ustawimy kategorię na AuditEvent (jedyną kategorię dla rejestrowania zarządzanego modułu HSM):

Te dane wyjściowe potwierdzają, że rejestrowanie jest teraz włączone dla zarządzanego modułu HSM i spowoduje zapisanie informacji na koncie magazynu.

Opcjonalnie można ustawić zasady przechowywania dzienników, tak aby starsze dzienniki zostały automatycznie usunięte. Na przykład ustaw zasady przechowywania, ustawiając flagę -RetentionEnabled na $true i ustaw parametr -RetentionInDays na wartość 90, aby dzienniki starsze niż 90 dni zostały automatycznie usunięte.

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

Co jest rejestrowane:

  • Wszystkie uwierzytelnione żądania interfejsu API REST, w tym żądania, które zakończyły się niepowodzeniem w wyniku uprawnień dostępu, błędów systemowych, bloków zapory lub nieprawidłowych żądań.
  • Operacje płaszczyzny zarządzanej w samym zasobie zarządzanego modułu HSM, w tym tworzenie, usuwanie i aktualizowanie atrybutów, takich jak tagi.
  • Operacje związane z domeną zabezpieczeń, takie jak inicjowanie i pobieranie, inicjowanie odzyskiwania, przekazywanie
  • Operacje pełnej kopii zapasowej, przywracania i selektywnego przywracania modułu HSM
  • Operacje zarządzania rolami, takie jak tworzenie/wyświetlanie/usuwanie przypisań ról i tworzenie/wyświetlanie/usuwanie niestandardowych definicji ról
  • Operacje na kluczach, w tym:
    • Tworzenie, modyfikowanie lub usuwanie kluczy.
    • Podpisywanie, weryfikowanie, szyfrowanie, odszyfrowywanie, zawijanie i odpisanie kluczy, wyświetlanie listy kluczy.
    • Kopia zapasowa klucza, przywracanie, przeczyszczanie
    • Wydanie klucza
  • Nieprawidłowe ścieżki, które powodują odpowiedź 404.

Uzyskiwanie dostępu do dzienników

Dzienniki zarządzanego modułu HSM są przechowywane w kontenerze insights-logs-auditevent na podanym koncie magazynu. Aby wyświetlić dzienniki, musisz pobrać obiekty blob. Aby uzyskać informacje na temat usługi Azure Storage, zobacz Tworzenie, pobieranie i wyświetlanie listy obiektów blob za pomocą interfejsu wiersza polecenia platformy Azure.

Poszczególne obiekty blob są przechowywane jako tekst, sformatowane jako dane JSON. Przyjrzyjmy się przykładowej pozycji dziennika. W poniższym przykładzie pokazano wpis dziennika, gdy żądanie utworzenia pełnej kopii zapasowej jest wysyłane do zarządzanego modułu HSM.

[
  {
    "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"
  }
]

Następne kroki