Mengaktifkan penge-log-an Key Vault

Setelah membuat satu atau beberapa key vault, Anda mungkin ingin memantau bagaimana dan kapan key vault Anda diakses, dan oleh siapa. Untuk detail lengkap tentang fitur tersebut, lihat Penge-log-an Azure Key Vault.

Apa yang dicatat:

  • Semua permintaan REST API terautentikasi, termasuk permintaan yang gagal sebagai akibat dari izin akses, kesalahan sistem, atau permintaan yang buruk.
  • Operasi pada brankas kunci itu sendiri, termasuk pembuatan, penghapusan, pengaturan kebijakan brankas kunci, dan memperbarui atribut brankas kunci seperti tag.
  • Operasi pada kunci dan rahasia di brankas kunci, termasuk:
    • Membuat, memodifikasi, atau menghapus kunci atau rahasia ini.
    • Menandatangani, memverifikasi, mengenkripsi, mendekripsi, membungkus dan membongkar kunci, mendapatkan rahasia, serta mencantumkan kunci dan rahasia (dan versinya).
  • Permintaan yang tidak diautentikasi yang menghasilkan respons 401. Contohnya adalah permintaan yang tidak memiliki token pembawa, yang salah bentuk atau kedaluwarsa, atau yang memiliki token yang tidak valid.
  • Kejadian pemberitahuan Azure Event Grid untuk kondisi berikut: kedaluwarsa, hampir kedaluwarsa, dan kebijakan akses brankas yang diubah (kejadian versi baru tidak dicatat). Kejadian dicatat meskipun ada langganan kejadian yang dibuat di brankas kunci. Untuk informasi selengkapnya, lihat Azure Key Vault sebagai sumber Event Grid.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda harus memiliki:

  • brankas kunci yang ada yang selama ini Anda gunakan.
  • Azure Cloud Shell - Lingkungan Bash.
  • Penyimpanan yang cukup di Azure untuk log Key Vault Anda.

Dalam artikel ini, perintah diformat untuk Cloud Shell dengan lingkungan Bash.

Menyambungkan ke langganan Key Vault Anda

Langkah pertama dalam menyiapkan penge-log-an kunci adalah menyambungkan ke langganan yang berisi brankas kunci Anda. Ini sangat penting jika Anda memiliki beberapa langganan yang terkait dengan akun Anda.

Dengan Azure CLI, Anda dapat melihat semua langganan dengan menggunakan perintah az account list. Kemudian, Anda dapat tersambung ke salah satu langganan dengan menggunakan perintah az account set:

az account list

az account set --subscription "<subscriptionID>"

Dengan Azure PowerShell, Anda bisa melihat daftar langganan Anda terlebih dahulu dengan menggunakan cmdlet Get-AzSubscription. Kemudian, Anda dapat tersambung ke salah satu langganan dengan menggunakan cmdlet Set-AzContext:

Get-AzSubscription

Set-AzContext -SubscriptionId "<subscriptionID>"

Membuat akun penyimpanan untuk log Anda

Meskipun Anda dapat menggunakan akun penyimpanan yang ada untuk log, di sini Anda akan membuat akun penyimpanan baru khusus untuk log Key Vault.

Untuk lebih memudahkan manajemen, Anda juga akan menggunakan grup sumber daya yang sama dengan grup yang berisi brankas kunci. Dalam mulai cepat Azure CLI dan mulai cepat Microsoft Azure PowerShellgrup sumber daya ini bernama myResourceGroup, dan lokasinya adalah eastus. Ganti nilai ini dengan nilai Anda sendiri, sebagaimana berlaku.

Anda juga perlu menamai akun penyimpanan. Nama akun penyimpanan harus unik, memiliki panjang antara 3 sampai 24 karakter, dan hanya menggunakan angka dan huruf kecil. Terakhir, Anda harus membuat akun penyimpanan dari SKU Standard_LRS.

Dengan Azure CLI, gunakan perintah buat akun penyimpanan az.

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

Dengan Azure PowerShell, gunakan cmdlet New-AzStorageAccount. Anda harus memberikan lokasi yang sesuai dengan grup sumber daya.

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

Dalam kedua kasus, perhatikan ID akun penyimpanan. Operasi Azure CLI menghasilkan ID di dalam output. Untuk mendapatkan ID dengan Azure PowerShell, gunakan Get-AzStorageAccount dan tetapkan output ke variabel $sa. Anda kemudian dapat melihat akun penyimpanan dengan $sa.id. (Properti $sa.Context juga akan digunakan nanti di artikel ini.)

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

ID akun penyimpanan ditulis dalam format berikut: "/subscriptions/your-subscription-ID/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/your-unique-storage-account-name".

Catatan

Jika Anda memutuskan untuk menggunakan akun penyimpanan yang sudah ada, akun penyimpanan tersebut harus menggunakan langganan yang sama dengan brankas kunci Anda. Anda harus menggunakan model penyebaran Azure Resource Manager, bukan model penyebaran klasik.

