The documented VMMS interface does not expose per-principal AF_HYPERV bind/connect authorization, so the requested endpoint-exclusion model cannot currently be treated as officially supported for an ordinary VMMS-managed Hyper-V VM.
What is documented for VMMS-managed VMs
For standard Hyper-V, service registration creates a Service-ID registry entry and provides permission to communicate with VMs; registration must be performed as administrator. The documented entry contains only the Service GUID and ElementName. It does not document a service-specific security descriptor, caller ACL, or process identity restriction.^1^
The corresponding root\virtualization\v2 class exposes only:
-
Name: the Service-ID GUID. -
EnabledStatePolicy: enabled, disabled, or deferred.
It exposes no bind ACL, connect ACL, owner, or effective authorization policy.^2^
Consequently:
- Host account restrictions: No documented VMMS WMI, Hyper-V PowerShell, or Hyper-V Manager interface assigns an account/token/security descriptor to a custom Service-ID.
- Guest process restrictions: No documented VMMS setting restricts a Service-ID to one guest process or Windows principal. The VM ID and Service ID identify the partition and service, not an authorized guest process.
- Policy inspection: The VMMS API can enumerate the Service-ID and enabled state, but no documented API returns an effective endpoint ACL.
This is an absence of a documented supported interface, not proof that no internal enforcement exists.
Why the HCS security descriptors do not establish VMMS support
The HCS schema explicitly defines:
-
BindSecurityDescriptor: checked before a host process binds to a service. -
ConnectSecurityDescriptor: checked before a host process connects to a service. -
AllowWildcardBinds: controls wildcard binds for that service/system combination.^3^
However, HCS manages compute systems created through HCS configuration documents. Its lifecycle model requires the application to create and recreate the ephemeral compute system and pass its JSON configuration to HCS.^4^ HcsCreateComputeSystem accepts that JSON when creating a new HCS compute system; its separate securityDescriptor parameter is reserved and must be NULL.^5^
Nothing in the cited VMMS WMI contract maps HvSocketServiceConfig into an existing VMMS-managed VM. Therefore, the HCS fields should not be applied to an ordinary Hyper-V Manager/VMMS VM unless Microsoft publishes a supported bridge or the product team explicitly confirms one.
Those fields also describe checks on host processes. They do not document guest-token or guest-process authorization, so even an HCS-created VM would not, from this schema alone, satisfy the requirement to distinguish a trusted guest supervisor from another guest process.
Privilege and socket-semantics questions
The documentation establishes these points only:
- Creating the host Service-ID registration requires administrator elevation.^1^
-
socket,bind,connect,listen, andacceptare supported for Hyper-V sockets. - Zero/wildcard accepts all partitions,
HV_GUID_CHILDRENaccepts child partitions, andHV_GUID_PARENTaddresses the host from a VM.^1^
The available documentation does not specify:
- The minimum token or group membership for a runtime host receiver.
- Duplicate-bind and competing-listener behavior for identical VM-ID/Service-ID tuples.
-
SO_REUSEADDRsemantics forAF_HYPERV. - Support for
SO_EXCLUSIVEADDRUSEonAF_HYPERV.
General Winsock documentation says SO_EXCLUSIVEADDRUSE prevents another socket from binding to the same address and port, but its detailed semantics are expressed in terms of IP interfaces and ports, not Hyper-V GUID endpoints.^6^ The Hyper-V socket page lists only HVSOCKET_CONNECTED_SUSPEND as an HvSocket-specific option.^1^ Therefore, SO_EXCLUSIVEADDRUSE support for this address family is unconfirmed, not documented as supported or unsupported. A runtime setsockopt test would characterize a particular build but would not create a Microsoft support guarantee.
Other host/guest channels
A custom Service-ID does not govern all VMBus communication. Hyper-V includes separate integration services for heartbeat, shutdown, time synchronization, KVP data exchange, VSS, file copy, and PowerShell Direct.^7^
PowerShell Direct works without networking and requires the caller to be a Hyper-V administrator plus supply valid guest credentials.^8^ Disable unneeded guest integration services separately. Shielded Generation 2 VMs disable PowerShell Direct, console connections, and certain integration components, but shielding does not document per-process HvSocket Service-ID ACLs.^9^
Versions and supportable design
Hyper-V sockets are documented for Windows 10/Windows Server 2016 and later hosts and guests; development requires a Windows SDK later than build 14290. Supported Linux guests require the documented VSOCK kernel options.^1^ Thus Windows 11 Pro is within the documented host range, but that does not add the missing VMMS ACL contract.
For a design requiring OS-enforced separation between mutually untrusted guest workers, place them in separate VM partitions and bind the receiver to the specific VM ID rather than a wildcard. Hyper-V documents partitions as its isolation boundary.^10^ Retain cryptographic mutual authentication because VM-ID targeting is not documented as principal-level authorization.
For formal supportability, open a Microsoft support case requesting written confirmation from the Hyper-V/HvSocket product group on:
- Whether
HvSocketServiceConfigcan be attached to VMMS-owned VMs. - Whether guest token checks exist.
- Runtime receiver privileges and duplicate-bind semantics.
-
SO_EXCLUSIVEADDRUSEsupport forAF_HYPERV. - A supported API for reading effective HvSocket descriptors.
Until confirmed, these items should remain security assumptions rather than platform guarantees.
References
- Make your own integration services
- Msvm_GuestCommunicationServiceSettingData class
- JSON Schema Reference
- Host Compute System Overview
- HcsCreateComputeSystem
- Using SO_REUSEADDR and SO_EXCLUSIVEADDRUSE
- Hyper-V integration services
- Virtual machine automation and management using PowerShell
- Hyper-V generation 2 virtual machine security features
- Hyper-V Architecture