Secure data used in cloud flows
When creating cloud flows in Power Automate, it's important to secure sensitive data to prevent unauthorized access and ensure compliance with data protection standards. This article provides best practices for securing data within your cloud flows.
Avoid hardcoding sensitive information
To avoid exposing sensitive data in your cloud flows, follow these best practices:
Dynamic data handling: Avoid embedding sensitive information, such as passwords or API keys, directly in your flow. Power Automate lets users view flow run history and dive into a trigger or action's inputs and outputs information. Hardcoding these details can expose them to anyone with access to the flow, increasing the risk of data breaches.
Environment variables: Use environment variables to store sensitive information. This approach lets you manage and update these values centrally without modifying the flow itself. You can use environment variables for Azure Key Vault secrets.
Use Azure Key Vault
Azure Key Vault is a cloud service for securely storing and accessing secrets, keys, and certificates. The advantages of using Azure Key Vault include:
Centralized secret management: Azure Key Vault provides a centralized solution for managing sensitive information, ensuring your data is encrypted and access is tightly controlled.
Integration with Power Automate: Power Automate can integrate with Azure Key Vault using the Azure Key Vault connector or environment variables for Azure Key Vault secrets. Using the connector or environment variables lets your flows retrieve secrets dynamically during execution without exposing them in the flow design.
Role-based access control (RBAC): Access to Azure Key Vault is managed using RBAC via Microsoft Entra ID, ensuring only authorized users and applications can access the stored secrets.
Use secure inputs and secure outputs
The secure inputs and secure outputs feature in Power Automate protects sensitive data within your flows. When enabled, this feature ensures that sensitive information, such as passwords and personal data, isn't visible in the run history or logs and helps maintain data privacy and security.
The key benefits of using secure inputs and outputs are:
Data protection: Secure inputs and outputs prevent sensitive data from being exposed in logs, ensuring only authorized users can access this information.
Compliance: Helps meet regulatory requirements by safeguarding sensitive information, which is essential for compliance with data protection laws.
Enhanced security: Reduces the risk of data breaches and unauthorized access by hiding sensitive data.
Steps to enable secure inputs and outputs
Access action settings
In the flow editor, select the ellipsis on the action you want to secure.
Select Settings.
Enable secure options
Learn more: Manage sensitive input like passwords
Secure HTTP request trigger
The When an HTTP request is received trigger lets you initiate workflows by sending an HTTP request to the endpoint generated by the flow. To ensure that only authorized users can trigger this workflow, you can implement several security measures.
Use a Microsoft Entra ID token: Configure this token to restrict access to specific users or principals within a tenant, or to any user within the tenant. By requiring a Microsoft Entra ID token, you ensure that only authenticated users can trigger the workflow.
To implement:
- Configure your flow to require a Microsoft Entra ID token for authentication.
- Define the token to restrict access to specific users or groups within your tenant.
Learn more: OAuth authentication
Use IP-pinning: Environment admins can configure a set or range of IP addresses that are permitted to interact with Power Platform resources. Configuring this feature ensures that only requests from specified IP addresses can trigger the workflow.
To implement:
- Set up IP restrictions in your Power Platform environment.
- Define the allowed IP addresses or ranges that can access the HTTP request trigger.
Learn more: IP firewall in Power Platform environments