Compartir a través de


Usar variables de entorno para secretos de Azure Key Vault

Las variables de entorno permiten hacer referencia a secretos almacenados en Azure Key Vault. Estos secretos se ponen a disposición para su uso dentro de flujos y conectores personalizados de Power Automate. Tenga en cuenta que los secretos no están disponibles para su uso en otras personalizaciones o, en general, a través de API.

Los secretos reales solo se almacenan en Azure Key Vault y la variable de entorno simplemente hace referencia a la ubicación de los secretos del almacén de claves. El uso de secretos de Azure Key Vault con variables de entorno requiere que configure Azure Key Vault para que Power Platform pueda leer los secretos específicos a los que desea hacer referencia.

Las variables de entorno que hacen referencia a secretos no están disponibles actualmente desde el selector de contenido dinámico para su uso en flujos de Power Automate.

Configuración de Azure Key Vault

Para usar los secretos de Azure Key Vault con Power Platform, la suscripción de Azure que tiene el almacén debe tener el proveedor de recursos PowerPlatform registrado y el usuario que crea la variable de entorno debe tener los permisos adecuados para el recurso de Azure Key Vault.

Importante

  • Hay cambios recientes en el rol de seguridad que se usa para hacer valer los permisos de acceso en Azure Key Vault. Las instrucciones anteriores incluían la asignación de la función Lector de Key Vault. Si ha configurado su Key Vault previamente con el rol de lector de Key Vault, asegúrese de agregar el rol de usuario de secretos de Key Vault para asegurarse de que sus usuarios y Microsoft Dataverse tienen permiso suficiente para recuperar los secretos.
  • Reconocemos que nuestro servicio usa las API de control de acceso basado en roles de Azure para evaluar la asignación de rol de seguridad incluso si aún tiene su almacén de claves configurado para usar el modelo de permiso de política de acceso al almacén. Para simplificar su configuración, le recomendamos que cambie el modelo de permisos de su almacén al control de acceso basado en roles de Azure. Puede hacerlo en la pestaña Configuración de acceso.
  1. Registre el proveedor de recursos Microsoft.PowerPlatform en su suscripción de Azure. Siga estos pasos para verificar y configurar: Proveedores de recursos y tipos de recursos

    Registre el proveedor de Power Platform en Azure

  2. Cree un almacén de Azure Key Vault. Considere usar un almacén diferente para cada entorno de Power Platform para minimizar la amenaza en caso de vulneración. Considere configurar su almacén de claves para usar Control de acceso basado en roles de Azure para el Modelo de permisos. Más información: Procedimientos recomendados para usar Azure Key Vault, Inicio rápido: creación de un almacén de claves de Azure con Azure Portal

  3. Los usuarios que creen o utilicen variables de entorno de tipo secreto deben tener permiso para recuperar el contenido del secreto. Para otorgar a un nuevo usuario la capacidad de usar el secreto, seleccione el área Control de acceso (IAM), seleccione Agregar, y luego seleccione Agregar asignación de roles del menú desplegable. Más información: Proporcione acceso a claves, certificados y secretos de Key Vault con un control de acceso basado en roles de Azure

    Ver mi acceso en Azure

  4. En el asistente Agregar asignación de roles, deje el tipo de asignación predeterminado como Roles de función de trabajo y continúe a la pestaña Rol. Busque el rol de usuario de Key Vault Secrets y selecciónelo. Vaya a la pestaña de miembros y seleccione el enlace Seleccionar miembros y ubique al usuario en el panel lateral. Cuando haya seleccionado al usuario y se muestre en la sección de miembros, continúe con la pestaña revisar y asignar y complete el asistente.

  5. Azure Key Vault debe tener la función Usuario de secretos de Key Vault otorgada a la entidad de servicio Dataverse. Si no existe para este almacén, agregue una nueva directiva de acceso usando el mismo método que usó anteriormente para el permiso de usuario final, solo usando la identidad de la aplicación Dataverse en lugar del usuario. Si tiene varias entidades de servicio de Dataverse en su inquilino, le recomendamos que las seleccione todas y guarde la asignación de roles. Una vez asignada la función, revise cada elemento de Dataverse enumerado en la lista de asignaciones de funciones y seleccione el nombre Dataverse para ver los detalles. Si el ID de la aplicación no es 00000007-0000-0000-c000-000000000000**, seleccione la identidad y luego Eliminar para eliminarlo de la lista.

  6. Si ha habilitado Azure Key Vault Firewall, debe permitir el acceso de las direcciones IP de Power Platform a su Key Vault. Power Platform no está incluido en la opción "Solo servicios de confianza". Vaya a Power Platform URL e intervalos de direcciones IP para las direcciones IP que se usan actualmente en el servicio.

  7. Si aún no lo ha hecho, agregue un secreto a su nuevo almacén. Para obtener más información, consulte Inicio rápido de Azure: establecer y recuperar un secreto de Key Vault mediante el portal de Azure

