Cloud Security Baseline for Azure API Management
Cloud Security Baseline for Azure Logic Apps
Identity and Access Management
Ensure to use Azure RBAC to manage access to APIM resources, following the principle of least privilege.
Ensure assign roles such as API Management Contributor for managing APIs and Reader for monitoring access.
Ensure to use Microsoft Entra ID(AAD) to secure access to the API Management instance, developer portal, and management APIs.
Ensure to Enforce Multi-Factor Authentication (MFA) for all administrative accounts.
Ensure to Enable System-assigned Managed Identity to securely access other Azure services like Azure Key Vault without using secrets.
Network Security
Ensure to deploy APIM with VNet Integration or use Private Endpoints to limit exposure to private networks.
Ensure to disable public access unless explicitly required.
Ensure to Disable HTTP and require HTTPS-only connections for all API traffic.
Ensure to Configure IP Restrictions to allow access only from trusted IP addresses or specific VNets.
Data Protection
Ensure to use encryption at rest using Customer-managed keys (CMK) and store the encryption keys to Azure Managed HSM.
Ensure to use TLS 1.2 or higher for all data in transit.
Ensure to Enable log masking to prevent sensitive information from being captured in request and response logs.
API Security Controls
Ensure to use OAuth 2.0, OpenID Connect, or JWT validation for API authentication.
Ensure to Implement rate limiting policies to protect against Denial of Service (DoS) attacks.
Ensure to Use quota policies to control API usage.
Ensure to Apply validate-jwt and validate-headers policies to ensure requests conform to expected formats.
Logging and Monitoring
Ensure to Enable Diagnostic Logs for tracking API requests, errors, and backend responses.
Ensure to store the logs to Azure Sentinel for centralized logging and analysis.
Monitor API performance using Azure Monitor and Application Insights.
Configure Azure Alerts for critical metrics (e.g., high error rates, unauthorized access attempts).
Last updated