Włączanie rejestrowania Key Vault

Po utworzeniu co najmniej jednego magazynu kluczy warto monitorować sposób i czas uzyskiwania dostępu do magazynów kluczy oraz przez kogo. Aby uzyskać szczegółowe informacje na temat funkcji, zobacz Rejestrowanie w usłudze Azure Key Vault.

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 lub nieprawidłowych żądań.
  • Operacje na samym magazynie kluczy, w tym tworzenie, usuwanie, ustawianie zasad dostępu do magazynu kluczy i aktualizowanie atrybutów magazynu kluczy, takich jak tagi.
  • Operacje na kluczach i wpisach tajnych w magazynie kluczy, w tym:
    • Tworzenie, modyfikowanie lub usuwanie tych kluczy lub wpisów tajnych.
    • Podpisywanie, weryfikowanie, szyfrowanie, odszyfrowywanie, opakowywanie i odpakowywanie kluczy, pobieranie wpisów tajnych oraz wyświetlanie listy kluczy i wpisów tajnych (oraz ich wersji).
  • Nieuwierzytelnione żądania, które powodują uzyskanie odpowiedzi 401. Przykłady to żądania, które nie mają tokenu elementu nośnego, które są źle sformułowane lub wygasły lub które mają nieprawidłowy token.
  • Azure Event Grid zdarzenia powiadomień dla następujących warunków: wygasły, bliskie wygaśnięcie i zmienione zasady dostępu do magazynu (zdarzenie nowej wersji nie jest rejestrowane). Zdarzenia są rejestrowane, nawet jeśli istnieje subskrypcja zdarzeń utworzona w magazynie kluczy. Aby uzyskać więcej informacji, zobacz Azure Key Vault jako źródło usługi Event Grid.

Wymagania wstępne

Do ukończenia tego samouczka potrzebny jest magazyn kluczy platformy Azure. Nowy magazyn kluczy można utworzyć przy użyciu jednej z następujących metod:

Będziesz również potrzebować miejsca docelowego dla dzienników. Może to być istniejące lub nowe konto usługi Azure Storage i/lub obszar roboczy usługi Log Analytics.

Ważne

Jeśli używasz istniejącego konta usługi Azure Storage lub obszaru roboczego usługi Log Analytics, musi ona znajdować się w tej samej subskrypcji co magazyn kluczy. Musi również używać modelu wdrażania usługi Azure Resource Manager, a nie klasycznego modelu wdrażania.

Jeśli tworzysz nowe konto usługi Azure Storage lub obszar roboczy usługi Log Analytics, zalecamy utworzenie go w tej samej grupie zasobów co magazyn kluczy w celu ułatwienia zarządzania.

Nowe konto usługi Azure Storage można utworzyć przy użyciu jednej z następujących metod:

Nowy obszar roboczy usługi Log Analytics można utworzyć przy użyciu jednej z następujących metod:

Nawiązywanie połączenia z subskrypcją Key Vault

Pierwszym krokiem konfigurowania rejestrowania kluczy jest nawiązanie połączenia z subskrypcją zawierającą magazyn kluczy. Jest to szczególnie ważne, jeśli masz wiele subskrypcji skojarzonych z kontem.

Za pomocą interfejsu wiersza polecenia platformy Azure możesz wyświetlić wszystkie subskrypcje przy użyciu polecenia az account list . Następnie nawiąż połączenie z jednym za pomocą polecenia az account set :

az account list

az account set --subscription "<subscriptionID>"

Za pomocą Azure PowerShell można najpierw wyświetlić listę subskrypcji przy użyciu polecenia cmdlet Get-AzSubscription. Następnie nawiąż połączenie z jednym za pomocą polecenia cmdlet Set-AzContext :

Get-AzSubscription

Set-AzContext -SubscriptionId "<subscriptionID>"

Uzyskiwanie identyfikatorów zasobów

Aby włączyć rejestrowanie w magazynie kluczy, potrzebny będzie identyfikator zasobu magazynu kluczy, a także miejsce docelowe (konto usługi Azure Storage lub Log Analytics).

Jeśli nie pamiętasz nazwy magazynu kluczy, możesz użyć polecenia az keyvault list interfejsu wiersza polecenia platformy Azure lub polecenia cmdlet Azure PowerShell Get-AzKeyVault, aby go znaleźć.

Użyj nazwy magazynu kluczy, aby znaleźć jego identyfikator zasobu. Za pomocą interfejsu wiersza polecenia platformy Azure użyj polecenia az keyvault show .

az keyvault show --name "<your-unique-keyvault-name>"

W przypadku Azure PowerShell użyj polecenia cmdlet Get-AzKeyVault.

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

Identyfikator zasobu magazynu kluczy ma następujący format: "/subscriptions/your-subscription-ID/resourceGroups/myResourceGroups/providers/Microsoft.KeyVault/vaults/your-unique-keyvault-name. Zanotuj go w następnym kroku.

Włącz rejestrowanie

