Storage - oWretch/policy GitHub Wiki

Policy Effects by Policy

Category Policy Platform Landing Zones Production Decommissioned Management Corp Connectivity Sandbox Identity
Storage Allowed Copy scope should be restricted for Storage Accounts
Azure Storage accounts should restrict the allowed copy scope. Enforce this for increased data exfiltration protection.
Deny
Disabled
Audit
Deny
Disabled
Audit
Storage **Azure Storage deploy a specific min TLS version requirement and enforce SSL/HTTPS **
Deploy a specific min TLS version requirement and enforce SSL on Azure Storage. Enables secure server to client by enforce minimal Tls Version to secure the connection 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 Azure Storage.
DeployIfNotExists
Disabled
Storage Configure a private DNS Zone ID for blob groupID
Configure private DNS zone group to override the DNS resolution for a blob groupID private endpoint.
DeployIfNotExists
Disabled
Storage Configure a private DNS Zone ID for blob_secondary groupID
Configure private DNS zone group to override the DNS resolution for a blob_secondary groupID private endpoint.
DeployIfNotExists
Disabled
Storage Configure a private DNS Zone ID for dfs groupID
Configure private DNS zone group to override the DNS resolution for a dfs groupID private endpoint.
DeployIfNotExists
Disabled
Storage Configure a private DNS Zone ID for dfs_secondary groupID
Configure private DNS zone group to override the DNS resolution for a dfs_secondary groupID private endpoint.
DeployIfNotExists
Disabled
Storage Configure a private DNS Zone ID for file groupID
Configure private DNS zone group to override the DNS resolution for a file groupID private endpoint.
DeployIfNotExists
Disabled
Storage Configure a private DNS Zone ID for queue groupID
Configure private DNS zone group to override the DNS resolution for a queue groupID private endpoint.
DeployIfNotExists
Disabled
Storage Configure a private DNS Zone ID for queue_secondary groupID
Configure private DNS zone group to override the DNS resolution for a queue_secondary groupID private endpoint.
DeployIfNotExists
Disabled
Storage Configure a private DNS Zone ID for table groupID
Configure private DNS zone group to override the DNS resolution for a table groupID private endpoint.
DeployIfNotExists
Disabled
Storage Configure a private DNS Zone ID for table_secondary groupID
Configure private DNS zone group to override the DNS resolution for a table_secondary groupID private endpoint.
DeployIfNotExists
Disabled
Storage Configure a private DNS Zone ID for web groupID
Configure private DNS zone group to override the DNS resolution for a web groupID private endpoint.
DeployIfNotExists
Disabled
Storage Configure a private DNS Zone ID for web_secondary groupID
Configure private DNS zone group to override the DNS resolution for a web_secondary groupID private endpoint.
DeployIfNotExists
Disabled
Storage Configure Azure File Sync to use private DNS zones
To access the private endpoint(s) for Storage Sync Service resource interfaces from a registered server, you need to configure your DNS to resolve the correct names to your private endpoint's private IP addresses. This policy creates the requisite Azure Private DNS Zone and A records for the interfaces of your Storage Sync Service private endpoint(s).
DeployIfNotExists
Disabled
Storage Configure storage accounts to disable public network access
To improve the security of Storage Accounts, ensure that they aren't exposed to the public internet and can only be accessed from a private endpoint. Disable the public network access property as described in https://aka.ms/storageaccountpublicnetworkaccess. This option disables access from any public address space outside the Azure IP range, and denies all logins that match IP or virtual network-based firewall rules. This reduces data leakage risks.
Modify
Disabled
Modify
Disabled
Storage Configure your Storage account public access to 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.
Modify
Disabled
Modify
Disabled
Storage Deploy Defender for Storage (Classic) on storage accounts
This policy enables Defender for Storage (Classic) on storage accounts.
DeployIfNotExists
Disabled
DeployIfNotExists
Disabled
Storage Deploy SA Availability Alert
Policy to audit/deploy SA Availability Alert
deployIfNotExists
disabled
deployIfNotExists
disabled
deployIfNotExists
disabled
Storage Encryption for storage services should be enforced for Storage Accounts
Azure Storage accounts should enforce encryption for all storage services. Enforce this for increased encryption scope.
Deny
Disabled
Audit
Deny
Disabled
Audit
Storage Local users should be restricted for Storage Accounts
Azure Storage accounts should disable local users for features like SFTP. Enforce this for increased data exfiltration protection.
Disabled
Deny
Audit
Disabled
Deny
Audit
Storage Modify - Configure Azure File Sync to disable public network access
The Azure File Sync's internet-accessible public endpoint are disabled by your organizational policy. You may still access the Storage Sync Service via its private endpoint(s).
Modify
Disabled
Modify
Disabled
Storage Network ACL bypass option should be restricted for Storage Accounts
Azure Storage accounts should restrict the bypass option for service-level network ACLs. Enforce this for increased data exfiltration protection.
Deny
Disabled
Audit
Deny
Disabled
Audit
Storage Public network access should be disabled for Azure File Sync
Disabling the public endpoint allows you to restrict access to your Storage Sync Service resource to requests destined to approved private endpoints on your organization's network. There is nothing inherently insecure about allowing requests to the public endpoint, however, you may wish to disable it to meet regulatory, legal, or organizational policy requirements. You can disable the public endpoint for a Storage Sync Service by setting the incomingTrafficPolicy of the resource to AllowVirtualNetworksOnly.
Deny
Disabled
Audit
Storage Queue Storage should use customer-managed key for encryption
Secure your queue storage 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.
Deny
Disabled
Audit
Deny
Disabled
Audit
Storage Resource Access Rules resource IDs should be restricted for Storage Accounts
Azure Storage accounts should restrict the resource access rule for service-level network ACLs to services from a specific Azure subscription. Enforce this for increased data exfiltration protection.
Deny
Disabled
Audit
Deny
Disabled
Audit
Storage Resource Access Rules Tenants should be restricted for Storage Accounts
Azure Storage accounts should restrict the resource access rule for service-level network ACLs to service from the same AAD tenant. Enforce this for increased data exfiltration protection.
Deny
Disabled
Audit
Deny
Disabled
Audit
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
Storage Storage account encryption scopes should use customer-managed keys to encrypt data at rest
Use customer-managed keys to manage the encryption at rest of your storage account encryption scopes. 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 about storage account encryption scopes at https://aka.ms/encryption-scopes-overview.
Deny
Disabled
Audit
Deny
Disabled
Audit
Storage Storage account encryption scopes should use double encryption for data at rest
Enable infrastructure encryption for encryption at rest of your storage account encryption scopes for added security. Infrastructure encryption ensures that your data is encrypted twice.
Deny
Disabled
Audit
Deny
Disabled
Audit
Storage Storage account keys should not be expired
Ensure the user storage account keys are not expired when key expiration policy is set, for improving security of account keys by taking action when the keys are expired.
Deny
Disabled
Audit
Deny
Disabled
Audit
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
Deny
deny
disabled
audit
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
Deny
Disabled
Audit
Deny
Disabled
Audit
Audit
Deny
Disabled
Storage Storage accounts should disable public network access
To improve the security of Storage Accounts, ensure that they aren't exposed to the public internet and can only be accessed from a private endpoint. Disable the public network access property as described in https://aka.ms/storageaccountpublicnetworkaccess. This option disables access from any public address space outside the Azure IP range, and denies all logins that match IP or virtual network-based firewall rules. This reduces data leakage risks.
Deny
Disabled
Audit
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.
Deny
Disabled
Audit
Deny
Disabled
Audit
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.
Deny
Disabled
Audit
Storage Storage accounts should prevent cross tenant object replication
Audit restriction of object replication for your storage account. By default, users can configure object replication with a source storage account in one Azure AD tenant and a destination account in a different tenant. It is a security concern because customer's data can be replicated to a storage account that is owned by the customer. By setting allowCrossTenantReplication to false, objects replication can be configured only if both source and destination accounts are in the same Azure AD tenant.
Deny
Disabled
Audit
Deny
Disabled
Audit
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.
Deny
Disabled
Audit
Deny
Disabled
Audit
Audit
Deny
Disabled
Storage Storage Accounts should restrict CORS rules
Deny CORS rules for storage account for increased data exfiltration protection and endpoint protection.
Deny
Disabled
Audit
Deny
Disabled
Audit
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
Deny
Disabled
Audit
Deny
Disabled
Audit
Disabled
Deny
Audit
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.
Deny
Disabled
Audit
Deny
Disabled
Audit
Audit
Deny
Disabled
Storage Storage Accounts should use a container delete retention policy
Enforce container delete retention policies larger than seven days for storage account. Enable this for increased data loss protection.
Deny
Disabled
Audit
Deny
Disabled
Audit
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.
Audit
Disabled
Audit
Disabled
Disabled
Audit
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
Storage Storage Accounts with SFTP enabled should be denied
This policy denies the creation of Storage Accounts with SFTP enabled for Blob Storage.
Deny
Disabled
Audit
Deny
Disabled
Audit
Storage Table Storage should use customer-managed key for encryption
Secure your table storage 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.
Deny
Disabled
Audit
Deny
Disabled
Audit
Storage Virtual network rules should be restricted for Storage Accounts
Azure Storage accounts should restrict the virtual network service-level network ACLs. Enforce this for increased data exfiltration protection.
Deny
Disabled
Audit
Deny
Disabled
Audit

