Your own cloud accounts
Connect an AWS, GCP, Azure, or Hugging Face account you own, and see what emma can read and change in it.
emma creates resources in two ways. Most of what you deploy goes through the emma platform: VMs, Kubernetes, volumes, and networks on the providers emma connects to, all living in your emma project. The other way is directly in a cloud account you own, using a credential you store in emma. This page covers the second way.
In a nutshell:
- You add a credential for an AWS, GCP, Azure, or Hugging Face account under Settings → Cloud Providers
- On every provider, emma can scan the account and look for waste
- On AWS, emma can also create and update a curated set of resource types, and run managed Postgres on RDS
- Changes to your own account go through the same confirmation gate, with stricter rules for anything destructive
Connect an account
Page navigation — click Settings → Cloud Providers → Add Provider.
| Provider | What you enter |
|---|---|
| AWS | Access key ID, secret access key, and a default region |
| GCP | Service account JSON (the project ID is read from the JSON if you leave it empty) |
| Azure | Tenant ID, client ID, client secret, subscription ID |
| Hugging Face | An access token (hf_...) |
Credentials are encrypted at rest and never enter the model's context. The copilot refers to a stored credential by its id and never sees the secret itself.
Cloud credentials belong to the company, not to you: every member of your company can see the connected accounts and use them through emma. Give each credential only the access you want emma to have.
To remove a credential, open its row menu and click Delete. From then on, scans that use it fail, and you can't undo this.
What each provider enables
| Provider | Read | Change |
|---|---|---|
| AWS | Scan the account (EC2, RDS, S3, ELB, Lambda, VPC, IAM, security groups); waste analysis with CloudWatch metrics | Create and update supported resource types; managed Postgres on RDS |
| GCP | Scan the project (Compute Engine, GKE, Cloud SQL, Cloud Storage, VPC, firewall rules); waste analysis with Cloud Monitoring | — |
| Azure | Scan the subscription (VMs, AKS, SQL databases, storage accounts, VNets, NSGs); waste analysis with Azure Monitor | — |
| Hugging Face | Scan the account (Inference Endpoints, Spaces, private models) | Deploy Hugging Face Inference Endpoints; pull models for self-hosted inference |
Scans and waste analysis are read-only. Waste analysis ranks idle or orphaned resources and recommends what to remove, but it never deletes anything. See Import existing infrastructure for bringing scanned resources under management.
Provision into your AWS account
In a stored AWS account, emma can create and update these resource types:
| Area | Resource types |
|---|---|
| Database | DynamoDB table |
| Messaging | SQS queue, SNS topic |
| Network | Security group, security group ingress rule |
| Observability | CloudWatch Logs log group |
| Storage | EBS volume, EFS file system, S3 bucket |
emma turns these into steps of a regular deployment plan, and a plan can mix steps for your own account with steps on the emma platform. If you ask for a type that isn't on the list, the copilot tells you it isn't enabled yet instead of trying.
Try this
Create an encrypted S3 bucket for build artifacts in my AWS account in eu-west-1
A deployment plan never deletes anything from your own account. Only workspace Owners and Admins can run a plan that writes to your own account.
What the plan shows
Each step that touches your own account gets a card:
- Target account: the AWS account, the region, and the name of the stored credential it uses.
- The action and the type:
create,update, orreplace, plus the AWS resource type. - The property changes: each property the step adds, sets, or drops, with the old value next to the new one on updates. Properties that force AWS to recreate the resource are marked (replaces on change).
- Policy findings: warnings for public network exposure and missing encryption at rest. If a check can't be evaluated for a type, the card says it wasn't checked.
- Caveats: for example, that AWS adds its own defaults that aren't shown.
Confirmations
Creates and updates in your own account go through the confirmation gate like any other change. One rule is stricter here: if an update changes a property that makes AWS destroy and recreate the resource, the card shows it as replace, and it's gated as a delete. It asks for confirmation in every permission mode, Autonomous included.
If a step fails
When a plan fails partway, emma never deletes what it already created in your own account as a rollback. Those resources are kept, and the failure message says so. Fix the cause, then ask the copilot to retry the failed step.
Managed Postgres on RDS
With a stored AWS credential, the copilot can create a managed PostgreSQL database on Amazon RDS in your account.
Try this
Spin up a managed Postgres database in my AWS account in us-east-1
- It's a real, billable RDS instance. The default is
db.t3.microwith 20 GB of storage. AWS accepts the request in about 30 seconds, and the database takes a few more minutes to become available. - It's private by default. Only workloads inside your VPC can reach it. You can ask for a public endpoint so VMs on the emma platform can connect. In that case emma refuses to create it if the security group lets anyone on the internet reach the Postgres port.
- You never see the password in chat. emma generates the master password, and once the database is available it stores the connection string, encrypted, as an environment variable in your environment (
DATABASE_URLunless you ask for another name). - Teardown is permanent and always confirmed. Deleting the database is gated as a delete in every mode. By default AWS takes a final snapshot first, and that snapshot stays in your account, where you manage it in the RDS console. emma only tears down instances it created.
What's next
- Cloud providers — the providers emma deploys to through the platform
- Import existing infrastructure — scan a connected account and adopt what's there
- Safety & confirmations — how the gate and permission modes work
- Deploy an app by chatting — a plan end to end
Last updated on 24 Sept 2026