Amazon Web Services

The AWS integration connects HomeBase to CloudTrail, GuardDuty, Security Hub, IAM, and Config, ingesting threat findings, configuration changes, and identity events across all monitored accounts and regions.

What's ingested

  • CloudTrail, API call history, IAM mutations, unusual access patterns.
  • GuardDuty, threat detections: malware, compromised credentials, unusual network behaviour.
  • Security Hub, aggregated findings from GuardDuty, Inspector, Macie, and third-party tools.
  • IAM, user, role, and policy inventory; privilege escalation detection.
  • AWS Config, configuration change history and compliance rules.

Setup: cross-account IAM role

HomeBase uses a read-only cross-account IAM role to access your AWS account. No long-lived credentials are stored.

1. Create the IAM role

json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::123456789012:root"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "sts:ExternalId": "hld-ext-YOUR_TENANT_ID"
        }
      }
    }
  ]
}

2. Attach permissions

The role needs the following AWS managed policies:

NameTypeRequiredDescription
SecurityAuditmanaged policyNoRead access to security-relevant services.
AmazonGuardDutyReadOnlyAccessmanaged policyNoRead GuardDuty findings.
AWSSecurityHubReadOnlyAccessmanaged policyNoRead Security Hub aggregated findings.

3. Register the integration

bash
POST /v1/integrations

{
  "type": "aws",
  "tenant_id": "ten_01hxyz",
  "credentials": {
    "role_arn": "arn:aws:iam::YOUR_ACCOUNT_ID:role/HLDHomeBaseRole",
    "external_id": "hld-ext-YOUR_TENANT_ID"
  },
  "config": {
    "regions": ["ap-southeast-2", "us-east-1"],
    "ingest_cloudtrail": true,
    "ingest_guardduty": true,
    "ingest_security_hub": true
  }
}
Note:HomeBase assumes the role using STS with the external ID as a confused deputy protection measure. Never share your external ID publicly.