Rejestrowanie dla Key Vault można włączyć przy użyciu interfejsu wiersza polecenia platformy Azure, Azure PowerShell lub Azure Portal.

Interfejs wiersza polecenia platformy Azure

Użyj polecenia az monitor diagnostic-settings create interfejsu wiersza polecenia platformy Azure, identyfikatora konta magazynu i identyfikatora zasobu magazynu kluczy w następujący sposób:

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}]'

Opcjonalnie można ustawić zasady przechowywania dzienników, aby starsze dzienniki zostały automatycznie usunięte po upływie określonego czasu. Można na przykład ustawić zasady przechowywania, które automatycznie usuwają dzienniki starsze niż 90 dni.

Za pomocą interfejsu wiersza polecenia platformy Azure użyj polecenia az monitor diagnostic-settings update .

az monitor diagnostic-settings update --name "Key vault retention policy" --resource "<key-vault-resource-id>" --set retentionPolicy.days=90

Uzyskiwanie dostępu do dzienników

Dzienniki Key Vault znajdują się w kontenerze insights-logs-auditevent na podanym koncie magazynu. Aby wyświetlić dzienniki, należy pobrać obiekty blob.

Najpierw wyświetl listę wszystkich obiektów blob w kontenerze. Za pomocą interfejsu wiersza polecenia platformy Azure użyj polecenia az storage blob list .

az storage blob list --account-name "<your-unique-storage-account-name>" --container-name "insights-logs-auditevent"

W przypadku Azure PowerShell użyj polecenia Get-AzStorageBlob. Aby wyświetlić listę wszystkich obiektów blob w tym kontenerze, wprowadź:

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

Z danych wyjściowych polecenia interfejsu wiersza polecenia platformy Azure lub polecenia cmdlet Azure PowerShell widać, że nazwy obiektów blob mają następujący format: resourceId=<ARM resource ID>/y=<year>/m=<month>/d=<day of month>/h=<hour>/m=<minute>/filename.json. Wartości daty i godziny używają uniwersalnego czasu koordynowanego.

Ponieważ można użyć tego samego konta magazynu do zbierania dzienników dla wielu zasobów, pełny identyfikator zasobu w nazwie obiektu blob jest przydatny do uzyskiwania dostępu do obiektów blob lub pobierania tylko potrzebnych obiektów blob.

Ale najpierw pobierz wszystkie obiekty blob. Za pomocą interfejsu wiersza polecenia platformy Azure użyj polecenia az storage blob download , przekaż nazwy obiektów blob i ścieżkę do pliku, w którym chcesz zapisać wyniki.

az storage blob download --container-name "insights-logs-auditevent" --file <path-to-file> --name "<blob-name>" --account-name "<your-unique-storage-account-name>"

W przypadku Azure PowerShell użyj polecenia cmdlet Gt-AzStorageBlobs, aby uzyskać listę obiektów blob. Następnie przekaż listę do polecenia cmdlet Get-AzStorageBlobContent , aby pobrać dzienniki do wybranej ścieżki.

$blobs = Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context | Get-AzStorageBlobContent -Destination "<path-to-file>"

Po uruchomieniu tego drugiego polecenia cmdlet w programie PowerShell / ogranicznik w nazwach obiektów blob tworzy pełną strukturę folderów w folderze docelowym. Ta struktura będzie używana do pobierania i przechowywania obiektów blob jako plików.

Aby selektywnie pobierać obiekty blob, użyj symboli wieloznacznych. Przykład:

  • Jeśli masz wiele magazynów kluczy i chcesz pobrać dzienniki dla tylko jednego magazynu kluczy o nazwie CONTOSOKEYVAULT3:

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/VAULTS/CONTOSOKEYVAULT3
    
  • Jeśli masz wiele grup zasobów i chcesz pobrać dzienniki dla tylko jednej grupy zasobów, użyj parametru -Blob '*/RESOURCEGROUPS/<resource group name>/*':

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/RESOURCEGROUPS/CONTOSORESOURCEGROUP3/*'
    
  • Jeśli chcesz pobrać wszystkie dzienniki z miesiąca stycznia 2019 r., użyj polecenia -Blob '*/year=2019/m=01/*':

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/year=2016/m=01/*'
    

Korzystanie z dzienników usługi Azure Monitor

Aby przejrzeć dzienniki Key VaultAuditEvent, możesz użyć rozwiązania Key Vault w dziennikach usługi Azure Monitor. W dziennikach usługi Azure Monitor zapytania dzienników są używane do analizowania danych i uzyskiwania potrzebnych informacji. Aby uzyskać więcej informacji, zobacz Monitorowanie Key Vault.

Następne kroki

  • Aby uzyskać informacje koncepcyjne, w tym sposób interpretowania dzienników Key Vault, zobacz Key Vault rejestrowania.
  • Aby dowiedzieć się więcej na temat korzystania z usługi Azure Monitor w magazynie kluczy, zobacz Monitorowanie Key Vault.