Rahasia Key Vault akses saat menyebarkan Azure Managed Applications
Ketika Anda perlu meneruskan nilai aman (seperti kata sandi) sebagai parameter selama penyebaran, Anda dapat mengambil nilai dari Azure Key Vault. Untuk mengakses Key Vault saat menyebarkan Aplikasi Terkelola, Anda harus memberikan akses ke perwakilan layanan Penyedia Sumber Appliance. Layanan Aplikasi Terkelola menggunakan identitas ini untuk menjalankan operasi. Agar berhasil mengambil nilai dari Key Vault selama penyebaran, perwakilan layanan harus dapat mengakses Key Vault.
Artikel ini menjelaskan cara mengonfigurasi Key Vault agar berfungsi dengan Aplikasi Terkelola.
Mengaktifkan penyebaran templat
Masuk ke portal Azure.
Buka brankas kunci Anda. Masukkan brankas kunci di kotak penelusuran atau pilih Key Vault.
Pilih Konfigurasi akses.
Pilih Azure Resource Manager untuk penyebaran pola dasar. Kemudian, pilih Terapkan.
Menambahkan layanan sebagai kontributor
Tetapkan peran Kontributor ke pengguna Appliance Resource Provider pada cakupan brankas kunci. Peran Kontributor adalah peran administrator istimewa untuk penetapan peran. Untuk langkah-langkah mendetail, buka Menetapkan peran Azure menggunakan portal Azure.
Penyedia Sumber Daya Appliance adalah perwakilan layanan di penyewa Microsoft Entra Anda. Dari portal Azure, Anda dapat memverifikasi apakah terdaftar dengan masuk ke aplikasi Microsoft Entra ID>Enterprise dan mengubah filter pencarian ke Aplikasi Microsoft. Telusuri Penyedia Sumber Daya Appliance. Jika tidak ditemukan, daftarkan penyedia sumber daya Microsoft.Solutions
.
Rahasia Key Vault Referensi
Untuk meneruskan rahasia dari Key Vault ke templat di Aplikasi Terkelola, Anda harus menggunakan templat yang tertaut atau berlapis dan mereferensikan Key Vault dalam parameter untuk templat yang tertaut atau berlapis. Berikan ID sumber daya Key Vault dan nama rahasia.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "The location where the resources will be deployed."
}
},
"vaultName": {
"type": "string",
"metadata": {
"description": "The name of the key vault that contains the secret."
}
},
"secretName": {
"type": "string",
"metadata": {
"description": "The name of the secret."
}
},
"vaultResourceGroupName": {
"type": "string",
"metadata": {
"description": "The name of the resource group that contains the key vault."
}
},
"vaultSubscription": {
"type": "string",
"defaultValue": "[subscription().subscriptionId]",
"metadata": {
"description": "The name of the subscription that contains the key vault."
}
}
},
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2022-09-01",
"name": "dynamicSecret",
"properties": {
"mode": "Incremental",
"expressionEvaluationOptions": {
"scope": "inner"
},
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"adminLogin": {
"type": "string"
},
"adminPassword": {
"type": "securestring"
},
"location": {
"type": "string"
}
},
"variables": {
"sqlServerName": "[concat('sql-', uniqueString(resourceGroup().id, 'sql'))]"
},
"resources": [
{
"type": "Microsoft.Sql/servers",
"apiVersion": "2022-05-01-preview",
"name": "[variables('sqlServerName')]",
"location": "[parameters('location')]",
"properties": {
"administratorLogin": "[parameters('adminLogin')]",
"administratorLoginPassword": "[parameters('adminPassword')]"
}
}
],
"outputs": {
"sqlFQDN": {
"type": "string",
"value": "[reference(variables('sqlServerName')).fullyQualifiedDomainName]"
}
}
},
"parameters": {
"location": {
"value": "[parameters('location')]"
},
"adminLogin": {
"value": "ghuser"
},
"adminPassword": {
"reference": {
"keyVault": {
"id": "[resourceId(parameters('vaultSubscription'), parameters('vaultResourceGroupName'), 'Microsoft.KeyVault/vaults', parameters('vaultName'))]"
},
"secretName": "[parameters('secretName')]"
}
}
}
}
}
],
"outputs": {
}
}
Langkah berikutnya
Anda telah mengonfigurasi Key Vault agar dapat diakses selama penyebaran Aplikasi Terkelola.
- Untuk informasi tentang meneruskan nilai dari Key Vault sebagai parameter templat, buka Menggunakan Azure Key Vault untuk meneruskan nilai parameter aman selama penyebaran.
- Untuk mempelajari selengkapnya tentang keamanan brankas kunci, buka Keamanan dan Autentikasi Azure Key Vault di Azure Key Vault.
- Untuk contoh aplikasi terkelola, buka Contoh proyek untuk aplikasi terkelola Azure.
- Untuk mempelajari cara membuat file definisi UI untuk aplikasi terkelola, buka Mulai menggunakan CreateUiDefinition.