Crear una nueva variable de entorno para el secreto de Key Vault

Una vez que Azure Key Vault está configurado y tiene un secreto registrado en su almacén, ahora puede hacer referencia a él dentro de Power Apps utilizando una variable de entorno.

Nota

  • La validación de acceso de usuario para el secreto se realiza en segundo plano. Si el usuario no tiene al menos permiso de lectura, se muestra este error de validación: "Esta variable no se guardó correctamente. El usuario no está autorizado a leer secretos de 'ruta de Azure Key Vault'".
  • Actualmente, Azure Key Vault es el único almacén de secretos compatible con variables de entorno.
  • Azure Key Vault debe estar en el mismo inquilino que la suscripción de Power Platform.
  1. Inicie sesión en Power Apps y, en el área Soluciones, abra la solución no administrada que está usando para el desarrollo.

  2. Seleccione Nuevo>Más>Variable de entorno.

  3. Introduzca un Nombre para mostrar y, opcionalmente, una Descripción para la variable del entorno.

  4. Seleccione el Tipo de datos como Secreto y Almacén de secretos como Azure Key Vault.

  5. Seleccione una de las opciones siguientes:

    • Seleccione Nueva referencia de valor de Azure Key Vault. Después de agregar la información en el siguiente paso y guardarla, se crea un registro de valor de la variable de entorno.
    • Expanda Mostrar valor predeterminado, para mostrar los campos para crear un Secreto predeterminado de Azure Key Vault. Después de agregar la información en el siguiente paso y guardarla, la demarcación del valor predeterminado se agrega al registro definición de la variable del entorno.
  6. Escriba la siguiente información:

    • Id. de suscripción de Azure: el identificador de suscripción de Azure asociado con el almacén de claves.

    • Nombre del grupo de recursos: el grupo de recursos de Azure donde se encuentra el almacén de claves que contiene el secreto.

    • Nombre de Azure Key Vault: el nombre del almacén de claves que contiene el secreto.

    • Nombre del secreto: el nombre del secreto ubicado en Azure Key Vault.

      Propina

      El identificador de suscripción, el nombre del grupo de recursos y el nombre del almacén de claves se pueden encontrar en la página de Información general del almacén de claves del portal de Azure. El nombre del secreto se puede encontrar en la página del almacén de claves en el portal de Azure seleccionando Secretos en Configuración.

  7. Seleccione Guardar.

Crear un flujo de Power Automate para probar el secreto de la variable de entorno

Un escenario simple para demostrar cómo usar un secreto obtenido de Azure Key Vault es crear un flujo de Power Automate para usar el secreto para autenticarse en un servicio web.

Nota

