La configuración de la identidad administrada para las funciones de Azure implica el uso de la identidad administrada del sistema o la identidad administrada del usuario. Así es como puedes configurar ambos tipos:
Habilitar el sistema asignado identidad administrada
1. Navegue al portal de Azure: vaya a su aplicación de función Azure en el portal de Azure.
2. Seleccione la opción de identidad: en el menú izquierdo, seleccione Configuración y luego haga clic en Identity.
3. Habilite la identidad asignada del sistema: en la pestaña asignada del sistema, alterne el estado en y haga clic en Guardar. Esto crea una identidad administrada con el mismo nombre que su aplicación de función.
4. Asigne permisos: navegue al recurso (por ejemplo, almacenamiento de Azure o base de datos SQL) a la que desea que acceda a su función. Asigne los roles apropiados a la identidad administrada yendo a Access Control (IAM), luego asignaciones de roles y agregando la identidad administrada a los roles requeridos [1] [3] [7].
habilitando la identidad administrada asignada por el usuario
1. Cree una identidad asignada por el usuario: Primero, cree un recurso de identidad administrado de Ayesis Asignado en Azure. Esta identidad se puede utilizar en múltiples recursos.
2. Asignar a la aplicación Function: en el portal de Azure, navegue hasta la configuración de identidad de su aplicación de funciones. Cambie a la pestaña asignada por el usuario y haga clic en Agregar. Busque y seleccione la identidad asignada por el usuario que creó [1] [6].
3. Configurar la configuración de la aplicación: para ciertos servicios como Key Vault, es posible que deba establecer propiedades adicionales (por ejemplo, 'KeyVaultreferenceIdentity`) a través de llamadas API REST, ya que estas configuraciones no están disponibles en la UI [1].
4. Asigne permisos: similar a las identidades asignadas al sistema, asigne los roles necesarios a la identidad asignada por el usuario para los recursos de destino [6].
utilizando la identidad administrada en el código
Al usar identidades administradas, sus funciones de Azure pueden aprovechar bibliotecas como `Azure.Identity` para autenticarse con los servicios de Azure sin manejar los secretos directamente. Por ejemplo, puede usar `DefaultAzureCredential` para conectarse al almacenamiento de Azure o una base de datos SQL [5] [9].
Beneficios de las identidades administradas
- Seguridad: evita la necesidad de almacenar secretos en el código o los archivos de configuración.
- Flexibilidad: permite una fácil gestión de permisos de acceso a través de Azure RBAC.
-Escalabilidad: admite identidades asignadas por el sistema y asignadas por el usuario para diferentes escenarios [4] [6].
Citas:
[1] https://www.red-gate.com/simple-talk/cloud/azure/azure-function-and-user-assigned-didentities/
[2] https://codebankblog.wordpress.com/2020/06/27/azure-function-with-managed-identity-and-azure-sql-db/
[3] https://kumarashwinhubert.com/secure-your-azure-functions-use-managed-ididentity-for-azurewebjobsstorage
[4] https://docs.azure.cn/en-us/azure-functions/functions-ididentity basado en-connections-tutorial
[5] https://www.linkedin.com/pulse/how-use-smanaged-identity-app-service-azure-ali-khan-
[6] https://learn.microsoft.com/en-us/azure/app-service/overview-managed-identity
[7] https://docs.azure.cn/en-us/azure-functions/functions-ididentity-access-azure-sql-with-didentity
[8] https://learn.microsoft.com/en-us/azure/azure-functions/dured/dured-functions-configure-didentity
[9] https://www.transparity.com/app-innovation/azure-functions-with-managed-identity-storage-access/