Releases: Azure/PSRule.Rules.Azure
Releases · Azure/PSRule.Rules.Azure
Release list
v1.39.1
What's changed since v1.39.0:
- Bug fixes:
- Fixed
GetBicepParamResourcesexception when expandingMicrosoft.Graph/groupsresource by @BernieWhite.
#3062 - Fixed
Azure.AppGw.AvailabilityZonepasses when a zonal configuration is used by @BernieWhite.
#3061 - Fixed conditional secret as parameter or placeholder by @BernieWhite.
#2054
- Fixed
See change log.
v1.39.0
What's changed since v1.38.0:
- New features:
- Added September 2024 baselines
Azure.GA_2024_09andAzure.Preview_2024_09by @BernieWhite.
#3048- Includes rules released before or during September 2024.
- Marked
Azure.GA_2024_06andAzure.Preview_2024_06baselines as obsolete.
- Added September 2024 baselines
- New rules:
- Azure Kubernetes Service:
- Verify that clusters have kube-audit logging disabled when not required by @BenjaminEngeset.
#2450 - Verify that clusters have the customer-controlled maintenance windows
aksManagedAutoUpgradeScheduleandaksManagedNodeOSUpgradeScheduleconfigured by @BenjaminEngeset.
#2444
- Verify that clusters have kube-audit logging disabled when not required by @BenjaminEngeset.
- App Service:
- Verify that app service plans have availability zones configured by @BenjaminEngeset.
#2964
- Verify that app service plans have availability zones configured by @BenjaminEngeset.
- App Service Environment:
- Verify that app service environments have availability zones configured by @BenjaminEngeset.
#2964
- Verify that app service environments have availability zones configured by @BenjaminEngeset.
- Azure SQL Database:
- Verify that Azure SQL databases have a customer-controlled maintenance window configured by @BenjaminEngeset.
#2956
- Verify that Azure SQL databases have a customer-controlled maintenance window configured by @BenjaminEngeset.
- Azure SQL Managed Instance:
- Verify that Azure SQL Managed Instances have a customer-controlled maintenance window configured by @BenjaminEngeset.
#2979
- Verify that Azure SQL Managed Instances have a customer-controlled maintenance window configured by @BenjaminEngeset.
- Service Bus:
- Verify that service bus namespaces have geo-replication configured by @BenjaminEngeset.
#2988
- Verify that service bus namespaces have geo-replication configured by @BenjaminEngeset.
- Virtual Machine:
- Verify that virtual machines does not have public IPs attached by @BenjaminEngeset.
#11 - Verify that multi-tenant Hosting Rights are used for Windows client VMs by @BenjaminEngeset.
#432 - Verify that availability set members are in a backend pool by @BenjaminEngeset.
#67
- Verify that virtual machines does not have public IPs attached by @BenjaminEngeset.
- Virtual Machine Scale Sets:
- Verify that virtual machine scale set instances does not have public IPs attached by @BenjaminEngeset.
#3014
- Verify that virtual machine scale set instances does not have public IPs attached by @BenjaminEngeset.
- Virtual Network:
- Verify that zonal-deployed Azure firewalls uses Azure NAT Gateway for outbound access by @BenjaminEngeset.
##3005 - Verify that subnets have disabled default outbound access for virtual machines by @BenjaminEngeset.
#3001
- Verify that zonal-deployed Azure firewalls uses Azure NAT Gateway for outbound access by @BenjaminEngeset.
- Azure Kubernetes Service:
- Updated rules:
- Azure Kubernetes Service:
- Updated
Azure.AKS.AuditLogsdocumentation to call out important specific of thekube-auditlog by @BernieWhite.
#2449 - Updated
Azure.AKS.Versionto use1.29.7as the minimum version by @BernieWhite.
#3042
- Updated
- Container Apps:
- Updated
Azure.ContainerApp.AvailabilityZoneto check for infrastructure subnet by @BernieWhite.
#3068- Configuring an infrastructure subnet is a requirement for enabling zone redundancy.
Both rule and documentation have been updated to clearly call this out.
- Configuring an infrastructure subnet is a requirement for enabling zone redundancy.
- Updated
- Virtual Network:
- Updated
Azure.VNET.UseNSGsto correctly handle cases for special purpose and customer-excluded subnets by @BenjaminEngeset.
#3007
- Updated
- Azure Kubernetes Service:
- General improvements:
- Important change: Replaced the
Azure_AKSNodeMinimumMaxPodsoption withAZURE_AKS_POOL_MINIMUM_MAXPODSby @BernieWhite.
#941- For compatibility, if
Azure_AKSNodeMinimumMaxPodsis set it will be used instead ofAZURE_AKS_POOL_MINIMUM_MAXPODS. - If only
AZURE_AKS_POOL_MINIMUM_MAXPODSis set, this value will be used. - The default will be used neither options are configured.
- If
Azure_AKSNodeMinimumMaxPodsis set a warning will be generated until the configuration is removed. - Support for
Azure_AKSNodeMinimumMaxPodsis deprecated and will be removed in v2.
- For compatibility, if
- Important change: Replaced the
Azure_MinimumCertificateLifetimeoption withAZURE_APIM_MINIMUM_CERTIFICATE_LIFETIMEby @BernieWhite.
#941- For compatibility, if
Azure_MinimumCertificateLifetimeis set it will be used instead ofAZURE_APIM_MINIMUM_CERTIFICATE_LIFETIME. - If only
AZURE_APIM_MINIMUM_CERTIFICATE_LIFETIMEis set, this value will be used. - The default will be used neither options are configured.
- If
Azure_MinimumCertificateLifetimeis set a warning will be generated until the configuration is removed. - Support for
Azure_MinimumCertificateLifetimeis deprecated and will be removed in v2.
- For compatibility, if
- Add binding configuration to policy as rules docs by @BernieWhite.
#2995 - Updated resource providers and policy aliases.
#3074
- Important change: Replaced the
- Engineering:
- Bump development tools to .NET 8.0 SDK by @BernieWhite.
#3017 - Quality updates to rule documentation by @BernieWhite.
#2570 - Bump xunit to v2.9.0.
#2982 - Bump xunit.runner.visualstudio to v2.8.2.
#2982
- Bump development tools to .NET 8.0 SDK by @BernieWhite.
- Bug fixed:
- Fixed expansion with deployments by resource ID at management group by @BernieWhite
#3013 - Fixed subscription aliases don't support tags by @BernieWhite.
#3021 - Fixed
Azure.AppService.AvailabilityZoneonly detects premium by tier property @BenjaminEngeset.
#3034 - Fixed loading of expansion options from non-default options file @BernieWhite.
#3033 - Fixed TLS defaults for
Azure.Redis.MinTLSandAzure.RedisEnterprise.MinTLSby @BernieWhite.
#3066 - Fixed symbolic expand for existing with conditional cases by @BernieWhite.
#2917
- Fixed expansion with deployments by resource ID at management group by @BernieWhite
What's changed since pre-release v1.39.0-B0249:
- No additional changes.
See change log.
v1.39.0-B0249
What's changed since pre-release v1.39.0-B0182:
- Bug fixes:
- Fixed symbolic expand for existing with conditional cases by @BernieWhite.
#2917
- Fixed symbolic expand for existing with conditional cases by @BernieWhite.
See change log.
v1.39.0-B0182
What's changed since pre-release v1.39.0-B0118:
- Updated rules:
- Container Apps:
- Updated
Azure.ContainerApp.AvailabilityZoneto check for infrastructure subnet by @BernieWhite.
#3068- Configuring an infrastructure subnet is a requirement for enabling zone redundancy.
Both rule and documentation have been updated to clearly call this out.
- Configuring an infrastructure subnet is a requirement for enabling zone redundancy.
- Updated
- Container Apps:
- General improvements:
- Updated resource providers and policy aliases.
#3074
- Updated resource providers and policy aliases.
- Engineering:
- Quality updates to rule documentation by @BernieWhite.
#2570
- Quality updates to rule documentation by @BernieWhite.
- Bug fixes:
- Fixed TLS defaults for
Azure.Redis.MinTLSandAzure.RedisEnterprise.MinTLSby @BernieWhite.
#3066
- Fixed TLS defaults for
See change log.
v1.39.0-B0118
What's changed since pre-release v1.39.0-B0072:
- New features:
- Added September 2024 baselines
Azure.GA_2024_09andAzure.Preview_2024_09by @BernieWhite.
#3048- Includes rules released before or during September 2024.
- Marked
Azure.GA_2024_06andAzure.Preview_2024_06baselines as obsolete.
- Added September 2024 baselines
See change log.
v1.39.0-B0072
What's changed since pre-release v1.39.0-B0029:
- New rules:
- Virtual Machine:
- Verify that virtual machines does not have public IPs attached by @BenjaminEngeset.
#11 - Verify that multi-tenant Hosting Rights are used for Windows client VMs by @BenjaminEngeset.
#432 - Verify that availability set members are in a backend pool by @BenjaminEngeset.
#67
- Verify that virtual machines does not have public IPs attached by @BenjaminEngeset.
- Virtual Machine Scale Sets:
- Verify that virtual machine scale set instances does not have public IPs attached by @BenjaminEngeset.
#3014
- Verify that virtual machine scale set instances does not have public IPs attached by @BenjaminEngeset.
- Virtual Machine:
- Updated rules:
- Azure Kubernetes Service:
- Updated
Azure.AKS.Versionto use1.29.7as the minimum version by @BernieWhite.
#3042
- Updated
- Azure Kubernetes Service:
- General improvements:
- Important change: Replaced the
Azure_AKSNodeMinimumMaxPodsoption withAZURE_AKS_POOL_MINIMUM_MAXPODSby @BernieWhite.
#941- For compatibility, if
Azure_AKSNodeMinimumMaxPodsis set it will be used instead ofAZURE_AKS_POOL_MINIMUM_MAXPODS. - If only
AZURE_AKS_POOL_MINIMUM_MAXPODSis set, this value will be used. - The default will be used neither options are configured.
- If
Azure_AKSNodeMinimumMaxPodsis set a warning will be generated until the configuration is removed. - Support for
Azure_AKSNodeMinimumMaxPodsis deprecated and will be removed in v2. - See [upgrade notes][1] for details.
- For compatibility, if
- Important change: Replaced the
Azure_MinimumCertificateLifetimeoption withAZURE_APIM_MINIMUM_CERTIFICATE_LIFETIMEby @BernieWhite.
#941- For compatibility, if
Azure_MinimumCertificateLifetimeis set it will be used instead ofAZURE_APIM_MINIMUM_CERTIFICATE_LIFETIME. - If only
AZURE_APIM_MINIMUM_CERTIFICATE_LIFETIMEis set, this value will be used. - The default will be used neither options are configured.
- If
Azure_MinimumCertificateLifetimeis set a warning will be generated until the configuration is removed. - Support for
Azure_MinimumCertificateLifetimeis deprecated and will be removed in v2. - See [upgrade notes][1] for details.
- For compatibility, if
- Important change: Replaced the
- Engineering:
- Bump development tools to .NET 8.0 SDK by @BernieWhite.
#3017
- Bump development tools to .NET 8.0 SDK by @BernieWhite.
- Bug fixed:
- Fixed expansion with deployments by resource ID at management group by @BernieWhite
#3013 - Fixed subscription aliases don't support tags by @BernieWhite.
#3021 - Fixed
Azure.AppService.AvailabilityZoneonly detects premium by tier property @BenjaminEngeset.
#3034 - Fixed loading of expansion options from non-default options file @BernieWhite.
#3033
- Fixed expansion with deployments by resource ID at management group by @BernieWhite
See change log.
v1.39.0-B0029
What's changed since pre-release v1.39.0-B0009:
- New rules:
- Azure Kubernetes Service:
- Verify that clusters have kube-audit logging disabled when not required by @BenjaminEngeset.
#2450 - Verify that clusters have the customer-controlled maintenance windows
aksManagedAutoUpgradeScheduleandaksManagedNodeOSUpgradeScheduleconfigured by @BenjaminEngeset.
#2444
- Verify that clusters have kube-audit logging disabled when not required by @BenjaminEngeset.
- Virtual Network:
- Verify that zonal-deployed Azure firewalls uses Azure NAT Gateway for outbound access by @BenjaminEngeset.
##3005 - Verify that subnets have disabled default outbound access for virtual machines by @BenjaminEngeset.
#3001
- Verify that zonal-deployed Azure firewalls uses Azure NAT Gateway for outbound access by @BenjaminEngeset.
- Azure Kubernetes Service:
- Updated rules:
- Virtual Network:
- Updated
Azure.VNET.UseNSGsto correctly handle cases for special purpose and customer-excluded subnets by @BenjaminEngeset.
#3007
- Updated
- Virtual Network:
- General improvements:
- Add binding configuration to policy as rules docs by @BernieWhite.
#2995
- Add binding configuration to policy as rules docs by @BernieWhite.
See change log.
v1.39.0-B0009
What's changed since v1.38.0:
- New rules:
- App Service:
- Verify that app service plans have availability zones configured by @BenjaminEngeset.
#2964
- Verify that app service plans have availability zones configured by @BenjaminEngeset.
- App Service Environment:
- Verify that app service environments have availability zones configured by @BenjaminEngeset.
#2964
- Verify that app service environments have availability zones configured by @BenjaminEngeset.
- Azure SQL Database:
- Verify that Azure SQL databases have a customer-controlled maintenance window configured by @BenjaminEngeset.
#2956
- Verify that Azure SQL databases have a customer-controlled maintenance window configured by @BenjaminEngeset.
- Azure SQL Managed Instance:
- Verify that Azure SQL Managed Instances have a customer-controlled maintenance window configured by @BenjaminEngeset.
#2979
- Verify that Azure SQL Managed Instances have a customer-controlled maintenance window configured by @BenjaminEngeset.
- Service Bus:
- Verify that service bus namespaces have geo-replication configured by @BenjaminEngeset.
#2988
- Verify that service bus namespaces have geo-replication configured by @BenjaminEngeset.
- App Service:
- Engineering:
See change log.
v1.38.0
What's changed since v1.37.0:
- New features:
- Added March 2024 baselines
Azure.GA_2024_06andAzure.Preview_2024_06by @BernieWhite.
#2961- Includes rules released before or during June 2024.
- Marked
Azure.GA_2024_03andAzure.Preview_2024_03baselines as obsolete.
- Added March 2024 baselines
- New rules:
- Azure Database for MySQL:
- Verify that Azure Database for MySQL servers have a customer-controlled maintenance window configured by @BenjaminEngeset.
#2916 - Verify that servers have zone-redundant high availability (HA) configured by @BenjaminEngeset.
#2914
- Verify that Azure Database for MySQL servers have a customer-controlled maintenance window configured by @BenjaminEngeset.
- Azure Database for PostgreSQL:
- Verify that Azure Database for PostgreSQL servers have a customer-controlled maintenance window configured by @BenjaminEngeset.
#2927 - Verify that servers have zone-redundant high availability (HA) configured by @BenjaminEngeset.
#2932
- Verify that Azure Database for PostgreSQL servers have a customer-controlled maintenance window configured by @BenjaminEngeset.
- Azure Firewall:
- Verify that firewalls have availability zones configured by @BenjaminEngeset.
#2909
- Verify that firewalls have availability zones configured by @BenjaminEngeset.
- Azure Kubernetes Service:
- Added check to automatically upgrade AKS cluster node image by @sharmilamusunuru.
#2445
- Added check to automatically upgrade AKS cluster node image by @sharmilamusunuru.
- Azure Virtual Desktop:
- Added check for scheduled agent updates on host pools by @BernieWhite.
#2946
- Added check for scheduled agent updates on host pools by @BernieWhite.
- Cosmos DB:
- Verify that Cosmos DB accounts have continuous backup configured by @BenjaminEngeset.
#2954
- Verify that Cosmos DB accounts have continuous backup configured by @BenjaminEngeset.
- Virtual Network Gateway:
- Verify that VPN/ExpressRoute gateways have a customer-controlled maintenance configuration configured by @BenjaminEngeset.
#2910
- Verify that VPN/ExpressRoute gateways have a customer-controlled maintenance configuration configured by @BenjaminEngeset.
- Virtual Machine Scale Sets:
- Verify that virtual machine scale sets have best-effort zone balance configured by @BenjaminEngeset.
#2901 - Verify that virtual machine scale sets have availability zones configured by @BenjaminEngeset.
#2902
- Verify that virtual machine scale sets have best-effort zone balance configured by @BenjaminEngeset.
- Azure Database for MySQL:
- Updated rules:
- Azure Kubernetes Service:
- Updated
Azure.AKS.Versionto use1.28.9as the minimum version by @BernieWhite.
#2930
- Updated
- Virtual Machine:
- Updated
Azure.VM.MaintenanceConfigto align to the reliability pillar by @BernieWhite.
#2925- Promoted to GA and bumped rule set to
2024_06.
- Promoted to GA and bumped rule set to
- Updated
- Azure Kubernetes Service:
- Engineering:
- Quality updates to rule documentation by @BernieWhite.
#2570 - Bump Pester to v5.6.0.
#2934 - Bump PSScriptAnalyzer to v1.22.0.
#2934
- Quality updates to rule documentation by @BernieWhite.
- Bug fixes:
- Fixed handling of multi-line descriptions for policy definition and assignment exports by @BernieWhite.
#2973 - Fixed support for
referencesfunction by @BernieWhite.
#2922 - Fixed group by subscription casing when exporting in-flight resources by @BernieWhite.
#2957 - Fixed install Az.Resources warning by @BernieWhite.
#2887- Added new configuration option set by environment variable to suppress the warning.
- Set
PSRULE_AZURE_RESOURCE_MODULE_NOWARNtotrueto suppress the warning.
- Fixed
filteron unknown runtime property by @BernieWhite.
#2966 - Fixed failed to expand with direct outputs reference by @BernieWhite.
#2935 - Fixed identification of
list*function false positive with resource by @BernieWhite.
#2919 - Fixed documentation bugs for container apps by @BernieWhite.
#2876
- Fixed handling of multi-line descriptions for policy definition and assignment exports by @BernieWhite.
What's changed since pre-release v1.38.0-B0068:
- No additional changes.
See change log.
v1.38.0-B0106
What's changed since pre-release v1.38.0-B0068:
- New rules:
- Cosmos DB:
- Verify that Cosmos DB accounts have continuous backup configured by @BenjaminEngeset.
#2954
- Verify that Cosmos DB accounts have continuous backup configured by @BenjaminEngeset.
- Cosmos DB:
- Bug fixes:
- Rollback Az.Resources to v6.7.0 by @BernieWhite.
#2970 - Fixed handling of multi-line descriptions for policy definition and assignment exports by @BernieWhite.
#2973
- Rollback Az.Resources to v6.7.0 by @BernieWhite.
See change log.