Günlük Key Vault etkinleştirme

Bir veya daha fazla anahtar kasası oluşturduktan sonra, anahtar kasanıza nasıl ve ne zaman erişildikten sonra kim tarafından erişildikten sonra büyük olasılıkla izlemek istemeniz gerekir. Özellikle ilgili tüm ayrıntılar için bkz. Azure Key Vault günlüğe kaydetme.

Günlüğe kaydedilenler:

  • Kimliği doğrulanmış REST API izinlerin, sistem hatalarının veya hatalı isteklerin sonucu olarak başarısız istekler de dahil olmak üzere tüm kimlik doğrulaması yapılan istekler.
  • Oluşturma, silme, anahtar kasası erişim ilkelerini ayarlama ve etiketler gibi anahtar kasası özniteliklerini güncelleştirme de dahil olmak üzere anahtar kasası üzerinde yapılan işlemler.
  • Anahtar kasasında aşağıdakiler dahil olmak üzere anahtarlar ve gizli diziler üzerinde işlemler:
    • Bu anahtarları veya gizli dizileri oluşturma, değiştirme veya silme.
    • Anahtarları imzalama, doğrulama, şifreleme, şifresini çözme, sarmalama ve açma, gizli dizileri alma ve anahtarları ve gizli dizileri listeleme (ve sürümleri).
  • Bir 401 yanıtına neden olan kimliği doğrulanmamış istekler. Örnek olarak, taşıyıcı belirteci olan, yanlış biçimlendirilmiş veya süresi dolmuş veya geçersiz belirteci olan istekler örnek olarak verilmiştir.
  • Azure Event Grid koşullar için bildirim olaylarını kullanabilirsiniz: süresi doldu, dolmak üzere ve değiştirilen kasa erişim ilkesi (yeni sürüm olayı günlüğe kaydedilmedi). Anahtar kasasında oluşturulmuş bir olay aboneliği olsa bile olaylar günlüğe kaydedilir. Daha fazla bilgi için bkz. Azure Key Vault olarak Event Grid.

Önkoşullar

Bu öğreticiyi tamamlamak için aşağıdakilere sahip olmanız gerekir:

  • Kullanmakta olduğunuz var olan bir anahtar kasası.
  • Azure Cloud Shell - Bash ortamı.
  • Anahtar Kasası günlükleriniz için Azure'da yeterli depolama.

Bu makalede komutlar, Bash ile ortam Cloud Shell için biçimlendirildi.

Key Vault aboneliğinize bağlanma

Anahtar günlüğünü ayarlamanın ilk adımı, anahtar kasanızı içeren aboneliğe bağlanmaktır. Hesabınızla ilişkilendirilmiş birden çok aboneliğiniz varsa bu özellikle önemlidir.

Azure CLI ile az account list komutunu kullanarak tüm aboneliklerinizi görüntüebilirsiniz. Ardından az account set komutunu kullanarak bir sunucuya bağlanabilirsiniz:

az account list

az account set --subscription "<subscriptionID>"

Bu Azure PowerShell get-AzSubscription cmdlet'ini kullanarak aboneliklerinizi listeleyebilirsiniz. Ardından Set-AzContext cmdlet'ini kullanarak bir veritabanına bağlanın:

Get-AzSubscription

Set-AzContext -SubscriptionId "<subscriptionID>"

Günlükler için depolama hesabı oluşturma

Günlükler için mevcut bir depolama hesabını kullanabilirsiniz ancak burada günlüklere ayrılmış yeni bir depolama Key Vault oluşturacaksınız.

Daha kolay yönetim için anahtar kasasını içeren kaynak grubuyla aynı kaynak grubunu da kullanacağız. Azure CLI hızlı başlangıçta ve Azure PowerShell,bu kaynak grubu myResourceGroup olarak adlandırılmıştır ve konum eastus şeklindedir. Bu değerleri uygun olan kendi değerleriyle değiştirin.

Ayrıca bir depolama hesabı adı da sağlayabilirsiniz. Depolama hesabı adları benzersiz olmalı, 3 ile 24 karakter uzunluğunda olmalı ve yalnızca rakam ve küçük harf kullanmalıdır. Son olarak, SKU'nun bir depolama Standard_LRS hesabını oluşturun.

Azure CLI ile az storage account create komutunu kullanın.

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

Azure PowerShell New-AzStorageAccount cmdlet'ini kullanın. Kaynak grubuna karşılık gelen konumu sağlamanız gerekir.

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

Her iki durumda da depolama hesabının kimliğini not alasınız. Azure CLI işlemi çıktıda kimliği döndürür. Azure PowerShell ile kimliği almak için Get-AzStorageAccountkullanın ve çıktıyı değişkenine atfın. $sa Ardından depolama hesabını ile birlikte $sa.id kullanabilirsiniz. (Özelliği $sa.Context bu makalenin devamlarında da kullanılır.)

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

Depolama hesabının kimliği şu biçimdedir: "/subscriptions/your-subscription-ID/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/your-unique-storage-account-name".

