lz compliance policy sets - oWretch/policy GitHub Wiki

Compliance Policy Sets - Landing Zone

Auto-generated Policy effect documentation for PolicySets grouped by Effect and sorted by Policy category and Policy display name.

Policy Set (Initiative) List

ASB

  • Display name: Microsoft cloud security benchmark

  • Type: BuiltIn

  • Category: Security Center

The Microsoft cloud security benchmark initiative represents the policies and controls implementing security recommendations defined in Microsoft cloud security benchmark, see https://aka.ms/azsecbm. This also serves as the Microsoft Defender for Cloud default policy initiative. You can directly assign this initiative, or manage its policies and compliance results within Microsoft Defender for Cloud.

CIS Azure Foundation Benchmark

  • Display name: CIS Microsoft Azure Foundations Benchmark v2.0.0

  • Type: BuiltIn

  • Category: Regulatory Compliance

The Center for Internet Security (CIS) is a nonprofit entity whose mission is to 'identify, develop, validate, promote, and sustain best practice solutions for cyberdefense.' CIS benchmarks are configuration baselines and best practices for securely configuring a system. These policies address a subset of CIS Microsoft Azure Foundations Benchmark v2.0.0 controls. For more information, visit https://aka.ms/cisazure200-initiative

ISM PROTECTED

  • Display name: [Preview]: Australian Government ISM PROTECTED

  • Type: BuiltIn

  • Category: Regulatory Compliance

This initiative includes policies that address a subset of Australian Government Information Security Manual (ISM) controls. Additional policies will be added in upcoming releases. For more information, visit https://aka.ms/auism-initiative.

ISO 27001

  • Display name: ISO 27001:2013

  • Type: BuiltIn

  • Category: Regulatory Compliance

The International Organization for Standardization (ISO) 27001 standard provides requirements for establishing, implementing, maintaining, and continuously improving an Information Security Management System (ISMS). These policies address a subset of ISO 27001:2013 controls. Additional policies will be added in upcoming releases. For more information, visit https://aka.ms/iso27001-init

Policy Effects

