From 002b09d9c7e84765c10275f146299c227478d6aa Mon Sep 17 00:00:00 2001 From: Alekhya Jupudi <89069896+alekyaj@users.noreply.github.com> Date: Tue, 5 Apr 2022 10:10:34 +0530 Subject: [PATCH] CSP Windows 11 updates -part 4 Updated as per task : 5864419. Thanks! --- .../mdm/enrollmentstatustracking-csp.md | 64 ++- .../mdm/enterpriseapn-csp.md | 130 +++--- .../mdm/enterpriseappmanagement-csp.md | 42 +- .../mdm/enterprisedataprotection-csp.md | 96 ++-- .../mdm/enterprisedesktopappmanagement-csp.md | 66 ++- .../mdm/enterprisemodernappmanagement-csp.md | 233 +++++----- windows/client-management/mdm/euiccs-csp.md | 73 ++- windows/client-management/mdm/firewall-csp.md | 414 ++++++++++-------- .../mdm/healthattestation-csp.md | 260 +++++------ .../client-management/mdm/messaging-csp.md | 43 +- 10 files changed, 768 insertions(+), 653 deletions(-) diff --git a/windows/client-management/mdm/enrollmentstatustracking-csp.md b/windows/client-management/mdm/enrollmentstatustracking-csp.md index 3b4e865ccb..63b1aafdd5 100644 --- a/windows/client-management/mdm/enrollmentstatustracking-csp.md +++ b/windows/client-management/mdm/enrollmentstatustracking-csp.md @@ -11,13 +11,22 @@ ms.date: 05/21/2019 # EnrollmentStatusTracking CSP +The table below shows the applicability of Windows: + +|Edition|Windows 10|Windows 11| +|--- |--- |--- | +|Home|Yes|Yes| +|Pro|Yes|Yes| +|Business|Yes|Yes| +|Enterprise|Yes|Yes| +|Education|Yes|Yes| + During Autopilot deployment, you can configure the Enrollment Status Page (ESP) to block the device use until the required apps are installed. You can select the apps that must be installed before using the device. The EnrollmentStatusTracking configuration service provider (CSP) is used by Intune's agents, such as SideCar to configure ESP for blocking the device use until the required Win32 apps are installed. It tracks the installation status of the required policy providers and the apps they install and sends it to ESP, which displays the installation progress message to the user. For more information on ESP, see [Windows Autopilot Enrollment Status page](/windows/deployment/windows-autopilot/enrollment-status). -ESP uses the EnrollmentStatusTracking CSP along with the DMClient CSP to track the installation of different apps. The EnrollmentStatusTracking CSP tracks Win32 apps installations and DMClient CSP tracks MSI and Universal Windows Platform apps installations. In DMClient CSP, the **FirstSyncStatus/ExpectedMSIAppPackages** and **FirstSyncStatus/ExpectedModernAppPackages** nodes list the apps to track their installation. See [DMClient CSP](dmclient-csp.md) for more information. +ESP uses the EnrollmentStatusTracking CSP along with the DMClient CSP to track the installation of different apps. The EnrollmentStatusTracking CSP tracks Win32 apps installations and DMClient CSP tracks MSI and Universal Windows Platform apps installations. In DMClient CSP, the **FirstSyncStatus/ExpectedMSIAppPackages** and **FirstSyncStatus/ExpectedModernAppPackages** nodes list the apps to track their installation. For more information, see [DMClient CSP](dmclient-csp.md). The EnrollmentStatusTracking CSP was added in Windows 10, version 1903. - The following shows the EnrollmentStatusTracking CSP in tree format. ``` ./User/Vendor/MSFT @@ -59,6 +68,7 @@ EnrollmentStatusTracking ------------------------RebootRequired --------HasProvisioningCompleted ``` + **./Vendor/MSFT** For device context, use **./Device/Vendor/MSFT** path and for user context, use **./User/Vendor/MSFT** path. @@ -93,10 +103,11 @@ Communicates the policy provider installation state back to ESP. Scope is dynamic. Supported operations are Get, Add, Delete, and Replace. Value type is integer. Expected values are as follows: -- 1 — NotInstalled -- 2 — NotRequired -- 3 — Completed -- 4 — Error + +- 1—NotInstalled +- 2—NotRequired +- 3—Completed +- 4—Error **EnrollmentStatusTracking/DevicePreparation/PolicyProviders/*ProviderName*/LastError** Required. This node is supported only in device context. @@ -127,8 +138,9 @@ This node specifies if the policy provider is registered for app provisioning. Scope is dynamic. Supported operations are Get, Add, Delete, and Replace. Value type is boolean. Expected values are as follows: -- false — Indicates that the policy provider is not registered for app provisioning. This is the default. -- true — Indicates that the policy provider is registered for app provisioning. + +- false—Indicates that the policy provider isn't registered for app provisioning. This is the default. +- true—Indicates that the policy provider is registered for app provisioning. **EnrollmentStatusTracking/Setup** Required. This node is supported in both user context and device context. @@ -150,7 +162,7 @@ Scope is permanent. Supported operation is Get. **EnrollmentStatusTracking/Setup/Apps/PolicyProviders**/***ProviderName*** Optional. This node is supported in both user context and device context. -Represents an app policy provider for the ESP. Existence of this node indicates to the ESP that it should not show the tracking status message until the TrackingPoliciesCreated node has been set to true. +Represents an app policy provider for the ESP. Existence of this node indicates to the ESP that it shouldn't show the tracking status message until the TrackingPoliciesCreated node has been set to true. Scope is dynamic. Supported operations are Get, Add, Delete, and Replace. @@ -161,8 +173,9 @@ Indicates if the provider has created the required policies for the ESP to use f Scope is dynamic. Supported operations are Get, Add, Delete, and Replace. Value type is boolean. The expected values are as follows: -- true — Indicates that the provider has created the required policies. -- false — Indicates that the provider has not created the required policies. This is the default. + +- true—Indicates that the provider has created the required policies. +- false—Indicates that the provider hasn't created the required policies. This is the default. **EnrollmentStatusTracking/Setup/Apps/Tracking** Required. This node is supported in both user context and device context. @@ -178,7 +191,7 @@ Scope is dynamic. Supported operations are Get, Add, Delete, and Replace. **EnrollmentStatusTracking/Setup/Apps/Tracking/*ProviderName*/_AppName_** Optional. This node is supported in both user context and device context. -Represents a unique name for the app whose progress should be tracked by the ESP. The policy provider can define any arbitrary app name as ESP does not use the app name directly. +Represents a unique name for the app whose progress should be tracked by the ESP. The policy provider can define any arbitrary app name as ESP doesn't use the app name directly. Scope is dynamic. Supported operations are Get, Add, Delete, and Replace. @@ -189,21 +202,23 @@ Represents the installation state for the app. The policy providers (not the MDM Scope is dynamic. Supported operations are Get, Add, Delete, and Replace. Value type is integer. Expected values are as follows: -- 1 — NotInstalled -- 2 — InProgress -- 3 — Completed -- 4 — Error + +- 1—NotInstalled +- 2—InProgress +- 3—Completed +- 4—Error **EnrollmentStatusTracking/Setup/Apps/Tracking/*ProviderName*/*AppName*/RebootRequired** Optional. This node is supported in both user context and device context. -Indicates if the app installation requires ESP to issue a reboot. The policy providers installing the app (not the MDM server) must set this node. If the policy providers do not set this node, the ESP will not reboot the device for the app installation. +Indicates if the app installation requires ESP to issue a reboot. The policy providers installing the app (not the MDM server) must set this node. If the policy providers don't set this node, the ESP won't reboot the device for the app installation. Scope is dynamic. Supported operations are Get, Add, Delete, and Replace. Value type is integer. Expected values are as follows: -- 1 — NotRequired -- 2 — SoftReboot -- 3 — HardReboot + +- 1—NotRequired +- 2—SoftReboot +- 3—HardReboot **EnrollmentStatusTracking/Setup/HasProvisioningCompleted** Required. This node is supported in both user context and device context. @@ -212,5 +227,10 @@ ESP sets this node when it completes. Providers can query this node to determine Scope is permanent. Supported operation is Get. Value type is boolean. Expected values are as follows: -- true — Indicates that ESP has completed. This is the default. -- false — Indicates that ESP is displayed, and provisioning is still going. \ No newline at end of file + +- true—Indicates that ESP has completed. This is the default. +- false—Indicates that ESP is displayed, and provisioning is still going. + +## Related topics + +[Configuration service provider reference](configuration-service-provider-reference.md) \ No newline at end of file diff --git a/windows/client-management/mdm/enterpriseapn-csp.md b/windows/client-management/mdm/enterpriseapn-csp.md index 2b50af966e..b279b0bc1e 100644 --- a/windows/client-management/mdm/enterpriseapn-csp.md +++ b/windows/client-management/mdm/enterpriseapn-csp.md @@ -1,6 +1,6 @@ --- title: EnterpriseAPN CSP -description: The EnterpriseAPN configuration service provider is used by the enterprise to provision an APN for the Internet. +description: Learn how the EnterpriseAPN configuration service provider is used by the enterprise to provision an APN for the Internet. ms.assetid: E125F6A5-EE44-41B1-A8CC-DF295082E6B2 ms.reviewer: manager: dansimp @@ -14,10 +14,20 @@ ms.date: 09/22/2017 # EnterpriseAPN CSP +The table below shows the applicability of Windows: + +|Edition|Windows 10|Windows 11| +|--- |--- |--- | +|Home|Yes|Yes| +|Pro|Yes|Yes| +|Business|Yes|Yes| +|Enterprise|Yes|Yes| +|Education|Yes|Yes| + The EnterpriseAPN configuration service provider (CSP) is used by the enterprise to provision an APN for the Internet. > [!Note] -> Starting in Windows 10, version 1703 the EnterpriseAPN CSP is supported in Windows 10 Home, Pro, Enterprise, and Education editions. +> Starting in Windows 10, version 1703 the EnterpriseAPN CSP is supported in Windows 10/Windows 11 Home, Pro, Enterprise, and Education editions. The following shows the EnterpriseAPN configuration service provider in tree format. ``` @@ -39,111 +49,112 @@ EnterpriseAPN --------HideView ``` **EnterpriseAPN** -
The root node for the EnterpriseAPN configuration service provider.
+The root node for the EnterpriseAPN configuration service provider. **EnterpriseAPN/***ConnectionName* -Name of the connection as seen by Windows Connection Manager.
+Name of the connection as seen by Windows Connection Manager. -Supported operations are Add, Get, Delete, and Replace.
+Supported operations are Add, Get, Delete, and Replace. **EnterpriseAPN/*ConnectionName*/APNName** -Enterprise APN name.
+Enterprise APN name. -Supported operations are Add, Get, Delete, and Replace.
+Supported operations are Add, Get, Delete, and Replace. **EnterpriseAPN/*ConnectionName*/IPType** -This value can be one of the following:
+This value can be one of the following: -- IPv4 - only IPV4 connection type -- IPv6 - only IPv6 connection type -- IPv4v6 (default)- IPv4 and IPv6 concurrently. -- IPv4v6xlat - IPv6 with IPv4 provided by 46xlat +- IPv4 - only IPV4 connection type. +- IPv6 - only IPv6 connection type. +- IPv4v6 (default)- IPv4 and IPv6 concurrently. +- IPv4v6xlat - IPv6 with IPv4 provided by 46xlat. -Supported operations are Add, Get, Delete, and Replace.
+Supported operations are Add, Get, Delete, and Replace. **EnterpriseAPN/*ConnectionName*/IsAttachAPN** -Boolean value that indicates whether this APN should be requested as part of an LTE Attach. Default value is false.
+Boolean value that indicates whether this APN should be requested as part of an LTE Attach. -Supported operations are Add, Get, Delete, and Replace.
+Default value is false. + +Supported operations are Add, Get, Delete, and Replace. **EnterpriseAPN/*ConnectionName*/ClassId** -GUID that defines the APN class to the modem. This is the same as the OEMConnectionId in CM_CellularEntries CSP. Normally this setting is not present. It is only required when IsAttachAPN is true and the attach APN is not only used as the Internet APN.
+GUID that defines the APN class to the modem. This is the same as the OEMConnectionId in CM_CellularEntries CSP. Normally this setting isn't present. It's only required when IsAttachAPN is true and the attach APN isn't only used as the Internet APN. -Supported operations are Add, Get, Delete, and Replace.
+Supported operations are Add, Get, Delete, and Replace. **EnterpriseAPN/*ConnectionName*/AuthType** -Authentication type. This value can be one of the following:
+Authentication type. This value can be one of the following: -- None (default) -- Auto -- PAP -- CHAP -- MSCHAPv2 +- None (default) +- Auto +- PAP +- CHAP +- MSCHAPv2 -Supported operations are Add, Get, Delete, and Replace.
+Supported operations are Add, Get, Delete, and Replace. **EnterpriseAPN/*ConnectionName*/UserName** -User name for use with PAP, CHAP, or MSCHAPv2 authentication.
+User name for use with PAP, CHAP, or MSCHAPv2 authentication. -Supported operations are Add, Get, Delete, and Replace.
+Supported operations are Add, Get, Delete, and Replace. **EnterpriseAPN/*ConnectionName*/Password** -Password corresponding to the username.
+Password corresponding to the username. -Supported operations are Add, Get, Delete, and Replace.
+Supported operations are Add, Get, Delete, and Replace. **EnterpriseAPN/*ConnectionName*/IccId** -Integrated Circuit Card ID (ICCID) associated with the cellular connection profile. If this node is not present, the connection is created on a single-slot device using the ICCID of the UICC and on a dual-slot device using the ICCID of the UICC that is active for data.
+Integrated Circuit Card ID (ICCID) associated with the cellular connection profile. If this node isn't present, the connection is created on a single-slot device using the ICCID of the UICC and on a dual-slot device using the ICCID of the UICC that is active for data. -Supported operations are Add, Get, Delete, and Replace.
+Supported operations are Add, Get, Delete, and Replace. **EnterpriseAPN/*ConnectionName*/AlwaysOn** -Added in Windows 10, version 1607. Boolean value that specifies whether the CM will automatically attempt to connect to the APN when a connection is available.
+Added in Windows 10, version 1607. Boolean value that specifies whether the CM will automatically attempt to connect to the APN when a connection is available. -The default value is true.
+The default value is true. -Supported operations are Add, Get, Delete, and Replace.
+Supported operations are Add, Get, Delete, and Replace. **EnterpriseAPN/*ConnectionName*/Enabled** -Added in Windows 10, version 1607. Boolean that specifies whether the connection is enabled.
+Added in Windows 10, version 1607. Boolean that specifies whether the connection is enabled. -The default value is true.
+The default value is true. -Supported operations are Add, Get, Delete, and Replace.
+Supported operations are Add, Get, Delete, and Replace. **EnterpriseAPN/*ConnectionName*/Roaming** -Added in Windows 10, version 1703. Specifies whether the connection should be activated when the device is roaming. Valid values:
+Added in Windows 10, version 1703. Specifies whether the connection should be activated when the device is roaming. Valid values are: -Default is 1 (all roaming allowed).
+Default is 1 (all roaming allowed). -Value type is string. Supported operations are Add, Get, Delete, and Replace.
+Value type is string. +Supported operations are Add, Get, Delete, and Replace. **EnterpriseAPN/Settings** -Added in Windows 10, version 1607. Node that contains global settings.
+Added in Windows 10, version 1607. Node that contains global settings. **EnterpriseAPN/Settings/AllowUserControl** -Added in Windows 10, version 1607. Boolean value that specifies whether the cellular UX will allow users to connect with other APNs other than the Enterprise APN.
+Added in Windows 10, version 1607. Boolean value that specifies whether the cellular UX will allow users to connect with other APNs other than the Enterprise APN. -The default value is false.
+The default value is false. -Supported operations are Get and Replace.
+Supported operations are Get and Replace. **EnterpriseAPN/Settings/HideView** -Added in Windows 10, version 1607. Boolean that specifies whether the cellular UX will allow the user to view enterprise APNs. Only applicable if AllowUserControl is true.
+Added in Windows 10, version 1607. Boolean that specifies whether the cellular UX will allow the user to view enterprise APNs. Only applicable if AllowUserControl is true. -The default value is false.
+The default value is false. -Supported operations are Get and Replace.
+Supported operations are Get and Replace. ## Examples @@ -290,15 +301,4 @@ atomicZ ## Related topics - [Configuration service provider reference](configuration-service-provider-reference.md) - - - - - - - - - - diff --git a/windows/client-management/mdm/enterpriseappmanagement-csp.md b/windows/client-management/mdm/enterpriseappmanagement-csp.md index 4192b8bdcc..6893031aed 100644 --- a/windows/client-management/mdm/enterpriseappmanagement-csp.md +++ b/windows/client-management/mdm/enterpriseappmanagement-csp.md @@ -1,6 +1,6 @@ --- title: EnterpriseAppManagement CSP -description: Handle enterprise application management tasks using EnterpriseAppManagement configuration service provider (CSP). +description: Learn how to handle enterprise application management tasks using EnterpriseAppManagement configuration service provider (CSP). ms.assetid: 698b8bf4-652e-474b-97e4-381031357623 ms.reviewer: manager: dansimp @@ -14,12 +14,10 @@ ms.date: 06/26/2017 # EnterpriseAppManagement CSP - The EnterpriseAppManagement enterprise configuration service provider is used to handle enterprise application management tasks such as installing an enterprise application token, the first auto-downloadable app link, querying installed enterprise applications (name and version), auto updating already installed enterprise applications, and removing all installed enterprise apps (including the enterprise app token) during unenrollment. > [!NOTE] > The EnterpriseAppManagement CSP is only supported in Windows 10 IoT Core. - The following shows the EnterpriseAppManagement configuration service provider in tree format. @@ -52,7 +50,7 @@ EnterpriseAppManagement ``` ***EnterpriseID*** -Optional. A dynamic node that represents the EnterpriseID as a GUID. It is used to enroll or unenroll enterprise applications. +Optional. A dynamic node that represents the EnterpriseID as a GUID. It's used to enroll or unenroll enterprise applications. Supported operations are Add, Delete, and Get. @@ -84,8 +82,6 @@ Supported operations are Get and Add. > [!NOTE] > Do NOT use Subject=CN%3DB1C43CD0-1624-5FBB-8E54-34CF17DFD3A1\\x00. The server must replace this value in the supplied client certificate. If your server returns a client certificate containing the same Subject value, this can cause unexpected behavior. The server should always override the subject value and not use the default device-provided Device ID Subject= Subject=CN%3DB1C43CD0-1624-5FBB-8E54-34CF17DFD3A1\\x00 - - ***EnterpriseID*/Status** Required. The integer value that indicates the current status of the application enrollment. Valid values are 0 (ENABLED), 1 (INSTALL\_DISABLED), 2 (REVOKED), and 3 (INVALID). Scope is dynamic. @@ -168,7 +164,7 @@ Required. The integer value that indicates the status of the current download pr |4: INSTALLING|Handed off for installation.| |5: INSTALLED|Successfully installed| |6: FAILED|Application was rejected (not signed properly, bad XAP format, not enrolled properly, etc.)| -|7:DOWNLOAD_FAILED|Unable to connect to server, file doesn't exist, etc.| +|7: DOWNLOAD_FAILED|Unable to connect to server, file doesn't exist, etc.| Scope is dynamic. Supported operations are Get, Add, and Replace. @@ -187,14 +183,13 @@ Supported operation is Exec. ## Remarks - ### Install and Update Line of Business (LOB) applications -A workplace can automatically install and update Line of Business applications during a management session. Line of Business applications support a variety of file types including XAP (8.0 and 8.1), AppX, and AppXBundles. A workplace can also update applications from XAP file formats to Appx and AppxBundle formats through the same channel. For more information, see the Examples section. +A workplace can automatically install and update Line of Business applications during a management session. Line of Business applications supports various file types including XAP (8.0 and 8.1), AppX, and AppXBundles. A workplace can also update applications from XAP file formats to Appx and AppxBundle formats through the same channel. For more information, see the Examples section. ### Uninstall Line of Business (LOB) applications -A workplace can also remotely uninstall Line of Business applications on the device. It is not possible to use this mechanism to uninstall Store applications on the device or Line of Business applications that are not installed by the enrolled workplace (for side-loaded application scenarios). For more information, see the Examples section +A workplace can also remotely uninstall Line of Business applications on the device. It isn't possible to use this mechanism to uninstall Store applications on the device or Line of Business applications that aren't installed by the enrolled workplace (for side-loaded application scenarios). For more information, see the Examples section ### Query installed Store application @@ -240,25 +235,18 @@ Response from the device (it contains list of subnodes if this app is installed All node values under the ProviderID interior node represent the policy values that the management server wants to set. -- An Add or Replace command on those nodes returns success in both of the following cases: - - - The value is actually applied to the device. - - - The value isn’t applied to the device because the device has a more secure value set already. - +- An Add or Replace command on those nodes returns success in both of the following cases: + - The value is applied to the device. + - The value isn’t applied to the device because the device has a more secure value set already. From a security perspective, the device complies with the policy request that is at least as secure as the one requested. - -- A Get command on those nodes returns the value that the server pushes down to the device. - -- If a Replace command fails, the node value is set to be the previous value before Replace command was applied. - -- If an Add command fails, the node is not created. +- A Get command on those nodes returns the value that the server pushes down to the device. +- If a Replace command fails, the node value is set to be the previous value before Replace command was applied. +- If an Add command fails, the node is not created. The value actually applied to the device can be queried via the nodes under the DeviceValue interior node. ## OMA DM examples - Enroll enterprise ID “4000000001” for the first time: ```xml @@ -427,18 +415,15 @@ Response from the device (that contains two installed applications): ## Install and update an enterprise application - Install or update the installed app with the product ID “{B316008A-141D-4A79-810F-8B764C4CFDFB}”. -To perform an XAP update, create the Name, URL, Version, and DownloadInstall nodes first, then perform an “execute” on the “DownloadInstall” node (all within an “Atomic” operation). If the application does not exist, the application will be silently installed without any user interaction. If the application cannot be installed, the user will be notified with an Alert dialog. +To perform an XAP update, create the Name, URL, Version, and DownloadInstall nodes first, then perform an “execute” on the “DownloadInstall” node (all within an “Atomic” operation). If the application doesn't exist, the application will be silently installed without any user interaction. If the application can't be installed, the user will be notified with an Alert dialog. > [!NOTE] +> > - If a previous app-update node existed for this product ID (the node can persist for up to 1 week or 7 days after an installation has completed), then a 418 (already exist) error would be returned on the “Add”. To get around the 418 error, the server should issue a Replace command for the Name, URL, and Version nodes, and then execute on the “DownloadInstall” (within an “Atomic” operation). -> > - The application product ID curly braces need to be escaped where { is %7B and } is %7D. - - ```xmlRoot node for the Firewall configuration service provider.
+Root node for the Firewall configuration service provider. **MdmStore** -Interior node.
-Supported operation is Get.
+Interior node. +Supported operation is Get. **MdmStore/Global** -Interior node.
-Supported operations are Get.
+Interior node. +Supported operations are Get. **MdmStore/Global/PolicyVersionSupported** -Integer value that contains the maximum policy version that the server host can accept. The version number is two octets in size. The lowest-order octet is the minor version; the second-to-lowest octet is the major version. This value is not merged and is always a fixed value for a particular firewall and advanced security components software build.
-Value type in integer. Supported operation is Get.
+Integer value that contains the maximum policy version that the server host can accept. The version number is two octets in size. The lowest-order octet is the minor version; the second-to-lowest octet is the major version. This value isn't merged and is always a fixed value for a particular firewall and advanced security components software build. +Value type in integer. Supported operation is Get. **MdmStore/Global/CurrentProfiles** -Integer value that contains a bitmask of the current enforced profiles that are maintained by the server firewall host. See FW_PROFILE_TYPE for the bitmasks that are used to identify profile types. This value is available only in the dynamic store; therefore, it is not merged and has no merge law.
-Value type in integer. Supported operation is Get.
+Integer value that contains a bitmask of the current enforced profiles that are maintained by the server firewall host. See FW_PROFILE_TYPE for the bitmasks that are used to identify profile types. This value is available only in the dynamic store; therefore, it isn't merged and has no merge law. +Value type in integer. Supported operation is Get. **MdmStore/Global/DisableStatefulFtp** -Boolean value. If false, the firewall performs stateful File Transfer Protocol (FTP) filtering to allow secondary connections. True means stateful FTP is disabled. The merge law for this option is to let "true" values win.
-Default value is false.
-Data type is bool. Supported operations are Add, Get, Replace, and Delete.
+Boolean value. If false, the firewall performs stateful File Transfer Protocol (FTP) filtering to allow secondary connections. True means stateful FTP is disabled. The merge law for this option is to let "true" values win. +Default value is false. + +Data type is bool. Supported operations are Add, Get, Replace, and Delete. **MdmStore/Global/SaIdleTime** -This value configures the security association idle time, in seconds. Security associations are deleted after network traffic is not seen for this specified period of time. The value is integer and MUST be in the range of 300 to 3,600 inclusive. The merge law for this option is to let the value of the GroupPolicyRSoPStore win if it is configured; otherwise, use the local store value.
-Default value is 300.
-Value type is integer. Supported operations are Add, Get, Replace, and Delete.
+This value configures the security association idle time, in seconds. Security associations are deleted after network traffic isn't seen for this specified period of time. The value is integer and MUST be in the range of 300 to 3,600 inclusive. The merge law for this option is to let the value of the GroupPolicyRSoPStore win if it's configured; otherwise, use the local store value. +Default value is 300. +Value type is integer. Supported operations are Add, Get, Replace, and Delete. **MdmStore/Global/PresharedKeyEncoding** -Specifies the preshared key encoding that is used. The value is integer and MUST be a valid value from the PRESHARED_KEY_ENCODING_VALUES enumeration. The merge law for this option is to let the value of the GroupPolicyRSoPStore win if it is configured; otherwise, use the local store value.
-Default value is 1.
-Value type is integer. Supported operations are Add, Get, Replace, and Delete.
+Specifies the preshared key encoding that is used. The value is integer and MUST be a valid value from the [PRESHARED_KEY_ENCODING_VALUES enumeration](/openspecs/windows_protocols/ms-fasp/b9d24a5e-7755-4c60-adeb-e0c7a718f909). The merge law for this option is to let the value of the GroupPolicyRSoPStore win if it's configured; otherwise, use the local store value. +Default value is 1. +Value type is integer. Supported operations are Add, Get, Replace, and Delete. **MdmStore/Global/IPsecExempt** -This value configures IPsec exceptions. The value is integer and MUST be a combination of the valid flags that are defined in IPSEC_EXEMPT_VALUES; therefore, the maximum value MUST always be IPSEC_EXEMPT_MAX-1 for servers supporting a schema version of 0x0201 and IPSEC_EXEMPT_MAX_V2_0-1 for servers supporting a schema version of 0x0200. If the maximum value is exceeded when the method RRPC_FWSetGlobalConfig (Opnum 4) is called, the method returns ERROR_INVALID_PARAMETER. This error code is returned if no other preceding error is discovered. The merge law for this option is to let the value of the GroupPolicyRSoPStore win if it is configured; otherwise, use the local store value.
-Default value is 0.
-Value type is integer. Supported operations are Add, Get, Replace, and Delete.
+This value configures IPsec exceptions. The value is integer and MUST be a combination of the valid flags that are defined in [IPSEC_EXEMPT_VALUES](/openspecs/windows_protocols/ms-fasp/7daabd9f-74c3-4295-add6-e2402b01b191); therefore, the maximum value MUST always be IPSEC_EXEMPT_MAX-1 for servers supporting a schema version of 0x0201 and IPSEC_EXEMPT_MAX_V2_0-1 for servers supporting a schema version of 0x0200. If the maximum value is exceeded when the method RRPC_FWSetGlobalConfig (Opnum 4) is called, the method returns ERROR_INVALID_PARAMETER. This error code is returned if no other preceding error is discovered. The merge law for this option is to let the value of the GroupPolicyRSoPStore win if it's configured; otherwise, use the local store value. +Default value is 0. + +Value type is integer. Supported operations are Add, Get, Replace, and Delete. **MdmStore/Global/CRLcheck** -This value specifies how certificate revocation list (CRL) verification is enforced. The value is integer and MUST be 0, 1, or 2. The merge law for this option is to let the value of the GroupPolicyRSoPStore win if it is configured; otherwise, use the local store value. Valid valued:
-Default value is 0.
-Value type is integer. Supported operations are Add, Get, Replace, and Delete.
+This value specifies how certificate revocation list (CRL) verification is enforced. The value is integer and MUST be 0, 1, or 2. The merge law for this option is to let the value of the GroupPolicyRSoPStore win if it's configured; otherwise, use the local store value. Valid valued: + +- 0 disables CRL checking. +- 1 specifies that CRL checking is attempted and that certificate validation fails only if the certificate is revoked. Other failures that are encountered during CRL checking (such as the revocation URL being unreachable) don't cause certificate validation to fail. +- 2 means that checking is required and that certificate validation fails if any error is encountered during CRL processing. + +Default value is 0. + +Value type is integer. Supported operations are Add, Get, Replace, and Delete. **MdmStore/Global/PolicyVersion** -This value contains the policy version of the policy store being managed. This value is not merged and therefore, has no merge law.
-Value type is string. Supported operation is Get.
+This value contains the policy version of the policy store being managed. This value isn't merged and therefore, has no merge law. +Value type is string. Supported operation is Get. **MdmStore/Global/BinaryVersionSupported** -This value contains the binary version of the structures and data types that are supported by the server. This value is not merged. In addition, this value is always a fixed value for a specific firewall and advanced security component's software build. This value identifies a policy configuration option that is supported only on servers that have a schema version of 0x0201.
-Value type is string. Supported operation is Get.
+This value contains the binary version of the structures and data types that are supported by the server. This value isn't merged. In addition, this value is always a fixed value for a specific firewall and advanced security component's software build. This value identifies a policy configuration option that is supported only on servers that have a schema version of 0x0201. +Value type is string. Supported operation is Get. **MdmStore/Global/OpportunisticallyMatchAuthSetPerKM** -This value is bool used as an on/off switch. When this option is false (off), keying modules MUST ignore the entire authentication set if they do not support all of the authentication suites specified in the set. When this option is true (on), keying modules MUST ignore only the authentication suites that they don’t support. For schema versions 0x0200, 0x0201, and 0x020A, this value is invalid and MUST NOT be used.
-Boolean value. Supported operations are Add, Get, Replace, and Delete.
+This value is bool used as an on/off switch. When this option is false (off), keying modules MUST ignore the entire authentication set if they don't support all of the authentication suites specified in the set. When this option is true (on), keying modules MUST ignore only the authentication suites that they don’t support. For schema versions 0x0200, 0x0201, and 0x020A, this value is invalid and MUST NOT be used. +Boolean value. Supported operations are Add, Get, Replace, and Delete. **MdmStore/Global/EnablePacketQueue** -This value specifies how scaling for the software on the receive side is enabled for both the encrypted receive and clear text forward path for the IPsec tunnel gateway scenario. Use of this option also ensures that the packet order is preserved. The data type for this option value is integer and is a combination of flags. Valid values:
+This value specifies how scaling for the software on the receive side is enabled for both the encrypted receive and clear text forward path for the IPsec tunnel gateway scenario. Use of this option also ensures that the packet order is preserved. The data type for this option value is integer and is a combination of flags. Valid values: -Default value is 0.
-Value type is integer. Supported operations are Add, Get, Replace, and Delete.
+Default value is 0. + +Value type is integer. Supported operations are Add, Get, Replace, and Delete. **MdmStore/DomainProfile** -Interior node. Supported operation is Get.
+Interior node. Supported operation is Get. **MdmStore/PrivateProfile** -Interior node. Supported operation is Get.
+Interior node. Supported operation is Get. **MdmStore/PublicProfile** -Interior node. Supported operation is Get.
+Interior node. Supported operation is Get. **/EnableFirewall** -Boolean value for the firewall and advanced security enforcement. If this value is false, the server MUST NOT block any network traffic, regardless of other policy settings. The merge law for this option is to let the value of the GroupPolicyRSoPStore win if it is configured; otherwise, the local store value is used.
-Default value is true.
-Value type is bool. Supported operations are Add, Get and Replace.
+Boolean value for the firewall and advanced security enforcement. If this value is false, the server MUST NOT block any network traffic, regardless of other policy settings. The merge law for this option is to let the value of the GroupPolicyRSoPStore win if it's configured; otherwise, the local store value is used. +Default value is true. + +Value type is bool. Supported operations are Add, Get and Replace. **/DisableStealthMode** -Boolean value. When this option is false, the server operates in stealth mode. The firewall rules used to enforce stealth mode are implementation-specific. The merge law for this option is to let the value of the GroupPolicyRSoPStore win if it is configured; otherwise, the local store value is used.
-Default value is false.
-Value type is bool. Supported operations are Add, Get and Replace.
+Boolean value. When this option is false, the server operates in stealth mode. The firewall rules used to enforce stealth mode are implementation-specific. The merge law for this option is to let the value of the GroupPolicyRSoPStore win if it's configured; otherwise, the local store value is used. +Default value is false. + +Value type is bool. Supported operations are Add, Get and Replace. **/Shielded** -Boolean value. If this value is true and EnableFirewall is on, the server MUST block all incoming traffic regardless of other policy settings. The merge law for this option is to let "true" values win.
-Default value is false.
-Value type is bool. Supported operations are Get and Replace.
+Boolean value. If this value is true and EnableFirewall is on, the server MUST block all incoming traffic regardless of other policy settings. The merge law for this option is to let "true" values win. +Default value is false. + +Value type is bool. Supported operations are Get and Replace. **/DisableUnicastResponsesToMulticastBroadcast** -Boolean value. If it is true, unicast responses to multicast broadcast traffic is blocked. The merge law for this option is to let the value of the GroupPolicyRSoPStore win if it is configured; otherwise, the local store value is used.
-Default value is false.
-Value type is bool. Supported operations are Add, Get and Replace.
+Boolean value. If it's true, unicast responses to multicast broadcast traffic are blocked. The merge law for this option is to let the value of the GroupPolicyRSoPStore win if it's configured; otherwise, the local store value is used. +Default value is false. + +Value type is bool. Supported operations are Add, Get and Replace. **/DisableInboundNotifications** -Boolean value. If this value is false, the firewall MAY display a notification to the user when an application is blocked from listening on a port. If this value is on, the firewall MUST NOT display such a notification. The merge law for this option is to let the value of the GroupPolicyRSoPStore win if it is configured; otherwise, the local store value is used.
-Default value is false.
-Value type is bool. Supported operations are Add, Get and Replace.
+Boolean value. If this value is false, the firewall MAY display a notification to the user when an application is blocked from listening on a port. If this value is on, the firewall MUST NOT display such a notification. The merge law for this option is to let the value of the GroupPolicyRSoPStore win if it's configured; otherwise, the local store value is used. +Default value is false. + +Value type is bool. Supported operations are Add, Get and Replace. **/AuthAppsAllowUserPrefMerge** -Boolean value. If this value is false, authorized application firewall rules in the local store are ignored and not enforced. The merge law for this option is to let the value of the GroupPolicyRSoPStore win if it is configured; otherwise, the local store value is used.
-Default value is true.
-Value type is bool. Supported operations are Add, Get and Replace.
+Boolean value. If this value is false, authorized application firewall rules in the local store are ignored and not enforced. The merge law for this option is to let the value of the GroupPolicyRSoPStore win if it's configured; otherwise, the local store value is used. +Default value is true. + +Value type is bool. Supported operations are Add, Get and Replace. **/GlobalPortsAllowUserPrefMerge** -Boolean value. If this value is false, global port firewall rules in the local store are ignored and not enforced. The setting only has meaning if it is set or enumerated in the Group Policy store or if it is enumerated from the GroupPolicyRSoPStore. The merge law for this option is to let the value GroupPolicyRSoPStore win if it is configured; otherwise, the local store value is used.
-Default value is true.
-Value type is bool. Supported operations are Add, Get and Replace.
+Boolean value. If this value is false, global port firewall rules in the local store are ignored and not enforced. The setting only has meaning if it's set or enumerated in the Group Policy store or if it's enumerated from the GroupPolicyRSoPStore. The merge law for this option is to let the value GroupPolicyRSoPStore win if it's configured; otherwise, the local store value is used. +Default value is true. + +Value type is bool. Supported operations are Add, Get and Replace. **/AllowLocalPolicyMerge** -Boolean value. If this value is false, firewall rules from the local store are ignored and not enforced. The merge law for this option is to always use the value of the GroupPolicyRSoPStore. This value is valid for all schema versions.
-Default value is true.
-Value type is bool. Supported operations are Add, Get and Replace.
+Boolean value. If this value is false, firewall rules from the local store are ignored and not enforced. The merge law for this option is to always use the value of the GroupPolicyRSoPStore. This value is valid for all schema versions. +Default value is true. + +Value type is bool. Supported operations are Add, Get and Replace. **/AllowLocalIpsecPolicyMerge** -Boolean value. If this value is false, connection security rules from the local store are ignored and not enforced, regardless of the schema version and connection security rule version. The merge law for this option is to always use the value of the GroupPolicyRSoPStore.
-Default value is true.
-Value type is bool. Supported operations are Add, Get and Replace.
+Boolean value. If this value is false, connection security rules from the local store are ignored and not enforced, regardless of the schema version and connection security rule version. The merge law for this option is to always use the value of the GroupPolicyRSoPStore. +Default value is true. + +Value type is bool. Supported operations are Add, Get and Replace. **/DefaultOutboundAction** -This value is the action that the firewall does by default (and evaluates at the very end) on outbound connections. The merge law for this option is to let the value of the GroupPolicyRSoPStore win if it is configured; otherwise, the local store value is used. DefaultOutboundAction will block all outbound traffic unless it is explicitly specified not to block.
-Default value is 0 (allow).
-Value type is integer. Supported operations are Add, Get and Replace.
+This value is the action that the firewall does by default (and evaluates at the very end) on outbound connections. The merge law for this option is to let the value of the GroupPolicyRSoPStore win if it's configured; otherwise, the local store value is used. DefaultOutboundAction will block all outbound traffic unless it's explicitly specified not to block. + +- 0x00000000 - allow +- 0x00000001 - block + +Default value is 0 (allow). + +Value type is integer. Supported operations are Add, Get and Replace. Sample syncxml to provision the firewall settings to evaluate @@ -261,163 +283,169 @@ Sample syncxml to provision the firewall settings to evaluateThis value is the action that the firewall does by default (and evaluates at the very end) on inbound connections. The merge law for this option is to let the value of the GroupPolicyRSoPStore.win if it is configured; otherwise, the local store value is used.
-Default value is 1 (block).
-Value type is integer. Supported operations are Add, Get and Replace.
+This value is the action that the firewall does by default (and evaluates at the very end) on inbound connections. The merge law for this option is to let the value of the GroupPolicyRSoPStore.win if it's configured; otherwise, the local store value is used. + +- 0x00000000 - allow +- 0x00000001 - block + +Default value is 1 (block). +Value type is integer. Supported operations are Add, Get and Replace. **/DisableStealthModeIpsecSecuredPacketExemption** -Boolean value. This option is ignored if DisableStealthMode is true. Otherwise, when this option is true, the firewall's stealth mode rules MUST NOT prevent the host computer from responding to unsolicited network traffic if that traffic is secured by IPsec. The merge law for this option is to let the value of the GroupPolicyRSoPStore win if it is configured; otherwise, the local store value is used. For schema versions 0x0200, 0x0201, and 0x020A, this value is invalid and MUST NOT be used.
-Default value is true.
-Value type is bool. Supported operations are Add, Get and Replace.
+Boolean value. This option is ignored if DisableStealthMode is true. Otherwise, when this option is true, the firewall's stealth mode rules MUST NOT prevent the host computer from responding to unsolicited network traffic if that traffic is secured by IPsec. The merge law for this option is to let the value of the GroupPolicyRSoPStore win if it's configured; otherwise, the local store value is used. For schema versions 0x0200, 0x0201, and 0x020A, this value is invalid and MUST NOT be used. +Default value is true. + +Value type is bool. Supported operations are Add, Get and Replace. **FirewallRules** -A list of rules controlling traffic through the Windows Firewall. Each Rule ID is OR'ed. Within each rule ID each Filter type is AND'ed.
+A list of rules controlling traffic through the Windows Firewall. Each Rule ID is OR'ed. Within each rule ID each Filter type is AND'ed. **FirewallRules/_FirewallRuleName_** -Unique alpha numeric identifier for the rule. The rule name must not include a forward slash (/).
-Supported operations are Add, Get, Replace, and Delete.
+Unique alpha numeric identifier for the rule. The rule name must not include a forward slash (/). +Supported operations are Add, Get, Replace, and Delete. **FirewallRules/_FirewallRuleName_/App** -Rules that control connections for an app, program, or service. Specified based on the intersection of the following nodes:
-If not specified, the default is All.
-Supported operation is Get.
+Rules that control connections for an app, program, or service. Specified based on the intersection of the following nodes: + +- PackageFamilyName +- FilePath +- FQBN +- ServiceName + +If not specified, the default is All. +Supported operation is Get. **FirewallRules/_FirewallRuleName_/App/PackageFamilyName** -This App/Id value represents the PackageFamilyName of the app. The PackageFamilyName is the unique name of a Microsoft Store application.
-Value type is string. Supported operations are Add, Get, Replace, and Delete.
+This App/Id value represents the PackageFamilyName of the app. The PackageFamilyName is the unique name of a Microsoft Store application. +Value type is string. Supported operations are Add, Get, Replace, and Delete. **FirewallRules/_FirewallRuleName_/App/FilePath** -This App/Id value represents the full file path of the app. For example, C:\Windows\System\Notepad.exe.
-Value type is string. Supported operations are Add, Get, Replace, and Delete.
+This App/Id value represents the full file path of the app. For example, C:\Windows\System\Notepad.exe. +Value type is string. Supported operations are Add, Get, Replace, and Delete. **FirewallRules/_FirewallRuleName_/App/Fqbn** -Fully Qualified Binary Name
-Value type is string. Supported operations are Add, Get, Replace, and Delete.
+Fully Qualified Binary Name +Value type is string. Supported operations are Add, Get, Replace, and Delete. **FirewallRules/_FirewallRuleName_/App/ServiceName** -This is a service name used in cases when a service, not an application, is sending or receiving traffic.
-Value type is string. Supported operations are Add, Get, Replace, and Delete.
+This is a service name used in cases when a service, not an application, is sending or receiving traffic. +Value type is string. Supported operations are Add, Get, Replace, and Delete. **FirewallRules/_FirewallRuleName_/Protocol** -0-255 number representing the ip protocol (TCP = 6, UDP = 17)
-If not specified, the default is All.
-Value type is integer. Supported operations are Add, Get, Replace, and Delete.
+0-255 number representing the ip protocol (TCP = 6, UDP = 17) +If not specified, the default is All. +Value type is integer. Supported operations are Add, Get, Replace, and Delete. **FirewallRules/_FirewallRuleName_/LocalPortRanges** -Comma separated list of ranges. For example, 100-120,200,300-320.
-If not specified, the default is All.
-Value type is string. Supported operations are Add, Get, Replace, and Delete.
+Comma separated list of ranges. For example, 100-120,200,300-320. +If not specified, the default is All. +Value type is string. Supported operations are Add, Get, Replace, and Delete. **FirewallRules/_FirewallRuleName_/RemotePortRanges** -Comma separated list of ranges, For example, 100-120,200,300-320.
-If not specified, the default is All.
-Value type is string. Supported operations are Add, Get, Replace, and Delete.
+Comma separated list of ranges, For example, 100-120,200,300-320. +If not specified, the default is All. +Value type is string. Supported operations are Add, Get, Replace, and Delete. **FirewallRules/*FirewallRuleName*/LocalAddressRanges** -Comma separated list of local addresses covered by the rule. The default value is "*". Valid tokens include:
-If not specified, the default is All.
-Value type is string. Supported operations are Add, Get, Replace, and Delete.
+Comma separated list of local addresses covered by the rule. The default value is "*". Valid tokens include: + +- "*" indicates any local address. If present, this must be the only token included. +- A subnet can be specified using either the subnet mask or network prefix notation. If neither a subnet mask nor a network prefix is specified, the subnet mask defaults to 255.255.255.255. +- A valid IPv6 address. +- An IPv4 address range in the format of "start address - end address" with no spaces included. +- An IPv6 address range in the format of "start address - end address" with no spaces included. + +If not specified, the default is All. +Value type is string. Supported operations are Add, Get, Replace, and Delete. **FirewallRules/*FirewallRuleName*/RemoteAddressRanges** -List of comma separated tokens specifying the remote addresses covered by the rule. The default value is "*". Valid tokens include:
-If not specified, the default is All.
-Value type is string. Supported operations are Add, Get, Replace, and Delete.
-The tokens "Intranet", "RmtIntranet", "Internet" and "Ply2Renders" are supported on Windows 10, version 1809, and later.
+List of comma separated tokens specifying the remote addresses covered by the rule. The default value is "*". Valid tokens include: + +- "*" indicates any remote address. If present, this must be the only token included. +- "Defaultgateway" +- "DHCP" +- "DNS" +- "WINS" +- "Intranet" +- "RmtIntranet" +- "Internet" +- "Ply2Renders" +- "LocalSubnet" indicates any local address on the local subnet. This token is not case-sensitive. +- A subnet can be specified using either the subnet mask or network prefix notation. If neither a subnet mask not a network prefix is specified, the subnet mask defaults to 255.255.255.255. +- A valid IPv6 address. +- An IPv4 address range in the format of "start address - end address" with no spaces included. +- An IPv6 address range in the format of "start address - end address" with no spaces included. + +If not specified, the default is All. +Value type is string. Supported operations are Add, Get, Replace, and Delete. +The tokens "Intranet", "RmtIntranet", "Internet" and "Ply2Renders" are supported on Windows 10, version 1809, and later. **FirewallRules/_FirewallRuleName_/Description** -Specifies the description of the rule.
-Value type is string. Supported operations are Add, Get, Replace, and Delete.
+Specifies the description of the rule. +Value type is string. Supported operations are Add, Get, Replace, and Delete. **FirewallRules/_FirewallRuleName_/Enabled** -Indicates whether the rule is enabled or disabled. If the rule must be enabled, this value must be set to true. -
If not specified - a new rule is enabled by default.
-Boolean value. Supported operations are Get and Replace.
+Indicates whether the rule is enabled or disabled. If the rule must be enabled, this value must be set to true. +If not specified - a new rule is enabled by default. +Boolean value. Supported operations are Get and Replace. **FirewallRules/_FirewallRuleName_/Profiles** -Specifies the profiles to which the rule belongs: Domain, Private, Public. . See FW_PROFILE_TYPE for the bitmasks that are used to identify profile types.
-If not specified, the default is All.
-Value type is integer. Supported operations are Get and Replace.
+Specifies the profiles to which the rule belongs: Domain, Private, Public. . See [FW_PROFILE_TYPE](/openspecs/windows_protocols/ms-fasp/7704e238-174d-4a5e-b809-5f3787dd8acc) for the bitmasks that are used to identify profile types. +If not specified, the default is All. +Value type is integer. Supported operations are Get and Replace. **FirewallRules/_FirewallRuleName_/Action** -Specifies the action for the rule.
-Supported operation is Get.
+Specifies the action for the rule. +Supported operation is Get. **FirewallRules/_FirewallRuleName_/Action/Type** -Specifies the action the rule enforces. Supported values:
-If not specified, the default is allow.
-Value type is integer. Supported operations are Get and Replace.
+Specifies the action the rule enforces. Supported values: + +- 0 - Block +- 1 - Allow + +If not specified, the default is allow. +Value type is integer. Supported operations are Get and Replace. **FirewallRules/_FirewallRuleName_/Direction** -The rule is enabled based on the traffic direction as following. Supported values:
-Value type is string. Supported operations are Get and Replace.
+The rule is enabled based on the traffic direction as following. Supported values: + +- IN - the rule applies to inbound traffic. +- OUT - the rule applies to outbound traffic. +- If not specified, the default is Out. + +Value type is string. Supported operations are Get and Replace. **FirewallRules/_FirewallRuleName_/InterfaceTypes** -Comma separated list of interface types. Valid values:
-If not specified, the default is All.
-Value type is string. Supported operations are Get and Replace.
+Comma separated list of interface types. Valid values: + +- RemoteAccess +- Wireless +- Lan + +If not specified, the default is All. +Value type is string. Supported operations are Get and Replace. **FirewallRules/_FirewallRuleName_/EdgeTraversal** -Indicates whether edge traversal is enabled or disabled for this rule.
-The EdgeTraversal setting indicates that specific inbound traffic is allowed to tunnel through NATs and other edge devices using the Teredo tunneling technology. In order for this setting to work correctly, the application or service with the inbound firewall rule needs to support IPv6. The primary application of this setting allows listeners on the host to be globally addressable through a Teredo IPv6 address.
-New rules have the EdgeTraversal property disabled by default.
-Value type is bool. Supported operations are Add, Get, Replace, and Delete.
+Indicates whether edge traversal is enabled or disabled for this rule. +The EdgeTraversal setting indicates that specific inbound traffic is allowed to tunnel through NATs and other edge devices using the Teredo tunneling technology. In order for this setting to work correctly, the application or service with the inbound firewall rule needs to support IPv6. The primary application of this setting allows listeners on the host to be globally addressable through a Teredo IPv6 address. +New rules have the EdgeTraversal property disabled by default. +Value type is bool. Supported operations are Add, Get, Replace, and Delete. **FirewallRules/_FirewallRuleName_/LocalUserAuthorizationList** -Specifies the list of authorized local users for this rule. This is a string in Security Descriptor Definition Language (SDDL) format.
-Value type is string. Supported operations are Add, Get, Replace, and Delete.
+Specifies the list of authorized local users for this rule. This is a string in Security Descriptor Definition Language (SDDL) format. +Value type is string. Supported operations are Add, Get, Replace, and Delete. **FirewallRules/_FirewallRuleName_/Status** -Provides information about the specific version of the rule in deployment for monitoring purposes.
-Value type is string. Supported operation is Get.
+Provides information about the specific version of the rule in deployment for monitoring purposes. +Value type is string. Supported operation is Get. **FirewallRules/_FirewallRuleName_/Name** -Name of the rule.
-Value type is string. Supported operations are Add, Get, Replace, and Delete.
+Name of the rule. +Value type is string. Supported operations are Add, Get, Replace, and Delete. + +## Related topics + +[Configuration service provider reference](configuration-service-provider-reference.md) \ No newline at end of file diff --git a/windows/client-management/mdm/healthattestation-csp.md b/windows/client-management/mdm/healthattestation-csp.md index 2513599a28..12e4ef5132 100644 --- a/windows/client-management/mdm/healthattestation-csp.md +++ b/windows/client-management/mdm/healthattestation-csp.md @@ -14,18 +14,28 @@ ms.date: # Device HealthAttestation CSP +The table below shows the applicability of Windows: + +|Edition|Windows 10|Windows 11| +|--- |--- |--- | +|Home|Yes|Yes| +|Pro|Yes|Yes| +|Business|Yes|Yes| +|Enterprise|Yes|Yes| +|Education|Yes|Yes| + The Device HealthAttestation configuration service provider (DHA-CSP) enables enterprise IT administrators to assess if a device is booted to a trusted and compliant state, and to take enterprise policy actions. The following is a list of functions performed by the Device HealthAttestation CSP: -- Collects device boot logs, Trusted Platform Module (TPM) audit trails and the TPM certificate (DHA-BootData) from a managed device -- Forwards DHA-BootData to a Device Health Attestation Service (DHA-Service) -- Receives an encrypted blob (DHA-EncBlob) from DHA-Service, and stores it in a local cache on the device -- Receives attestation requests (DHA-Requests) from a DHA-Enabled MDM, and replies with Device Health Attestation data (DHA-Data) +- Collects device boot logs, Trusted Platform Module (TPM) audit trails and the TPM certificate (DHA-BootData) from a managed device +- Forwards DHA-BootData to a Device Health Attestation Service (DHA-Service) +- Receives an encrypted blob (DHA-EncBlob) from DHA-Service, and stores it in a local cache on the device +- Receives attestation requests (DHA-Requests) from a DHA-Enabled MDM, and replies with Device Health Attestation data (DHA-Data) ## Windows 11 Device health attestation -Windows 11 introduces an update to the device health attestation feature. This helps add support for deeper insights to Windows boot security, supporting a zero trust approach to device security. Device health attestation on Windows can be accessed by using the HealthAttestation CSP. This CSP helps assess if a device is booted to a trusted and compliant state and then to take appropriate action. Windows 11 introduces additional child nodes to the HealthAttestation node for the MDM providers to connect to the Microsoft Azure Attestation service, which provides a simplified approach to attestation. +Windows 11 introduces an update to the device health attestation feature. This helps add support for deeper insights to Windows boot security, supporting a zero trust approach to device security. Device health attestation on Windows can be accessed by using the HealthAttestation CSP. This CSP helps assess if a device is booted to a trusted and compliant state and then to take appropriate action. Windows 11 introduces extra child nodes to the HealthAttestation node for the MDM providers to connect to the Microsoft Azure Attestation service, which provides a simplified approach to attestation. The attestation report provides a health assessment of the boot-time properties of the device to ensure that the devices are automatically secure as soon as they power on. The health attestation result can then be used to allow or deny access to networks, apps, or services, depending on the health of the device. @@ -48,7 +58,7 @@ The attestation report provides a health assessment of the boot-time properties - **MAA endpoint**: Microsoft Azure attestation service is an Azure resource, and every instance of the service gets administrator configured URL. The URI generated is unique in nature and for the purposes of device health attestation is known as the MAA endpoint. -- **JWT (JSON Web Token)**: JSON Web Token (JWT) is an open standard RFC7519 method for securely transmitting information between parties as a JavaScript Object Notation (JSON) object. This information can be verified and trusted because it is digitally signed. JWTs can be signed using a secret or a public/private key pair. +- **JWT (JSON Web Token)**: JSON Web Token (JWT) is an open standard RFC7519 method for securely transmitting information between parties as a JavaScript Object Notation (JSON) object. This information can be verified and trusted because it's digitally signed. JWTs can be signed using a secret or a public/private key pair. ### Attestation Flow with Microsoft Azure Attestation Service @@ -63,6 +73,7 @@ Attestation flow can be broadly in three main steps: For more information, see [Attestation Protocol](/azure/attestation/virtualization-based-security-protocol). ### Configuration Service Provider Nodes + Windows 11 introduces additions to the HealthAttestation CSP node to integrate with Microsoft Azure Attestation service. ```console @@ -125,10 +136,10 @@ Templated SyncML Call: Data fields: - rpID (Relying Party Identifier): This field contains an identifier that can be used to help determine the caller. -- serviceEndpoint : This field contains the complete URL of the Microsoft Azure Attestation provider instance to be used for evaluation. -- nonce : This field contains an arbitrary number that can be used just once in a cryptographic communication. It is often a random or pseudo-random number issued in an authentication protocol to ensure that old communications cannot be reused in replay attacks. +- serviceEndpoint: This field contains the complete URL of the Microsoft Azure Attestation provider instance to be used for evaluation. +- nonce: This field contains an arbitrary number that can be used once in a cryptographic communication. It's often a random or pseudo-random number issued in an authentication protocol to ensure that old communications can't be reused in replay attacks. - aadToken: The AAD token to be used for authentication against the Microsoft Azure Attestation service. -- cv: This field contains an identifier(Correlation Vector) that will passed in to the service call, that can be used for diagnostics purposes. +- cv: This field contains an identifier(Correlation Vector) that will be passed in to the service call, that can be used for diagnostics purposes. Sample Data: @@ -182,7 +193,7 @@ Example: 0x80072efd, WININET_E_CANNOT_CONNECT Node type: GET -This node will retrieve the attestation report per the call made by the TriggerAttestation, if there is any, for the given MDM provider. The report is stored in a registry key in the respective MDM enrollment store. +This node will retrieve the attestation report per the call made by the TriggerAttestation, if there's any, for the given MDM provider. The report is stored in a registry key in the respective MDM enrollment store. Templated SyncML Call: @@ -217,7 +228,7 @@ OR Sync ML 404 error if not cached report available. Node type: GET -This node will retrieve the service-generated correlation IDs for the given MDM provider. If there is more than one correlation ID, they are separated by “;” in the string. +This node will retrieve the service-generated correlation IDs for the given MDM provider. If there's more than one correlation ID, they're separated by “;” in the string. Templated SyncML Call: @@ -249,8 +260,7 @@ calls between client and MAA and for each call the GUID is separated by semicolo ``` > [!NOTE] -> > MAA CSP nodes are available on arm64 but is not currently supported. - +> MAA CSP nodes are available on arm64 but is not currently supported. ### MAA CSP Integration Steps @@ -490,7 +500,7 @@ More information about TPM attestation can be found here: [Microsoft Azure Attes - DHA-BootData: the device boot data (TCG logs, PCR values, device/TPM certificate, boot, and TPM counters) that are required for validating device boot health. - DHA-EncBlob: an encrypted summary report that DHA-Service issues to a device after reviewing the DHA-BootData it receives from devices. - - DHA-SignedBlob: it is a signed snapshot of the current state of a device’s runtime that is captured by DHA-CSP at device health attestation time. + - DHA-SignedBlob: it's a signed snapshot of the current state of a device’s runtime that is captured by DHA-CSP at device health attestation time. - DHA-Data: an XML formatted data blob that devices forward for device health validation to DHA-Service via MDM-Server. DHA-Data has two parts: - DHA-EncBlob: the encrypted data blob that the device receives from DHA-Service @@ -510,7 +520,7 @@ More information about TPM attestation can be found here: [Microsoft Azure Attes - Collects device health attestation data (DHA-Data), and sends it to Device Health Attestation Service (DHA-Service) for verification - Gets the device health report (DHA-Report) from DHA-Service, which triggers compliance action -- **DHA-CSP (Device HealthAttestation Configuration Service Provider)**: The Device HealthAttestation Configuration Service Provider (DHA-CSP) uses a device’s TPM and firmware to measure critical security properties of the device’s BIOS and Windows boot, such that even on a system infected with kernel level malware or a rootkit, these properties cannot be spoofed. +- **DHA-CSP (Device HealthAttestation Configuration Service Provider)**: The Device HealthAttestation Configuration Service Provider (DHA-CSP) uses a device’s TPM and firmware to measure critical security properties of the device’s BIOS and Windows boot, such that even on a system infected with kernel level malware or a rootkit, these properties can't be spoofed. The following list of operations is performed by DHA-CSP: @@ -536,7 +546,7 @@ More information about TPM attestation can be found here: [Microsoft Azure Attes |--- |--- |--- | |Device Health Attestation – Cloud (DHA-Cloud)|DHA-Cloud is a Microsoft owned and operated DHA-Service that is:Root node for the Messaging configuration service provider.
+Root node for the Messaging configuration service provider. **AuditingLevel** -Turns on the "Text" auditing feature.
-The following list shows the supported values:
-Supported operations are Get and Replace.
+Turns on the "Text" auditing feature. +The following list shows the supported values: + +- 0 (Default) - Off +- 1 - On + +Supported operations are Get and Replace. **Auditing** -Node for auditing.
-Supported operation is Get.
+Node for auditing. +Supported operation is Get. **Messages** -Node for messages.
-Supported operation is Get.
+Node for messages. +Supported operation is Get. **Count** -The number of messages to return in the Data setting. The default is 100.
-Supported operations are Get and Replace.
+The number of messages to return in the Data setting. The default is 100. +Supported operations are Get and Replace. **RevisionId** -Retrieves messages whose revision ID is greater than RevisionId.
-Supported operations are Get and Replace.
+Retrieves messages whose revision ID is greater than RevisionId. +Supported operations are Get and Replace. **Data** -The JSON string of text messages on the device.
-Supported operations are Get and Replace.
- +The JSON string of text messages on the device. +Supported operations are Get and Replace. **SyncML example** @@ -111,3 +110,7 @@ Messaging