How to block a normal user to create subscription in MCA?

Danny Wong 10 Reputation points Microsoft Employee
2025-03-17T15:56:25.74+00:00

Customer would like to block the subscription creation for normal user (such Azure subscription, MSDN subscription, Free trail subscription...etc), only the admin user can create it. In EA, they can apply the policy in the EA portal --> Enrollment, how to do it for MCA customer? Thanks

Azure Policy
Azure Policy
An Azure service that is used to implement corporate governance and standards at scale for Azure resources.
1,014 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Ryan Hill 30,281 Reputation points Microsoft Employee Moderator
    2025-03-17T19:14:22.8866667+00:00

    Hey @Danny Wong

    From the materials I'm coming across [1] [2], this isn't possible.

    You can try the following policy, but it has to be tested. In the meantime, feel free to reach out to me on Teams. If I come across any updates, I'll be sure to post them.

    {
      "properties": {
         "displayName": "Prevent Subscription Creation",
        "policyType": "Custom",
        "mode": "All",
        "description": "This policy prevents users from creating subscriptions directly under the tenant level.",
        "parameters": {
          "effect": {
            "type": "String",
            "metadata": {
              "displayName": "Effect",
              "description": "Enable or disable the execution of the policy"
            },
            "allowedValues": [
              "Deny",
              "Disabled"
            ],
            "defaultValue": "Deny"
          }
        },
        "policyRule": {
          "if": {
            "allOf": [
              {
                "field": "type",
                "equals": "Microsoft.Subscription/subscriptions"
              },
              {
                "field": "Microsoft.Subscription/subscriptions/tenantId",
                "equals": "[parameters('tenantId')]"
              }
            ]
          },
          "then": {
            "effect": "[parameters('effect')]"
          }
        }
      }
    }
    

Your answer

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