Cara membuat kebijakan akses vault dan brankas kunci Azure dengan menggunakan templat Manajer Sumber Daya
Azure Key Vault adalah layanan cloud yang menyediakan penyimpanan yang aman untuk rahasia seperti kunci, kata sandi, dan sertifikat. Artikel ini menjelaskan proses untuk menggunakan templat Azure Resource Manager (templat ARM) untuk membuat brankas kunci.
Templat Azure Resource Manager adalah file JavaScript Object Notation (JSON) yang menentukan infrastruktur dan konfigurasi untuk proyek Anda. Template tersebut menggunakan sintaksis deklaratif. Anda menjelaskan penyebaran yang Dimaksudkan tanpa menulis urutan perintah pemrograman untuk membuat penyebaran.
Prasyarat
Untuk menyelesaikan langkah berikut dalam artikel ini:
- Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda mulai.
Membuat templat Azure Resource Manager Key Vault
Templat berikut ini memperlihatkan cara dasar untuk membuat brankas kunci. Beberapa nilai ditentukan dalam templat.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"keyVaultName": {
"type": "string",
"metadata": {
"description": "Specifies the name of the key vault."
}
},
"skuName": {
"type": "string",
"defaultValue": "Standard",
"allowedValues": [
"Standard",
"Premium"
],
"metadata": {
"description": "Specifies whether the key vault is a standard vault or a premium vault."
}
}
},
"resources": [
{
"type": "Microsoft.KeyVault/vaults",
"apiVersion": "2019-09-01",
"name": "[parameters('keyVaultName')]",
"location": "[resourceGroup().location]",
"properties": {
"enabledForDeployment": "false",
"enabledForDiskEncryption": "false",
"enabledForTemplateDeployment": "false",
"tenantId": "[subscription().tenantId]",
"accessPolicies": [],
"sku": {
"name": "[parameters('skuName')]",
"family": "A"
},
"networkAcls": {
"defaultAction": "Allow",
"bypass": "AzureServices"
}
}
}
]
}
Untuk informasi selengkapnya tentang pengaturan templat Key Vault, lihat Referensi templat Key Vault ARM.
Penting
Jika templat disebar ulang, semua kebijakan akses yang ada di brankas kunci akan tertimpa. Kami menyarankan agar Anda mengisi properti accessPolicies
dengan kebijakan akses yang ada untuk menghindari kehilangan akses ke brankas kunci.
Menambahkan kebijakan akses ke templat Resource Manager Key Vault
Anda dapat menyebarkan kebijakan akses ke brankas kunci yang ada tanpa menyebar ulang seluruh templat brankas utama. Templat berikut memperlihatkan cara dasar untuk membuat brankas kunci:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"keyVaultName": {
"type": "string",
"metadata": {
"description": "Specifies the name of the key vault."
}
},
"objectId": {
"type": "string",
"metadata": {
"description": "Specifies the object ID of a user, service principal or security group in the Azure Active Directory tenant for the vault. The object ID must be unique for the list of access policies. Get it by using Get-AzADUser or Get-AzADServicePrincipal cmdlets."
}
},
"keysPermissions": {
"type": "array",
"defaultValue": [
"list"
],
"metadata": {
"description": "Specifies the permissions to keys in the vault. Valid values are: all, encrypt, decrypt, wrapKey, unwrapKey, sign, verify, get, list, create, update, import, delete, backup, restore, recover, and purge."
}
},
"secretsPermissions": {
"type": "array",
"defaultValue": [
"list"
],
"metadata": {
"description": "Specifies the permissions to secrets in the vault. Valid values are: all, get, list, set, delete, backup, restore, recover, and purge."
}
},
"certificatePermissions": {
"type": "array",
"defaultValue": [
"list"
],
"metadata": {
"description": "Specifies the permissions to certificates in the vault. Valid values are: all, create, delete, update, deleteissuers, get, getissuers, import, list, listissuers, managecontacts, manageissuers, recover, backup, restore, setissuers, and purge."
}
}
},
"resources": [
{
"type": "Microsoft.KeyVault/vaults/accessPolicies",
"name": "[concat(parameters('keyVaultName'), '/add')]",
"apiVersion": "2019-09-01",
"properties": {
"accessPolicies": [
{
"tenantId": "[subscription().tenantId]",
"objectId": "[parameters('objectId')]",
"permissions": {
"keys": "[parameters('keysPermissions')]",
"secrets": "[parameters('secretsPermissions')]",
"certificates": "[parameters('certificatePermissions')]"
}
}
]
}
}
]
}
Untuk informasi selengkapnya tentang pengaturan templat Key Vault, lihat Referensi templat ARM Key Vault.
Lebih banyak templat Resource Manager Key Vault
Ada templat Resource Manager lain yang tersedia untuk objek Key Vault:
Rahasia | Kunci | Sertifikat |
---|---|---|
T/A | T/A |
Anda dapat menemukan lebih banyak templat Key Vault di sini: Referensi Resource Manager Key Vault.
Menyebarkan templat
Anda dapat menggunakan portal Microsoft Azure untuk menyebarkan templat sebelumnya dengan menggunakan opsi Buat templat Anda sendiri di editor seperti yang dijelaskan di sini: Sebarkan sumber daya dari templat kustom.
Anda juga dapat menyimpan templat sebelumnya ke file dan menggunakan perintah ini: New-AzResourceGroupDeployment dan az deployment group create:
New-AzResourceGroupDeployment -ResourceGroupName ExampleGroup -TemplateFile key-vault-template.json
az deployment group create --resource-group ExampleGroup --template-file key-vault-template.json
Membersihkan sumber daya
Jika Anda berencana untuk terus bekerja dengan mulai cepat dan tutorial berikutnya, biarkan sumber daya ini menetap. Saat Anda tidak memerlukan sumber daya itu lagi, hapus grup sumber daya. Jika Anda menghapus grup, brankas kunci dan sumber daya terkait juga akan dihapus. Untuk menghapus grup sumber daya dengan menggunakan Azure CLI atau Azure PowerShell, selesaikan langkah-langkah ini:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Sumber
- Baca Gambaran Umum Azure Key Vault.
- Pelajari selengkapnya tentang Azure Resource Manager.
- Tinjau Ringkasan keamanan Azure Key Vault