last sync: 2021-Oct-22 15:42:38 UTC

Azure Policy definition

Azure Cosmos DB accounts should have firewall rules

Name Azure Cosmos DB accounts should have firewall rules
Azure Portal
Id 862e97cf-49fc-4a5c-9de4-40d4e2e7c8eb
Version 2.0.0
details on versioning
Category Cosmos DB
Microsoft docs
Description 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.
Mode All
Type BuiltIn
Preview FALSE
Deprecated FALSE
Effect Default: Deny
Allowed: (Audit, Deny, Disabled)
Used RBAC Role none
History
Date/Time (UTC ymd) (i) Change type Change detail
2021-07-15 16:24:53 change Major (1.0.1 > 2.0.0)
2021-01-05 16:06:49 change Patch (1.0.0 > 1.0.1) *changes on text case sensitivity are not tracked
2020-06-23 16:03:25 add 862e97cf-49fc-4a5c-9de4-40d4e2e7c8eb
Used in Initiatives
Initiative DisplayName Initiative Id Initiative Category State
[Deprecated]: Azure Security Benchmark v2 bb522ac1-bc39-4957-b194-429bcd3bcb0b Regulatory Compliance Deprecated
[Preview]: NIST SP 800-53 Rev. 5 179d1daa-458f-4e47-8086-2a68d0d6c38f Regulatory Compliance Preview
Azure Security Benchmark 1f3afdf9-d0c9-4c3d-847f-89da613e70a8 Security Center GA
FedRAMP High d5264498-16f4-418a-b659-fa7ef418175f Regulatory Compliance GA
FedRAMP Moderate e95f5a9f-57ad-4d03-bb0b-b1d16db93693 Regulatory Compliance GA
New Zealand ISM Restricted d1a462af-7e6d-4901-98ac-61570b4ed22a Regulatory Compliance GA
NIST SP 800-53 Rev. 4 cf25b9c1-bd23-4eb6-bd2c-f4f3ac644a5f Regulatory Compliance GA
JSON Changes

JSON
{
  "displayName": "Azure Cosmos DB accounts should have firewall rules",
  "policyType": "BuiltIn",
  "mode": "All",
  "description": "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.",
  "metadata": {
    "version": "2.0.0",
    "category": "Cosmos DB"
  },
  "parameters": {
    "effect": {
      "type": "String",
      "metadata": {
        "displayName": "Policy Effect",
        "description": "The desired effect of the policy."
      },
      "allowedValues": [
        "Audit",
        "Deny",
        "Disabled"
      ],
      "defaultValue": "Deny"
    }
  },
  "policyRule": {
    "if": {
      "allOf": [
        {
          "field": "type",
          "equals": "Microsoft.DocumentDB/databaseAccounts"
        },
        {
          "anyOf": [
            {
              "field": "Microsoft.DocumentDB/databaseAccounts/publicNetworkAccess",
              "exists": "false"
            },
            {
              "field": "Microsoft.DocumentDB/databaseAccounts/publicNetworkAccess",
              "equals": "Enabled"
            }
          ]
        },
        {
          "anyOf": [
            {
              "field": "Microsoft.DocumentDB/databaseAccounts/isVirtualNetworkFilterEnabled",
              "exists": "false"
            },
            {
              "field": "Microsoft.DocumentDB/databaseAccounts/isVirtualNetworkFilterEnabled",
              "equals": "false"
            }
          ]
        },
        {
          "allOf": [
            {
              "anyOf": [
                {
                  "field": "Microsoft.DocumentDB/databaseAccounts/ipRules",
                  "exists": "false"
                },
                {
                  "count": {
                    "field": "Microsoft.DocumentDB/databaseAccounts/ipRules[*]"
                  },
                  "equals": 0
                }
              ]
            },
            {
              "anyOf": [
                {
                  "field": "Microsoft.DocumentDB/databaseAccounts/ipRangeFilter",
                  "exists": "false"
                },
                {
                  "field": "Microsoft.DocumentDB/databaseAccounts/ipRangeFilter",
                  "equals": ""
                }
              ]
            }
          ]
        }
      ]
    },
    "then": {
      "effect": "[parameters('effect')]"
    }
  }
}