Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Key Vault anahtarlar, parolalar, sertifikalar ve diğer gizli diziler gibi gizli diziler için güvenli bir depo sağlayan bir bulut hizmetidir. Bu hızlı başlangıçta, anahtar kasası ve gizli dizi oluşturmak için bir Azure Resource Manager şablonu (ARM şablonu) dağıtma işlemine odaklanılır.
Azure Resource Manager şablonu projenizin altyapısını ve yapılandırmasını tanımlayan bir JavaScript Nesne Gösterimi (JSON) dosyasıdır. Şablon deklaratif sözdizimi kullanır. Dağıtımı oluşturmak için programlama komutlarının sırasını yazmadan hedeflenen dağıtımınızı açıklarsınız.
Ortamınız önkoşulları karşılıyorsa ve ARM şablonlarını kullanmayı biliyorsanız Deploy to Azure düğmesini seçin. Şablon Azure portalında açılır.
Azure'a Resource Manager şablonunu dağıtmak için düğme.
Önkoşullar
Bu makaleyi tamamlamak için:
- Azure aboneliğiniz yoksa başlamadan önce free hesabı oluşturun.
Şablonu gözden geçir
Bu hızlı başlangıçta kullanılan şablon Azure Hızlı Başlangıç Şablonları...
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.42.1.51946",
"templateHash": "10998800669048245550"
}
},
"parameters": {
"keyVaultName": {
"type": "string",
"metadata": {
"description": "Specifies the name of the key vault."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Specifies the Azure location where the key vault should be created."
}
},
"enabledForDeployment": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "Specifies whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault."
}
},
"enabledForDiskEncryption": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "Specifies whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys."
}
},
"enabledForTemplateDeployment": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "Specifies whether Azure Resource Manager is permitted to retrieve secrets from the key vault."
}
},
"tenantId": {
"type": "string",
"defaultValue": "[subscription().tenantId]",
"metadata": {
"description": "Specifies the Azure Active Directory tenant ID that should be used for authenticating requests to the key vault. Get it by using Get-AzSubscription cmdlet."
}
},
"skuName": {
"type": "string",
"defaultValue": "standard",
"allowedValues": [
"standard",
"premium"
],
"metadata": {
"description": "Specifies whether the key vault is a standard vault or a premium vault."
}
},
"secretsObject": {
"type": "secureObject",
"metadata": {
"description": "Specifies all secrets {\"secretName\":\"\",\"secretValue\":\"\"} wrapped in a secure object."
}
}
},
"resources": [
{
"type": "Microsoft.KeyVault/vaults",
"apiVersion": "2023-07-01",
"name": "[parameters('keyVaultName')]",
"location": "[parameters('location')]",
"properties": {
"enabledForDeployment": "[parameters('enabledForDeployment')]",
"enabledForTemplateDeployment": "[parameters('enabledForTemplateDeployment')]",
"enabledForDiskEncryption": "[parameters('enabledForDiskEncryption')]",
"enableRbacAuthorization": true,
"tenantId": "[parameters('tenantId')]",
"enableSoftDelete": true,
"softDeleteRetentionInDays": 90,
"enablePurgeProtection": true,
"sku": {
"name": "[parameters('skuName')]",
"family": "A"
},
"networkAcls": {
"defaultAction": "Allow",
"bypass": "AzureServices"
}
}
},
{
"copy": {
"name": "secrets",
"count": "[length(parameters('secretsObject').secrets)]"
},
"type": "Microsoft.KeyVault/vaults/secrets",
"apiVersion": "2023-07-01",
"name": "[format('{0}/{1}', parameters('keyVaultName'), parameters('secretsObject').secrets[copyIndex()].secretName)]",
"properties": {
"value": "[parameters('secretsObject').secrets[copyIndex()].secretValue]"
},
"dependsOn": [
"[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
]
}
],
"outputs": {
"location": {
"type": "string",
"value": "[parameters('location')]"
},
"name": {
"type": "string",
"value": "[parameters('keyVaultName')]"
},
"resourceGroupName": {
"type": "string",
"value": "[resourceGroup().name]"
},
"resourceId": {
"type": "string",
"value": "[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
}
}
}
Şablonda iki Azure kaynağı tanımlanır:
-
Microsoft. KeyVault/vaults: Azure RBAC yetkilendirmesi etkinleştirilmiş (
enableRbacAuthorization: true), geçici silme ve temizleme koruması etkinleştirilmiş bir Azure anahtar kasası oluşturun. -
Microsoft.KeyVault/vaults/secrets: şablona geçirilen
secretsObject.secretsdizisi üzerinde yineleme yaparak bir veya daha fazla anahtar kasası gizli anahtarı oluşturma.
Kasa, veri düzlemi yetkilendirmesi için Azure RBAC kullandığından, gizli anahtarlara erişimi erişim ilkelerini yapılandırmak yerine bir Azure rolü atayarak verirsiniz.
daha fazla Azure Key Vault şablon örneği Azure Hızlı Başlangıç Şablonları bulunabilir.
Şablonu dağıt
Azure oturum açmak ve bir şablon açmak için aşağıdaki görüntüyü seçin. Şablon bir anahtar kasası ve bir gizli dizi oluşturur.
Azure'a Resource Manager şablonunu dağıtmak için düğme.
Aşağıdaki değerleri seçin veya girin. Belirtilmediği sürece varsayılan değeri kullanın.
Ubscription: bir Azure aboneliği seçin.
Kaynak grubu: Yeni oluştur'u seçin, kaynak grubu için benzersiz bir ad girin ve tamam'ı seçin.
Bölge: bir konum seçin. Örneğin Orta ABD.
Key Vault Name: key vault için
vault.azure.netad alanında genel olarak benzersiz olması gereken bir ad girin. Dağıtımı bir sonraki bölümde doğrularken bu ada ihtiyacınız olacak.Sku Adı: standart veya premium'ı seçin. Varsayılan değer standarttır.
Gizli Bilgiler Nesnesi: oluşturulacak gizli bilgi(leri),
secretsdizisini içeren bir JSON nesnesi olarak sağlayın. Örneğin:{ "secrets": [ { "secretName": "adminpassword", "secretValue": "<your-secret-value>" } ] }Gizli Dizi Nesnesi bir
secureObjectparametre olduğundan, değeri dağıtımdan sonra günlüğe kaydedilmez veya geri döndürülemez.
Gözden geçir + oluştur'u seçin, ardından oluştur'u seçin. Anahtar kasası ve gizli anahtar başarıyla dağıtıldıktan sonra bir bildirim alırsınız.
Şablonu dağıtmak için Azure PowerShell, Azure CLI veya REST API'yi de kullanabilirsiniz. Diğer dağıtım yöntemlerini öğrenmek için bkz . Şablonları dağıtma.
Key Vault RBAC rolü atayın
Bu şablon tarafından oluşturulan anahtar kasası yetkilendirme için Azure RBAC kullanır. Gizli dizilere veri düzlemi üzerinden erişmek için (örneğin, Azure CLI veya Azure PowerShell kullanarak), kendinize uygun bir rol atamanız gerekir.
Microsoft Entra kullanıcı nesne kimliğinizi alın:
az ad signed-in-user show --query id -o tsvAnahtar kasasında Key Vault Secrets Officer rolünü kendinize atayın:
echo "Enter your key vault name:" && read keyVaultName && az role assignment create --role "Key Vault Secrets Officer" \ --assignee-object-id $(az ad signed-in-user show --query id -o tsv) \ --scope $(az keyvault show --name $keyVaultName --query id -o tsv)Note
Rol atamalarının yayılması bir veya iki dakika sürebilir.
Dağıtılmış kaynakları gözden geçir.
Anahtar kasasını ve gizli diziyi denetlemek için Azure portalını kullanabilir veya oluşturulan gizli diziyi listelemek için aşağıdaki Azure CLI veya Azure PowerShell betiğini kullanabilirsiniz.
echo "Enter your key vault name:" &&
read keyVaultName &&
az keyvault secret list --vault-name $keyVaultName &&
echo "Press [ENTER] to continue ..."
Kaynakları temizle
Key Vault ile ilgili diğer hızlı başlangıç kılavuzları ve öğreticiler bu hızlı başlangıç kılavuzuna dayanır. Sonraki hızlı başlangıçlar ve öğreticilerle çalışmaya devam etmeyi planlıyorsanız, bu kaynakları yerinde bırakmayı tercih edebilirsiniz. Artık gerekmediğinde, Key Vault ve ilgili kaynakları silen kaynak grubunu silin. Azure CLI veya Azure PowerShell kullanarak kaynak grubunu silmek için:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Note
Kaynak grubu silindiğinde anahtar kasası da silinir, ancak kasa geçici olarak silinmiş bir duruma girer ve saklama süresi (varsayılan olarak 90 gün) için kurtarılabilir durumda kalır. Bu süre boyunca kasa adı küresel olarak rezerve edilir ve temizleme koruması etkin olduğundan kasa süresi dolmadan temizlenemez. Standart anahtar kasalarında geçici olarak silinen kasalar için ücret uygulanmaz. Daha fazla bilgi için, Key Vault geçici silme özelliğine genel bakış bölümüne bakın.
Sonraki Adımlar
Bu hızlı başlangıçta, ARM şablonu kullanarak bir anahtar kasası ve sır oluşturdunuz ve dağıtımı doğruladınız. Key Vault ve Azure Resource Manager hakkında daha fazla bilgi edinmek için aşağıdaki makalelere geçin.
- Azure Key Vault'un Genel Bakışını Okuyun
Azure Resource Manager - Key Vault güvenliğine genel bakış