Prerequisites
- An AWS account with IAM administrator access.
- Permission to create IAM roles or IAM users in the target account.
- Access to AWS CloudShell or the IAM console for setup.
Role-based authentication (AssumeRole) is strongly preferred. Use access keys only when AssumeRole is not feasible in your environment.
Setup
- Role-Based (Recommended)
- Access Keys (Alternative)
IAM role with AssumeRole
This method creates an IAM role that CloudThinker assumes to access your resources. Benefits:- No long-term credentials shared or stored
- Uses AWS STS for temporary, auto-rotated credentials
- External ID protects against confused deputy attacks
- Easy to audit and revoke access
Quick setup via CloudShell
Open AWS CloudShell
Log in to AWS Console and open CloudShell from the top nav.
Run setup script
In CloudThinker’s connection dialog, click Copy Script and paste into CloudShell. The script:
- Validates
CloudThinkerAccessRoledoesn’t exist - Creates the IAM role with read-only permissions
- Attaches the trust policy with your External ID
Expected output
Manual role creation
If you prefer manual setup:Trust policy:Multi-account setup
For organizations with multiple AWS accounts:Create the role in each account
Deploy the IAM role using CloudFormation StackSets across all target accounts.
Connection details
| Field | Description | Example |
|---|---|---|
| Role ARN | ARN of the IAM role CloudThinker assumes (role-based method) | arn:aws:iam::123456789012:role/CloudThinkerAccessRole |
| External ID | Secret ID in the trust policy, provided by CloudThinker | — |
| Region | Primary AWS region for this connection | us-east-1 |
| Access Key ID | IAM user key ID (access-keys method only) | — |
| Secret Access Key | IAM user secret key (access-keys method only) | — |
Required permissions
Minimum (read-only analysis)
Recommended (full analysis)
Agent capabilities
Once connected, agents can analyze and optimize your AWS resources.| Agent | AWS capabilities |
|---|---|
| Alex | Cost analysis, EC2 right-sizing, Reserved Instance recommendations, resource optimization |
| Oliver | Security Hub findings, IAM audits, compliance checks, vulnerability assessment |
| Tony | RDS performance analysis, Aurora optimization, DynamoDB tuning |
| Kai | EKS cluster management, Fargate optimization, container analysis |
Verify the connection
Example prompts
Troubleshooting
Access Denied errors
Access Denied errors
Verify the IAM role has the required permissions. Check that the trust policy includes CloudThinker’s account ID, confirm the External ID matches exactly, and ensure the role ARN is correct.
Missing cost data
Missing cost data
Enable Cost Explorer in the AWS Console (takes up to 24 hours to activate). Verify
ce:GetCost* permissions are granted and check that billing preferences allow programmatic access.Missing metrics
Missing metrics
Verify CloudWatch metrics are being collected. Check that the region selection includes all relevant regions and confirm services are running and generating data.
Connection timeout
Connection timeout
Check network connectivity to AWS APIs. Verify no VPC endpoints are blocking access and try connecting from a different region.
Security
- Least privilege — grant only the permissions the agents need for your use case; start read-only and widen later.
- Read-only by default — use read-only credentials unless you want agents to make changes through this connection.
- Rotate credentials — rotate keys and tokens on your normal schedule; CloudThinker picks up the new value when you update the connection.
- Revoke on offboarding — remove the credential at the provider when you delete a connection or a teammate leaves.
- Use IAM roles — prefer AssumeRole over long-term access keys; IAM roles use short-lived STS credentials that auto-rotate and require no secret storage.
- Enable CloudTrail — audit all API calls made through the CloudThinker connection to maintain a complete activity log.
Related
Alex Agent
AWS-focused cloud optimization agent
Bring Your Own Key (BYOK)
Use your own AWS Bedrock credentials for unlimited LLM usage