Acceso al secreto de Key Vault al implementar Azure Managed Applications
Artículo
Cuando tiene que pasar un valor seguro (por ejemplo, una contraseña) como un parámetro durante la implementación, puede recuperar el valor de Azure Key Vault. Para acceder a Key Vault cuando se implementa Managed Applications, debe conceder acceso a la entidad de servicio del proveedor de recursos de dispositivos. El servicio Managed Applications utiliza esta identidad para ejecutar operaciones. Para recuperar correctamente un valor de un almacén de claves durante la implementación, es necesario que la entidad de servicio pueda obtener acceso al almacén de claves.
En este artículo se describe cómo configurar Key Vault para que funcione con Managed Applications.
Abra el almacén de claves. Escriba almacenes de claves en el cuadro de búsqueda o seleccione Almacenes de claves.
Seleccione Configuración de acceso.
Seleccione Azure Resource Manager para la implementación de plantillas. Luego, seleccione Aplicar.
Agregar servicio como colaborador
Asigne el rol de Colaborador al usuario del proveedor de recursos del dispositivo en el ámbito del almacén de claves. El rol Colaborador es un rol de administrador con privilegios para la asignación de roles. Para obtener los pasos detallados, consulte Asignación de roles de Azure mediante Azure Portal.
El Proveedor de recursos del dispositivo es una entidad de servicio en el inquilino de Microsoft Entra. En Azure Portal, puedes comprobar su registro en Microsoft Entra ID>Aplicaciones empresariales y cambia el filtro de búsqueda a Aplicaciones de Microsoft. Busque por proveedor de recursos de dispositivos. Si no se encuentra la entidad de servicio, registra el proveedor de recursos Microsoft.Solutions.
Referencia a secreto de Key Vault
Para pasar un secreto desde Key Vault a una plantilla de la aplicación administrada, debe usar una plantilla vinculada o anidada y hacer referencia a Key Vault en los parámetros de la plantilla vinculada o anidada. Proporcione el identificador de recurso de Key Vault y el nombre del secreto.
JSON
{
"$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": {
}
}
Pasos siguientes
Has configurado Key Vault para que esté accesible durante la implementación de una aplicación administrada.
Muestre las características de Microsoft Entra ID para modernizar las soluciones de identidad, implementar soluciones híbridas e implementar la gobernanza de identidades.
Aquí se explica cómo habilitar usuarios de la aplicación administrada para seleccionar una red virtual existente. La red virtual puede estar fuera de la aplicación administrada.