Connect a cloud account
Once a cloud account is connected, ODiiN starts collecting assets automatically.
No agent to install — you only delegate read access, and it takes about 5 minutes per account.
Before you start
Get these three things ready first. If any is missing, registration fails at step 3.
- Admin rights on the cloud account you are connecting — you must be able to create an IAM role.
- The owner or ops admin role in your ODiiN workspace.
- If internal policy restricts external delegation, prior approval from your security officer.
Asset collection and diagnostics use read permissions only. If you later want automated actions, you delegate write access separately, and even then you pick the target resource scope yourself.
1. Choose an integration method
Pick one of two methods. Unless something blocks it, we recommend role delegation.
- Role delegation — create an ODiiN-only IAM role and set up a trust relationship. No credentials change hands, and revoking access is a single role deletion.
- Access key — enter the access key and secret directly. Use it only where roles cannot be created, and rotate the key every 90 days.
2. Create the IAM role
The steps below use the AWS console. For Azure, GCP and Oracle, follow the same steps in their respective docs.
- 1IAM → Roles → Create roleOpen IAM in the AWS console and click
Create role. For the trusted entity type, choose AWS account. - 2Enter the trust policyPaste the policy below. Replace
ExternalIdwith the value issued on the ODiiN account registration screen. - 3Attach permission policiesThese are the minimum permissions for collection. If you plan to use automated actions, attach the optional policy in the table as well.
- 4Copy the role ARNWhen the role is created, copy its ARN from the detail screen. It looks like
arn:aws:iam::123456789012:role/ODiiN-Collector.
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": { "AWS": "arn:aws:iam::905612345678:root" },
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": { "sts:ExternalId": "odiin-xxxxxxxx" }
}
}]
}| Purpose | Policy | Required |
|---|---|---|
| Asset collection | ReadOnlyAccess | Required |
| Cost analysis | AWSBillingReadOnlyAccess | Required |
| Security diagnostics | SecurityAudit | Recommended |
| Automated actions | Custom policy (scoped) | Optional |
3. Register the account in ODiiN
In the ODiiN dashboard go to Settings → Cloud accounts → Add account, then paste the ARN you copied.
- Account alias — the name shown in the list. Make the environment obvious, e.g. production / staging.
- Role ARN — the value copied in step 2.
- Collection interval — 1 hour by default. Lower it to 15 minutes if resources change often.
It is usually an ExternalId mismatch, or permissions that have not propagated right after the role was created. Retry in a minute or two; if it still fails, see common problems below.
4. Verify collection
The first collection starts right after registration. It takes 5–20 minutes depending on account size, and the resource counts fill in on the dashboard cards when it finishes.
When the status moves from Collecting to Healthy, the connection is done. Next, check the asset collection doc to make sure nothing is missing.