Policy Parameters by Policy

Category Policy Platform Landing Zones Production Decommissioned Management Corp Connectivity Sandbox Identity
Storage Allowed Copy scope should be restricted for Storage Accounts
Azure Storage accounts should restrict the allowed copy scope. Enforce this for increased data exfiltration protection.
storageAccountsAllowedCopyScope = AAD storageAccountsAllowedCopyScope = AAD
Storage **Azure Storage deploy a specific min TLS version requirement and enforce SSL/HTTPS **
Deploy a specific min TLS version requirement and enforce SSL on Azure Storage. Enables secure server to client by enforce minimal Tls Version to secure the connection 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 Azure Storage.
StorageMinimumTlsVersion = TLS1_2
Storage Configure a private DNS Zone ID for blob groupID
Configure private DNS zone group to override the DNS resolution for a blob groupID private endpoint.
azureStorageBlobPrivateDnsZoneId = --DNSZonePrefix--privatelink.blob.core....
Storage Configure a private DNS Zone ID for blob_secondary groupID
Configure private DNS zone group to override the DNS resolution for a blob_secondary groupID private endpoint.
azureStorageBlobSecPrivateDnsZoneId = --DNSZonePrefix--privatelink.blob.core....
Storage Configure a private DNS Zone ID for dfs groupID
Configure private DNS zone group to override the DNS resolution for a dfs groupID private endpoint.
azureStorageDFSPrivateDnsZoneId = --DNSZonePrefix--privatelink.dfs.core.w...
Storage Configure a private DNS Zone ID for dfs_secondary groupID
Configure private DNS zone group to override the DNS resolution for a dfs_secondary groupID private endpoint.
azureStorageDFSSecPrivateDnsZoneId = --DNSZonePrefix--privatelink.dfs.core.w...
Storage Configure a private DNS Zone ID for file groupID
Configure private DNS zone group to override the DNS resolution for a file groupID private endpoint.
azureStorageFilePrivateDnsZoneId = --DNSZonePrefix--privatelink.file.core....
Storage Configure a private DNS Zone ID for queue groupID
Configure private DNS zone group to override the DNS resolution for a queue groupID private endpoint.
azureStorageQueuePrivateDnsZoneId = --DNSZonePrefix--privatelink.queue.core...
Storage Configure a private DNS Zone ID for queue_secondary groupID
Configure private DNS zone group to override the DNS resolution for a queue_secondary groupID private endpoint.
azureStorageQueueSecPrivateDnsZoneId = --DNSZonePrefix--privatelink.queue.core...
Storage Configure a private DNS Zone ID for table groupID
Configure private DNS zone group to override the DNS resolution for a table groupID private endpoint.
azureStorageTablePrivateDnsZoneId = --DNSZonePrefix--privatelink.table.core...
Storage Configure a private DNS Zone ID for table_secondary groupID
Configure private DNS zone group to override the DNS resolution for a table_secondary groupID private endpoint.
azureStorageTableSecondaryPrivateDnsZoneId = --DNSZonePrefix--privatelink.table.core...
Storage Configure a private DNS Zone ID for web groupID
Configure private DNS zone group to override the DNS resolution for a web groupID private endpoint.
azureStorageStaticWebPrivateDnsZoneId = --DNSZonePrefix--privatelink.web.core.w...
Storage Configure a private DNS Zone ID for web_secondary groupID
Configure private DNS zone group to override the DNS resolution for a web_secondary groupID private endpoint.
azureStorageStaticWebSecPrivateDnsZoneId = --DNSZonePrefix--privatelink.web.core.w...
Storage Configure Azure File Sync to use private DNS zones
To access the private endpoint(s) for Storage Sync Service resource interfaces from a registered server, you need to configure your DNS to resolve the correct names to your private endpoint's private IP addresses. This policy creates the requisite Azure Private DNS Zone and A records for the interfaces of your Storage Sync Service private endpoint(s).
azureFilePrivateDnsZoneId = --DNSZonePrefix--privatelink.afs.azure.net
Storage Deploy SA Availability Alert
Policy to audit/deploy SA Availability Alert
StorageAccountAvailabilityAlertState = true
StorageAccountAvailabilityWindowSize = PT5M
StorageAccountAvailabilityAlertSeverity = 1
StorageAccountAvailabilityFrequency = PT5M
StorageAccountAvailabilityThreshold = 90
StorageAccountAvailabilityAlertState = true
StorageAccountAvailabilityWindowSize = PT5M
StorageAccountAvailabilityAlertSeverity = 1
StorageAccountAvailabilityFrequency = PT5M
StorageAccountAvailabilityThreshold = 90
StorageAccountAvailabilityAlertState = true
StorageAccountAvailabilityWindowSize = PT5M
StorageAccountAvailabilityAlertSeverity = 1
StorageAccountAvailabilityFrequency = PT5M
StorageAccountAvailabilityThreshold = 90
Storage Network ACL bypass option should be restricted for Storage Accounts
Azure Storage accounts should restrict the bypass option for service-level network ACLs. Enforce this for increased data exfiltration protection.
storageAllowedNetworkAclsBypass = ["None"] storageAllowedNetworkAclsBypass = ["None"]
Storage Storage Accounts should use a container delete retention policy
Enforce container delete retention policies larger than seven days for storage account. Enable this for increased data loss protection.
storageMinContainerDeleteRetentionInDays = 7 storageMinContainerDeleteRetentionInDays = 7
⚠️ **GitHub.com Fallback** ⚠️