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 ve sertifika gibi gizli diziler için güvenli bir depo sağlayan bir bulut hizmetidir. Bu Hızlı Başlangıç, bir anahtar kasası ve anahtar oluşturmak için bir Azure Resource Manager şablonunu (ARM şablonu) dağıtma işlemine odaklanı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ı kullanma hakkında bilginiz varsa, Azure’a dağıtma düğmesini seçin. Şablon Azure portalında açılacak.
Önkoşullar
Bu makaleyi tamamlamak için:
- Eğer bir Azure aboneliğiniz yoksa, başlamadan önce ücretsiz bir hesap oluşturun.
- Kullanıcının Azure Yerleşik Rolü atanmış olmalıdır; önerilen rol Katkıda Bulunan. Burada daha fazla bilgi edinin
Şablonu gözden geçir
Bu hızlı başlangıçta kullanılan şablon Azure Hızlı Başlangıç Şablonlarından alınmıştır.
{
"$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": "9113739717796369919"
}
},
"parameters": {
"vaultName": {
"type": "string",
"metadata": {
"description": "The name of the key vault to be created."
}
},
"keyName": {
"type": "string",
"metadata": {
"description": "The name of the key to be created."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "The location of the resources."
}
},
"skuName": {
"type": "string",
"defaultValue": "standard",
"allowedValues": [
"standard",
"premium"
],
"metadata": {
"description": "The SKU of the vault to be created."
}
},
"keyType": {
"type": "string",
"defaultValue": "RSA",
"allowedValues": [
"EC",
"EC-HSM",
"RSA",
"RSA-HSM"
],
"metadata": {
"description": "The JsonWebKeyType of the key to be created."
}
},
"keyOps": {
"type": "array",
"defaultValue": [],
"metadata": {
"description": "The permitted JSON web key operations of the key to be created."
}
},
"keySize": {
"type": "int",
"defaultValue": 2048,
"metadata": {
"description": "The size in bits of the key to be created."
}
},
"curveName": {
"type": "string",
"defaultValue": "",
"allowedValues": [
"",
"P-256",
"P-256K",
"P-384",
"P-521"
],
"metadata": {
"description": "The JsonWebKeyCurveName of the key to be created."
}
}
},
"resources": [
{
"type": "Microsoft.KeyVault/vaults",
"apiVersion": "2023-07-01",
"name": "[parameters('vaultName')]",
"location": "[parameters('location')]",
"properties": {
"enableRbacAuthorization": true,
"enableSoftDelete": true,
"softDeleteRetentionInDays": 90,
"enablePurgeProtection": true,
"enabledForDeployment": false,
"enabledForDiskEncryption": false,
"enabledForTemplateDeployment": false,
"tenantId": "[subscription().tenantId]",
"sku": {
"name": "[parameters('skuName')]",
"family": "A"
},
"networkAcls": {
"defaultAction": "Allow",
"bypass": "AzureServices"
}
}
},
{
"type": "Microsoft.KeyVault/vaults/keys",
"apiVersion": "2023-07-01",
"name": "[format('{0}/{1}', parameters('vaultName'), parameters('keyName'))]",
"properties": {
"kty": "[parameters('keyType')]",
"keyOps": "[parameters('keyOps')]",
"keySize": "[parameters('keySize')]",
"curveName": "[parameters('curveName')]"
},
"dependsOn": [
"[resourceId('Microsoft.KeyVault/vaults', parameters('vaultName'))]"
]
}
],
"outputs": {
"proxyKey": {
"type": "object",
"value": "[reference(resourceId('Microsoft.KeyVault/vaults/keys', parameters('vaultName'), parameters('keyName')), '2023-07-01')]"
},
"location": {
"type": "string",
"value": "[parameters('location')]"
},
"name": {
"type": "string",
"value": "[parameters('vaultName')]"
},
"resourceGroupName": {
"type": "string",
"value": "[resourceGroup().name]"
},
"resourceId": {
"type": "string",
"value": "[resourceId('Microsoft.KeyVault/vaults', parameters('vaultName'))]"
}
}
}
Şablonda iki kaynak tanımlanır:
- Microsoft. KeyVault/vaults: Azure bir anahtar kasası oluşturun.
- Microsoft.KeyVault/vaults/keys: bir anahtar kasası anahtarı oluşturun.
Şablon, Azure RBAC yetkilendirmesi etkinleştirilmiş olarak anahtar kasasını oluşturur. Bu, kasanın erişim ilkeleri yerine veri düzlemi yetkilendirmesi için Azure rol tabanlı erişim denetimi (Azure RBAC) kullandığı anlamına gelir.
Azure Hızlı Başlangıç Şablonları'nda daha fazla Azure Key Vault şablonu örneği bulunabilir.
Şablon parametreleri
| Parametre | Description |
|---|---|
| vaultName | Yeni anahtar kasasının adı. Ad alanı içinde vault.azure.net genel olarak benzersiz olmalıdır. |
| Keyname | Kasada oluşturulacak anahtarın adı. |
| lokasyon | Kaynaklar için Azure bölgesi belirleyin. Varsayılan olarak kaynak grubu konumu kullanılır. |
| skuName | Vault SKU.
standard (varsayılan) veya premium. |
| keyType | Oluşturulacak anahtarın türü.
RSA, RSA-HSM, EC veya EC-HSM'den biri. Varsayılan RSA değeridir. Bkz. JsonWebKeyType. |
| keySize | Anahtarın bit cinsinden boyutu (yalnızca RSA). Varsayılan 2048 değeridir. |
| curveName | Elips eğrisi adı (yalnızca EC anahtarları).
P-256, P-256K, P-384 veya P-521'den biri. Bkz. JsonWebKeyCurveName. |
| keyOps | Anahtar için izin verilen JSON Web Anahtarı işlemleri (örneğin, ["sign","verify","encrypt","decrypt","wrapKey","unwrapKey"]). Boş dizi (varsayılan) tüm işlemlere izin verir. |
Şablonu dağıt
Aşağıdaki görüntüyü seçerek Azure'da oturum açıp bir şablon açın. Şablon bir Anahtar Kasası ve bir anahtar oluşturur.
Aşağıdaki değerleri seçin veya girin. Belirtilmediği sürece varsayılan değeri kullanın.
- Abonelik: 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.
-
Kasa Adı: anahtar kasası için,
vault.azure.netad alanı genelinde benzersiz olması gereken bir ad girin. - Anahtar Adı: Anahtar kasasında depoladığınız anahtar için bir ad girin.
- Sku Adı: standart veya premium'ı seçin. Varsayılan değer standarttır.
- Anahtar Türü: Bir anahtar türü seçin. Varsayılan değer RSA'dır.
- Anahtar Boyutu: Bir anahtar boyutu (RSA anahtarları) girin. Varsayılan değer 2048'dir.
- Eğri Adı: EC anahtarları için bir eğri seçin. RSA anahtarları için boş bırakın.
Gözden geçir + oluştur'u seçin, ardından oluştur'u seçin. Anahtar kasası ve 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. Deploy templates.
Key Vault RBAC rolü atayın
Bu şablon tarafından oluşturulan anahtar kasası yetkilendirme için Azure RBAC kullanır. Anahtarlara 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 kendinize Key Vault Crypto Officer rolünü atayın:
echo "Enter your key vault name:" && read keyVaultName && az role assignment create --role "Key Vault Crypto 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 anahtarı denetlemek için Azure portalını kullanabilirsiniz. Alternatif olarak, oluşturulan anahtarı listelemek için aşağıdaki Azure CLI veya Azure PowerShell betiğini kullanın.
echo "Enter your key vault name:" &&
read keyVaultName &&
az keyvault key list --vault-name $keyVaultName &&
echo "Press [ENTER] to continue ..."
ARM şablonu kullanarak anahtar oluşturmak, veri düzlemi aracılığıyla anahtar oluşturmaktan farklıdır
ARM aracılığıyla anahtar oluşturma
Yalnızca yeni anahtarlar oluşturulabilir. Mevcut anahtarları güncelleştirmek veya mevcut anahtarların yeni sürümlerini oluşturmak mümkün değildir. Anahtar zaten varsa, mevcut anahtar depolama alanından alınır ve kullanılır (yazma işlemi gerçekleşmez).
Bu API'yi kullanma yetkisine sahip olmak için çağıranın "Microsoft.KeyVault/vaults/keys/write" rol tabanlı erişim denetimi (Azure RBAC) Eylemine sahip olması gerekir. Yerleşik "Key Vault Katılımcısı" rolü yeterlidir çünkü "Microsoft.KeyVault/*" deseniyle eşleşen tüm Azure RBAC Eylemlerini yetkiler.
Mevcut API (veri düzlemi aracılığıyla anahtar oluşturma)
- Yeni anahtarlar oluşturmak, mevcut anahtarları güncelleştirmek ve mevcut anahtarların yeni sürümlerini oluşturmak mümkündür.
- Çağıranın bu API'yi kullanma yetkisine sahip olması gerekir. Kasa Azure RBAC için etkinleştirildiyse, çağıranın "Microsoft.KeyVault/vaults/keys/create/action" Azure RBAC DataAction iznine sahip olması gerekir.
Kaynakları temizle
Diğer Key Vault hızlı başlangıç kılavuzları ve öğreticileri bu hızlı başlangıcı temel alı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 gerekli olmadığında kaynak grubunu silin; bu da Key Vault'u ve ilgili kaynakları siler. 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 anahtar oluşturdunuz ve dağıtımı doğruladınız. Key Vault ve Azure Resource Manager hakkında daha fazla bilgi edinmek için bu makalelere bakın.
- Azure Key Vault'a Genel Bakış
- Azure Resource Manager hakkında daha fazla bilgi edinin
- Key Vault güvenliğine genel bakış'a göz atın