What You Need
- Client ID (Application ID)
- Client Secret
- Tenant ID
- Subscription ID
- Resource Group name
Create Credentials
Copy your Subscription ID
Log into Azure Portal → Subscriptions and copy the Subscription ID you want Monk to use.
Register an application
Go to Azure Active Directory → App registrations → New registration. Name it something like
monk-deployment and click Register.Create a client secret
Go to Certificates & secrets → New client secret. Set an expiry and copy the Value immediately — it is shown only once.
Assign a role
Go to your subscription → Access control (IAM) → Add role assignment. Assign the Contributor role (or the custom role below) to the application you just registered.
Required Permissions
The built-in Contributor role works for a quick start. For production, use the minimum custom role below. Scope summary: Compute (VMs, disks, snapshots, availability sets). Networking (VNet/subnets, NICs, public IPs, NSGs). Load balancing (load balancers and application gateways). Resource groups and subscription metadata. Marketplace agreements (for some images).Minimum custom role JSON
Minimum custom role JSON
CLI setup (alternative to portal)
CLI setup (alternative to portal)
How Credentials Are Stored
Credentials are encrypted at rest in your IDE’s secret storage and on your Monk cluster using your cloud provider’s KMS — so your infrastructure can manage itself autonomously. They are never sent to Monk servers and never exposed to the LLM. See Security for full details.Troubleshooting
Client secret expired — create a new secret in App registrations → Certificates & secrets, then update credentials in Monk. Wrong tenant ID — double-check the Directory (tenant) ID on the app overview page. Missing Contributor role — verify the role assignment in your subscription’s Access control (IAM). Ask your agent for help:Deploy your first app
Credentials ready — now deploy

