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ıç kılavuzunda anahtar kasası ve anahtar oluşturmak için Bicep dosyası dağıtma işlemine odaklanılır.
Bicep, Azure kaynaklarını dağıtmak için bildirimci sözdizimi kullanan alan-spesifik bir dil (DSL)dir. Kısa sözdizimi, güvenilir tür güvenliği ve kod yeniden kullanımı için destek sağlar. Bicep, Azure'daki kod olarak altyapı çözümleriniz için en iyi yazma deneyimini sunar.
Ö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 bir Azure yerleşik rolü atanmış olması gerekir, önerilen rol Katkıda Bulunandır. Burada daha fazla bilgi edinin
Bicep dosyasını gözden geçir
Bu hızlı başlangıçta kullanılan şablon Azure Hızlı Başlangıç Şablonlarından alınmıştır.
@description('The name of the key vault to be created.')
param vaultName string
@description('The name of the key to be created.')
param keyName string
@description('The location of the resources.')
param location string = resourceGroup().location
@description('The SKU of the vault to be created.')
@allowed([
'standard'
'premium'
])
param skuName string = 'standard'
@description('The JsonWebKeyType of the key to be created.')
@allowed([
'EC'
'EC-HSM'
'RSA'
'RSA-HSM'
])
param keyType string = 'RSA'
@description('The permitted JSON web key operations of the key to be created.')
param keyOps array = []
@description('The size in bits of the key to be created.')
param keySize int = 2048
@description('The JsonWebKeyCurveName of the key to be created.')
@allowed([
''
'P-256'
'P-256K'
'P-384'
'P-521'
])
param curveName string = ''
resource vault 'Microsoft.KeyVault/vaults@2023-07-01' = {
name: vaultName
location: location
properties: {
enableRbacAuthorization: true
enableSoftDelete: true
softDeleteRetentionInDays: 90
enablePurgeProtection: true
enabledForDeployment: false
enabledForDiskEncryption: false
enabledForTemplateDeployment: false
tenantId: subscription().tenantId
sku: {
name: skuName
family: 'A'
}
networkAcls: {
defaultAction: 'Allow'
bypass: 'AzureServices'
}
}
}
resource key 'Microsoft.KeyVault/vaults/keys@2023-07-01' = {
parent: vault
name: keyName
properties: {
kty: keyType
keyOps: keyOps
keySize: keySize
curveName: curveName
}
}
output proxyKey object = key.properties
output location string = location
output name string = vault.name
output resourceGroupName string = resourceGroup().name
output resourceId string = vault.id
Bicep dosyasında iki kaynak tanımlanır:
Azure Hızlı Başlangıç Şablonları'nda daha fazla Azure Key Vault şablonu örneği bulunabilir.
Parametreler ve tanımlar
| Parametre | Definition |
|---|---|
| keyOps | anahtarı kullanılarak gerçekleştirilebilecek işlemleri belirtir. Bu parametreyi belirtmezseniz, tüm işlemler gerçekleştirilebilir. Bu parametre için kabul edilebilir değerler , JSON Web Anahtarı (JWK) belirtimi tarafından tanımlanan anahtar işlemlerinin virgülle ayrılmış bir listesidir: ["sign", "verify", "encrypt", "decrypt", " wrapKey", "unwrapKey"] |
| CurveName | EC anahtar türü için elips eğrisi (EC) adı. Bkz . JsonWebKeyCurveName |
| Kty | Oluşturulacak anahtarın türü. Geçerli değerler için bkz. JsonWebKeyType |
| Etiketler | Anahtar-değer çiftleri biçiminde uygulamaya özgü meta veriler. |
| nbf | Anahtarın kullanılamayacağı zamandan önceki saati bir DateTime nesnesi olarak belirtir. Biçim Unix zaman damgası (1 Ocak 1970 UTC'de Unix Dönemi'nin ardından gelen saniye sayısı) olacaktır. |
| Exp | DateTime nesnesi olarak süre sonunu belirtir. Biçim Unix zaman damgası (1 Ocak 1970 UTC'de Unix Dönemi'nin ardından gelen saniye sayısı) olacaktır. |
Bicep dosyasını yükle
Bicep dosyasını, yerel bilgisayarınıza main.bicep olarak kaydedin.
Azure CLI veya Azure PowerShell kullanarak Bicep dosyasını dağıtın.
az group create --name exampleRG --location eastus az deployment group create --resource-group exampleRG --template-file main.bicep --parameters vaultName=<vault-name> keyName=<key-name>Uyarı
<vault-name>değerini anahtar kasasının adıyla değiştirin.<vault-name>ile anahtar kasasının adını ve<key-name>ile anahtarın adını değiştirin.Dağıtım tamamlandığında, dağıtımın başarılı olduğunu belirten bir mesaj görmelisiniz.
Key Vault RBAC rolü atayın
Bu Bicep dosyası tarafından oluşturulan Anahtar Kasası, yetkilendirme için Azure RBAC’yi 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.
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)
Uyarı
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 erişim ilkelerini kullanıyorsa, çağıranın "oluşturma" anahtar iznine 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ıçları ve eğitimleri bu hızlı başlangıç üzerine inşa edilmiştir. Sonraki hızlı başlangıçlar ve öğreticilerle çalışmaya devam etmeyi planlıyorsanız, bu kaynakları yerinde bırakmayı tercih edebilirsiniz. Gerektiği zaman kaynak grubunu silin. Bu işlem, Key Vault'u ve ilgili kaynakları da 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 ..."
Uyarı
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ıç kılavuzunda, Bicep dosyasını 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