Skip to main content
Monk needs a service principal to provision and manage infrastructure in your Azure subscription. This page walks you through creating one with the right permissions.

What you need

  • Client ID (Application ID)
  • Client Secret
  • Tenant ID
  • Subscription ID
  • Resource Group name

Create credentials

1

Copy your Subscription ID

Log into Azure Portal → Subscriptions and copy the Subscription ID you want Monk to use.
2

Register an application

Go to Azure Active Directory → App registrations → New registration. Name it something like monk-deployment and click Register.
3

Copy IDs

On the app overview page, copy the Application (client) ID and Directory (tenant) ID.
4

Create a client secret

Go to Certificates & secrets → New client secret. Set an expiry and copy the Value immediately. It is shown only once.
5

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.
6

Provide to Monk

When you deploy to Azure, Monk requests credentials through a secure form. You can provide them as individual fields or as an SDK auth JSON file. You can also tell your agent:

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).

How credentials are stored

You enter credentials in a form in the local dashboard, never in chat. Monk keeps them in your OS keychain (or an encrypted file where there is no keychain) on your computer and pushes them to your cluster when a deployment needs them. The coding agent never sees the values. See Security.

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? Deploy your app