Felügyelt Azure-alkalmazás létrehozása, amely ügyfél által felügyelt kulccsal titkosított tárfiókot helyez üzembe
Ez a cikk azt ismerteti, hogyan hozhat létre olyan Felügyelt Azure-alkalmazást, amely ügyfél által felügyelt kulccsal titkosított tárfiókot helyez üzembe. A tárfiók, a Cosmos DB és az Azure Database for Postgres támogatja az inaktív adatok titkosítását az ügyfél által felügyelt kulcsok vagy a Microsoft által felügyelt kulcsok használatával. A tárfiókban lévő adatok védelméhez használhatja a saját titkosítási kulcsát. Felhasználó által kezelt kulcs megadásakor a megadott kulccsal védi és szabályozza az adatokat titkosító kulcs hozzáférését. A felhasználó által kezelt kulcsokkal rugalmasabban kezelhető a hozzáférés-vezérlés.
Előfeltételek
- Aktív előfizetéssel és Microsoft Entra-erőforrásokhoz, például felhasználókhoz, csoportokhoz vagy szolgáltatásnevekhez tartozó engedélyekkel rendelkező Azure-fiók. Ha nincs fiókja, a kezdés előtt hozzon létre egy ingyenes fiókot .
- Visual Studio Code a legújabb Azure Resource Manager Tools-bővítménysel. Bicep-fájlok esetén telepítse a Visual Studio Code Bicep-bővítményét.
- Telepítse az Azure PowerShell vagy az Azure CLI legújabb verzióját.
- Ismerje meg, hogyan hozhat létre és helyezhet üzembe szolgáltatáskatalógus-definíciókat.
Managed identities
A felügyelt alkalmazás által a felügyelt erőforráscsoportban erőforrásként üzembe helyezett tárfiók ügyfél által felügyelt kulcsának konfigurálása felhasználó által hozzárendelt felügyelt identitást igényel. Ezzel a felhasználó által hozzárendelt felügyelt identitással hozzáférést biztosíthat a felügyelt alkalmazásnak más meglévő erőforrásokhoz. Ha meg szeretné tudni, hogyan konfigurálhatja a felügyelt alkalmazást egy felhasználó által hozzárendelt felügyelt identitással, lépjen az Azure Managed Application-be felügyelt identitással.
Az alkalmazás számára kétféle identitástípust lehet megadni:
- A rendszer által hozzárendelt felügyelt identitás az alkalmazáshoz van rendelve, és az alkalmazás törlésekor törlődik. Egy alkalmazás csak egy rendszer által hozzárendelt felügyelt identitással rendelkezhet.
- A felhasználó által hozzárendelt felügyelt identitás egy önálló Azure-erőforrás, amely hozzárendelhető az alkalmazáshoz. Egy alkalmazás több felhasználó által hozzárendelt felügyelt identitással is rendelkezhet.
Ha egy tárfiókot szeretne üzembe helyezni a felügyelt alkalmazás felügyelt erőforráscsoportjában, amely a meglévő kulcstartóból származó ügyfélkulcsokkal van titkosítva, további konfigurációra van szükség. A felügyelt alkalmazással konfigurált felügyelt identitáshoz a beépített Azure szerepköralapú hozzáférés-vezérlési felügyelt identitáskezelőre van szükség a kulcstartóhoz hozzáféréssel rendelkező felügyelt identitáson keresztül. További részletekért tekintse meg a Felügyelt identitáskezelő szerepkört.
Kulcstartó létrehozása törlési védelemmel
- Jelentkezzen be az Azure Portalra.
- Az Azure Portal menüjében vagy a Kezdőlapon válassza az Erőforrás létrehozása lehetőséget.
- A keresőmezőbe írja be a Key Vault kifejezést.
- Az eredmények listájában válassza a Key Vaultot.
- A Key Vault szakaszban válassza a Létrehozás lehetőséget.
- A Kulcstartó létrehozása szakaszban adja meg a következő információkat:
- Előfizetés: Válassza ki az előfizetését.
- Erőforráscsoport: Válassza az Új létrehozása lehetőséget, és adjon meg egy olyan nevet, mint a demo-cmek-rg.
- Név: Egyedi név szükséges, például demo-keyvault-cmek.
- Régió: Válasszon ki egy olyan helyet, mint az USA keleti régiója.
- Tarifacsomag: Válassza a Standard lehetőséget a legördülő listából.
- Törlés elleni védelem: Válassza a Törlés elleni védelem engedélyezése lehetőséget.
- Válassza a Tovább lehetőséget, és lépjen az Access Policy lapra.
- Hozzáférés-konfiguráció: Válassza ki az Azure szerepköralapú hozzáférés-vezérlését.
- Fogadja el az összes többi beállítás alapértelmezett beállításait.
- Select Review + create.
- Ellenőrizze, hogy a beállítások helyesek-e, és válassza a Létrehozás lehetőséget.
A sikeres üzembe helyezés után válassza az Erőforrás megnyitása lehetőséget. Az Áttekintés lapon jegyezze fel a következő tulajdonságokat:
- Tároló neve: A példában a tároló neve demo-keyvault-cmek. Ezt a nevet más lépésekhez is használhatja.
- Tároló URI: A példában a tároló URI-ja .
https://demo-keyvault-cmek.vault.azure.net/
Felhasználó által hozzárendelt felügyelt identitás létrehozása
Felhasználó által hozzárendelt felügyelt identitás létrehozásához a fióknak szüksége van a felügyelt identitás közreműködői szerepkör-hozzárendelésére.
- A keresőmezőbe írja be a felügyelt identitásokat.
- A Szolgáltatások területen válassza a Felügyelt identitások lehetőséget.
- Válassza a Létrehozás lehetőséget, és adja meg a következő értékeket az Alapértékek lapon:
- Előfizetés: Válassza ki az előfizetését.
- Erőforráscsoport: Válassza ki az előző lépésekben létrehozott demo-cmek-rg erőforráscsoportot.
- Régió: Válasszon ki egy régiót, például az USA keleti régióját.
- Név: Adja meg a felhasználó által hozzárendelt felügyelt identitás nevét, például demokeyvaultmi.
- Select Review + create.
- A sikeres ellenőrzés megjelenítése után válassza a Létrehozás lehetőséget.
Sikeres üzembe helyezés után válassza az Erőforrás megnyitása lehetőséget.
Szerepkör-hozzárendelések létrehozása
Két szerepkör-hozzárendelést kell létrehoznia a kulcstartóhoz. További részletekért lásd : Azure-szerepkörök hozzárendelése az Azure Portal használatával.
Kulcsengedély megadása a kulcstartón a felügyelt identitásnak
Hozzon létre egy szerepkör-hozzárendelést a key vault által felügyelt identitás demokeyvaultmi számára a kulcsok tördeléséhez és feloldásához.
- Nyissa meg a key vault demo-cmek-keyvaultját.
- Select Access control (IAM).
- Válassza a Szerepkör-hozzárendelés hozzáadása lehetőséget>.
- Rendelje hozzá a következő szerepkört:
- Szerepkör: Key Vault titkosítási szolgáltatás titkosítási felhasználója
- Hozzáférés hozzárendelése a következőhöz: Felügyelt identitás
- Tag: demokeyvaultmi
- Válassza a Véleményezés + hozzárendelés lehetőséget a beállítások megtekintéséhez.
- Válassza a Véleményezés + hozzárendelés lehetőséget a szerepkör-hozzárendelés létrehozásához.
Szerepkör-hozzárendelés létrehozása a fiókhoz
Hozzon létre egy másik szerepkör-hozzárendelést, hogy a fiókja új kulcsot hozzon létre a kulcstartóban.
- Rendelje hozzá a következő szerepkört:
- Szerepkör: Key Vault crypto officer
- Hozzáférés hozzárendelése a következőhöz: felhasználó, csoport vagy szolgáltatásnév
- Tag: Az Ön Microsoft Entra-fiókja
- Válassza a Véleményezés + hozzárendelés lehetőséget a beállítások megtekintéséhez.
- Válassza a Véleményezés + hozzárendelés lehetőséget a szerepkör-hozzárendelés létrehozásához.
A kulcstartó szerepkör-hozzárendeléseit a Hozzáférés-vezérlési (IAM-)> szerepkör-hozzárendelésekben ellenőrizheti.
Kulcs létrehozása
Létre kell hoznia egy kulcsot, amelyet a kulcstartó egy tárfiók titkosításához használ.
- Nyissa meg a key vaultot, demo-cmek-keyvault.
- Válassza a Kulcsok elemet.
- Válassza a Generálás/importálás lehetőséget.
- A Kulcs létrehozása lapon válassza ki a következő értékeket:
- Beállítások: Létrehozás
- Név: demo-cmek-key
- Fogadja el a többi beállítás alapértelmezett beállításait.
- Select Create.
Jegyezze fel a kulcs nevét. A felügyelt alkalmazás üzembe helyezésekor használja.
Felhasználó által hozzárendelt felügyelt identitás létrehozása a felügyelt alkalmazáshoz
Hozzon létre egy felhasználó által hozzárendelt felügyelt identitást, amely a felügyelt alkalmazás felügyelt identitásaként használható.
- A keresőmezőbe írja be a felügyelt identitásokat.
- A Szolgáltatások területen válassza a Felügyelt identitások lehetőséget.
- Select Create.
- Előfizetés: Válassza ki az előfizetését.
- Erőforráscsoport: Válassza ki a demo-cmek-rg erőforráscsoportot.
- Régió: Válasszon ki egy régiót, például az USA keleti régióját.
- Név: Adja meg a felhasználó által hozzárendelt felügyelt identitás nevét, például a demomanagedappmi nevet.
- Select Review + create.
- A sikeres ellenőrzés megjelenítése után válassza a Létrehozás lehetőséget.
Sikeres üzembe helyezés után válassza az Erőforrás megnyitása lehetőséget.
Szerepkör-engedély hozzárendelése felügyelt identitáshoz
Rendelje hozzá a felügyelt identitáskezelő szerepkört a felügyelt identitáshoz a demokeyvaultmi nevű, felhasználó által hozzárendelt felügyelt identitás hatókörében.
- Nyissa meg a demokeyvaultmi nevű, felhasználó által hozzárendelt felügyelt identitást.
- Select Access control (IAM).
- Válassza a Szerepkör-hozzárendelés hozzáadása>lehetőséget a Szerepkör-hozzárendelés hozzáadása lap megnyitásához.
- Rendelje hozzá a következő szerepkört.
- Szerepkör: Felügyelt identitáskezelő
- Hozzáférés hozzárendelése a következőhöz: Felügyelt identitás
- Tag: demomanagedappmi
- Válassza a Véleményezés + hozzárendelés lehetőséget a beállítások megtekintéséhez.
- Válassza a Véleményezés + hozzárendelés lehetőséget a szerepkör-hozzárendelés létrehozásához.
A demokeyvaultmi szerepkör-hozzárendelését ellenőrizheti a hozzáférés-vezérlési (IAM)>szerepkör-hozzárendelésekben.
Felügyelt alkalmazássablon minta
Hozzon létre egy felügyelt alkalmazást, amely egy felügyelt erőforráscsoportban helyezi üzembe a tárfiókot, és egy meglévő kulcstartó kulcsával titkosítja a tárfiókban lévő adatokat.
Felügyelt alkalmazás szolgáltatáskatalógusban való közzétételéhez hajtsa végre a következő feladatokat:
- Hozza létre a creatUIDefinition.json fájlt a cikkben szereplő mintából. A sablon meghatározza a portál felhasználói felületének elemeit a felügyelt alkalmazás üzembe helyezésekor.
- Hozzon létre egy mainTemplate.json nevű Azure Resource Manager-sablont a cikkben szereplő Bicep-fájl JSON-fájllá alakításával. A sablon meghatározza a felügyelt alkalmazással üzembe helyezendő erőforrásokat.
- Hozzon létre egy .zip csomagot, amely tartalmazza a szükséges JSON-fájlokat: createUiDefinition.json és mainTemplate.json.
- Tegye közzé a felügyelt alkalmazásdefiníciót, hogy elérhető legyen a szolgáltatáskatalógusban. További információkért tekintse meg az Azure Managed Application definíciójának létrehozását és közzétételét ismertető rövid útmutatót.
Create template createUiDefinition.json
Az alábbi sablon létrehoz egy felhasználó által hozzárendelt felügyelt identitást a felügyelt alkalmazáshoz. Ebben a példában letiltjuk a rendszer által hozzárendelt felügyelt identitást, mert a felhasználó által hozzárendelt felügyelt identitást előre konfigurálnunk kell a Felügyelt identitáskezelő engedélyekkel a kulcstartó felügyelt identitása felett.
- Hozzon létre egy új fájlt a Visual Studio Code-ban creatUIDefinition.json néven.
- Másolja és illessze be a következő kódot a fájlba.
- Mentse a fájlt.
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [],
"steps": [
{
"name": "managedApplicationSetting",
"label": "Application Settings",
"subLabel": {
"preValidation": "Configure your application settings and Managed Identity for the application",
"postValidation": "Done"
},
"bladeTitle": "Application Settings - Config",
"elements": [
{
"name": "appIdentity",
"type": "Microsoft.ManagedIdentity.IdentitySelector",
"label": "Managed Identity Configuration for the Application (Needs Managed Identity Operator permissions over KV Managed Identity).",
"toolTip": {
"systemAssignedIdentity": "Enable system assigned identity to grant the managed application access to additional existing resources.",
"userAssignedIdentity": "Add user assigned identities to grant the managed application access to additional existing resources."
},
"defaultValue": {
"systemAssignedIdentity": "Off"
},
"options": {
"hideSystemAssignedIdentity": true,
"hideUserAssignedIdentity": false,
"readOnlySystemAssignedIdentity": true
},
"visible": true
}
]
},
{
"name": "configuration",
"type": "Microsoft.Common.Section",
"label": "Configuration",
"elements": [
{
"name": "cmek",
"type": "Microsoft.Common.Section",
"label": "Customer Managed Encryption Key (CMEK)",
"elements": [
{
"name": "cmekEnable",
"type": "Microsoft.Common.CheckBox",
"label": "Enable CMEK",
"toolTip": "Enable to provide a CMEK",
"constraints": {
"required": false
}
},
{
"name": "cmekKeyVaultUrl",
"type": "Microsoft.Common.TextBox",
"label": "Key Vault URL",
"toolTip": "Specify the CMEK Key Vault URL",
"defaultValue": "",
"constraints": {
"required": "[steps('configuration').cmek.cmekEnable]",
"regex": ".*",
"validationMessage": "The value must not be empty."
},
"visible": "[steps('configuration').cmek.cmekEnable]"
},
{
"name": "cmekKeyName",
"type": "Microsoft.Common.TextBox",
"label": "Key Name",
"toolTip": "Specify the key name from your key vault.",
"defaultValue": "",
"constraints": {
"required": "[steps('configuration').cmek.cmekEnable]",
"regex": ".*",
"validationMessage": "The value must not be empty."
},
"visible": "[steps('configuration').cmek.cmekEnable]"
},
{
"name": "cmekKeyIdentity",
"type": "Microsoft.ManagedIdentity.IdentitySelector",
"label": "Managed Identity Configuration for Key Vault Access",
"toolTip": {
"systemAssignedIdentity": "Enable system assigned identity to grant the managed application access to additional existing resources.",
"userAssignedIdentity": "Add user assigned identities to grant the managed application access to additional existing resources."
},
"defaultValue": {
"systemAssignedIdentity": "Off"
},
"options": {
"hideSystemAssignedIdentity": true,
"hideUserAssignedIdentity": false,
"readOnlySystemAssignedIdentity": true
},
"visible": "[steps('configuration').cmek.cmekEnable]"
}
],
"visible": true
}
]
}
],
"outputs": {
"location": "[location()]",
"managedIdentity": "[steps('managedApplicationSetting').appIdentity]",
"cmekConfig": {
"kvUrl": "[if(empty(steps('configuration').cmek.cmekKeyVaultUrl), '', steps('configuration').cmek.cmekKeyVaultUrl)]",
"keyName": "[if(empty(steps('configuration').cmek.cmekKeyName), '', steps('configuration').cmek.cmekKeyName)]",
"identityId": "[if(empty(steps('configuration').cmek.cmekKeyIdentity), '', steps('configuration').cmek.cmekKeyIdentity)]"
}
}
}
}
Sablon létrehozása mainTemplate.json
A következő Bicep-fájl a mainTemplate.json forráskódja. A sablon a createUiDefinition.json fájlban definiált, felhasználó által hozzárendelt felügyelt identitást használja.
- Hozzon létre egy új fájlt a Visual Studio Code-ban mainTemplate.bicep néven.
- Másolja és illessze be a következő kódot a fájlba.
- Mentse a fájlt.
param cmekConfig object = {
kvUrl: ''
keyName: ''
identityId: {}
}
@description('Specify the Azure region to place the application definition.')
param location string = resourceGroup().location
/////////////////////////////////
// Common Resources Configuration
/////////////////////////////////
var commonproperties = {
name: 'cmekdemo'
displayName: 'Common Resources'
storage: {
sku: 'Standard_LRS'
kind: 'StorageV2'
accessTier: 'Hot'
minimumTlsVersion: 'TLS1_2'
}
}
var identity = items(cmekConfig.identityId.userAssignedIdentities)[0].key
resource storage 'Microsoft.Storage/storageAccounts@2022-05-01' = {
name: '${commonproperties.name}${uniqueString(resourceGroup().id)}'
location: location
sku: {
name: commonproperties.storage.sku
}
kind: commonproperties.storage.kind
identity: cmekConfig.identityId
properties: {
accessTier: commonproperties.storage.accessTier
minimumTlsVersion: commonproperties.storage.minimumTlsVersion
encryption: {
identity: {
userAssignedIdentity: identity
}
services: {
blob: {
enabled: true
}
table: {
enabled: true
}
file: {
enabled: true
}
}
keySource: 'Microsoft.Keyvault'
keyvaultproperties: {
keyname: '${cmekConfig.keyName}'
keyvaulturi: '${cmekConfig.kvUrl}'
}
}
}
}
A MainTemplate.json fájl létrehozásához használja a PowerShellt vagy az Azure CLI-t. Nyissa meg azt a könyvtárat, ahová a Bicep-fájlt mentette, és futtassa a build
parancsot.
bicep build mainTemplate.bicep
Miután a Bicep-fájlt JSON-ra konvertálta, a mainTemplate.json fájlnak meg kell egyeznie az alábbi példával. Előfordulhat, hogy a tulajdonságok version
templateHash
között különböző értékek szerepelnek.metadata
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.16.2.56959",
"templateHash": "1234567891234567890"
}
},
"parameters": {
"cmekConfig": {
"type": "object",
"defaultValue": {
"kvUrl": "",
"keyName": "",
"identityId": {}
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Specify the Azure region to place the application definition."
}
}
},
"variables": {
"commonproperties": {
"name": "cmekdemo",
"displayName": "Common Resources",
"storage": {
"sku": "Standard_LRS",
"kind": "StorageV2",
"accessTier": "Hot",
"minimumTlsVersion": "TLS1_2"
}
},
"identity": "[items(parameters('cmekConfig').identityId.userAssignedIdentities)[0].key]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2022-05-01",
"name": "[format('{0}{1}', variables('commonproperties').name, uniqueString(resourceGroup().id))]",
"location": "[parameters('location')]",
"sku": {
"name": "[variables('commonproperties').storage.sku]"
},
"kind": "[variables('commonproperties').storage.kind]",
"identity": "[parameters('cmekConfig').identityId]",
"properties": {
"accessTier": "[variables('commonproperties').storage.accessTier]",
"minimumTlsVersion": "[variables('commonproperties').storage.minimumTlsVersion]",
"encryption": {
"identity": {
"userAssignedIdentity": "[variables('identity')]"
},
"services": {
"blob": {
"enabled": true
},
"table": {
"enabled": true
},
"file": {
"enabled": true
}
},
"keySource": "Microsoft.Keyvault",
"keyvaultproperties": {
"keyname": "[format('{0}', parameters('cmekConfig').keyName)]",
"keyvaulturi": "[format('{0}', parameters('cmekConfig').kvUrl)]"
}
}
}
}
]
}
A felügyelt alkalmazás üzembe helyezése
A szolgáltatáskatalógus definíciójának létrehozása után üzembe helyezheti a felügyelt alkalmazást. További információ: Gyorsútmutató: Szolgáltatáskatalógus által felügyelt alkalmazás üzembe helyezése.
Az üzembe helyezés során a felhasználó által hozzárendelt felügyelt identitásokat, a kulcstartó nevét, a kulcstartó URL-címét és a kulcstartó kulcsnevét használja. A createUiDefinition.json fájl létrehozza a felhasználói felületet.
Egy portál üzemelő példányában például az Alkalmazás Gépház lapon adja hozzá a demomanagedappmi parancsot.
A Konfiguráció lapon engedélyezheti az ügyfél által felügyelt kulcsot, és hozzáadhatja a felhasználó által hozzárendelt felügyelt identitást a key vaulthoz( demokeyvaultmi). Meg kell adnia a kulcstartó URL-címét és a kulcstartó létrehozott kulcsnevét is.
Az üzemelő példány ellenőrzése
Az üzembe helyezés befejezése után ellenőrizheti a felügyelt alkalmazás identitás-hozzárendelését. A felhasználó által hozzárendelt felügyelt identitás demomanagedappmi hozzá van rendelve a felügyelt alkalmazáshoz.
- Lépjen arra az erőforráscsoportra, ahol a felügyelt alkalmazást üzembe helyezte.
- Az Gépház> Identitás területen válassza a Felhasználóhoz rendelt (előzetes verzió) lehetőséget.
Azt a tárfiókot is ellenőrizheti, amelyet a felügyelt alkalmazás üzembe helyezett. A Titkosítás lapon látható a demo-cmek-key kulcsés a felhasználó által hozzárendelt felügyelt identitás erőforrás-azonosítója.
- Lépjen arra a felügyelt erőforráscsoportra, ahol a felügyelt alkalmazás tárfiókja üzembe van helyezve.
- A Biztonság + hálózatkezelés területen válassza a Titkosítás lehetőséget.
Következő lépések
- A tárolótitkosítással kapcsolatos további információkért tekintse meg az Azure Storage titkosításának ügyfél által felügyelt kulcsait.
- Ha további információt szeretne a kulcstartó kulcsához való hozzáférésre vonatkozó engedélyekkel rendelkező, felhasználó által hozzárendelt felügyelt identitásról, tekintse meg az ügyfél által felügyelt kulcsok konfigurálását ugyanabban a bérlőben egy meglévő tárfiókhoz.