Mendapatkan ID sumber daya brankas kunci Anda

Dalam mulai cepat CLI dan mulai cepat PowerShell, Anda membuat kunci dengan nama yang unik. Gunakan kembali nama tersebut dalam langkah-langkah berikut. Jika tidak ingat nama brankas kunci Anda, Anda dapat menggunakan perintah az keyvault list dengan Azure CLI atau cmdlet Get-AzKeyVault dengan Azure PowerShell untuk melihat daftarnya.

Gunakan nama brankas kunci Anda untuk menemukan ID sumber dayanya. Dengan Azure CLI, gunakan perintah az keyvault show.

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

Dengan Azure PowerShell, gunakan cmdlet Get-AzKeyVault.

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

ID sumber daya untuk brankas kunci Anda ditulis dalam format berikut: "/subscriptions/your-subscription-ID/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/your-unique-keyvault-name. Perhatikan untuk langkah berikutnya.

Mengaktifkan pengelogan

Anda dapat mengaktifkan penge-log-an untuk Key Vault dengan menggunakan Azure CLI, Azure PowerShell, atau portal Microsoft Azure.

Azure CLI

Gunakan perintah az monitor diagnostic-settings create Azure CLI, ID akun penyimpanan, dan ID sumber daya brankas kunci seperti berikut:

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

Secara opsional, Anda dapat set kebijakan penyimpanan untuk log Anda sehingga log yang lebih lama dihapus setelah beberapa waktu tertentu. Misalnya, Anda dapat mengatur kebijakan penyimpanan yang secara otomatis menghapus log yang berusia lebih dari 90 hari.

Dengan Azure CLI, gunakan perintah pembaruan pengaturan diagnostik monitor az.

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

Mengakses log Anda

Log Key Vault Anda ada di kontainer insights-logs-auditevent di akun penyimpanan yang Anda berikan. Untuk melihat log, Anda harus mengunduh blob.

Pertama, daftar semua blob dalam kontainer. Dengan Azure CLI, gunakan perintah daftar gumpalan penyimpanan az.

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

Dengan Azure PowerShell, gunakan Get-AzStorageBlob. Untuk melihat daftar semua blob dalam kontainer ini, masukkan:

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

Dari output perintah Azure CLI atau cmdlet Azure PowerShell, Anda dapat melihat bahwa nama-nama blob ditulis dalam format berikut: resourceId=<ARM resource ID>/y=<year>/m=<month>/d=<day of month>/h=<hour>/m=<minute>/filename.json. Nilai tanggal dan waktu adalah Waktu Universal Terkoordinasi.

Karena Anda dapat menggunakan akun penyimpanan yang sama untuk mengumpulkan log untuk beberapa sumber daya, ID sumber daya lengkap dalam nama blob berguna untuk mengakses atau mengunduh blob yang Anda butuhkan saja.

Namun, pertama-tama, unduh semua blob. Dengan Azure CLI, gunakan perintah az storage blob download, berikan nama blob dan jalur ke file tempat Anda ingin menyimpan hasilnya.

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

Dengan Azure PowerShell, gunakan cmdlet Gt-AzStorageBlobs untuk mendapatkan daftar blob. Kemudian arahkan daftar tersebut ke cmdlet Get-AzStorageBlobContent untuk mengunduh log ke jalur yang Anda pilih.

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

Ketika Anda menjalankan cmdlet kedua ini di PowerShell, pemisah / dalam nama blob menciptakan struktur folder lengkap pada folder tujuan. Anda akan menggunakan struktur ini untuk mengunduh dan menyimpan blob sebagai file.

Untuk mengunduh blob secara selektif, gunakan wildcard. Contohnya:

  • Jika Anda memiliki beberapa brankas kunci dan ingin mengunduh log hanya untuk satu brankas kunci, beri nama CONTOSOKEYVAULT3:

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/VAULTS/CONTOSOKEYVAULT3
    
  • Jika Anda memiliki beberapa grup sumber daya dan ingin mengunduh log hanya untuk satu grup sumber daya, gunakan -Blob '*/RESOURCEGROUPS/<resource group name>/*':

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/RESOURCEGROUPS/CONTOSORESOURCEGROUP3/*'
    
  • Jika Anda ingin mengunduh semua log untuk bulan Januari 2019, gunakan -Blob '*/year=2019/m=01/*':

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

Menggunakan log Azure Monitor

Anda dapat menggunakan solusi Key Vault di log Azure Monitor untuk meninjau log Key Vault AuditEvent. Di log Azure Monitor, Anda menggunakan kueri log untuk menganalisis data dan mendapatkan informasi yang Anda butuhkan. Untuk informasi selengkapnya, lihat Memantau Key Vault.

Langkah berikutnya

  • Untuk informasi konseptual, termasuk cara menginterpretasikan log Key Vault, lihat penge-log-an Key Vault.
  • Untuk mempelajari selengkapnya tentang menggunakan Azure Monitor di brankas kunci Anda, lihat Memantau Key Vault.