Category Policy ASB CIS Azure Foundation Benchmark ISM PROTECTED ISO 27001
API Management API Management APIs should use only encrypted protocols
To ensure security of data in transit, APIs should be available only through encrypted protocols, like HTTPS or WSS. Avoid using unsecured protocols, such as HTTP or WS.
Audit
Disabled
Deny
API Management API Management calls to API backends should be authenticated
Calls from API Management to backends should use some form of authentication, whether via certificates or credentials. Does not apply to Service Fabric backends.
Audit
Disabled
Deny
API Management API Management calls to API backends should not bypass certificate thumbprint or name validation
To improve the API security, API Management should validate the backend server certificate for all API calls. Enable SSL certificate thumbprint and name validation.
Audit
Disabled
Deny
API Management API Management direct management endpoint should not be enabled
The direct management REST API in Azure API Management bypasses Azure Resource Manager role-based access control, authorization, and throttling mechanisms, thus increasing the vulnerability of your service.
Audit
Disabled
Deny
API Management API Management minimum API version should be set to 2019-12-01 or higher
To prevent service secrets from being shared with read-only users, the minimum API version should be set to 2019-12-01 or higher.
Audit
Deny
Disabled
API Management API Management secret named values should be stored in Azure Key Vault
Named values are a collection of name and value pairs in each API Management service. Secret values can be stored either as encrypted text in API Management (custom secrets) or by referencing secrets in Azure Key Vault. To improve security of API Management and secrets, reference secret named values from Azure Key Vault. Azure Key Vault supports granular access management and secret rotation policies.
Audit
Disabled
Deny
API Management API Management services should use a virtual network
Azure Virtual Network deployment provides enhanced security, isolation and allows you to place your API Management service in a non-internet routable network that you control access to. These networks can then be connected to your on-premises networks using various VPN technologies, which enables access to your backend services within the network and/or on-premises. The developer portal and API gateway, can be configured to be accessible either from the Internet or only within the virtual network.
Audit
Disabled
API Management API Management should disable public network access to the service configuration endpoints
To improve the security of API Management services, restrict connectivity to service configuration endpoints, like direct access management API, Git configuration management endpoint, or self-hosted gateways configuration endpoint.
AuditIfNotExists
Disabled
API Management API Management subscriptions should not be scoped to all APIs
API Management subscriptions should be scoped to a product or an individual API instead of all APIs, which could result in an excessive data exposure.
Audit
Disabled
Deny
API Management Azure API Management platform version should be stv2
Azure API Management stv1 compute platform version will be retired effective 31 August 2024, and these instances should be migrated to stv2 compute platform for continued support. Learn more at https://learn.microsoft.com/azure/api-management/breaking-changes/stv1-platform-retirement-august-2024
Audit
Deny
Disabled
App Configuration App Configuration should use private link
Azure Private Link lets you connect your virtual network to Azure services without a public IP address at the source or destination. The private link platform handles the connectivity between the consumer and services over the Azure backbone network. By mapping private endpoints to your app configuration instances instead of the entire service, you'll also be protected against data leakage risks. Learn more at: https://aka.ms/appconfig/private-endpoint.
AuditIfNotExists
Disabled
App Platform Azure Spring Cloud should use network injection
Azure Spring Cloud instances should use virtual network injection for the following purposes: 1. Isolate Azure Spring Cloud from Internet. 2. Enable Azure Spring Cloud to interact with systems in either on premises data centers or Azure service in other virtual networks. 3. Empower customers to control inbound and outbound network communications for Azure Spring Cloud.
Audit
Deny
Disabled
App Service [Deprecated]: App Service apps should have 'Client Certificates (Incoming client certificates)' enabled
Client certificates allow for the app to request a certificate for incoming requests. Only clients that have a valid certificate will be able to reach the app. This policy has been replaced by a new policy with the same name because Http 2.0 doesn't support client certificates.
Audit
Disabled
App Service [Deprecated]: Function apps should have 'Client Certificates (Incoming client certificates)' enabled
Client certificates allow for the app to request a certificate for incoming requests. Only clients with valid certificates will be able to reach the app. This policy has been replaced by a new policy with the same name because Http 2.0 doesn't support client certificates.
Audit
Disabled
App Service App Service app slots that use PHP should use a specified 'PHP version'
Periodically, newer versions are released for PHP software either due to security flaws or to include additional functionality. Using the latest PHP version for App Service apps is recommended in order to take advantage of security fixes, if any, and/or new functionalities of the latest version. This policy only applies to Linux apps. This policy requires you to specify a PHP version that meets your requirements.
AuditIfNotExists
Disabled
App Service App Service app slots that use Python should use a specified 'Python version'
Periodically, newer versions are released for Python software either due to security flaws or to include additional functionality. Using the latest Python version for App Service apps is recommended in order to take advantage of security fixes, if any, and/or new functionalities of the latest version. This policy only applies to Linux apps. This policy requires you to specify a Python version that meets your requirements.
AuditIfNotExists
Disabled
App Service App Service apps should have authentication enabled
Azure App Service Authentication is a feature that can prevent anonymous HTTP requests from reaching the web app, or authenticate those that have tokens before they reach the web app.
AuditIfNotExists
Disabled
App Service App Service apps should have Client Certificates (Incoming client certificates) enabled
Client certificates allow for the app to request a certificate for incoming requests. Only clients that have a valid certificate will be able to reach the app. This policy applies to apps with Http version set to 1.1.
AuditIfNotExists
Disabled
App Service App Service apps should have remote debugging turned off
Remote debugging requires inbound ports to be opened on an App Service app. Remote debugging should be turned off.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
App Service App Service apps should have resource logs enabled
Audit enabling of resource logs on the app. This enables you to recreate activity trails for investigation purposes if a security incident occurs or your network is compromised.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
App Service App Service apps should not have CORS configured to allow every resource to access your apps
Cross-Origin Resource Sharing (CORS) should not allow all domains to access your app. Allow only required domains to interact with your app.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
App Service App Service apps should only be accessible over HTTPS
Use of HTTPS ensures server/service authentication and protects data in transit from network layer eavesdropping attacks.
Audit
Disabled
Audit
Disabled
Audit
Disabled
Audit
Disabled
Deny
App Service App Service apps should require FTPS only
Enable FTPS enforcement for enhanced security.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
App Service App Service apps should use latest 'HTTP Version'
Periodically, newer versions are released for HTTP either due to security flaws or to include additional functionality. Using the latest HTTP version for web apps to take advantage of security fixes, if any, and/or new functionalities of the newer version.
AuditIfNotExists
Disabled
App Service App Service apps should use managed identity
Use a managed identity for enhanced authentication security
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
App Service App Service apps should use the latest TLS version
Periodically, newer versions are released for TLS either due to security flaws, include additional functionality, and enhance speed. Upgrade to the latest TLS version for App Service apps to take advantage of security fixes, if any, and/or new functionalities of the latest version.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
App Service App Service apps that use PHP should use a specified 'PHP version'
Periodically, newer versions are released for PHP software either due to security flaws or to include additional functionality. Using the latest PHP version for App Service apps is recommended in order to take advantage of security fixes, if any, and/or new functionalities of the latest version. This policy only applies to Linux apps. This policy requires you to specify a PHP version that meets your requirements.
AuditIfNotExists
Disabled
App Service App Service apps that use Python should use a specified 'Python version'
Periodically, newer versions are released for Python software either due to security flaws or to include additional functionality. Using the latest Python version for App Service apps is recommended in order to take advantage of security fixes, if any, and/or new functionalities of the latest version. This policy only applies to Linux apps. This policy requires you to specify a Python version that meets your requirements.
AuditIfNotExists
Disabled
App Service Function app slots that use Java should use a specified 'Java version'
Periodically, newer versions are released for Java software either due to security flaws or to include additional functionality. Using the latest Java version for Function apps is recommended in order to take advantage of security fixes, if any, and/or new functionalities of the latest version. This policy only applies to Linux apps. This policy requires you to specify a Java version that meets your requirements.
AuditIfNotExists
Disabled
App Service Function apps should have authentication enabled
Azure App Service Authentication is a feature that can prevent anonymous HTTP requests from reaching the Function app, or authenticate those that have tokens before they reach the Function app.
AuditIfNotExists
Disabled
App Service Function apps should have Client Certificates (Incoming client certificates) enabled
Client certificates allow for the app to request a certificate for incoming requests. Only clients that have a valid certificate will be able to reach the app. This policy applies to apps with Http version set to 1.1.
AuditIfNotExists
Disabled
App Service Function apps should have remote debugging turned off
Remote debugging requires inbound ports to be opened on Function apps. Remote debugging should be turned off.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
App Service Function apps should not have CORS configured to allow every resource to access your apps
Cross-Origin Resource Sharing (CORS) should not allow all domains to access your Function app. Allow only required domains to interact with your Function app.
AuditIfNotExists
Disabled
App Service Function apps should only be accessible over HTTPS
Use of HTTPS ensures server/service authentication and protects data in transit from network layer eavesdropping attacks.
Audit
Disabled
Audit
Disabled
Audit
Disabled
Deny
App Service Function apps should require FTPS only
Enable FTPS enforcement for enhanced security.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
App Service Function apps should use latest 'HTTP Version'
Periodically, newer versions are released for HTTP either due to security flaws or to include additional functionality. Using the latest HTTP version for web apps to take advantage of security fixes, if any, and/or new functionalities of the newer version.
AuditIfNotExists
Disabled
App Service Function apps should use managed identity
Use a managed identity for enhanced authentication security
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
App Service Function apps should use the latest TLS version
Periodically, newer versions are released for TLS either due to security flaws, include additional functionality, and enhance speed. Upgrade to the latest TLS version for Function apps to take advantage of security fixes, if any, and/or new functionalities of the latest version.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
App Service Function apps that use Java should use a specified 'Java version'
Periodically, newer versions are released for Java software either due to security flaws or to include additional functionality. Using the latest Java version for Function apps is recommended in order to take advantage of security fixes, if any, and/or new functionalities of the latest version. This policy only applies to Linux apps. This policy requires you to specify a Java version that meets your requirements.
AuditIfNotExists
Disabled
Automation Automation account variables should be encrypted
It is important to enable encryption of Automation account variable assets when storing sensitive data
Audit
Deny
Disabled
Audit
Deny
Disabled
Azure Ai Services Azure AI Services resources should have key access disabled (disable local authentication)
Key access (local authentication) is recommended to be disabled for security. Azure OpenAI Studio, typically used in development/testing, requires key access and will not function if key access is disabled. After disabling, Microsoft Entra ID becomes the only access method, which allows maintaining minimum privilege principle and granular control. Learn more at: https://aka.ms/AI/auth
Audit
Deny
Disabled
Azure Ai Services Azure AI Services resources should restrict network access
By restricting network access, you can ensure that only allowed networks can access the service. This can be achieved by configuring network rules so that only applications from allowed networks can access the Azure AI service.
Audit
Deny
Disabled
Azure Ai Services Azure AI Services resources should use Azure Private Link
Azure Private Link lets you connect your virtual network to Azure services without a public IP address at the source or destination. The Private Link platform reduces data leakage risks by handling the connectivity between the consumer and services over the Azure backbone network. Learn more about private links at: https://aka.ms/AzurePrivateLink/Overview
Audit
Disabled
Azure Ai Services Diagnostic logs in Azure AI services resources should be enabled
Enable logs for Azure AI services resources. This enables you to recreate activity trails for investigation purposes, when a security incident occurs or your network is compromised
AuditIfNotExists
Disabled
Azure Databricks Azure Databricks Clusters should disable public IP
Disabling public IP of clusters in Azure Databricks Workspaces improves security by ensuring that the clusters aren't exposed on the public internet. Learn more at: https://learn.microsoft.com/azure/databricks/security/secure-cluster-connectivity.
Audit
Deny
Disabled
Azure Databricks Azure Databricks Workspaces should be in a virtual network
Azure Virtual Networks provide enhanced security and isolation for your Azure Databricks Workspaces, as well as subnets, access control policies, and other features to further restrict access. Learn more at: https://docs.microsoft.com/azure/databricks/administration-guide/cloud-configurations/azure/vnet-inject.
Audit
Deny
Disabled
Azure Databricks Azure Databricks Workspaces should disable public network access
Disabling public network access improves security by ensuring that the resource isn't exposed on the public internet. You can control exposure of your resources by creating private endpoints instead. Learn more at: https://learn.microsoft.com/azure/databricks/administration-guide/cloud-configurations/azure/private-link.
Audit
Deny
Disabled
Azure Databricks Azure Databricks Workspaces should use private link
Azure Private Link lets you connect your virtual networks to Azure services without a public IP address at the source or destination. The Private Link platform handles the connectivity between the consumer and services over the Azure backbone network. By mapping private endpoints to Azure Databricks workspaces, you can reduce data leakage risks. Learn more about private links at: https://aka.ms/adbpe.
Audit
Disabled
Azure Databricks Resource logs in Azure Databricks Workspaces should be enabled
Resource logs enable recreating activity trails to use for investigation purposes when a security incident occurs or when your network is compromised.
AuditIfNotExists
Disabled
Azure Update Manager Machines should be configured to periodically check for missing system updates
To ensure periodic assessments for missing system updates are triggered automatically every 24 hours, the AssessmentMode property should be set to 'AutomaticByPlatform'. Learn more about AssessmentMode property for Windows: https://aka.ms/computevm-windowspatchassessmentmode, for Linux: https://aka.ms/computevm-linuxpatchassessmentmode.
Audit
Disabled
Audit
Deny
Disabled
Backup Azure Backup should be enabled for Virtual Machines
Ensure protection of your Azure Virtual Machines by enabling Azure Backup. Azure Backup is a secure and cost effective data protection solution for Azure.
AuditIfNotExists
Disabled
Batch Resource logs in Batch accounts should be enabled
Audit enabling of resource logs. This enables you to recreate activity trails to use for investigation purposes; when a security incident occurs or when your network is compromised
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Cache Azure Cache for Redis should use private link
Private endpoints lets you connect your virtual network to Azure services without a public IP address at the source or destination. By mapping private endpoints to your Azure Cache for Redis instances, data leakage risks are reduced. Learn more at: https://docs.microsoft.com/azure/azure-cache-for-redis/cache-private-link.
AuditIfNotExists
Disabled
Cache Only secure connections to your Azure Cache for Redis should be enabled
Audit enabling of only connections via SSL to Azure Cache for Redis. Use of secure connections ensures authentication between the server and the service and protects data in transit from network layer attacks such as man-in-the-middle, eavesdropping, and session-hijacking
Audit
Deny
Disabled
Audit
Deny
Disabled
Audit
Deny
Disabled
Cognitive Services [Deprecated]: Cognitive Services should use private link
Azure Private Link lets you connect your virtual networks to Azure services without a public IP address at the source or destination. The Private Link platform handles the connectivity between the consumer and services over the Azure backbone network. By mapping private endpoints to Cognitive Services, you'll reduce the potential for data leakage. Learn more about private links at: https://go.microsoft.com/fwlink/?linkid=2129800.
Audit
Disabled
Cognitive Services Azure AI Services resources should encrypt data at rest with a customer-managed key (CMK)
Using customer-managed keys to encrypt data at rest provides more control over the key lifecycle, including rotation and management. This is particularly relevant for organizations with related compliance requirements. This is not assessed by default and should only be applied when required by compliance or restrictive policy requirements. If not enabled, the data will be encrypted using platform-managed keys. To implement this, update the 'Effect' parameter in the Security Policy for the applicable scope.
Disabled
Audit
Deny
Compute Audit virtual machines without disaster recovery configured
Audit virtual machines which do not have disaster recovery configured. To learn more about disaster recovery, visit https://aka.ms/asr-doc.
auditIfNotExists
Compute Audit VMs that do not use managed disks
This policy audits VMs that do not use managed disks
audit audit
Compute Managed disks should be double encrypted with both platform-managed and customer-managed keys
High security sensitive customers who are concerned of the risk associated with any particular encryption algorithm, implementation, or key being compromised can opt for additional layer of encryption using a different encryption algorithm/mode at the infrastructure layer using platform managed encryption keys. The disk encryption sets are required to use double encryption. Learn more at https://aka.ms/disks-doubleEncryption.
Audit
Deny
Disabled
Compute Microsoft IaaSAntimalware extension should be deployed on Windows servers
This policy audits any Windows server VM without Microsoft IaaSAntimalware extension deployed.
AuditIfNotExists
Disabled
Compute Only approved VM extensions should be installed
This policy governs the virtual machine extensions that are not approved.
Audit
Deny
Disabled
Compute Virtual machines and virtual machine scale sets should have encryption at host enabled
Use encryption at host to get end-to-end encryption for your virtual machine and virtual machine scale set data. Encryption at host enables encryption at rest for your temporary disk and OS/data disk caches. Temporary and ephemeral OS disks are encrypted with platform-managed keys when encryption at host is enabled. OS/data disk caches are encrypted at rest with either customer-managed or platform-managed key, depending on the encryption type selected on the disk. Learn more at https://aka.ms/vm-hbe.
Audit
Deny
Disabled
Compute Virtual machines should be migrated to new Azure Resource Manager resources
Use new Azure Resource Manager for your virtual machines to provide security enhancements such as: stronger access control (RBAC), better auditing, Azure Resource Manager based deployment and governance, access to managed identities, access to key vault for secrets, Azure AD-based authentication and support for tags and resource groups for easier security management
Audit
Deny
Disabled
Audit
Deny
Disabled
Container Registry Container registries should be encrypted with a customer-managed key
Use customer-managed keys to manage the encryption at rest of the contents of your registries. By default, the data is encrypted at rest with service-managed keys, but customer-managed keys are commonly required to meet regulatory compliance standards. Customer-managed keys enable the data to be encrypted with an Azure Key Vault key created and owned by you. You have full control and responsibility for the key lifecycle, including rotation and management. Learn more at https://aka.ms/acr/CMK.
Disabled
Audit
Deny
Container Registry Container registries should not allow unrestricted network access
Azure container registries by default accept connections over the internet from hosts on any network. To protect your registries from potential threats, allow access from only specific private endpoints, public IP addresses or address ranges. If your registry doesn't have network rules configured, it will appear in the unhealthy resources. Learn more about Container Registry network rules here: https://aka.ms/acr/privatelink, https://aka.ms/acr/portal/public-network and https://aka.ms/acr/vnet.
Audit
Disabled
Container Registry Container registries should use private link
Azure Private Link lets you connect your virtual network to Azure services without a public IP address at the source or destination. The private link platform handles the connectivity between the consumer and services over the Azure backbone network.By mapping private endpoints to your container registries instead of the entire service, you'll also be protected against data leakage risks. Learn more at: https://aka.ms/acr/private-link.
Audit
Disabled
Cosmos DB Azure Cosmos DB accounts should have firewall rules
Firewall rules should be defined on your Azure Cosmos DB accounts to prevent traffic from unauthorized sources. Accounts that have at least one IP rule defined with the virtual network filter enabled are deemed compliant. Accounts disabling public access are also deemed compliant.
Audit
Deny
Disabled
Audit
Deny
Disabled
Cosmos DB Azure Cosmos DB accounts should use customer-managed keys to encrypt data at rest
Use customer-managed keys to manage the encryption at rest of your Azure Cosmos DB. By default, the data is encrypted at rest with service-managed keys, but customer-managed keys are commonly required to meet regulatory compliance standards. Customer-managed keys enable the data to be encrypted with an Azure Key Vault key created and owned by you. You have full control and responsibility for the key lifecycle, including rotation and management. Learn more at https://aka.ms/cosmosdb-cmk.
disabled
audit
deny
Cosmos DB Azure Cosmos DB should disable public network access
Disabling public network access improves security by ensuring that your CosmosDB account isn't exposed on the public internet. Creating private endpoints can limit exposure of your CosmosDB account. Learn more at: https://docs.microsoft.com/azure/cosmos-db/how-to-configure-private-endpoints#blocking-public-network-access-during-account-creation.
Audit
Deny
Disabled
Cosmos DB Cosmos DB database accounts should have local authentication methods disabled
Disabling local authentication methods improves security by ensuring that Cosmos DB database accounts exclusively require Azure Active Directory identities for authentication. Learn more at: https://docs.microsoft.com/azure/cosmos-db/how-to-setup-rbac#disable-local-auth.
Audit
Deny
Disabled
Audit
Deny
Disabled
Cosmos DB CosmosDB accounts should use private link
Azure Private Link lets you connect your virtual network to Azure services without a public IP address at the source or destination. The Private Link platform handles the connectivity between the consumer and services over the Azure backbone network. By mapping private endpoints to your CosmosDB account, data leakage risks are reduced. Learn more about private links at: https://docs.microsoft.com/azure/cosmos-db/how-to-configure-private-endpoints.
Audit
Disabled
Audit
Disabled
Data Lake Resource logs in Azure Data Lake Store should be enabled
Audit enabling of resource logs. This enables you to recreate activity trails to use for investigation purposes; when a security incident occurs or when your network is compromised
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Data Lake Resource logs in Data Lake Analytics should be enabled
Audit enabling of resource logs. This enables you to recreate activity trails to use for investigation purposes; when a security incident occurs or when your network is compromised
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Event Grid Azure Event Grid domains should use private link
Azure Private Link lets you connect your virtual network to Azure services without a public IP address at the source or destination. The Private Link platform handles the connectivity between the consumer and services over the Azure backbone network. By mapping private endpoints to your Event Grid domain instead of the entire service, you'll also be protected against data leakage risks. Learn more at: https://aka.ms/privateendpoints.
Audit
Disabled
Event Grid Azure Event Grid topics should use private link
Azure Private Link lets you connect your virtual network to Azure services without a public IP address at the source or destination. The Private Link platform handles the connectivity between the consumer and services over the Azure backbone network. By mapping private endpoints to your Event Grid topic instead of the entire service, you'll also be protected against data leakage risks. Learn more at: https://aka.ms/privateendpoints.
Audit
Disabled
Event Hub Resource logs in Event Hub should be enabled
Audit enabling of resource logs. This enables you to recreate activity trails to use for investigation purposes; when a security incident occurs or when your network is compromised
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
General Audit usage of custom RBAC roles
Audit built-in roles such as 'Owner, Contributer, Reader' instead of custom RBAC roles, which are error prone. Using custom roles is treated as an exception and requires a rigorous review and threat modeling
Audit
Disabled
Audit
Disabled
Audit
Disabled
Guest Configuration Add system-assigned managed identity to enable Guest Configuration assignments on virtual machines with no identities
This policy adds a system-assigned managed identity to virtual machines hosted in Azure that are supported by Guest Configuration but do not have any managed identities. A system-assigned managed identity is a prerequisite for all Guest Configuration assignments and must be added to machines before using any Guest Configuration policy definitions. For more information on Guest Configuration, visit https://aka.ms/gcpol.
modify modify
Guest Configuration Add system-assigned managed identity to enable Guest Configuration assignments on VMs with a user-assigned identity
This policy adds a system-assigned managed identity to virtual machines hosted in Azure that are supported by Guest Configuration and have at least one user-assigned identity but do not have a system-assigned managed identity. A system-assigned managed identity is a prerequisite for all Guest Configuration assignments and must be added to machines before using any Guest Configuration policy definitions. For more information on Guest Configuration, visit https://aka.ms/gcpol.
modify modify
Guest Configuration Audit Linux machines that allow remote connections from accounts without passwords
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if Linux machines that allow remote connections from accounts without passwords
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Guest Configuration Audit Linux machines that do not have the passwd file permissions set to 0644
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if Linux machines that do not have the passwd file permissions set to 0644
AuditIfNotExists
Disabled
Guest Configuration Audit Linux machines that have accounts without passwords
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if Linux machines that have accounts without passwords
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Guest Configuration Audit Windows machines that allow re-use of the passwords after the specified number of unique passwords
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if Windows machines that allow re-use of the passwords after the specified number of unique passwords. Default value for unique passwords is 24
AuditIfNotExists
Disabled
Guest Configuration Audit Windows machines that do not have the maximum password age set to specified number of days
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if Windows machines that do not have the maximum password age set to specified number of days. Default value for maximum password age is 70 days
AuditIfNotExists
Disabled
Guest Configuration Audit Windows machines that do not have the minimum password age set to specified number of days
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if Windows machines that do not have the minimum password age set to specified number of days. Default value for minimum password age is 1 day
AuditIfNotExists
Disabled
Guest Configuration Audit Windows machines that do not have the password complexity setting enabled
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if Windows machines that do not have the password complexity setting enabled
AuditIfNotExists
Disabled
Guest Configuration Audit Windows machines that do not restrict the minimum password length to specified number of characters
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if Windows machines that do not restrict the minimum password length to specified number of characters. Default value for minimum password length is 14 characters
AuditIfNotExists
Disabled
Guest Configuration Audit Windows machines that do not store passwords using reversible encryption
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if Windows machines that do not store passwords using reversible encryption
AuditIfNotExists
Disabled
Guest Configuration Audit Windows machines that have the specified members in the Administrators group
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if the local Administrators group contains one or more of the members listed in the policy parameter.
auditIfNotExists
Guest Configuration Authentication to Linux machines should require SSH keys
Although SSH itself provides an encrypted connection, using passwords with SSH still leaves the VM vulnerable to brute-force attacks. The most secure option for authenticating to an Azure Linux virtual machine over SSH is with a public-private key pair, also known as SSH keys. Learn more: https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed.
AuditIfNotExists
Disabled
Guest Configuration Deploy the Linux Guest Configuration extension to enable Guest Configuration assignments on Linux VMs
This policy deploys the Linux Guest Configuration extension to Linux virtual machines hosted in Azure that are supported by Guest Configuration. The Linux Guest Configuration extension is a prerequisite for all Linux Guest Configuration assignments and must be deployed to machines before using any Linux Guest Configuration policy definition. For more information on Guest Configuration, visit https://aka.ms/gcpol.
deployIfNotExists deployIfNotExists
Guest Configuration Deploy the Windows Guest Configuration extension to enable Guest Configuration assignments on Windows VMs
This policy deploys the Windows Guest Configuration extension to Windows virtual machines hosted in Azure that are supported by Guest Configuration. The Windows Guest Configuration extension is a prerequisite for all Windows Guest Configuration assignments and must be deployed to machines before using any Windows Guest Configuration policy definition. For more information on Guest Configuration, visit https://aka.ms/gcpol.
deployIfNotExists deployIfNotExists
Guest Configuration Linux machines should meet requirements for the Azure compute security baseline
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if the machine is not configured correctly for one of the recommendations in the Azure compute security baseline.
AuditIfNotExists
Disabled
Guest Configuration Linux virtual machines should enable Azure Disk Encryption or EncryptionAtHost.
Although a virtual machine's OS and data disks are encrypted-at-rest by default using platform managed keys; resource disks (temp disks), data caches, and data flowing between Compute and Storage resources are not encrypted. Use Azure Disk Encryption or EncryptionAtHost to remediate. Visit https://aka.ms/diskencryptioncomparison to compare encryption offerings. This policy requires two prerequisites to be deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol.
AuditIfNotExists
Disabled
Guest Configuration Windows Defender Exploit Guard should be enabled on your machines
Windows Defender Exploit Guard uses the Azure Policy Guest Configuration agent. Exploit Guard has four components that are designed to lock down devices against a wide variety of attack vectors and block behaviors commonly used in malware attacks while enabling enterprises to balance their security risk and productivity requirements (Windows only).
AuditIfNotExists
Disabled
Guest Configuration Windows machines should be configured to use secure communication protocols
To protect the privacy of information communicated over the Internet, your machines should use the latest version of the industry-standard cryptographic protocol, Transport Layer Security (TLS). TLS secures communications over a network by encrypting a connection between machines.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Guest Configuration Windows machines should meet requirements for 'Security Settings - Account Policies'
Windows machines should have the specified Group Policy settings in the category 'Security Settings - Account Policies' for password history, age, length, complexity, and storing passwords using reversible encryption. This policy requires that the Guest Configuration prerequisites have been deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol.
AuditIfNotExists
Disabled
Guest Configuration Windows machines should meet requirements of the Azure compute security baseline
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if the machine is not configured correctly for one of the recommendations in the Azure compute security baseline.
AuditIfNotExists
Disabled
Guest Configuration Windows virtual machines should enable Azure Disk Encryption or EncryptionAtHost.
Although a virtual machine's OS and data disks are encrypted-at-rest by default using platform managed keys; resource disks (temp disks), data caches, and data flowing between Compute and Storage resources are not encrypted. Use Azure Disk Encryption or EncryptionAtHost to remediate. Visit https://aka.ms/diskencryptioncomparison to compare encryption offerings. This policy requires two prerequisites to be deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol.
AuditIfNotExists
Disabled
Internet of Things Resource logs in IoT Hub should be enabled
Audit enabling of resource logs. This enables you to recreate activity trails to use for investigation purposes; when a security incident occurs or when your network is compromised
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Key Vault Azure Key Vault should have firewall enabled or public network access disabled
Enable the key vault firewall so that the key vault is not accessible by default to any public IPs or disable public network access for your key vault so that it's not accessible over the public internet. Optionally, you can configure specific IP ranges to limit access to those networks. Learn more at: https://docs.microsoft.com/azure/key-vault/general/network-security and https://aka.ms/akvprivatelink
Audit
Disabled
Key Vault Azure Key Vault should use RBAC permission model
Enable RBAC permission model across Key Vaults. Learn more at: https://learn.microsoft.com/en-us/azure/key-vault/general/rbac-migration
Audit
Deny
Disabled
Audit
Deny
Disabled
Key Vault Azure Key Vaults should use private link
Azure Private Link lets you connect your virtual networks to Azure services without a public IP address at the source or destination. The Private Link platform handles the connectivity between the consumer and services over the Azure backbone network. By mapping private endpoints to key vault, you can reduce data leakage risks. Learn more about private links at: https://aka.ms/akvprivatelink.
Audit
Disabled
Audit
Disabled
Key Vault Certificates should have the specified maximum validity period
Manage your organizational compliance requirements by specifying the maximum amount of time that a certificate can be valid within your key vault.
disabled
audit
deny
Key Vault Key Vault keys should have an expiration date
Cryptographic keys should have a defined expiration date and not be permanent. Keys that are valid forever provide a potential attacker with more time to compromise the key. It is a recommended security practice to set expiration dates on cryptographic keys.
Disabled
Audit
Deny
Audit
Deny
Disabled
Key Vault Key Vault secrets should have an expiration date
Secrets should have a defined expiration date and not be permanent. Secrets that are valid forever provide a potential attacker with more time to compromise them. It is a recommended security practice to set expiration dates on secrets.
Disabled
Audit
Deny
Audit
Deny
Disabled
Key Vault Key vaults should have deletion protection enabled
Malicious deletion of a key vault can lead to permanent data loss. You can prevent permanent data loss by enabling purge protection and soft delete. Purge protection protects you from insider attacks by enforcing a mandatory retention period for soft deleted key vaults. No one inside your organization or Microsoft will be able to purge your key vaults during the soft delete retention period. Keep in mind that key vaults created after September 1st 2019 have soft-delete enabled by default.
Audit
Deny
Disabled
Audit
Deny
Disabled
Key Vault Key vaults should have soft delete enabled
Deleting a key vault without soft delete enabled permanently deletes all secrets, keys, and certificates stored in the key vault. Accidental deletion of a key vault can lead to permanent data loss. Soft delete allows you to recover an accidentally deleted key vault for a configurable retention period.
Audit
Deny
Disabled
Audit
Deny
Disabled
Key Vault Keys should have a rotation policy ensuring that their rotation is scheduled within the specified number of days after creation.
Manage your organizational compliance requirements by specifying the maximum number of days after key creation until it must be rotated.
Audit
Disabled
Key Vault Resource logs in Key Vault should be enabled
Audit enabling of resource logs. This enables you to recreate activity trails to use for investigation purposes when a security incident occurs or when your network is compromised
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Kubernetes [Preview]: Azure Arc enabled Kubernetes clusters should have Microsoft Defender for Cloud extension installed
Microsoft Defender for Cloud extension for Azure Arc provides threat protection for your Arc enabled Kubernetes clusters. The extension collects data from all nodes in the cluster and sends it to the Azure Defender for Kubernetes backend in the cloud for further analysis. Learn more in https://docs.microsoft.com/azure/defender-for-cloud/defender-for-containers-enable?pivots=defender-for-container-arc.
AuditIfNotExists
Disabled
Kubernetes Azure Arc enabled Kubernetes clusters should have the Azure Policy extension installed
The Azure Policy extension for Azure Arc provides at-scale enforcements and safeguards on your Arc enabled Kubernetes clusters in a centralized, consistent manner. Learn more at https://aka.ms/akspolicydoc.
AuditIfNotExists
Disabled
Kubernetes Azure Kubernetes Service clusters should have Defender profile enabled
Microsoft Defender for Containers provides cloud-native Kubernetes security capabilities including environment hardening, workload protection, and run-time protection. When you enable the SecurityProfile.AzureDefender on your Azure Kubernetes Service cluster, an agent is deployed to your cluster to collect security event data. Learn more about Microsoft Defender for Containers in https://docs.microsoft.com/azure/defender-for-cloud/defender-for-containers-introduction?tabs=defender-for-container-arch-aks
Audit
Disabled
Kubernetes Azure Policy Add-on for Kubernetes service (AKS) should be installed and enabled on your clusters
Azure Policy Add-on for Kubernetes service (AKS) extends Gatekeeper v3, an admission controller webhook for Open Policy Agent (OPA), to apply at-scale enforcements and safeguards on your clusters in a centralized, consistent manner.
Audit
Disabled
Kubernetes Kubernetes cluster containers CPU and memory resource limits should not exceed the specified limits
Enforce container CPU and memory resource limits to prevent resource exhaustion attacks in a Kubernetes cluster. This policy is generally available for Kubernetes Service (AKS), and preview for Azure Arc enabled Kubernetes. For more information, see https://aka.ms/kubepolicydoc.
Audit
audit
deny
Deny
disabled
Disabled
Kubernetes Kubernetes cluster containers should not share host process ID or host IPC namespace
Block pod containers from sharing the host process ID namespace and host IPC namespace in a Kubernetes cluster. This recommendation is part of CIS 5.2.2 and CIS 5.2.3 which are intended to improve the security of your Kubernetes environments. This policy is generally available for Kubernetes Service (AKS), and preview for Azure Arc enabled Kubernetes. For more information, see https://aka.ms/kubepolicydoc.
Audit
audit
deny
Deny
disabled
Disabled
Kubernetes Kubernetes cluster containers should only use allowed AppArmor profiles
Containers should only use allowed AppArmor profiles in a Kubernetes cluster. This policy is generally available for Kubernetes Service (AKS), and preview for Azure Arc enabled Kubernetes. For more information, see https://aka.ms/kubepolicydoc.
Audit
audit
deny
Deny
disabled
Disabled
Kubernetes Kubernetes cluster containers should only use allowed capabilities
Restrict the capabilities to reduce the attack surface of containers in a Kubernetes cluster. This recommendation is part of CIS 5.2.8 and CIS 5.2.9 which are intended to improve the security of your Kubernetes environments. This policy is generally available for Kubernetes Service (AKS), and preview for Azure Arc enabled Kubernetes. For more information, see https://aka.ms/kubepolicydoc.
Audit
audit
deny
Deny
disabled
Disabled
Kubernetes Kubernetes cluster containers should only use allowed images
Use images from trusted registries to reduce the Kubernetes cluster's exposure risk to unknown vulnerabilities, security issues and malicious images. For more information, see https://aka.ms/kubepolicydoc.
Audit
audit
deny
Deny
disabled
Disabled
Kubernetes Kubernetes cluster containers should run with a read only root file system
Run containers with a read only root file system to protect from changes at run-time with malicious binaries being added to PATH in a Kubernetes cluster. This policy is generally available for Kubernetes Service (AKS), and preview for Azure Arc enabled Kubernetes. For more information, see https://aka.ms/kubepolicydoc.
Audit
audit
deny
Deny
disabled
Disabled
Kubernetes Kubernetes cluster pod hostPath volumes should only use allowed host paths
Limit pod HostPath volume mounts to the allowed host paths in a Kubernetes Cluster. This policy is generally available for Kubernetes Service (AKS), and Azure Arc enabled Kubernetes. For more information, see https://aka.ms/kubepolicydoc.
Audit
audit
deny
Deny
disabled
Disabled
Kubernetes Kubernetes cluster pods and containers should only run with approved user and group IDs
Control the user, primary group, supplemental group and file system group IDs that pods and containers can use to run in a Kubernetes Cluster. This policy is generally available for Kubernetes Service (AKS), and preview for Azure Arc enabled Kubernetes. For more information, see https://aka.ms/kubepolicydoc.
Audit
audit
deny
Deny
disabled
Disabled
Kubernetes Kubernetes cluster pods should only use approved host network and port range
Restrict pod access to the host network and the allowable host port range in a Kubernetes cluster. This recommendation is part of CIS 5.2.4 which is intended to improve the security of your Kubernetes environments. This policy is generally available for Kubernetes Service (AKS), and preview for Azure Arc enabled Kubernetes. For more information, see https://aka.ms/kubepolicydoc.
Audit
audit
deny
Deny
disabled
Disabled
Kubernetes Kubernetes cluster services should listen only on allowed ports
Restrict services to listen only on allowed ports to secure access to the Kubernetes cluster. This policy is generally available for Kubernetes Service (AKS), and preview for Azure Arc enabled Kubernetes. For more information, see https://aka.ms/kubepolicydoc.
Audit
audit
deny
Deny
disabled
Disabled
Kubernetes Kubernetes cluster should not allow privileged containers
Do not allow privileged containers creation in a Kubernetes cluster. This recommendation is part of CIS 5.2.1 which is intended to improve the security of your Kubernetes environments. This policy is generally available for Kubernetes Service (AKS), and preview for Azure Arc enabled Kubernetes. For more information, see https://aka.ms/kubepolicydoc.
Audit
audit
deny
Deny
disabled
Disabled
Kubernetes Kubernetes clusters should be accessible only over HTTPS
Use of HTTPS ensures authentication and protects data in transit from network layer eavesdropping attacks. This capability is currently generally available for Kubernetes Service (AKS), and in preview for Azure Arc enabled Kubernetes. For more info, visit https://aka.ms/kubepolicydoc
Audit
audit
deny
Deny
disabled
Disabled
Kubernetes Kubernetes clusters should disable automounting API credentials
Disable automounting API credentials to prevent a potentially compromised Pod resource to run API commands against Kubernetes clusters. For more information, see https://aka.ms/kubepolicydoc.
Audit
audit
deny
Deny
disabled
Disabled
Kubernetes Kubernetes clusters should not allow container privilege escalation
Do not allow containers to run with privilege escalation to root in a Kubernetes cluster. This recommendation is part of CIS 5.2.5 which is intended to improve the security of your Kubernetes environments. This policy is generally available for Kubernetes Service (AKS), and preview for Azure Arc enabled Kubernetes. For more information, see https://aka.ms/kubepolicydoc.
Audit
audit
deny
Deny
disabled
Disabled
Kubernetes Kubernetes clusters should not grant CAP_SYS_ADMIN security capabilities
To reduce the attack surface of your containers, restrict CAP_SYS_ADMIN Linux capabilities. For more information, see https://aka.ms/kubepolicydoc.
Audit
audit
deny
Deny
disabled
Disabled
Kubernetes Kubernetes clusters should not use the default namespace
Prevent usage of the default namespace in Kubernetes clusters to protect against unauthorized access for ConfigMap, Pod, Secret, Service, and ServiceAccount resource types. For more information, see https://aka.ms/kubepolicydoc.
Audit
audit
deny
Deny
disabled
Disabled
Kubernetes Resource logs in Azure Kubernetes Service should be enabled
Azure Kubernetes Service's resource logs can help recreate activity trails when investigating security incidents. Enable it to make sure the logs will exist when needed
AuditIfNotExists
Disabled
Logic Apps Resource logs in Logic Apps should be enabled
Audit enabling of resource logs. This enables you to recreate activity trails to use for investigation purposes; when a security incident occurs or when your network is compromised
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Machine Learning Azure Machine Learning compute instances should be recreated to get the latest software updates
Ensure Azure Machine Learning compute instances run on the latest available operating system. Security is improved and vulnerabilities reduced by running with the latest security patches. For more information, visit https://aka.ms/azureml-ci-updates/.
Audit
Disabled
Machine Learning Azure Machine Learning Computes should be in a virtual network
Azure Virtual Networks provide enhanced security and isolation for your Azure Machine Learning Compute Clusters and Instances, as well as subnets, access control policies, and other features to further restrict access. When a compute is configured with a virtual network, it is not publicly addressable and can only be accessed from virtual machines and applications within the virtual network.
Audit
Disabled
Machine Learning Azure Machine Learning Computes should have local authentication methods disabled
Disabling local authentication methods improves security by ensuring that Machine Learning Computes require Azure Active Directory identities exclusively for authentication. Learn more at: https://aka.ms/azure-ml-aad-policy.
Audit
Deny
Disabled
Machine Learning Azure Machine Learning workspaces should be encrypted with a customer-managed key
Manage encryption at rest of Azure Machine Learning workspace data with customer-managed keys. By default, customer data is encrypted with service-managed keys, but customer-managed keys are commonly required to meet regulatory compliance standards. Customer-managed keys enable the data to be encrypted with an Azure Key Vault key created and owned by you. You have full control and responsibility for the key lifecycle, including rotation and management. Learn more at https://aka.ms/azureml-workspaces-cmk.
Disabled
Audit
Deny
Machine Learning Azure Machine Learning Workspaces should disable public network access
Disabling public network access improves security by ensuring that the Machine Learning Workspaces aren't exposed on the public internet. You can control exposure of your workspaces by creating private endpoints instead. Learn more at: https://learn.microsoft.com/azure/machine-learning/how-to-configure-private-link?view=azureml-api-2&tabs=azure-portal.
Audit
Deny
Disabled
Machine Learning Azure Machine Learning workspaces should use private link
Azure Private Link lets you connect your virtual network to Azure services without a public IP address at the source or destination. The Private Link platform handles the connectivity between the consumer and services over the Azure backbone network. By mapping private endpoints to Azure Machine Learning workspaces, data leakage risks are reduced. Learn more about private links at: https://docs.microsoft.com/azure/machine-learning/how-to-configure-private-link.
Audit
Disabled
Machine Learning Resource logs in Azure Machine Learning Workspaces should be enabled
Resource logs enable recreating activity trails to use for investigation purposes when a security incident occurs or when your network is compromised.
AuditIfNotExists
Disabled
Monitoring [Preview]: Log Analytics Extension should be enabled for listed virtual machine images
Reports virtual machines as non-compliant if the virtual machine image is not in the list defined and the extension is not installed.
AuditIfNotExists
Disabled
Monitoring [Preview]: Log Analytics extension should be installed on your Linux Azure Arc machines
This policy audits Linux Azure Arc machines if the Log Analytics extension is not installed.
AuditIfNotExists
Disabled
Monitoring [Preview]: Log Analytics extension should be installed on your Windows Azure Arc machines
This policy audits Windows Azure Arc machines if the Log Analytics extension is not installed.
Disabled
AuditIfNotExists
Monitoring [Preview]: Network traffic data collection agent should be installed on Linux virtual machines
Security Center uses the Microsoft Dependency agent to collect network traffic data from your Azure virtual machines to enable advanced network protection features such as traffic visualization on the network map, network hardening recommendations and specific network threats.
AuditIfNotExists
Disabled
Monitoring [Preview]: Network traffic data collection agent should be installed on Windows virtual machines
Security Center uses the Microsoft Dependency agent to collect network traffic data from your Azure virtual machines to enable advanced network protection features such as traffic visualization on the network map, network hardening recommendations and specific network threats.
AuditIfNotExists
Disabled
Monitoring An activity log alert should exist for specific Administrative operations
This policy audits specific Administrative operations with no activity log alerts configured.
AuditIfNotExists
Disabled
Monitoring An activity log alert should exist for specific Administrative operations
This policy audits specific Administrative operations with no activity log alerts configured.
AuditIfNotExists
Disabled
Monitoring An activity log alert should exist for specific Administrative operations
This policy audits specific Administrative operations with no activity log alerts configured.
AuditIfNotExists
Disabled
Monitoring An activity log alert should exist for specific Administrative operations
This policy audits specific Administrative operations with no activity log alerts configured.
AuditIfNotExists
Disabled
Monitoring An activity log alert should exist for specific Administrative operations
This policy audits specific Administrative operations with no activity log alerts configured.
AuditIfNotExists
Disabled
Monitoring An activity log alert should exist for specific Administrative operations
This policy audits specific Administrative operations with no activity log alerts configured.
AuditIfNotExists
Disabled
Monitoring An activity log alert should exist for specific Administrative operations
This policy audits specific Administrative operations with no activity log alerts configured.
AuditIfNotExists
Disabled
Monitoring An activity log alert should exist for specific Administrative operations
This policy audits specific Administrative operations with no activity log alerts configured.
AuditIfNotExists
Disabled
Monitoring An activity log alert should exist for specific Administrative operations
This policy audits specific Administrative operations with no activity log alerts configured.
AuditIfNotExists
Disabled
Monitoring An activity log alert should exist for specific Administrative operations
This policy audits specific Administrative operations with no activity log alerts configured.
AuditIfNotExists
Disabled
Monitoring An activity log alert should exist for specific Policy operations
This policy audits specific Policy operations with no activity log alerts configured.
AuditIfNotExists
Disabled
Monitoring An activity log alert should exist for specific Policy operations
This policy audits specific Policy operations with no activity log alerts configured.
AuditIfNotExists
Disabled
Monitoring An activity log alert should exist for specific Security operations
This policy audits specific Security operations with no activity log alerts configured.
AuditIfNotExists
Disabled
Monitoring An activity log alert should exist for specific Security operations
This policy audits specific Security operations with no activity log alerts configured.
AuditIfNotExists
Disabled
Monitoring An activity log alert should exist for specific Security operations
This policy audits specific Security operations with no activity log alerts configured.
AuditIfNotExists
Disabled
Monitoring Audit diagnostic setting for selected resource types
Audit diagnostic setting for selected resource types. Be sure to select only resource types which support diagnostics settings.
AuditIfNotExists AuditIfNotExists
Monitoring Dependency agent should be enabled for listed virtual machine images
Reports virtual machines as non-compliant if the virtual machine image is not in the list defined and the agent is not installed. The list of OS images is updated over time as support is updated.
AuditIfNotExists
Disabled
Monitoring Dependency agent should be enabled in virtual machine scale sets for listed virtual machine images
Reports virtual machine scale sets as non-compliant if the virtual machine image is not in the list defined and the agent is not installed. The list of OS images is updated over time as support is updated.
AuditIfNotExists
Disabled
Monitoring Log Analytics extension should be enabled in virtual machine scale sets for listed virtual machine images
Reports virtual machine scale sets as non-compliant if the virtual machine image is not in the list defined and the extension is not installed.
AuditIfNotExists
Disabled
Monitoring Storage account containing the container with activity logs must be encrypted with BYOK
This policy audits if the Storage account containing the container with activity logs is encrypted with BYOK. The policy works only if the storage account lies on the same subscription as activity logs by design. More information on Azure Storage encryption at rest can be found here https://aka.ms/azurestoragebyok.
AuditIfNotExists
Disabled
Monitoring Virtual machines should be connected to a specified workspace
Reports virtual machines as non-compliant if they aren't logging to the Log Analytics workspace specified in the policy/initiative assignment.
AuditIfNotExists
Disabled
Network [Preview]: All Internet traffic should be routed via your deployed Azure Firewall
Azure Security Center has identified that some of your subnets aren't protected with a next generation firewall. Protect your subnets from potential threats by restricting access to them with Azure Firewall or a supported next generation firewall
AuditIfNotExists
Disabled
Network All flow log resources should be in enabled state
Audit for flow log resources to verify if flow log status is enabled. Enabling flow logs allows to log information about IP traffic flowing. It can be used for optimizing network flows, monitoring throughput, verifying compliance, detecting intrusions and more.
Audit
Disabled
Network Audit flow logs configuration for every virtual network
Audit for virtual network to verify if flow logs are configured. Enabling flow logs allows to log information about IP traffic flowing through virtual network. It can be used for optimizing network flows, monitoring throughput, verifying compliance, detecting intrusions and more.
Audit
Disabled
Network Azure Web Application Firewall should be enabled for Azure Front Door entry-points
Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries, IP address ranges, and other http(s) parameters via custom rules.
Audit
Deny
Disabled
Network Flow logs should be configured for every network security group
Audit for network security groups to verify if flow logs are configured. Enabling flow logs allows to log information about IP traffic flowing through network security group. It can be used for optimizing network flows, monitoring throughput, verifying compliance, detecting intrusions and more.
Audit
Disabled
Network Network Watcher should be enabled
Network Watcher is a regional service that enables you to monitor and diagnose conditions at a network scenario level in, to, and from Azure. Scenario level monitoring enables you to diagnose problems at an end to end network level view. It is required to have a network watcher resource group to be created in every region where a virtual network is present. An alert is enabled if a network watcher resource group is not available in a particular region.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Network VPN gateways should use only Azure Active Directory (Azure AD) authentication for point-to-site users
Disabling local authentication methods improves security by ensuring that VPN Gateways use only Azure Active Directory identities for authentication. Learn more about Azure AD authentication at https://docs.microsoft.com/azure/vpn-gateway/openvpn-azure-ad-tenant
Audit
Deny
Disabled
Network Web Application Firewall (WAF) should be enabled for Application Gateway
Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries, IP address ranges, and other http(s) parameters via custom rules.
Audit
Deny
Disabled
Search Resource logs in Search services should be enabled
Audit enabling of resource logs. This enables you to recreate activity trails to use for investigation purposes; when a security incident occurs or when your network is compromised
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center [Deprecated]: Azure Defender for DNS should be enabled
This policy definition is no longer the recommended way to achieve its intent, because DNS bundle is being deprecated. Instead of continuing to use this policy, we recommend you assign this replacement policy with policy ID 4da35fc9-c9e7-4960-aec9-797fe7d9051d. Learn more about policy definition deprecation at aka.ms/policydefdeprecation
AuditIfNotExists
Disabled
Security Center [Preview]: Guest Attestation extension should be installed on supported Linux virtual machines
Install Guest Attestation extension on supported Linux virtual machines to allow Azure Security Center to proactively attest and monitor the boot integrity. Once installed, boot integrity will be attested via Remote Attestation. This assessment applies to Trusted Launch and Confidential Linux virtual machines.
AuditIfNotExists
Disabled
Security Center [Preview]: Guest Attestation extension should be installed on supported Linux virtual machines scale sets
Install Guest Attestation extension on supported Linux virtual machines scale sets to allow Azure Security Center to proactively attest and monitor the boot integrity. Once installed, boot integrity will be attested via Remote Attestation. This assessment applies to Trusted Launch and Confidential Linux virtual machine scale sets.
AuditIfNotExists
Disabled
Security Center [Preview]: Guest Attestation extension should be installed on supported Windows virtual machines
Install Guest Attestation extension on supported virtual machines to allow Azure Security Center to proactively attest and monitor the boot integrity. Once installed, boot integrity will be attested via Remote Attestation. This assessment applies to Trusted Launch and Confidential Windows virtual machines.
AuditIfNotExists
Disabled
Security Center [Preview]: Guest Attestation extension should be installed on supported Windows virtual machines scale sets
Install Guest Attestation extension on supported virtual machines scale sets to allow Azure Security Center to proactively attest and monitor the boot integrity. Once installed, boot integrity will be attested via Remote Attestation. This assessment applies to Trusted Launch and Confidential Windows virtual machine scale sets.
AuditIfNotExists
Disabled
Security Center [Preview]: Linux virtual machines should use only signed and trusted boot components
All OS boot components (boot loader, kernel, kernel drivers) must be signed by trusted publishers. Defender for Cloud has identified untrusted OS boot components on one or more of your Linux machines. To protect your machines from potentially malicious components, add them to your allow list or remove the identified components.
AuditIfNotExists
Disabled
Security Center [Preview]: Secure Boot should be enabled on supported Windows virtual machines
Enable Secure Boot on supported Windows virtual machines to mitigate against malicious and unauthorized changes to the boot chain. Once enabled, only trusted bootloaders, kernel and kernel drivers will be allowed to run. This assessment applies to Trusted Launch and Confidential Windows virtual machines.
Audit
Disabled
Security Center [Preview]: vTPM should be enabled on supported virtual machines
Enable virtual TPM device on supported virtual machines to facilitate Measured Boot and other OS security features that require a TPM. Once enabled, vTPM can be used to attest boot integrity. This assessment only applies to trusted launch enabled virtual machines.
Audit
Disabled
Security Center A maximum of 3 owners should be designated for your subscription
It is recommended to designate up to 3 subscription owners in order to reduce the potential for breach by a compromised owner.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center A vulnerability assessment solution should be enabled on your virtual machines
Audits virtual machines to detect whether they are running a supported vulnerability assessment solution. A core component of every cyber risk and security program is the identification and analysis of vulnerabilities. Azure Security Center's standard pricing tier includes vulnerability scanning for your virtual machines at no extra cost. Additionally, Security Center can automatically deploy this tool for you.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center All network ports should be restricted on network security groups associated to your virtual machine
Azure Security Center has identified some of your network security groups' inbound rules to be too permissive. Inbound rules should not allow access from 'Any' or 'Internet' ranges. This can potentially enable attackers to target your resources.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center API endpoints in Azure API Management should be authenticated
API endpoints published within Azure API Management should enforce authentication to help minimize security risk. Authentication mechanisms are sometimes implemented incorrectly or are missing. This allows attackers to exploit implementation flaws and to access data. Learn More about the OWASP API Threat for Broken User Authentication here: https://learn.microsoft.com/azure/api-management/mitigate-owasp-api-threats#broken-user-authentication
AuditIfNotExists
Disabled
Security Center API endpoints that are unused should be disabled and removed from the Azure API Management service
As a security best practice, API endpoints that haven't received traffic for 30 days are considered unused and should be removed from the Azure API Management service. Keeping unused API endpoints may pose a security risk to your organization. These may be APIs that should have been deprecated from the Azure API Management service but may have been accidentally left active. Such APIs typically do not receive the most up to date security coverage.
AuditIfNotExists
Disabled
Security Center Authorized IP ranges should be defined on Kubernetes Services
Restrict access to the Kubernetes Service Management API by granting API access only to IP addresses in specific ranges. It is recommended to limit access to authorized IP ranges to ensure that only applications from allowed networks can access the cluster.
Audit
Disabled
Security Center Azure DDoS Protection should be enabled
DDoS protection should be enabled for all virtual networks with a subnet that is part of an application gateway with a public IP.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center Azure Defender for App Service should be enabled
Azure Defender for App Service leverages the scale of the cloud, and the visibility that Azure has as a cloud provider, to monitor for common web app attacks.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center Azure Defender for Azure SQL Database servers should be enabled
Azure Defender for SQL provides functionality for surfacing and mitigating potential database vulnerabilities, detecting anomalous activities that could indicate threats to SQL databases, and discovering and classifying sensitive data.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center Azure Defender for Key Vault should be enabled
Azure Defender for Key Vault provides an additional layer of protection and security intelligence by detecting unusual and potentially harmful attempts to access or exploit key vault accounts.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center Azure Defender for open-source relational databases should be enabled
Azure Defender for open-source relational databases detects anomalous activities indicating unusual and potentially harmful attempts to access or exploit databases. Learn more about the capabilities of Azure Defender for open-source relational databases at https://aka.ms/AzDforOpenSourceDBsDocu. Important: Enabling this plan will result in charges for protecting your open-source relational databases. Learn about the pricing on Security Center's pricing page: https://aka.ms/pricing-security-center
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center Azure Defender for Resource Manager should be enabled
Azure Defender for Resource Manager automatically monitors the resource management operations in your organization. Azure Defender detects threats and alerts you about suspicious activity. Learn more about the capabilities of Azure Defender for Resource Manager at https://aka.ms/defender-for-resource-manager . Enabling this Azure Defender plan results in charges. Learn about the pricing details per region on Security Center's pricing page: https://aka.ms/pricing-security-center .
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center Azure Defender for servers should be enabled
Azure Defender for servers provides real-time threat protection for server workloads and generates hardening recommendations as well as alerts about suspicious activities.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center Azure Defender for SQL servers on machines should be enabled
Azure Defender for SQL provides functionality for surfacing and mitigating potential database vulnerabilities, detecting anomalous activities that could indicate threats to SQL databases, and discovering and classifying sensitive data.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center Azure Defender for SQL should be enabled for unprotected MySQL flexible servers
Audit MySQL flexible servers without Advanced Data Security
AuditIfNotExists
Disabled
Security Center Azure Defender for SQL should be enabled for unprotected PostgreSQL flexible servers
Audit PostgreSQL flexible servers without Advanced Data Security
AuditIfNotExists
Disabled
Security Center Azure registry container images should have vulnerabilities resolved (powered by Microsoft Defender Vulnerability Management)
Container image vulnerability assessment scans your registry for commonly known vulnerabilities (CVEs) and provides a detailed vulnerability report for each image. Resolving vulnerabilities can greatly improve your security posture, ensuring images are safe to use prior to deployment.
AuditIfNotExists
Disabled
Security Center Azure running container images should have vulnerabilities resolved (powered by Microsoft Defender Vulnerability Management)
Container image vulnerability assessment scans your registry for commonly known vulnerabilities (CVEs) and provides a detailed vulnerability report for each image. This recommendation provides visibility to vulnerable images currently running in your Kubernetes clusters. Remediating vulnerabilities in container images that are currently running is key to improving your security posture, significantly reducing the attack surface for your containerized workloads.
AuditIfNotExists
Disabled
Security Center Blocked accounts with owner permissions on Azure resources should be removed
Deprecated accounts with owner permissions should be removed from your subscription. Deprecated accounts are accounts that have been blocked from signing in.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center Blocked accounts with read and write permissions on Azure resources should be removed
Deprecated accounts should be removed from your subscriptions. Deprecated accounts are accounts that have been blocked from signing in.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center Email notification for high severity alerts should be enabled
To ensure the relevant people in your organization are notified when there is a potential security breach in one of your subscriptions, enable email notifications for high severity alerts in Security Center.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center Email notification to subscription owner for high severity alerts should be enabled
To ensure your subscription owners are notified when there is a potential security breach in their subscription, set email notifications to subscription owners for high severity alerts in Security Center.
AuditIfNotExists
Disabled
Security Center Guest accounts with owner permissions on Azure resources should be removed
External accounts with owner permissions should be removed from your subscription in order to prevent unmonitored access.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center Guest accounts with read permissions on Azure resources should be removed
External accounts with read privileges should be removed from your subscription in order to prevent unmonitored access.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center Guest accounts with write permissions on Azure resources should be removed
External accounts with write privileges should be removed from your subscription in order to prevent unmonitored access.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center Guest Configuration extension should be installed on your machines
To ensure secure configurations of in-guest settings of your machine, install the Guest Configuration extension. In-guest settings that the extension monitors include the configuration of the operating system, application configuration or presence, and environment settings. Once installed, in-guest policies will be available such as 'Windows Exploit guard should be enabled'. Learn more at https://aka.ms/gcpol.
AuditIfNotExists
Disabled
Security Center Internet-facing virtual machines should be protected with network security groups
Protect your virtual machines from potential threats by restricting access to them with network security groups (NSG). Learn more about controlling traffic with NSGs at https://aka.ms/nsg-doc
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center IP Forwarding on your virtual machine should be disabled
Enabling IP forwarding on a virtual machine's NIC allows the machine to receive traffic addressed to other destinations. IP forwarding is rarely required (e.g., when using the VM as a network virtual appliance), and therefore, this should be reviewed by the network security team.
AuditIfNotExists
Disabled
Security Center Machines should have secret findings resolved
Audits virtual machines to detect whether they contain secret findings from the secret scanning solutions on your virtual machines.
AuditIfNotExists
Disabled
Security Center Management ports of virtual machines should be protected with just-in-time network access control
Possible network Just In Time (JIT) access will be monitored by Azure Security Center as recommendations
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center Management ports should be closed on your virtual machines
Open remote management ports are exposing your VM to a high level of risk from Internet-based attacks. These attacks attempt to brute force credentials to gain admin access to the machine.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center Microsoft Defender CSPM should be enabled
Defender Cloud Security Posture Management (CSPM) provides enhanced posture capabilities and a new intelligent cloud security graph to help identify, prioritize, and reduce risk. Defender CSPM is available in addition to the free foundational security posture capabilities turned on by default in Defender for Cloud.
AuditIfNotExists
Disabled
Security Center Microsoft Defender for APIs should be enabled
Microsoft Defender for APIs brings new discovery, protection, detection, & response coverage to monitor for common API based attacks & security misconfigurations.
AuditIfNotExists
Disabled
Security Center Microsoft Defender for Azure Cosmos DB should be enabled
Microsoft Defender for Azure Cosmos DB is an Azure-native layer of security that detects attempts to exploit databases in your Azure Cosmos DB accounts. Defender for Azure Cosmos DB detects potential SQL injections, known bad actors based on Microsoft Threat Intelligence, suspicious access patterns, and potential exploitations of your database through compromised identities or malicious insiders.
AuditIfNotExists
Disabled
Security Center Microsoft Defender for Containers should be enabled
Microsoft Defender for Containers provides hardening, vulnerability assessment and run-time protections for your Azure, hybrid, and multi-cloud Kubernetes environments.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center Microsoft Defender for SQL should be enabled for unprotected Synapse workspaces
Enable Defender for SQL to protect your Synapse workspaces. Defender for SQL monitors your Synapse SQL to detect anomalous activities indicating unusual and potentially harmful attempts to access or exploit databases.
AuditIfNotExists
Disabled
Security Center Microsoft Defender for SQL status should be protected for Arc-enabled SQL Servers
Microsoft Defender for SQL provides functionality for surfacing and mitigating potential database vulnerabilities, detecting anomalous activities that could indicate threats to SQL databases, discovering and classifying sensitive data. Once enabled, the protection status indicates that the resource is actively monitored. Even when Defender is enabled, multiple configuration settings should be validated on the agent, machine, workspace and SQL server to ensure active protection.
Audit
Disabled
Security Center Microsoft Defender for Storage should be enabled
Microsoft Defender for Storage detects potential threats to your storage accounts. It helps prevent the three major impacts on your data and workload: malicious file uploads, sensitive data exfiltration, and data corruption. The new Defender for Storage plan includes Malware Scanning and Sensitive Data Threat Detection. This plan also provides a predictable pricing structure (per storage account) for control over coverage and costs.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center Non-internet-facing virtual machines should be protected with network security groups
Protect your non-internet-facing virtual machines from potential threats by restricting access with network security groups (NSG). Learn more about controlling traffic with NSGs at https://aka.ms/nsg-doc
AuditIfNotExists
Disabled
Security Center Role-Based Access Control (RBAC) should be used on Kubernetes Services
To provide granular filtering on the actions that users can perform, use Role-Based Access Control (RBAC) to manage permissions in Kubernetes Service Clusters and configure relevant authorization policies.
Audit
Disabled
Security Center SQL databases should have vulnerability findings resolved
Monitor vulnerability assessment scan results and recommendations for how to remediate database vulnerabilities.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center SQL server-targeted autoprovisioning should be enabled for SQL servers on machines plan
To ensure your SQL VMs and Arc-enabled SQL Servers are protected, ensure the SQL-targeted Azure Monitoring Agent is configured to automatically deploy. This is also necessary if you've previously configured autoprovisioning of the Microsoft Monitoring Agent, as that component is being deprecated. Learn more: https://aka.ms/SQLAMAMigration
AuditIfNotExists
Disabled
Security Center SQL servers on machines should have vulnerability findings resolved
SQL vulnerability assessment scans your database for security vulnerabilities, and exposes any deviations from best practices such as misconfigurations, excessive permissions, and unprotected sensitive data. Resolving the vulnerabilities found can greatly improve your database security posture.
AuditIfNotExists
Disabled
Security Center Subnets should be associated with a Network Security Group
Protect your subnet from potential threats by restricting access to it with a Network Security Group (NSG). NSGs contain a list of Access Control List (ACL) rules that allow or deny network traffic to your subnet.
Disabled
AuditIfNotExists
Security Center Subscriptions should have a contact email address for security issues
To ensure the relevant people in your organization are notified when there is a potential security breach in one of your subscriptions, set a security contact to receive email notifications from Security Center.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center System updates should be installed on your machines (powered by Update Center)
Your machines are missing system, security, and critical updates. Software updates often include critical patches to security holes. Such holes are frequently exploited in malware attacks so it's vital to keep your software updated. To install all outstanding patches and secure your machines, follow the remediation steps.
AuditIfNotExists
Disabled
Security Center There should be more than one owner assigned to your subscription
It is recommended to designate more than one subscription owner in order to have administrator access redundancy.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Security Center Virtual machines' Guest Configuration extension should be deployed with system-assigned managed identity
The Guest Configuration extension requires a system assigned managed identity. Azure virtual machines in the scope of this policy will be non-compliant when they have the Guest Configuration extension installed but do not have a system assigned managed identity. Learn more at https://aka.ms/gcpol
AuditIfNotExists
Disabled
Service Bus Resource logs in Service Bus should be enabled
Audit enabling of resource logs. This enables you to recreate activity trails to use for investigation purposes; when a security incident occurs or when your network is compromised
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Service Fabric Service Fabric clusters should have the ClusterProtectionLevel property set to EncryptAndSign
Service Fabric provides three levels of protection (None, Sign and EncryptAndSign) for node-to-node communication using a primary cluster certificate. Set the protection level to ensure that all node-to-node messages are encrypted and digitally signed
Audit
Deny
Disabled
Audit
Deny
Disabled
Service Fabric Service Fabric clusters should only use Azure Active Directory for client authentication
Audit usage of client authentication only via Azure Active Directory in Service Fabric
Audit
Deny
Disabled
Audit
Deny
Disabled
Audit
Deny
Disabled
SignalR Azure SignalR Service should use private link
Azure Private Link lets you connect your virtual network to Azure services without a public IP address at the source or destination. The private link platform handles the connectivity between the consumer and services over the Azure backbone network. By mapping private endpoints to your Azure SignalR Service resource instead of the entire service, you'll reduce your data leakage risks. Learn more about private links at: https://aka.ms/asrs/privatelink.
Audit
Disabled
SQL [Preview]: Azure PostgreSQL flexible server should have Microsoft Entra Only Authentication enabled
Disabling local authentication methods and allowing only Microsoft Entra Authentication improves security by ensuring that Azure PostgreSQL flexible server can exclusively be accessed by Microsoft Entra identities.
Audit
Disabled
SQL A Microsoft Entra administrator should be provisioned for MySQL servers
Audit provisioning of a Microsoft Entra administrator for your MySQL server to enable Microsoft Entra authentication. Microsoft Entra authentication enables simplified permission management and centralized identity management of database users and other Microsoft services
AuditIfNotExists
Disabled
SQL A Microsoft Entra administrator should be provisioned for PostgreSQL servers
Audit provisioning of a Microsoft Entra administrator for your PostgreSQL server to enable Microsoft Entra authentication. Microsoft Entra authentication enables simplified permission management and centralized identity management of database users and other Microsoft services
AuditIfNotExists
Disabled
SQL An Azure Active Directory administrator should be provisioned for SQL servers
Audit provisioning of an Azure Active Directory administrator for your SQL server to enable Azure AD authentication. Azure AD authentication enables simplified permission management and centralized identity management of database users and other Microsoft services
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
SQL Auditing on SQL server should be enabled
Auditing on your SQL Server should be enabled to track database activities across all databases on the server and save them in an audit log.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
SQL Azure Defender for SQL should be enabled for unprotected Azure SQL servers
Audit SQL servers without Advanced Data Security
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
SQL Azure Defender for SQL should be enabled for unprotected SQL Managed Instances
Audit each SQL Managed Instance without advanced data security.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
SQL Azure MySQL flexible server should have Microsoft Entra Only Authentication enabled
Disabling local authentication methods and allowing only Microsoft Entra Authentication improves security by ensuring that Azure MySQL flexible server can exclusively be accessed by Microsoft Entra identities.
AuditIfNotExists
Disabled
SQL Azure SQL Database should be running TLS version 1.2 or newer
Setting TLS version to 1.2 or newer improves security by ensuring your Azure SQL Database can only be accessed from clients using TLS 1.2 or newer. Using versions of TLS less than 1.2 is not recommended since they have well documented security vulnerabilities.
Audit
Disabled
Deny
SQL Azure SQL Database should have Microsoft Entra-only authentication enabled
Require Azure SQL logical servers to use Microsoft Entra-only authentication. This policy doesn't block servers from being created with local authentication enabled. It does block local authentication from being enabled on resources after create. Consider using the 'Microsoft Entra-only authentication' initiative instead to require both. Learn more at: https://aka.ms/adonlycreate.
Audit
Deny
Disabled
SQL Azure SQL Database should have Microsoft Entra-only authentication enabled during creation
Require Azure SQL logical servers to be created with Microsoft Entra-only authentication. This policy doesn't block local authentication from being re-enabled on resources after create. Consider using the 'Microsoft Entra-only authentication' initiative instead to require both. Learn more at: https://aka.ms/adonlycreate.
Audit
Deny
Disabled
SQL Azure SQL Managed Instance should have Microsoft Entra-only authentication enabled
Require Azure SQL Managed Instance to use Microsoft Entra-only authentication. This policy doesn't block Azure SQL Managed instances from being created with local authentication enabled. It does block local authentication from being enabled on resources after create. Consider using the 'Microsoft Entra-only authentication' initiative instead to require both. Learn more at: https://aka.ms/adonlycreate.
Audit
Deny
Disabled
SQL Azure SQL Managed Instances should disable public network access
Disabling public network access (public endpoint) on Azure SQL Managed Instances improves security by ensuring that they can only be accessed from inside their virtual networks or via Private Endpoints. To learn more about public network access, visit https://aka.ms/mi-public-endpoint.
Audit
Deny
Disabled
SQL Azure SQL Managed Instances should have Microsoft Entra-only authentication enabled during creation
Require Azure SQL Managed Instance to be created with Microsoft Entra-only authentication. This policy doesn't block local authentication from being re-enabled on resources after create. Consider using the 'Microsoft Entra-only authentication' initiative instead to require both. Learn more at: https://aka.ms/adonlycreate.
Audit
Deny
Disabled
SQL Connection throttling should be enabled for PostgreSQL database servers
This policy helps audit any PostgreSQL databases in your environment without Connection throttling enabled. This setting enables temporary connection throttling per IP for too many invalid password login failures.
AuditIfNotExists
Disabled
SQL Disconnections should be logged for PostgreSQL database servers.
This policy helps audit any PostgreSQL databases in your environment without log_disconnections enabled.
AuditIfNotExists
Disabled
SQL Enforce SSL connection should be enabled for MySQL database servers
Azure Database for MySQL supports connecting your Azure Database for MySQL server to client applications using Secure Sockets Layer (SSL). Enforcing SSL connections between your database server and your client applications helps protect against 'man in the middle' attacks by encrypting the data stream between the server and your application. This configuration enforces that SSL is always enabled for accessing your database server.
Audit
Disabled
Audit
Disabled
SQL Enforce SSL connection should be enabled for PostgreSQL database servers
Azure Database for PostgreSQL supports connecting your Azure Database for PostgreSQL server to client applications using Secure Sockets Layer (SSL). Enforcing SSL connections between your database server and your client applications helps protect against 'man in the middle' attacks by encrypting the data stream between the server and your application. This configuration enforces that SSL is always enabled for accessing your database server.
Audit
Disabled
Audit
Disabled
SQL Geo-redundant backup should be enabled for Azure Database for MariaDB
Azure Database for MariaDB allows you to choose the redundancy option for your database server. It can be set to a geo-redundant backup storage in which the data is not only stored within the region in which your server is hosted, but is also replicated to a paired region to provide recovery option in case of a region failure. Configuring geo-redundant storage for backup is only allowed during server create.
Audit
Disabled
SQL Geo-redundant backup should be enabled for Azure Database for MySQL
Azure Database for MySQL allows you to choose the redundancy option for your database server. It can be set to a geo-redundant backup storage in which the data is not only stored within the region in which your server is hosted, but is also replicated to a paired region to provide recovery option in case of a region failure. Configuring geo-redundant storage for backup is only allowed during server create.
Audit
Disabled
SQL Geo-redundant backup should be enabled for Azure Database for PostgreSQL
Azure Database for PostgreSQL allows you to choose the redundancy option for your database server. It can be set to a geo-redundant backup storage in which the data is not only stored within the region in which your server is hosted, but is also replicated to a paired region to provide recovery option in case of a region failure. Configuring geo-redundant storage for backup is only allowed during server create.
Audit
Disabled
SQL Infrastructure encryption should be enabled for Azure Database for PostgreSQL servers
Enable infrastructure encryption for Azure Database for PostgreSQL servers to have higher level of assurance that the data is secure. When infrastructure encryption is enabled, the data at rest is encrypted twice using FIPS 140-2 compliant Microsoft managed keys
Audit
Deny
Disabled
SQL Log checkpoints should be enabled for PostgreSQL database servers
This policy helps audit any PostgreSQL databases in your environment without log_checkpoints setting enabled.
AuditIfNotExists
Disabled
SQL Log connections should be enabled for PostgreSQL database servers
This policy helps audit any PostgreSQL databases in your environment without log_connections setting enabled.
AuditIfNotExists
Disabled
SQL MySQL servers should use customer-managed keys to encrypt data at rest
Use customer-managed keys to manage the encryption at rest of your MySQL servers. By default, the data is encrypted at rest with service-managed keys, but customer-managed keys are commonly required to meet regulatory compliance standards. Customer-managed keys enable the data to be encrypted with an Azure Key Vault key created and owned by you. You have full control and responsibility for the key lifecycle, including rotation and management.
Disabled
AuditIfNotExists
SQL PostgreSQL servers should use customer-managed keys to encrypt data at rest
Use customer-managed keys to manage the encryption at rest of your PostgreSQL servers. By default, the data is encrypted at rest with service-managed keys, but customer-managed keys are commonly required to meet regulatory compliance standards. Customer-managed keys enable the data to be encrypted with an Azure Key Vault key created and owned by you. You have full control and responsibility for the key lifecycle, including rotation and management.
Disabled
AuditIfNotExists
SQL Private endpoint connections on Azure SQL Database should be enabled
Private endpoint connections enforce secure communication by enabling private connectivity to Azure SQL Database.
Audit
Disabled
SQL Private endpoint should be enabled for MariaDB servers
Private endpoint connections enforce secure communication by enabling private connectivity to Azure Database for MariaDB. Configure a private endpoint connection to enable access to traffic coming only from known networks and prevent access from all other IP addresses, including within Azure.
AuditIfNotExists
Disabled
SQL Private endpoint should be enabled for MySQL servers
Private endpoint connections enforce secure communication by enabling private connectivity to Azure Database for MySQL. Configure a private endpoint connection to enable access to traffic coming only from known networks and prevent access from all other IP addresses, including within Azure.
AuditIfNotExists
Disabled
SQL Private endpoint should be enabled for PostgreSQL servers
Private endpoint connections enforce secure communication by enabling private connectivity to Azure Database for PostgreSQL. Configure a private endpoint connection to enable access to traffic coming only from known networks and prevent access from all other IP addresses, including within Azure.
AuditIfNotExists
Disabled
SQL Public network access on Azure SQL Database should be disabled
Disabling the public network access property improves security by ensuring your Azure SQL Database can only be accessed from a private endpoint. This configuration denies all logins that match IP or virtual network based firewall rules.
Audit
Deny
Disabled
Audit
Deny
Disabled
SQL Public network access should be disabled for MariaDB servers
Disable the public network access property to improve security and ensure your Azure Database for MariaDB can only be accessed from a private endpoint. This configuration strictly disables access from any public address space outside of Azure IP range, and denies all logins that match IP or virtual network-based firewall rules.
Audit
Disabled
SQL Public network access should be disabled for MySQL servers
Disable the public network access property to improve security and ensure your Azure Database for MySQL can only be accessed from a private endpoint. This configuration strictly disables access from any public address space outside of Azure IP range, and denies all logins that match IP or virtual network-based firewall rules.
Audit
Disabled
SQL Public network access should be disabled for PostgreSQL flexible servers
Disabling the public network access property improves security by ensuring your Azure Database for PostgreSQL flexible servers can only be accessed from a private endpoint. This configuration strictly disables access from any public address space outside of Azure IP range and denies all logins that match IP based firewall rules.
Audit
Deny
Disabled
SQL Public network access should be disabled for PostgreSQL servers
Disable the public network access property to improve security and ensure your Azure Database for PostgreSQL can only be accessed from a private endpoint. This configuration disables access from any public address space outside of Azure IP range, and denies all logins that match IP or virtual network-based firewall rules.
Audit
Disabled
Audit
Deny
Disabled
SQL SQL managed instances should use customer-managed keys to encrypt data at rest
Implementing Transparent Data Encryption (TDE) with your own key provides you with increased transparency and control over the TDE Protector, increased security with an HSM-backed external service, and promotion of separation of duties. This recommendation applies to organizations with a related compliance requirement.
Disabled
Audit
Deny
Audit
Deny
Disabled
SQL SQL servers should use customer-managed keys to encrypt data at rest
Implementing Transparent Data Encryption (TDE) with your own key provides increased transparency and control over the TDE Protector, increased security with an HSM-backed external service, and promotion of separation of duties. This recommendation applies to organizations with a related compliance requirement.
Disabled
Audit
Deny
Audit
Deny
Disabled
SQL SQL servers with auditing to storage account destination should be configured with 90 days retention or higher
For incident investigation purposes, we recommend setting the data retention for your SQL Server' auditing to storage account destination to at least 90 days. Confirm that you are meeting the necessary retention rules for the regions in which you are operating. This is sometimes required for compliance with regulatory standards.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
SQL Transparent Data Encryption on SQL databases should be enabled
Transparent data encryption should be enabled to protect data-at-rest and meet compliance requirements
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
SQL Vulnerability assessment should be enabled on SQL Managed Instance
Audit each SQL Managed Instance which doesn't have recurring vulnerability assessment scans enabled. Vulnerability assessment can discover, track, and help you remediate potential database vulnerabilities.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
SQL Vulnerability assessment should be enabled on your SQL servers
Audit Azure SQL servers which do not have vulnerability assessment properly configured. Vulnerability assessment can discover, track, and help you remediate potential database vulnerabilities.
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Stack HCI [Preview]: Azure Stack HCI servers should have consistently enforced application control policies
At a minimum, apply the Microsoft WDAC base policy in enforced mode on all Azure Stack HCI servers. Applied Windows Defender Application Control (WDAC) policies must be consistent across servers in the same cluster.
AuditIfNotExists
Audit
Disabled
Stack HCI [Preview]: Azure Stack HCI servers should meet Secured-core requirements
Ensure that all Azure Stack HCI servers meet the Secured-core requirements. To enable the Secured-core server requirements: 1. From the Azure Stack HCI clusters page, go to Windows Admin Center and select Connect. 2. Go to the Security extension and select Secured-core. 3. Select any setting that is not enabled and click Enable.
AuditIfNotExists
Audit
Disabled
Stack HCI [Preview]: Azure Stack HCI systems should have encrypted volumes
Use BitLocker to encrypt the OS and data volumes on Azure Stack HCI systems.
AuditIfNotExists
Audit
Disabled
Stack HCI [Preview]: Host and VM networking should be protected on Azure Stack HCI systems
Protect data on the Azure Stack HCI hosts network and on virtual machine network connections.
AuditIfNotExists
Audit
Disabled
Storage Secure transfer to storage accounts should be enabled
Audit requirement of Secure transfer in your storage account. Secure transfer is an option that forces your storage account to accept requests only from secure connections (HTTPS). Use of HTTPS ensures authentication between the server and the service and protects data in transit from network layer attacks such as man-in-the-middle, eavesdropping, and session-hijacking
Audit
Deny
Disabled
Audit
Deny
Disabled
Audit
Deny
Disabled
Audit
Deny
Disabled
Storage Storage account public access should be disallowed
Anonymous public read access to containers and blobs in Azure Storage is a convenient way to share data but might present security risks. To prevent data breaches caused by undesired anonymous access, Microsoft recommends preventing public access to a storage account unless your scenario requires it.
audit
deny
disabled
Audit
Deny
Disabled
Storage Storage accounts should allow access from trusted Microsoft services
Some Microsoft services that interact with storage accounts operate from networks that can't be granted access through network rules. To help this type of service work as intended, allow the set of trusted Microsoft services to bypass the network rules. These services will then use strong authentication to access the storage account.
Audit
Deny
Disabled
Storage Storage accounts should be migrated to new Azure Resource Manager resources
Use new Azure Resource Manager for your storage accounts to provide security enhancements such as: stronger access control (RBAC), better auditing, Azure Resource Manager based deployment and governance, access to managed identities, access to key vault for secrets, Azure AD-based authentication and support for tags and resource groups for easier security management
Audit
Deny
Disabled
Audit
Deny
Disabled
Storage Storage accounts should have infrastructure encryption
Enable infrastructure encryption for higher level of assurance that the data is secure. When infrastructure encryption is enabled, data in a storage account is encrypted twice.
Audit
Deny
Disabled
Storage Storage accounts should have the specified minimum TLS version
Configure a minimum TLS version for secure communication between the client application and the storage account. To minimize security risk, the recommended minimum TLS version is the latest released version, which is currently TLS 1.2.
Audit
Deny
Disabled
Storage Storage accounts should prevent shared key access
Audit requirement of Azure Active Directory (Azure AD) to authorize requests for your storage account. By default, requests can be authorized with either Azure Active Directory credentials, or by using the account access key for Shared Key authorization. Of these two types of authorization, Azure AD provides superior security and ease of use over Shared Key, and is recommended by Microsoft.
Audit
Deny
Disabled
Storage Storage accounts should restrict network access
Network access to storage accounts should be restricted. Configure network rules so only applications from allowed networks can access the storage account. To allow connections from specific internet or on-premises clients, access can be granted to traffic from specific Azure virtual networks or to public internet IP address ranges
Disabled
Audit
Deny
Audit
Deny
Disabled
Audit
Deny
Disabled
Audit
Deny
Disabled
Storage Storage accounts should restrict network access using virtual network rules
Protect your storage accounts from potential threats using virtual network rules as a preferred method instead of IP-based filtering. Disabling IP-based filtering prevents public IPs from accessing your storage accounts.
Audit
Deny
Disabled
Audit
Deny
Disabled
Storage Storage accounts should use customer-managed key for encryption
Secure your blob and file storage account with greater flexibility using customer-managed keys. When you specify a customer-managed key, that key is used to protect and control access to the key that encrypts your data. Using customer-managed keys provides additional capabilities to control rotation of the key encryption key or cryptographically erase data.
Disabled
Audit
Audit
Disabled
Storage Storage accounts should use private link
Azure Private Link lets you connect your virtual network to Azure services without a public IP address at the source or destination. The Private Link platform handles the connectivity between the consumer and services over the Azure backbone network. By mapping private endpoints to your storage account, data leakage risks are reduced. Learn more about private links at - https://aka.ms/azureprivatelinkoverview
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Stream Analytics Resource logs in Azure Stream Analytics should be enabled
Audit enabling of resource logs. This enables you to recreate activity trails to use for investigation purposes; when a security incident occurs or when your network is compromised
AuditIfNotExists
Disabled
AuditIfNotExists
Disabled
Synapse Synapse Workspaces should have Microsoft Entra-only authentication enabled
Require Synapse Workspaces to use Microsoft Entra-only authentication. This policy doesn't block workspaces from being created with local authentication enabled. It does block local authentication from being enabled on resources after create. Consider using the 'Microsoft Entra-only authentication' initiative instead to require both. Learn more at: https://aka.ms/Synapse.
Audit
Deny
Disabled
Synapse Synapse Workspaces should use only Microsoft Entra identities for authentication during workspace creation
Require Synapse Workspaces to be created with Microsoft Entra-only authentication. This policy doesn't block local authentication from being re-enabled on resources after create. Consider using the 'Microsoft Entra-only authentication' initiative instead to require both. Learn more at: https://aka.ms/Synapse.
Audit
Deny
Disabled
VM Image Builder VM Image Builder templates should use private link
Azure Private Link lets you connect your virtual network to Azure services without a public IP address at the source or destination. The Private Link platform handles the connectivity between the consumer and services over the Azure backbone network. By mapping private endpoints to your VM Image Builder building resources, data leakage risks are reduced. Learn more about private links at: https://docs.microsoft.com/azure/virtual-machines/linux/image-builder-networking#deploy-using-an-existing-vnet.
Audit
Disabled