La URI para el servicio web utilizado es este ejemplo no es un servicio web operativo.

  1. Inicie sesión en Power Apps, seleccione Soluciones y después abra la solución no administrada que desee. Si el elemento no se encuentra en el panel lateral, seleccione …Más y, a continuación, el elemento que desee.

  2. Seleccione Nuevo>Automatización>Flujo de nube>Instante.

  3. Introduzca un nombre para el flujo, seleccione Desencadenar un flujo manualmente y después Crear.

  4. Seleccione Nuevo paso, el conector Microsoft Dataverse y luego en la pestaña Acciones, seleccione Realizar una acción sin enlazar.

  5. Seleccione la acción nombrada RetrieveEnvironmentVariableSecretValue de la lista desplegable.

  6. Proporcione el nombre único de la variable de entorno (no el nombre para mostrar) agregado en la sección anterior, para este ejemplo se usa new_TestSecret.

  7. Seleccione ...>Cambiar nombre para cambiar el nombre de la acción para que se pueda hacer referencia a ella más fácilmente en la siguiente acción. En esta captura de pantalla, se le ha cambiado el nombre a GetSecret.

    Configuración de flujo instantáneo para probar un secreto de variable de entorno

  8. Seleccione ...>Configuración para mostrar la configuración de la acción GetSecret.

  9. Habilite la opción Salidas seguras en la configuración y, a continuación, seleccione Listo. Esto es para evitar que la salida de la acción quede expuesta en el historial de ejecución del flujo.

    Habilitar la configuración de salidas seguras para la acción

  10. Seleccione Nuevo paso, busque y seleccione el conector HTTP.

  11. Seleccione Método como OBTENER e introduzca la URI para el servicio web. En este ejemplo, se usa el servicio web ficticio httpbin.org.

  12. Seleccione Mostrar opciones avanzadas, seleccione Autenticación como Básica y, a continuación, introduzca el Nombre de usuario.

  13. Seleccione el campo Contraseña y luego en la pestaña Contenido dinámico en el nombre del paso de flujo anterior (GetSecret en este ejemplo), seleccione RetrieveEnvironmentVariableSecretValueResponse EnvironmentVariableSecretValue, que luego se agrega como una expresión outputs('GetSecretTest')?['body/EnvironmentVariableSecretValue'] o body('GetSecretTest')['EnvironmentVariableSecretValue'].

    Crear un nuevo paso usando el conector HTTP

  14. Seleccione ...>Configuración para mostrar la configuración de la acción HTTP.

  15. Habilite las opciones Entradas seguras y Salidas seguras y, a continuación, seleccione Listo. Al habilitar estas opciones se impide que la entrada y las salidas de la acción queden expuestas en el historial de ejecución del flujo.

  16. Seleccione Guardar para crear el flujo.

  17. Ejecute manualmente el flujo para probarlo.

    Con el historial de ejecución del flujo, se pueden verificar las salidas.

    Salida de flujo

Utilizar secretos de variables de entorno en Microsoft Copilot Studio

Los secretos de las variables de entorno en Microsoft Copilot Studio funcionan de manera un poco diferente. Debe ejecutar los pasos en las secciones Configurar Azure Key Vault y Crear una nueva variable de entorno para el secreto de Key Vault para usar secretos con variables de entorno.

Dar acceso Copilot Studio a Azure Key Vault

Siga estos pasos:

  1. Volver a su Azure Key Vault.

  2. Copilot Studio necesita acceso al almacén de claves. Para conceder a Copilot Studio la capacidad de usar el secreto, seleccione Control de acceso (IAM) en el panel de navegación izquierdo, seleccione Agregar y, a continuación, seleccione Agregar asignación de roles.

    Ver mi acceso en Azure

  3. Seleccione el rol de usuario de secretos de Key Vault y, a continuación, seleccione Siguiente.

  4. Seleccione Seleccionar miembros, busque Microsoft Copilot Studio Service, selecciónelo y, a continuación, elija Seleccionar.

  5. Seleccione Revisar y asignar en la esquina inferior derecha de la pantalla. Revise la información y seleccione Revisar + asignar de nuevo si todo es correcto.

Agregar una etiqueta para permitir que un copiloto acceda al secreto en Azure Key Vault

