Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure Key Vault adalah layanan cloud yang menyediakan penyimpanan aman untuk rahasia, seperti kunci, kata sandi, dan sertifikat. Mulai cepat ini berfokus pada proses penyebaran file Bicep untuk membuat brankas kunci dan sertifikat yang ditandatangani sendiri.
Bicep adalah bahasa khusus domain (DSL) yang menggunakan sintaksis deklaratif untuk menyebarkan sumber daya Azure. Ini menyediakan sintaks yang ringkas, keamanan jenis yang dapat diandalkan, dan dukungan untuk penggunaan kembali kode. Bicep menawarkan pengalaman penulisan terbaik untuk solusi infrastructure-as-code di Azure.
Prasyarat
- Jika Anda tidak memiliki langganan Azure, buatlah akun gratis sebelum Anda memulai.
Meninjau file Bicep
Template yang digunakan dalam quickstart ini berasal dari Azure Quickstart Templates.
@description('The name of the key vault to be created.')
param vaultName string
@description('The name of the certificate to be created.')
param certificateName 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 common name (subject) for the self-signed certificate. Defaults to the certificate name.')
param certificateCommonName string = certificateName
@description('The validity of the certificate in months.')
@minValue(1)
@maxValue(1200)
param validityInMonths int = 12
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'
}
}
}
// Key Vault certificates are a data-plane concept and cannot be created
// directly through ARM. Use the public Bicep registry module which wraps
// `az keyvault certificate create` in a deployment script (it provisions a
// user-assigned managed identity with the Key Vault Certificate Officer
// role on the vault for the duration of the deployment).
module certificate 'br/public:deployment-scripts/create-kv-certificate:3.4.2' = {
name: 'create-${certificateName}'
params: {
akvName: vault.name
location: location
certificateNames: [certificateName]
certificateCommonNames: [certificateCommonName]
validity: validityInMonths
}
}
output location string = location
output name string = vault.name
output resourceGroupName string = resourceGroup().name
output resourceId string = vault.id
output certificateSecretId string = certificate.outputs.certificateSecretIds[0][0]
output certificateThumbprint string = certificate.outputs.certificateThumbprintHexs[0][0]
Dua sumber daya Azure ditentukan dalam file Bicep:
-
Microsoft.KeyVault/vaults: membuat brankas kunci Azure dengan otorisasi Azure RBAC diaktifkan (
enableRbacAuthorization: true). - Microsoft.Resources/deployments: penyebaran bertingkat yang menjalankan modul registri create-kv-certificate untuk membuat sertifikat yang ditandatangani mandiri di vault. Sertifikat adalah sumber daya bidang data dan tidak dapat dibuat langsung dengan jenis sumber daya ARM.
Menyebarkan file Bicep
Simpan file Bicep sebagai main.bicep ke penyimpanan lokal komputer Anda.
Sebarkan file Bicep dengan menggunakan Azure CLI atau Azure PowerShell.
az group create --name myResourceGroup --location eastus az deployment group create --resource-group myResourceGroup --template-file main.bicep --parameters vaultName=<vault-name> certificateName=myCertNote
Ganti
<vault-name>dengan nama brankas kunci, yang harus unik secara global dalamvault.azure.netnamespace.Setelah penyebaran selesai, Anda akan melihat pesan yang menunjukkan penyebaran berhasil.
Menetapkan peran RBAC Key Vault
Brankas kunci yang dibuat oleh file Bicep ini menggunakan Azure RBAC untuk otorisasi. Untuk mengakses sertifikat melalui sarana data (misalnya, dengan menggunakan Azure CLI atau Azure PowerShell), Anda perlu menetapkan peran yang sesuai untuk diri Anda sendiri.
echo "Enter your key vault name:" &&
read keyVaultName &&
az role assignment create --role "Key Vault Certificates 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
Penetapan peran mungkin memerlukan waktu satu atau dua menit untuk disebarluaskan.
Meninjau sumber daya yang disebarkan
Anda dapat menggunakan portal Azure untuk memeriksa brankas kunci dan sertifikat, atau menggunakan skrip Azure CLI atau Azure PowerShell berikut untuk mencantumkan sertifikat yang dibuat.
echo "Enter your key vault name:" &&
read keyVaultName &&
az keyvault certificate list --vault-name $keyVaultName &&
echo "Press [ENTER] to continue ..."
Membersihkan sumber daya
Jika tidak lagi diperlukan, gunakan portal Azure, Azure CLI, atau Azure PowerShell untuk menghapus grup sumber daya dan sumber dayanya.
az group delete --name myResourceGroup
Note
Menghapus grup sumber daya juga akan menghapus Key Vault, tetapi vault tersebut kemudian masuk ke status hapus sementara dan tetap dapat dipulihkan selama periode retensi (90 hari secara bawaan). Nama brankas tetap dicadangkan secara global selama periode tersebut, dan karena proteksi penghapusan permanen diaktifkan, brankas tidak dapat dihapus secara permanen lebih awal. Untuk Key Vault standar, Key Vault yang dihapus sementara tidak dikenakan biaya. Untuk informasi selengkapnya, lihat gambaran umum penghapusan sementara Key Vault.
Langkah berikutnya
Dalam panduan mulai cepat ini, Anda membuat Key Vault dan sebuah sertifikat menggunakan Bicep, lalu memverifikasi deployment. Untuk mempelajari selengkapnya tentang Key Vault dan Bicep, lanjutkan ke artikel di bawah ini.