{
  "format": "changeintel.gsa-web-filtering-v2",
  "graphShapeDocumented": false,
  "note": "Neutral review format. Create the rule in the Microsoft Entra admin center: Global Secure Access \u003E Secure \u003E Web Filtering Policies (V2).",
  "rules": [
    {
      "name": "ChangeIntel Windows 365 Cloud PCs",
      "action": "Allow",
      "destinations": [
        {
          "type": "url",
          "value": "*.infra.windows365.microsoft.com",
          "purpose": "Windows 365 service",
          "required": true,
          "sources": [
            "https://learn.microsoft.com/en-us/windows-365/enterprise/requirements-network#windows-365-service"
          ],
          "caveats": [
            "A *. wildcard matches subdomains of infra.windows365.microsoft.com but not infra.windows365.microsoft.com itself; list the apex separately only if a source publishes it.",
            "V2 matching broadens: this FQDN becomes a URL destination that matches the address and its sub-paths, not only the exact host as a V1 FQDN rule did.",
            "In Microsoft 365 Common endpoint set 50 (Default category). Microsoft documents that the Microsoft traffic profile is built from this list, combined by traffic category, but not which categories it includes. Confirm in the Global Secure Access client: Advanced diagnostics, Forwarding profile."
          ]
        },
        {
          "type": "url",
          "value": "login.microsoftonline.com",
          "purpose": "Windows 365 service",
          "required": true,
          "sources": [
            "https://learn.microsoft.com/en-us/windows-365/enterprise/requirements-network#windows-365-service"
          ],
          "caveats": [
            "V2 matching broadens: this FQDN becomes a URL destination that matches the address and its sub-paths, not only the exact host as a V1 FQDN rule did.",
            "Public material indicates the Microsoft Entra system profile takes this before Internet Access (indicated, not confirmed), so this rule is probably redundant. Confirm in the Global Secure Access client: Advanced diagnostics, Forwarding profile."
          ]
        },
        {
          "type": "url",
          "value": "login.live.com",
          "purpose": "Windows 365 service",
          "required": true,
          "sources": [
            "https://learn.microsoft.com/en-us/windows-365/enterprise/requirements-network#windows-365-service"
          ],
          "caveats": [
            "V2 matching broadens: this FQDN becomes a URL destination that matches the address and its sub-paths, not only the exact host as a V1 FQDN rule did.",
            "In Microsoft 365 Common endpoint set 97 (Default category). Microsoft documents that the Microsoft traffic profile is built from this list, combined by traffic category, but not which categories it includes. Confirm in the Global Secure Access client: Advanced diagnostics, Forwarding profile."
          ]
        },
        {
          "type": "url",
          "value": "enterpriseregistration.windows.net",
          "purpose": "Windows 365 service",
          "required": true,
          "sources": [
            "https://learn.microsoft.com/en-us/windows-365/enterprise/requirements-network#windows-365-service"
          ],
          "caveats": [
            "V2 matching broadens: this FQDN becomes a URL destination that matches the address and its sub-paths, not only the exact host as a V1 FQDN rule did.",
            "Public material indicates the Microsoft Entra system profile takes this before Internet Access (indicated, not confirmed), so this rule is probably redundant. Confirm in the Global Secure Access client: Advanced diagnostics, Forwarding profile."
          ]
        },
        {
          "type": "url",
          "value": "global.azure-devices-provisioning.net",
          "purpose": "443 \u0026 5671 outbound",
          "required": true,
          "sources": [
            "https://learn.microsoft.com/en-us/windows-365/enterprise/requirements-network#windows-365-service"
          ],
          "caveats": [
            "V2 matching broadens: this FQDN becomes a URL destination that matches the address and its sub-paths, not only the exact host as a V1 FQDN rule did.",
            "Web filtering assumes ports 80 and 443; port 5671 traffic needs a firewall rule instead."
          ]
        },
        {
          "type": "url",
          "value": "hm-iot-in-prod-prap01.azure-devices.net",
          "purpose": "443 \u0026 5671 outbound",
          "required": true,
          "sources": [
            "https://learn.microsoft.com/en-us/windows-365/enterprise/requirements-network#windows-365-service"
          ],
          "caveats": [
            "V2 matching broadens: this FQDN becomes a URL destination that matches the address and its sub-paths, not only the exact host as a V1 FQDN rule did.",
            "Web filtering assumes ports 80 and 443; port 5671 traffic needs a firewall rule instead."
          ]
        },
        {
          "type": "url",
          "value": "hm-iot-in-prod-prau01.azure-devices.net",
          "purpose": "443 \u0026 5671 outbound",
          "required": true,
          "sources": [
            "https://learn.microsoft.com/en-us/windows-365/enterprise/requirements-network#windows-365-service"
          ],
          "caveats": [
            "V2 matching broadens: this FQDN becomes a URL destination that matches the address and its sub-paths, not only the exact host as a V1 FQDN rule did.",
            "Web filtering assumes ports 80 and 443; port 5671 traffic needs a firewall rule instead."
          ]
        },
        {
          "type": "url",
          "value": "hm-iot-in-prod-preu01.azure-devices.net",
          "purpose": "443 \u0026 5671 outbound",
          "required": true,
          "sources": [
            "https://learn.microsoft.com/en-us/windows-365/enterprise/requirements-network#windows-365-service"
          ],
          "caveats": [
            "V2 matching broadens: this FQDN becomes a URL destination that matches the address and its sub-paths, not only the exact host as a V1 FQDN rule did.",
            "Web filtering assumes ports 80 and 443; port 5671 traffic needs a firewall rule instead."
          ]
        },
        {
          "type": "url",
          "value": "hm-iot-in-prod-prna01.azure-devices.net",
          "purpose": "443 \u0026 5671 outbound",
          "required": true,
          "sources": [
            "https://learn.microsoft.com/en-us/windows-365/enterprise/requirements-network#windows-365-service"
          ],
          "caveats": [
            "V2 matching broadens: this FQDN becomes a URL destination that matches the address and its sub-paths, not only the exact host as a V1 FQDN rule did.",
            "Web filtering assumes ports 80 and 443; port 5671 traffic needs a firewall rule instead."
          ]
        },
        {
          "type": "url",
          "value": "hm-iot-in-prod-prna02.azure-devices.net",
          "purpose": "443 \u0026 5671 outbound",
          "required": true,
          "sources": [
            "https://learn.microsoft.com/en-us/windows-365/enterprise/requirements-network#windows-365-service"
          ],
          "caveats": [
            "V2 matching broadens: this FQDN becomes a URL destination that matches the address and its sub-paths, not only the exact host as a V1 FQDN rule did.",
            "Web filtering assumes ports 80 and 443; port 5671 traffic needs a firewall rule instead."
          ]
        },
        {
          "type": "url",
          "value": "hm-iot-in-2-prod-preu01.azure-devices.net",
          "purpose": "443 \u0026 5671 outbound",
          "required": true,
          "sources": [
            "https://learn.microsoft.com/en-us/windows-365/enterprise/requirements-network#windows-365-service"
          ],
          "caveats": [
            "V2 matching broadens: this FQDN becomes a URL destination that matches the address and its sub-paths, not only the exact host as a V1 FQDN rule did.",
            "Web filtering assumes ports 80 and 443; port 5671 traffic needs a firewall rule instead."
          ]
        },
        {
          "type": "url",
          "value": "hm-iot-in-2-prod-prna01.azure-devices.net",
          "purpose": "443 \u0026 5671 outbound",
          "required": true,
          "sources": [
            "https://learn.microsoft.com/en-us/windows-365/enterprise/requirements-network#windows-365-service"
          ],
          "caveats": [
            "V2 matching broadens: this FQDN becomes a URL destination that matches the address and its sub-paths, not only the exact host as a V1 FQDN rule did.",
            "Web filtering assumes ports 80 and 443; port 5671 traffic needs a firewall rule instead."
          ]
        },
        {
          "type": "url",
          "value": "hm-iot-in-3-prod-preu01.azure-devices.net",
          "purpose": "443 \u0026 5671 outbound",
          "required": true,
          "sources": [
            "https://learn.microsoft.com/en-us/windows-365/enterprise/requirements-network#windows-365-service"
          ],
          "caveats": [
            "V2 matching broadens: this FQDN becomes a URL destination that matches the address and its sub-paths, not only the exact host as a V1 FQDN rule did.",
            "Web filtering assumes ports 80 and 443; port 5671 traffic needs a firewall rule instead."
          ]
        },
        {
          "type": "url",
          "value": "hm-iot-in-3-prod-prna01.azure-devices.net",
          "purpose": "443 \u0026 5671 outbound",
          "required": true,
          "sources": [
            "https://learn.microsoft.com/en-us/windows-365/enterprise/requirements-network#windows-365-service"
          ],
          "caveats": [
            "V2 matching broadens: this FQDN becomes a URL destination that matches the address and its sub-paths, not only the exact host as a V1 FQDN rule did.",
            "Web filtering assumes ports 80 and 443; port 5671 traffic needs a firewall rule instead."
          ]
        },
        {
          "type": "url",
          "value": "hm-iot-in-4-prod-prna01.azure-devices.net",
          "purpose": "443 \u0026 5671 outbound",
          "required": true,
          "sources": [
            "https://learn.microsoft.com/en-us/windows-365/enterprise/requirements-network#windows-365-service"
          ],
          "caveats": [
            "V2 matching broadens: this FQDN becomes a URL destination that matches the address and its sub-paths, not only the exact host as a V1 FQDN rule did.",
            "Web filtering assumes ports 80 and 443; port 5671 traffic needs a firewall rule instead."
          ]
        }
      ]
    }
  ],
  "notes": [
    "In V2 a security profile contains exactly one web filtering policy. Each rule carries its own Allow or Block action and the policy has a default action (Allow, Block, or the preview Continue Evaluation).",
    "V2 has no standalone FQDN type: FQDNs are expressed as URL destinations, and a URL destination matches the address and its sub-paths.",
    "A former exact-host FQDN evaluated with URL logic can match sub-paths of the address rather than only the exact host; review destinations to confirm they match the intended traffic.",
    "V2 runs before V1. A V2 Block is terminal; a V2 Allow isn\u0027t, so a V1 policy can still block the same traffic.",
    "Without TLS inspection, HTTPS traffic is evaluated by Server Name Indication (SNI); only unencrypted HTTP exposes the full URL."
  ]
}