Włączanie Key Vault rejestrowania danych

Po utworzeniu co najmniej jednego magazynu kluczy prawdopodobnie będziesz chcieć monitorować sposób i czas dostępu do magazynów kluczy oraz ich użytkowników. Aby uzyskać szczegółowe informacje na temat tej funkcji, zobacz Azure Key Vault rejestrowania.

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 nieudanych żądań.
  • Operacje na samym magazynie kluczy, w tym tworzenie, usuwanie, ustawianie zasad dostępu 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 okaziciela, które są źle sformułowane lub wygasły albo które mają nieprawidłowy token.
  • Azure Event Grid zdarzenia powiadomień dla następujących warunków: wygasłe, bliskie wygaśnięcia i zmienione zasady dostępu do magazynu (zdarzenie nowej wersji nie jest rejestrowane). Zdarzenia są rejestrowane, nawet jeśli w magazynie kluczy została utworzona subskrypcja zdarzeń. Aby uzyskać więcej informacji, zobacz Azure Key Vault as Event Grid source(

Wymagania wstępne

Do ukończenia tego samouczka niezbędne są następujące elementy:

  • Istniejący magazyn kluczy, który był przez Ciebie używany.
  • Azure Cloud Shell — środowisko powłoki Bash.
  • Wystarczająca ilość miejsca w magazynie platformy Azure dla dzienników usługi Key Vault.

W tym artykule polecenia są formatowane na Cloud Shell z powłoką Bash jako środowiskiem.

Połączenie do subskrypcji Key Vault subskrypcji

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 za pomocą polecenia az account list. Następnie połączysz się z jednym z nich za pomocą polecenia az account set:

az account list

az account set --subscription "<subscriptionID>"

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

Get-AzSubscription

Set-AzContext -SubscriptionId "<subscriptionID>"

Tworzenie konta magazynu dla dzienników

Możesz użyć istniejącego konta magazynu dla dzienników, ale w tym miejscu utworzysz nowe konto magazynu przeznaczone dla Key Vault magazynu.

Aby ułatwić zarządzanie, użyjesz również tej samej grupy zasobów, która zawiera magazyn kluczy. W przewodniku Szybki start interfejsu wiersza polecenia platformy Azure Azure PowerShell szybkistart ta grupa zasobów nosi nazwę myResourceGroup, a lokalizacja to eastus. Zastąp te wartości własnymi, zgodnie z potrzebami.

Należy również podać nazwę konta magazynu. Storage konta muszą być unikatowe (od 3 do 24 znaków) i używać tylko cyfr i małych liter. Na koniec utworzysz konto magazynu dla tej Standard_LRS sku.

Za pomocą interfejsu wiersza polecenia platformy Azure użyj polecenia az storage account create.

az storage account create --name "<your-unique-storage-account-name>" -g "myResourceGroup" --sku "Standard_LRS"

W Azure PowerShell polecenia cmdlet New-AzStorageAccount. Należy podać lokalizację odpowiadającą grupie zasobów.

 New-AzStorageAccount -ResourceGroupName myResourceGroup -Name "<your-unique-storage-account-name>" -Type "Standard_LRS" -Location "eastus"

W obu przypadkach zanotuj identyfikator konta magazynu. Operacja interfejsu wiersza polecenia platformy Azure zwraca identyfikator w danych wyjściowych. Aby uzyskać identyfikator za pomocą Azure PowerShell, użyj get-AzStorageAccounti przypisz dane wyjściowe do zmiennej $sa . Następnie możesz wyświetlić konto magazynu za $sa.id pomocą . (Właściwość $sa.Context jest również używana w dalszej części tego artykułu).

$sa = Get-AzStorageAccount -Name "<your-unique-storage-account-name>" -ResourceGroup "myResourceGroup"
$sa.id

Identyfikator konta magazynu ma następujący format: "/subscriptions/your-subscription-ID/resourceGroups/myResourceGroup/providers/Microsoft. Storage/storageAccounts/your-unique-storage-account-name".

Uwaga

Jeśli zdecydujesz się użyć istniejącego konta magazynu, musi ono korzystać z tej samej subskrypcji co magazyn kluczy. Musi ona używać Azure Resource Manager wdrożenia, a nie klasycznego modelu wdrażania.

Uzyskiwanie identyfikatora zasobu magazynu kluczy

W przewodniku Szybki start interfejsu wiersza polecenia i przewodniku Szybki start programu PowerShellutworzono klucz o unikatowej nazwie. Użyj tej nazwy ponownie w poniższych krokach. 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 je wyświetlić.

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 Azure PowerShell 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/myResourceGroup/providers/Microsoft.KeyVault/vaults/your-unique-keyvault-name. Zanotuj ją w następnym kroku.

Włącz rejestrowanie

Rejestrowanie można włączyć dla Key Vault 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 dla 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 dostarczonym koncie magazynu. Aby wyświetlić dzienniki, musisz pobrać obiekty blob.

Najpierw należy wyświetlić 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 Azure PowerShell użyj 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 Azure PowerShell polecenia cmdlet można zobaczyć, ż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 Uniwersalny czas koordynowany.

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

Najpierw jednak pobierz wszystkie obiekty blob. Za pomocą interfejsu wiersza polecenia platformy Azure użyj polecenia az storage blob download, przekaż do niego 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>"

Za Azure PowerShell użyj polecenia cmdlet Gt-AzStorageBlobs, aby uzyskać listę obiektów blob. Następnie potokiem tej listy jest polecenie 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 drugiego polecenia cmdlet w programie PowerShell ogranicznik w nazwach obiektów blob tworzy pełną / strukturę folderów w folderze docelowym. Użyjesz tej struktury do pobierania i przechowywania obiektów blob jako plików.

Aby selektywnie pobierać obiekty blob, użyj symboli wieloznacznych. Na 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 ze stycznia 2019 r., użyj ciągu -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

Możesz użyć rozwiązania Key Vault w dziennikach Azure Monitor, aby przejrzeć Key Vault AuditEvent dzienników. W Azure Monitor dziennikach zapytania dzienników są wykorzystywane do analizowania danych i uzyskania potrzebnych informacji. Aby uzyskać więcej informacji, zobacz Monitorowanie Key Vault.

Następne kroki