A cloud-native solution that protects workloads across hybrid and multi-cloud environments with threat detection and security recommendations
Hello @Berlin Russel
Certificate authentication itself isn't the issue here. A certificate and a client secret are simply different credentials for obtaining an app-only token through the client credentials flow. They don't change how Defender authorizes the application.
For these Vulnerability Management export APIs, Microsoft documents:
Application: Vulnerability.Read.All
Delegated: Vulnerability.Read
The application permission is tenant-wide. The documentation doesn't provide a supported method to restrict Vulnerability.Read.All to a particular Defender device/RBAC group.
This is also an important distinction with Defender device-group RBAC. Microsoft documents device-group enforcement specifically for user-context access, while Unified RBAC role assignments are made to users or Entra security groups. There is currently no documented configuration for assigning a certificate-authenticated service principal to a Defender for Endpoint device group for these export APIs.
So creating five certificate-authenticated app registrations wouldn't solve the problem either. If each application has Vulnerability.Read.All, each can still retrieve tenant-wide vulnerability data.
For app-only ingestion today, the supported approach is therefore to use the export/delta API and filter by RbacGroupId / RbacGroupName after retrieval. The export API itself doesn't support those properties as server-side filters.
If strict server-side separation per business unit is required, I would recommend opening a Microsoft support/feature request, because device-group-scoped app-only access isn't currently documented as a supported capability for these Vulnerability Management export APIs.
If this answer helps, please mark it as Answered.