1. Docs
  2. Reference
  3. Pre-built Policy Packs
  4. Pulumi Best Practices
  5. Azure

Pulumi Best Practices - Azure

    This page lists all 30 policies in the Pulumi Best Practices pack for Azure.

    Policy NameDescriptionFramework ReferenceFramework Specification
    rbac-least-privilegeEnsures Azure RBAC role assignments follow least privilege principles1. Least PrivilegeEnsure all identities and services have only the minimum permissions required to perform their tasks.
    sql-database-customer-managed-keysRequire Azure SQL databases to use customer-managed keys for transparent data encryption2. Resource Encryption at RestEncrypt all stored data using approved encryption mechanisms to protect against unauthorized access.
    storage-account-uses-customer-managed-keysRequire Storage Accounts to use customer-managed keys for encryption2. Resource Encryption at RestEncrypt all stored data using approved encryption mechanisms to protect against unauthorized access.
    vm-requires-managed-disksRequire VMs to use managed disks only2. Resource Encryption at RestEncrypt all stored data using approved encryption mechanisms to protect against unauthorized access.
    application-gateway-tlsRequire Application Gateway to have secure TLS configuration3. Transport Layer EncryptionRequire secure protocols (e.g., TLS) for all data in transit to prevent interception or tampering.
    front-door-tlsRequire Front Door custom domains to use secure TLS configuration3. Transport Layer EncryptionRequire secure protocols (e.g., TLS) for all data in transit to prevent interception or tampering.
    storage-account-https-onlyRequire Storage Accounts to enforce HTTPS-only traffic3. Transport Layer EncryptionRequire secure protocols (e.g., TLS) for all data in transit to prevent interception or tampering.
    network-interface-no-public-ipRequire Network Interfaces to have no public IP address associations4. No Public AccessProhibit direct public exposure of resources unless explicitly approved and required.
    sql-server-disable-public-accessRequire Azure SQL Server to disable public network access4. No Public AccessProhibit direct public exposure of resources unless explicitly approved and required.
    storage-account-public-accessRequire Storage Accounts to disable public blob access4. No Public AccessProhibit direct public exposure of resources unless explicitly approved and required.
    resources-change-tracking-tagsRequire all Azure resources to have proper tagging for change tracking5. TaggingEnforce standardized resource tags for ownership, environment, and compliance tracking.
    resources-environment-tagsRequire all resources to have environment tags5. TaggingEnforce standardized resource tags for ownership, environment, and compliance tracking.
    sql-server-audit-loggingRequire Azure SQL Server to have audit logging enabled6. Enforce LoggingEnable and retain audit logs for all security-relevant actions and events.
    log-analytics-retentionRequire Log Analytics workspace to have appropriate retention policies6. Enforce LoggingEnable and retain audit logs for all security-relevant actions and events.
    application-gateway-multi-azRequire Application Gateway to be configured across multiple availability zones7. High AvailabilityDeploy resources in redundant, fault-tolerant configurations to ensure service continuity.
    load-balancer-multi-azRequire Load Balancer to be configured across multiple availability zones7. High AvailabilityDeploy resources in redundant, fault-tolerant configurations to ensure service continuity.
    sql-database-high-availabilityRequire Azure SQL Database to have high availability configuration7. High AvailabilityDeploy resources in redundant, fault-tolerant configurations to ensure service continuity.
    service-bus-dead-letter-queueValidate Service Bus queues have proper dead letter queue configuration8. Require DLQEnsure all asynchronous messaging systems are configured with a dead-letter queue to handle failures.
    application-gateway-has-health-probesRequire Application Gateway to enable health probes9. Resource AvailabilityDefine and enforce timeouts, quotas, and capacity limits to prevent resource exhaustion.
    load-balancer-health-probesRequire Load Balancer to enable health probes9. Resource AvailabilityDefine and enforce timeouts, quotas, and capacity limits to prevent resource exhaustion.
    vm-approved-imagesRequire pre-approved hardened VM images from trusted publishers10. Approved VersionsOnly allow deployment of approved, patched, and supported versions of runtimes, images, and dependencies.
    nsg-disallow-public-internet-ingressRequire Network Security Groups to disallow public internet ingress11. NetworkingOnly allow required inbound and outbound traffic through network security groups, firewalls, or ACLs.
    nsg-strict-rulesRequire strict Network Security Group rules with explicit allow/deny configuration11. NetworkingOnly allow required inbound and outbound traffic through network security groups, firewalls, or ACLs.
    cosmos-db-backup-policiesRequire Cosmos DB account to have backup policies configured13. Data Backup and RecoveryRegularly back up critical data and systems, store backups securely, and test recovery procedures to ensure timely restoration after failures or disasters.
    key-vault-soft-deleteRequire Key Vault to have soft delete enabled with appropriate retention13. Data Backup and RecoveryRegularly back up critical data and systems, store backups securely, and test recovery procedures to ensure timely restoration after failures or disasters.
    sql-database-backup-retentionRequire Azure SQL Database to have backup retention configured with redundant storage13. Data Backup and RecoveryRegularly back up critical data and systems, store backups securely, and test recovery procedures to ensure timely restoration after failures or disasters.
    storage-account-geo-replicationRequire Storage Accounts to have geo-replication enabled for business continuity13. Data Backup and RecoveryRegularly back up critical data and systems, store backups securely, and test recovery procedures to ensure timely restoration after failures or disasters.
    key-vault-key-configurationRequire proper Key Vault key creation and configuration14. Key Management & RotationManage encryption keys securely and enforce periodic key rotation to reduce the risk of compromise.
    key-vault-key-lifecycleRequire proper Key Vault key deletion and lifecycle management14. Key Management & RotationManage encryption keys securely and enforce periodic key rotation to reduce the risk of compromise.
    key-vault-key-rotationRequire Key Vault keys to have rotation policies configured14. Key Management & RotationManage encryption keys securely and enforce periodic key rotation to reduce the risk of compromise.
      Neo just got smarter about infrastructure policy automation