Microsoft Purview Data Quality API: Service Principal Can Read Rules but Cannot Create Rules (403 Unauthorized)

Jacob V 0 Reputation points
2026-08-19T13:41:27.6066667+00:00

Hi,

Does Microsoft Purview Data Quality support create/update/delete operations using Service Principal authentication?

Or are Data Quality write operations restricted to delegated user permissions (user_impersonation)?

If Service Principal write access is supported:

  • What additional permissions are required?
  • Are there any additional Entra ID API permissions that must be granted?
  • Are there separate Data Quality roles required beyond Collection Administrator / Data Curator / Data Reader?

Any guidance would be appreciated.

Thanks.

Microsoft Security | Microsoft Purview

2 answers

Sort by: Most helpful
  1. Himaja Y 275 Reputation points Microsoft External Staff Moderator
    2026-08-20T11:26:35.7266667+00:00

    Hi @Jacob V ,

    Thank you for the update.

    Since the Service Principal can successfully execute the GET /global-rules API (HTTP 200), authentication, token scope, and the assigned Purview roles appear to be configured correctly.

    However, the POST /global-rules request returns 403 Unauthorized ("Not authorized to access account") even though the Service Principal has Collection Administrator, Data Curator, and Data Reader roles.

    This suggests that the issue is specific to Data Quality write operations rather than authentication. Based on the current documentation, it is not clear whether creating Data Quality rules through a Service Principal is fully supported or if certain write operations require delegated user permissions.

    At this point, this could be:

    • A limitation of Service Principal support for Data Quality rule creation.
    • An undocumented permission requirement for Data Quality authoring operations.
    • A service-side authorization issue specific to the Data Quality API.

    As the required roles have already been assigned and read operations are working, we recommend engaging Microsoft Support to confirm whether POST /global-rules is supported with Service Principal authentication and whether any additional permissions are required.

    Was this answer helpful?

    0 comments No comments

  2. Jacob V 0 Reputation points
    2026-08-19T16:48:54.0866667+00:00

    Hi @Himaja Y

    I have verified the Service Principal has the required roles and the correct access token. The service principal can successfully execute GET .../global-rules and receives HTTP 200, however POST .../global-rules return "Not authorized to access account".

    1. The exact API being called(Create Rule, Update Rule, Delete Rule, etc.) POST https://<tenant>-api.purview-service.microsoft.com /datagovernance/quality/business-domains/<domain-id> /data-products/<product-id> /data-assets/<asset-id> /global-rules
    2. The full 403 response body (including error code and message) { "error": { "code": "Unauthorized", "message": "Not authorized to access account" } }
    3. The roles currently assigned to the service principal in Purview The service principal is assigned Collection Administrator, Data Reader, and Data Curator roles

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.