Creating a custom role with PowerShell
- You can define the custom role by using the following JSON code. You should set the Id to null because the custom role gets an ID assigned to it at creation. We will add the custom role to two Azure subscriptions, as follows (replace the subscriptions in the AssignableScopes part with your subscription IDs):
{ "Name": "WebMagicCustom Role", "Id": null, "IsCustom": true, "Description": "Allows for read access to Azure Storage, Network and Compute resources and access to support", "Actions": [ "Microsoft.Compute/*/read", "Microsoft.Storage/*/read", "Microsoft.Network/*/read", "Microsoft.Resources/subscriptions/resourceGroups/read", "Microsoft.Support/*" ], "NotActions": [ ], "AssignableScopes": [ "/subscriptions/********-****-****-****-***********", "/subscriptions/********-****-****-****-***********" ] }
- Save the JSON file in a folder named CustomRoles on the C: drive of your computer. Then, run the following PowerShell script to create the role. First, log in to your Azure account, as follows:
Connect-AzAccount
- If necessary, select the right subscription:
Select-AzSubscription -SubscriptionId "********-****-****-****-***********"
- Then, create the custom role in Azure by importing the JSON file into PowerShell:
New-AzRoleDefinition -InputFile "C:\CustomRoles\PacktCustomRole.json"