Skip to main content
Monk needs an IAM access key to provision and manage infrastructure in your AWS account. This page walks you through creating one with the right permissions.

What You Need

  • AWS Access Key ID
  • AWS Secret Access Key
  • Optional: default region (e.g., us-east-1)

Create Credentials

1

Open the IAM console

2

Create a dedicated user

Click Create user. Name it something like monk-deploy. Do not grant console access — Monk only needs programmatic access.
3

Attach the Monk policy

On the permissions step, choose Attach policies directly and create a custom policy with the JSON below. Name it MonkClusterPolicy.
4

Create an access key

After the user is created, go to the user → Security credentials tab → Create access key. Choose “Third-party service” as the use case. Copy the Access Key ID and Secret Access Key.
5

Provide to Monk

When you deploy to AWS, Monk requests credentials through a secure local form, never through the chat. Paste them there. You can also tell your agent:

Required Permissions

You can use the broad managed policies for a quick start:
  • AmazonEC2FullAccess
  • AmazonVPCFullAccess
  • IAMReadOnlyAccess
For production, use the minimum custom policy below. It covers exactly what Monk needs and nothing more. Scope summary: EC2 instances, images, and instance types. VPCs, subnets, routing, internet gateways. Security groups, network interfaces, elastic IPs. EBS volumes and snapshots. Load balancers and target groups (ELBv2). ACM certificates (HTTPS). DLM policies (automated backups). STS GetCallerIdentity. iam:PassRole for the DLM service role.

How Credentials Are Stored

Credentials are encrypted at rest on your machine 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

Access keys disabled — check the user in the IAM console and confirm the key is active. Missing permissions — if Monk reports permission errors, compare the attached policy against the minimum policy above. Region mismatch — if you specified a default region, make sure it matches an available AWS region. Ask your agent for help:

Deploy your first app

Credentials ready — now deploy