Policy Parameters by Policy

Category Policy ASB CIS Azure Foundation Benchmark ISM PROTECTED ISO 27001
API Management API Management services should use a virtual network
Azure Virtual Network deployment provides enhanced security, isolation and allows you to place your API Management service in a non-internet routable network that you control access to. These networks can then be connected to your on-premises networks using various VPN technologies, which enables access to your backend services within the network and/or on-premises. The developer portal and API gateway, can be configured to be accessible either from the Internet or only within the virtual network.
aPIManagementServicesShouldUseAVirtualN... = ["Developer","Premium"]
App Service App Service app slots that use PHP should use a specified 'PHP version'
Periodically, newer versions are released for PHP software either due to security flaws or to include additional functionality. Using the latest PHP version for App Service apps is recommended in order to take advantage of security fixes, if any, and/or new functionalities of the latest version. This policy only applies to Linux apps. This policy requires you to specify a PHP version that meets your requirements.
LinuxPHPVersion = ``
App Service App Service app slots that use Python should use a specified 'Python version'
Periodically, newer versions are released for Python software either due to security flaws or to include additional functionality. Using the latest Python version for App Service apps is recommended in order to take advantage of security fixes, if any, and/or new functionalities of the latest version. This policy only applies to Linux apps. This policy requires you to specify a Python version that meets your requirements.
LinuxPythonVersion = ``
App Service App Service apps that use PHP should use a specified 'PHP version'
Periodically, newer versions are released for PHP software either due to security flaws or to include additional functionality. Using the latest PHP version for App Service apps is recommended in order to take advantage of security fixes, if any, and/or new functionalities of the latest version. This policy only applies to Linux apps. This policy requires you to specify a PHP version that meets your requirements.
LinuxPHPVersion = ``
App Service App Service apps that use Python should use a specified 'Python version'
Periodically, newer versions are released for Python software either due to security flaws or to include additional functionality. Using the latest Python version for App Service apps is recommended in order to take advantage of security fixes, if any, and/or new functionalities of the latest version. This policy only applies to Linux apps. This policy requires you to specify a Python version that meets your requirements.
LinuxPythonVersion = ``
App Service Function app slots that use Java should use a specified 'Java version'
Periodically, newer versions are released for Java software either due to security flaws or to include additional functionality. Using the latest Java version for Function apps is recommended in order to take advantage of security fixes, if any, and/or new functionalities of the latest version. This policy only applies to Linux apps. This policy requires you to specify a Java version that meets your requirements.
LinuxJavaVersion = ``
App Service Function apps that use Java should use a specified 'Java version'
Periodically, newer versions are released for Java software either due to security flaws or to include additional functionality. Using the latest Java version for Function apps is recommended in order to take advantage of security fixes, if any, and/or new functionalities of the latest version. This policy only applies to Linux apps. This policy requires you to specify a Java version that meets your requirements.
LinuxJavaVersion = ``
Batch Resource logs in Batch accounts should be enabled
Audit enabling of resource logs. This enables you to recreate activity trails to use for investigation purposes; when a security incident occurs or when your network is compromised
diagnosticsLogsInBatchAccountRetentionDays = 1 requiredRetentionDays = 365
Compute Only approved VM extensions should be installed
This policy governs the virtual machine extensions that are not approved.
approvedExtensions-c0e996f8-39cf-4af9-9... = ["AzureDiskEncryption","AzureDiskEncryp...
Data Lake Resource logs in Azure Data Lake Store should be enabled
Audit enabling of resource logs. This enables you to recreate activity trails to use for investigation purposes; when a security incident occurs or when your network is compromised
diagnosticsLogsInDataLakeStoreRetention... = 1 requiredRetentionDays = 365
Data Lake Resource logs in Data Lake Analytics should be enabled
Audit enabling of resource logs. This enables you to recreate activity trails to use for investigation purposes; when a security incident occurs or when your network is compromised
diagnosticsLogsInDataLakeAnalyticsReten... = 1 requiredRetentionDays = 365
Event Hub Resource logs in Event Hub should be enabled
Audit enabling of resource logs. This enables you to recreate activity trails to use for investigation purposes; when a security incident occurs or when your network is compromised
diagnosticsLogsInEventHubRetentionDays = 1 requiredRetentionDays = 365
Guest Configuration Audit Linux machines that allow remote connections from accounts without passwords
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if Linux machines that allow remote connections from accounts without passwords
IncludeArcMachines = false IncludeArcMachines = false
Guest Configuration Audit Linux machines that do not have the passwd file permissions set to 0644
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if Linux machines that do not have the passwd file permissions set to 0644
IncludeArcMachines = false
Guest Configuration Audit Linux machines that have accounts without passwords
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if Linux machines that have accounts without passwords
IncludeArcMachines = false IncludeArcMachines = false
Guest Configuration Audit Windows machines that allow re-use of the passwords after the specified number of unique passwords
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if Windows machines that allow re-use of the passwords after the specified number of unique passwords. Default value for unique passwords is 24
IncludeArcMachines = false
Guest Configuration Audit Windows machines that do not have the maximum password age set to specified number of days
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if Windows machines that do not have the maximum password age set to specified number of days. Default value for maximum password age is 70 days
IncludeArcMachines = false
Guest Configuration Audit Windows machines that do not have the minimum password age set to specified number of days
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if Windows machines that do not have the minimum password age set to specified number of days. Default value for minimum password age is 1 day
IncludeArcMachines = false
Guest Configuration Audit Windows machines that do not have the password complexity setting enabled
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if Windows machines that do not have the password complexity setting enabled
IncludeArcMachines = false
Guest Configuration Audit Windows machines that do not restrict the minimum password length to specified number of characters
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if Windows machines that do not restrict the minimum password length to specified number of characters. Default value for minimum password length is 14 characters
IncludeArcMachines = false
Guest Configuration Audit Windows machines that do not store passwords using reversible encryption
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if Windows machines that do not store passwords using reversible encryption
IncludeArcMachines = false
Guest Configuration Audit Windows machines that have the specified members in the Administrators group
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if the local Administrators group contains one or more of the members listed in the policy parameter.
membersToExclude = null
IncludeArcMachines = false
Guest Configuration Authentication to Linux machines should require SSH keys
Although SSH itself provides an encrypted connection, using passwords with SSH still leaves the VM vulnerable to brute-force attacks. The most secure option for authenticating to an Azure Linux virtual machine over SSH is with a public-private key pair, also known as SSH keys. Learn more: https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed.
windowsWebServersShouldBeConfiguredToUs... = true
Guest Configuration Linux machines should meet requirements for the Azure compute security baseline
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if the machine is not configured correctly for one of the recommendations in the Azure compute security baseline.
windowsWebServersShouldBeConfiguredToUs... = true
Guest Configuration Windows Defender Exploit Guard should be enabled on your machines
Windows Defender Exploit Guard uses the Azure Policy Guest Configuration agent. Exploit Guard has four components that are designed to lock down devices against a wide variety of attack vectors and block behaviors commonly used in malware attacks while enabling enterprises to balance their security risk and productivity requirements (Windows only).
windowsWebServersShouldBeConfiguredToUs... = true
Guest Configuration Windows machines should be configured to use secure communication protocols
To protect the privacy of information communicated over the Internet, your machines should use the latest version of the industry-standard cryptographic protocol, Transport Layer Security (TLS). TLS secures communications over a network by encrypting a connection between machines.
windowsWebServersShouldBeConfiguredToUs... = 1.2
windowsWebServersShouldBeConfiguredToUs... = true
minimumTLSVersion = 1.2
IncludeArcMachines = false
Guest Configuration Windows machines should meet requirements for 'Security Settings - Account Policies'
Windows machines should have the specified Group Policy settings in the category 'Security Settings - Account Policies' for password history, age, length, complexity, and storing passwords using reversible encryption. This policy requires that the Guest Configuration prerequisites have been deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol.
maximumPasswordAge = 1,70
minimumPasswordLength = 10
minimumPasswordAge = 1
passwordMustMeetComplexityRequirements = 1
enforcePasswordHistory = 24
IncludeArcMachines = false
Guest Configuration Windows machines should meet requirements of the Azure compute security baseline
Requires that prerequisites are deployed to the policy assignment scope. For details, visit https://aka.ms/gcpol. Machines are non-compliant if the machine is not configured correctly for one of the recommendations in the Azure compute security baseline.
windowsWebServersShouldBeConfiguredToUs... = true
Internet of Things Resource logs in IoT Hub should be enabled
Audit enabling of resource logs. This enables you to recreate activity trails to use for investigation purposes; when a security incident occurs or when your network is compromised
diagnosticsLogsInIoTHubRetentionDays = 1 requiredRetentionDays = 365
Key Vault Certificates should have the specified maximum validity period
Manage your organizational compliance requirements by specifying the maximum amount of time that a certificate can be valid within your key vault.
certificatesValidityPeriodInMonths = 12
Key Vault Keys should have a rotation policy ensuring that their rotation is scheduled within the specified number of days after creation.
Manage your organizational compliance requirements by specifying the maximum number of days after key creation until it must be rotated.
maximumDaysToRotate-d8cf8476-a2ec-4916-... = null
Key Vault Resource logs in Key Vault should be enabled
Audit enabling of resource logs. This enables you to recreate activity trails to use for investigation purposes when a security incident occurs or when your network is compromised
diagnosticsLogsInKeyVaultRetentionDays = 1 requiredRetentionDays = 365
Kubernetes Kubernetes cluster containers CPU and memory resource limits should not exceed the specified limits
Enforce container CPU and memory resource limits to prevent resource exhaustion attacks in a Kubernetes cluster. This policy is generally available for Kubernetes Service (AKS), and preview for Azure Arc enabled Kubernetes. For more information, see https://aka.ms/kubepolicydoc.
excludedImagesInKubernetesCluster = []
memoryAndCPULimitsInKubernetesClusterNa... = ["kube-system","gatekeeper-system","azu...
CPUInKubernetesClusterLimit = 32
memoryAndCPULimitsInKubernetesClusterLa... = {}
memoryInKubernetesClusterLimit = 64Gi
Kubernetes Kubernetes cluster containers should not share host process ID or host IPC namespace
Block pod containers from sharing the host process ID namespace and host IPC namespace in a Kubernetes cluster. This recommendation is part of CIS 5.2.2 and CIS 5.2.3 which are intended to improve the security of your Kubernetes environments. This policy is generally available for Kubernetes Service (AKS), and preview for Azure Arc enabled Kubernetes. For more information, see https://aka.ms/kubepolicydoc.
NoSharingSensitiveHostNamespacesInKuber... = {}
excludedImagesInKubernetesCluster = []
NoSharingSensitiveHostNamespacesInKuber... = ["kube-system","gatekeeper-system","azu...
Kubernetes Kubernetes cluster containers should only use allowed AppArmor profiles
Containers should only use allowed AppArmor profiles in a Kubernetes cluster. This policy is generally available for Kubernetes Service (AKS), and preview for Azure Arc enabled Kubernetes. For more information, see https://aka.ms/kubepolicydoc.
excludedImagesInKubernetesCluster = []
AllowedAppArmorProfilesInKubernetesClus... = {}
AllowedAppArmorProfilesInKubernetesClus... = ["kube-system","gatekeeper-system","azu...
AllowedAppArmorProfilesInKubernetesClus... = ["runtime/default"]
Kubernetes Kubernetes cluster containers should only use allowed capabilities
Restrict the capabilities to reduce the attack surface of containers in a Kubernetes cluster. This recommendation is part of CIS 5.2.8 and CIS 5.2.9 which are intended to improve the security of your Kubernetes environments. This policy is generally available for Kubernetes Service (AKS), and preview for Azure Arc enabled Kubernetes. For more information, see https://aka.ms/kubepolicydoc.
AllowedCapabilitiesInKubernetesClusterList = []
excludedImagesInKubernetesCluster = []
DropCapabilitiesInKubernetesClusterList = []
AllowedCapabilitiesInKubernetesClusterL... = {}
AllowedCapabilitiesInKubernetesClusterN... = ["kube-system","gatekeeper-system","azu...
Kubernetes Kubernetes cluster containers should only use allowed images
Use images from trusted registries to reduce the Kubernetes cluster's exposure risk to unknown vulnerabilities, security issues and malicious images. For more information, see https://aka.ms/kubepolicydoc.
allowedContainerImagesNamespaceExclusion = ["kube-system","gatekeeper-system","azu...
allowedContainerImagesLabelSelector = {}
allowedContainerImagesInKubernetesClust... = ^(.+){0}$
Kubernetes Kubernetes cluster containers should run with a read only root file system
Run containers with a read only root file system to protect from changes at run-time with malicious binaries being added to PATH in a Kubernetes cluster. This policy is generally available for Kubernetes Service (AKS), and preview for Azure Arc enabled Kubernetes. For more information, see https://aka.ms/kubepolicydoc.
ReadOnlyRootFileSystemInKubernetesClust... = ["kube-system","gatekeeper-system","azu...
excludedImagesInKubernetesCluster = []
ReadOnlyRootFileSystemInKubernetesClust... = {}
Kubernetes Kubernetes cluster pod hostPath volumes should only use allowed host paths
Limit pod HostPath volume mounts to the allowed host paths in a Kubernetes Cluster. This policy is generally available for Kubernetes Service (AKS), and Azure Arc enabled Kubernetes. For more information, see https://aka.ms/kubepolicydoc.
AllowedHostPathVolumesInKubernetesClust... = ["kube-system","gatekeeper-system","azu...
excludedImagesInKubernetesCluster = []
AllowedHostPathVolumesInKubernetesClust... = {}
AllowedHostPathVolumesInKubernetesClust... = {"paths":[]}
Kubernetes Kubernetes cluster pods and containers should only run with approved user and group IDs
Control the user, primary group, supplemental group and file system group IDs that pods and containers can use to run in a Kubernetes Cluster. This policy is generally available for Kubernetes Service (AKS), and preview for Azure Arc enabled Kubernetes. For more information, see https://aka.ms/kubepolicydoc.
MustRunAsNonRootNamespaceExclusion = ["kube-system","gatekeeper-system","azu...
excludedImagesInKubernetesCluster = []
MustRunAsNonRootLabelSelector = {}
Kubernetes Kubernetes cluster pods should only use approved host network and port range
Restrict pod access to the host network and the allowable host port range in a Kubernetes cluster. This recommendation is part of CIS 5.2.4 which is intended to improve the security of your Kubernetes environments. This policy is generally available for Kubernetes Service (AKS), and preview for Azure Arc enabled Kubernetes. For more information, see https://aka.ms/kubepolicydoc.
AllowedHostNetworkingAndPortsInKubernet... = ["kube-system","gatekeeper-system","azu...
excludedImagesInKubernetesCluster = []
AllowedHostNetworkingAndPortsInKubernet... = {}
AllowedHostMinPortInKubernetesCluster = 0
AllowHostNetworkingInKubernetesCluster = false
AllowedHostMaxPortInKubernetesCluster = 0
Kubernetes Kubernetes cluster services should listen only on allowed ports
Restrict services to listen only on allowed ports to secure access to the Kubernetes cluster. This policy is generally available for Kubernetes Service (AKS), and preview for Azure Arc enabled Kubernetes. For more information, see https://aka.ms/kubepolicydoc.
allowedservicePortsInKubernetesClusterP... = ["-1"]
allowedServicePortsInKubernetesClusterL... = {}
allowedServicePortsInKubernetesClusterN... = ["kube-system","gatekeeper-system","azu...
Kubernetes Kubernetes cluster should not allow privileged containers
Do not allow privileged containers creation in a Kubernetes cluster. This recommendation is part of CIS 5.2.1 which is intended to improve the security of your Kubernetes environments. This policy is generally available for Kubernetes Service (AKS), and preview for Azure Arc enabled Kubernetes. For more information, see https://aka.ms/kubepolicydoc.
excludedImagesInKubernetesCluster = []
privilegedContainerNamespaceExclusion = ["kube-system","gatekeeper-system","azu...
privilegedContainerLabelSelector = {}
Kubernetes Kubernetes clusters should be accessible only over HTTPS
Use of HTTPS ensures authentication and protects data in transit from network layer eavesdropping attacks. This capability is currently generally available for Kubernetes Service (AKS), and in preview for Azure Arc enabled Kubernetes. For more info, visit https://aka.ms/kubepolicydoc
kubernetesClustersShouldBeAccessibleOnl... = {}
kubernetesClustersShouldBeAccessibleOnl... = ["kube-system","gatekeeper-system","azu...
Kubernetes Kubernetes clusters should disable automounting API credentials
Disable automounting API credentials to prevent a potentially compromised Pod resource to run API commands against Kubernetes clusters. For more information, see https://aka.ms/kubepolicydoc.
KubernetesClustersShouldDisableAutomoun... = {}
excludedImagesInKubernetesCluster = []
KubernetesClustersShouldDisableAutomoun... = ["kube-system","gatekeeper-system","azu...
Kubernetes Kubernetes clusters should not allow container privilege escalation
Do not allow containers to run with privilege escalation to root in a Kubernetes cluster. This recommendation is part of CIS 5.2.5 which is intended to improve the security of your Kubernetes environments. This policy is generally available for Kubernetes Service (AKS), and preview for Azure Arc enabled Kubernetes. For more information, see https://aka.ms/kubepolicydoc.
NoPrivilegeEscalationInKubernetesCluste... = ["kube-system","gatekeeper-system","azu...
NoPrivilegeEscalationInKubernetesCluste... = {}
excludedImagesInKubernetesCluster = []
Kubernetes Kubernetes clusters should not grant CAP_SYS_ADMIN security capabilities
To reduce the attack surface of your containers, restrict CAP_SYS_ADMIN Linux capabilities. For more information, see https://aka.ms/kubepolicydoc.
KubernetesClustersShouldNotGrantCAPSYSA... = {}
KubernetesClustersShouldNotGrantCAPSYSA... = ["kube-system","gatekeeper-system","azu...
excludedImagesInKubernetesCluster = []
Kubernetes Kubernetes clusters should not use the default namespace
Prevent usage of the default namespace in Kubernetes clusters to protect against unauthorized access for ConfigMap, Pod, Secret, Service, and ServiceAccount resource types. For more information, see https://aka.ms/kubepolicydoc.
KubernetesClustersShouldNotUseTheDefaul... = {}
Kubernetes Resource logs in Azure Kubernetes Service should be enabled
Azure Kubernetes Service's resource logs can help recreate activity trails when investigating security incidents. Enable it to make sure the logs will exist when needed
diagnosticsLogsInKubernetesRetentionDays = 1
Logic Apps Resource logs in Logic Apps should be enabled
Audit enabling of resource logs. This enables you to recreate activity trails to use for investigation purposes; when a security incident occurs or when your network is compromised
diagnosticsLogsInLogicAppsRetentionDays = 1 requiredRetentionDays = 365
Monitoring Audit diagnostic setting for selected resource types
Audit diagnostic setting for selected resource types. Be sure to select only resource types which support diagnostics settings.
listOfResourceTypes = null
metricsEnabled-7f89b1eb-583c-429a-8828-... = true
logsEnabled-7f89b1eb-583c-429a-8828-af0... = true
listOfResourceTypesWithDiagnosticLogsEn... = ["Microsoft.AnalysisServices/servers","...
metricsEnabled-7f89b1eb-583c-429a-8828-... = true
logsEnabled-7f89b1eb-583c-429a-8828-af0... = true
Monitoring Virtual machines should be connected to a specified workspace
Reports virtual machines as non-compliant if they aren't logging to the Log Analytics workspace specified in the policy/initiative assignment.
logAnalyticsWorkspaceId = null
Network Network Watcher should be enabled
Network Watcher is a regional service that enables you to monitor and diagnose conditions at a network scenario level in, to, and from Azure. Scenario level monitoring enables you to diagnose problems at an end to end network level view. It is required to have a network watcher resource group to be created in every region where a virtual network is present. An alert is enabled if a network watcher resource group is not available in a particular region.
networkWatcherShouldBeEnabledResourceGr... = NetworkWatcherRG resourceGroupName-b6e2945c-0b7b-40f5-92... = NetworkWatcherRG
Search Resource logs in Search services should be enabled
Audit enabling of resource logs. This enables you to recreate activity trails to use for investigation purposes; when a security incident occurs or when your network is compromised
diagnosticsLogsInSearchServiceRetention... = 1 requiredRetentionDays = 365
Service Bus Resource logs in Service Bus should be enabled
Audit enabling of resource logs. This enables you to recreate activity trails to use for investigation purposes; when a security incident occurs or when your network is compromised
diagnosticsLogsInServiceBusRetentionDays = 1 requiredRetentionDays = 365
SQL Auditing on SQL server should be enabled
Auditing on your SQL Server should be enabled to track database activities across all databases on the server and save them in an audit log.
setting-a6fb4358-5bf4-4ad7-ba82-2cd2f41... = enabled
Stream Analytics Resource logs in Azure Stream Analytics should be enabled
Audit enabling of resource logs. This enables you to recreate activity trails to use for investigation purposes; when a security incident occurs or when your network is compromised
diagnosticsLogsInStreamAnalyticsRetenti... = 1 requiredRetentionDays = 365
⚠️ **GitHub.com Fallback** ⚠️