Not

Var olan bir depolama hesabını kullanmaya karar veriyorsanız, bu hesabın anahtar kasanız ile aynı aboneliği kullanması gerekir. Klasik dağıtım modeli Azure Resource Manager dağıtım modelini kullanmalısınız.

Anahtar kasası kaynak kimliğinizi alma

CLI hızlı başlangıçta ve PowerShell hızlı başlangıçtabenzersiz bir adla bir anahtar oluşturduğunuz. Aşağıdaki adımlarda bu adı tekrar kullanın. Anahtar kasanın adını anımsayamazsanız, bunları listeleye Azure CLI az keyvault list komutunu veya get-AzKeyVault cmdlet'ini Azure PowerShell kullanabilirsiniz.

Kaynak kimliğini bulmak için anahtar kasanız adını kullanın. Azure CLI ile az keyvault show komutunu kullanın.

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

Bu Azure PowerShell Get-AzKeyVault cmdlet'ini kullanın.

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

Anahtar kasanız için kaynak kimliği şu biçimdedir: "/subscriptions/your-subscription-ID/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/your-unique-keyvault-name. Sonraki adım için not edin.

Günlü kaydını etkinleştir

Azure CLI, Azure PowerShell veya Key Vault kullanarak günlük kaydını Azure portal.

Azure CLI

Azure CLI az monitor diagnostic-settings create komutunu, depolama hesabı kimliğini ve anahtar kasası kaynak kimliğini aşağıdaki gibi kullanın:

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

İsteğe bağlı olarak, eski günlüklerin belirli bir süre sonra otomatik olarak silinmesi için günlükler için bir saklama ilkesi ayarlayın. Örneğin, 90 günlükten eski günlükleri otomatik olarak silebilir bir saklama ilkesi ayarlayabilirsiniz.

Azure CLI ile az monitor diagnostic-settings update komutunu kullanın.

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

Günlüklerinize erişme

Günlük Key Vault, sağlanan depolama hesabında insights-logs-auditevent kapsayıcısı içindedir. Günlükleri görüntülemek için blobları indirmeniz gerekir.

İlk olarak kapsayıcıda yer alan tüm blobları listele. Azure CLI ile az storage blob list komutunu kullanın.

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

Bu Azure PowerShell Get-AzStorageBlob kullanın. Bu kapsayıcıda yer alan tüm blobları listeley için şunları girin:

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

Azure CLI komutunun veya Azure PowerShell cmdlet'inin çıkışından blob adlarının şu biçimde olduğunu görebilir: resourceId=<ARM resource ID>/y=<year>/m=<month>/d=<day of month>/h=<hour>/m=<minute>/filename.json . Tarih ve saat değerleri, veri Eşgüdümlü Evrensel Saat.

Birden çok kaynağın günlüklerini toplamak için aynı depolama hesabını kullanabileceğiniz için, blob adı içinde tam kaynak kimliği yalnızca ihtiyacınız olan bloblara erişmek veya indirmek için yararlıdır.

Ancak öncelikle tüm blobları indirin. Azure CLI ile az storage blob download komutunu kullanın, blobların adlarını ve sonuçları kaydetmek istediğiniz dosyanın yolunu bu dosyaya iletirsiniz.

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

Blobların Azure PowerShell almak için Gt-AzStorageBlobs cmdlet'ini kullanın. Ardından günlükleri seçtiğiniz yola indirmek için bu listeyi Get-AzStorageBlobContent cmdlet'ine yöneltin.

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

PowerShell'de bu ikinci cmdlet'i çalıştırsanız, blob adlarında sınırlayıcı hedef klasör / altında tam bir klasör yapısı oluşturur. Bu yapıyı kullanarak blobları dosya olarak indirip depolayabilirsiniz.

Blobları seçmeli olarak indirmek için jokerleri kullanın. Örneğin:

  • Birden çok anahtar kasanız varsa ve yalnızca CONTOSOKEYVAULT3 adlı bir anahtar kasası için günlük indirmek isterseniz:

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/VAULTS/CONTOSOKEYVAULT3
    
  • Birden çok kaynak grubunuz varsa ve yalnızca bir kaynak grubu için günlük indirmek isterseniz -Blob '*/RESOURCEGROUPS/<resource group name>/*' kullanın:

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/RESOURCEGROUPS/CONTOSORESOURCEGROUP3/*'
    
  • 2019 Ocak ayının tüm günlüklerini indirmek istiyorsanız şunu kullanın -Blob '*/year=2019/m=01/*' :

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

Azure İzleyici günlüklerini kullanma

Key Vault günlüklerini gözden geçirmek için Azure Izleyici günlüklerinde Key Vault çözümünü kullanabilirsiniz AuditEvent . Azure Izleyici günlüklerinde, verileri analiz etmek ve ihtiyacınız olan bilgileri almak için günlük sorgularını kullanırsınız.

Bunu ayarlama dahil daha fazla bilgi için bkz. Azure izleyici 'de Azure Key Vault.

Sonraki adımlar