Al completar los pasos anteriores en esta sección, Copilot Studio ahora tiene acceso a Azure Key Vault, pero aún no puede usarlo. Para completar la tarea, sigue estos pasos:

  1. Vaya a Microsoft Copilot Studio y abra el agente que desea utilizar para el secreto de la variable de entorno o cree uno nuevo.

  2. Abra un tema de agente o cree uno nuevo.

  3. Seleccione el icono + para agregar un nodo y, a continuación, Enviar un mensaje.

  4. Seleccione la opción Insertar variable {x} en el nodo Enviar un mensaje.

  5. Seleccione la pestaña Entorno. Seleccione el secreto de variable de entorno que creó en el paso Crear una nueva variable de entorno para el secreto de Key Vault.

  6. Seleccione Guardar para guardar su tema.

  7. En el panel de prueba, pruebe el tema con una de las frases de inicio del tema en el que acaba de agregar el nodo Enviar un mensaje con el secreto de la variable de entorno. Debería encontrarse con un error similar a este:

    Mensaje de error: El bot no puede usar la variable de entorno. Para agregar el bot a la lista de permitidos, agregue una etiqueta 'AllowedBots' con valor.

    Esto significa que debe volver a Azure Key Vault y editar el secreto. Deje Copilot Studio abierto, porque volverá aquí más tarde.

  8. Vaya a Azure Key Vault. En el panel de navegación izquierdo, seleccione Secretos bajo Objetos. Seleccione el secreto que desea poner a disposición en Copilot Studio seleccionando el nombre.

  9. Seleccione la versión del secreto.

  10. Seleccione 0 etiquetas junto a Etiquetas. Agregue un Nombre de Etiqueta y un Valor de Etiqueta. El mensaje de error en Copilot Studio debería darle los valores exactos de esas dos propiedades. En Nombre de etiqueta, debe agregar AllowedBots y en Valor de etiqueta, debe agregar el valor que se mostró en el mensaje de error. Este valor tiene el formato siguiente {envId}/{schemaName}. Si es necesario permitir varios copilotos, separe los valores con una coma. Cuando termine, seleccione Aceptar.

  11. Seleccione Aplicar para aplicar la etiqueta al secreto.

  12. Vuelva a Copilot Studio. Seleccione Actualizar en el panel Probar su Copilot.

  13. En el panel de prueba, vuelva a probar el tema con una de las frases de inicio del tema.

El valor de su secreto debería mostrarse en el panel de prueba.

Agregar una etiqueta para permitir que todos los copilotos de un entorno accedan al secreto en Azure Key Vault

Como alternativa, puede permitir que todos los copilotos de un entorno accedan al secreto en Azure Key Vault. Para completar la tarea, sigue estos pasos:

  1. Vaya a Azure Key Vault. En el panel de navegación izquierdo, seleccione Secretos bajo Objetos. Seleccione el secreto que desea poner a disposición en Copilot Studio seleccionando el nombre.
  2. Seleccione la versión del secreto.
  3. Seleccione 0 etiquetas junto a Etiquetas. Agregue un Nombre de Etiqueta y un Valor de Etiqueta. En Nombre de etiqueta, agregue AllowedEnvironments y, en Valor de etiqueta, agregue el identificador de entorno del entorno que desea permitir. Cuando termine, seleccione Aceptar
  4. Seleccione Aplicar para aplicar la etiqueta al secreto.

Limitación

Variables de entorno que hacen referencia a Azure Actualmente, los secretos de Key Vault están limitados para su uso con flujos de Power Automate, agentes de Copilot Studio y conectores personalizados.

El uso de secretos de Azure Key Vault con variables de entorno requiere que configure Azure Key Vault para que Power Platform pueda leer los secretos específicos a los que desea hacer referencia. Esta capacidad permite admitir variables de entorno con secretos de Azure Key Vault que se conectan a través de un vínculo privado, lo que mejora la seguridad y proporciona una integración más sólida.

  1. Configure el soporte de red virtual de Azure para Power Platform para integrar variables de entorno con secretos de Key Vault de Azure sin exponerlos a la red pública de Internet. Para obtener instrucciones detalladas, vaya a configurar la red virtual.

  2. Asegúrese de que la suscripción Azure para Key Vault y Power Platform Virtual Network estén en el mismo inquilino, ya que no se admite la integración entre inquilinos.

  3. Asegúrese de que el usuario que crea las variables de entorno tenga los permisos adecuados para el recurso Azure Key Vault. Para obtener más detalles, vaya a Configurar el almacén de claves Azure

  4. Cree un almacén de claves y establezca una conexión de Private Link. Los pasos para crear el almacén de claves deben incluir las siguientes acciones:

    • Deshabilitar el acceso público.
    • Crear un punto de conexión privado.
    • Seleccione la red virtual y la subred donde quiere que se cree este punto de conexión privado. Asegúrese de conectar la Red virtual (red virtual) delegada a Power Platform.
    • Valide la conectividad de Private Link.

    Para obtener información detallada, vaya a Configurar el soporte de red virtual para Power Platform.

  5. Cree secretos de variables de entorno enlazando con Azure Key Vault.

Consulte también

Usar variables de entorno de origen de datos en aplicaciones de lienzo
Utilizar variables de entorno en flujos de nube de la solución de Power Automate
Información general de variables de entorno.