Overview
The AWS EC2 & SSM integration enables ThreatAware to collect read-only data from your AWS account, providing visibility into EC2 instances, Systems Manager configurations, and cloud infrastructure.Connection Method: IAM Role with Cross-Account Access
Setup Time: 20 minutes
Access Required: AWS Account Administrator or IAM permissions
ThreatAware Account ID: available in-product under Settings → Integrations → AWS Account / IP Whitelist Info
Data collected
The AWS integration provides:- EC2 instance details and status
- Systems Manager (SSM) agent information
- Instance metadata and configuration
- Multi-account inventory (optional)
Use cases
EC2 Instance Monitoring
Track EC2 instances and compute resources across accounts
Systems Manager Tracking
Monitor SSM agent status and Systems Manager configurations
Multi-Account Inventory
Discover resources across multiple AWS accounts with Organisations
Compliance Verification
Validate EC2 and SSM configurations meet organisational standards
Setup instructions
1
Log in to AWS Console
Visit the AWS Management Console and sign in with your AWS credentials.
2
Navigate to IAM
Access the Identity and Access Management (IAM) service from the AWS console dashboard.
3
Create a New Role
In the IAM console:
- Select Roles from the left navigation
- Click Create role
4
Select Trusted Entity
In the role creation wizard:
- Choose Another AWS Account as the trusted entity type
- Enter the ThreatAware Account ID (from Settings → Integrations → AWS Account / IP Whitelist Info)
- Leave Require external ID unchecked for now
5
Configure External ID
For enhanced security, enable external ID:
- Check Require external ID
- Enter a complex string (like a password with no special characters)
- Example:
ThreatAware123ExternalID456
6
Attach IAM Permissions
Add the required permissions to the role:
- Select or create a policy with these permissions:
ec2:DescribeInstancesssm:DescribeInstanceInformation
7
Review and Create Role
Review the role configuration:
- Verify the trusted entity is the ThreatAware Account
- Confirm the permissions are correct
- Copy the Role ARN for later use
- Click Create role
8
Record Credentials
Document the following for ThreatAware configuration:
- AWS Account ID: Your 12-digit AWS account ID
- Role ARN: The full ARN of the role you created
- External ID: The external ID string you configured (if used)
- Region: Your primary AWS region
9
Configure Multiple Accounts (Optional)
If connecting multiple AWS accounts:
- Repeat steps 3-7 for each AWS account
- Each account needs its own role with the same permissions
- Each role must trust the ThreatAware Account (see Settings → Integrations → AWS Account / IP Whitelist Info)
10
AWS Organisations Setup (Optional)
For organisation-wide monitoring:
- Create a role in the parent/management account
- Add permission:
organization:ListAccounts - Add the same EC2 and SSM permissions as individual accounts
- Provide only the parent account ID to ThreatAware
- ThreatAware will discover all member accounts automatically
11
Configure in ThreatAware
In ThreatAware, go to Integrations and select AWS EC2 & SSM:
- Enter the AWS Account ID
- Enter the Role ARN
- Enter the External ID (if configured)
- Enter your primary Region
- Click Connect
12
Verify Connection
After connecting, verify the integration:
- Check that the Integration Status shows as Active
- Wait for initial data synchronization (typically 1 hour)
- Verify EC2 and SSM data appears in ThreatAware
Required configuration
AWS Account ID
AWS Account ID
Field Name: AWS Account ID
Type: String (12 digits)
Description: Your AWS account ID where the role is createdExample:
123456789012Role ARN
Role ARN
Field Name: IAM Role ARN
Type: String
Description: The full ARN of the cross-account roleFormat:
arn:aws:iam::123456789012:role/RoleNameExample: arn:aws:iam::123456789012:role/ThreatAwareRoleExternal ID
External ID
Field Name: External ID
Type: String (optional)
Description: The external ID configured for enhanced securityExample:
ThreatAware123ExternalID456AWS Region
AWS Region
Field Name: AWS Region
Type: String
Description: Your primary AWS regionExamples:
us-east-1eu-west-1ap-southeast-1
IAM policy templates
Single Account Policy
Single Account Policy
Assume Role Policy
Assume Role Policy
Parent Account Policy (Organisations)
Parent Account Policy (Organisations)
Verification and testing
After setup, verify the integration is working correctly:-
Check Integration Status
- Navigate to Integrations in ThreatAware
- Confirm the AWS EC2 & SSM integration shows Active status
-
Verify Data Collection
- Wait for initial data sync (1 hour)
- Log in to AWS Console and note your EC2 instances
- Verify the same instances appear in ThreatAware
-
Test Multi-Account Setup
- Verify instances from all accounts appear
- Check that instance metadata is complete and accurate
Troubleshooting
Invalid Account ID or Role ARN
Invalid Account ID or Role ARN
Symptoms: Connection fails immediately or shows invalid credentialsSolutions:
- Verify the AWS Account ID is exactly 12 digits
- Check the Role ARN format is correct:
arn:aws:iam::ACCOUNT:role/ROLENAME - Ensure the role exists and is visible in the AWS IAM console
- Copy values directly from AWS console to avoid typos
External ID Mismatch
External ID Mismatch
Symptoms: Connection fails with authentication errorSolutions:
- Verify the External ID matches exactly (case-sensitive)
- Ensure you only use letters and numbers (no special characters)
- Double-check the External ID in both the role and ThreatAware
- If unsure, create a new role without External ID for testing
Permission Denied
Permission Denied
Symptoms: Integration connects but shows no EC2/SSM dataSolutions:
- Verify the role has these permissions:
ec2:DescribeInstances,ssm:DescribeInstanceInformation - Check that the policy is attached to the role
- Wait 5-10 minutes for IAM changes to propagate
- Confirm the Assume Role policy trusts the ThreatAware account (see Settings → Integrations → AWS Account / IP Whitelist Info)
No Data After 1 Hour
No Data After 1 Hour
Symptoms: Integration shows active but EC2/SSM data doesn’t appearSolutions:
- Verify you have EC2 instances in the specified region
- Confirm the role permissions include all required actions
- Check that Systems Manager is properly configured for SSM data
- Review AWS CloudTrail logs for API calls from ThreatAware
- Contact AWS support if permission issues persist
AWS Organisations Not Working
AWS Organisations Not Working
Symptoms: Organisations setup returns no member accountsSolutions:
- Verify the role is created in the parent/management account
- Ensure the role includes
organization:ListAccountspermission - Confirm AWS Organisations is enabled in your account
- Check that all member accounts are properly linked
- Provide only the parent account ID to ThreatAware, not member accounts
Additional resources
AWS IAM Documentation
Official AWS IAM documentation for role configuration
AWS EC2 Documentation
AWS EC2 service documentation
AWS Systems Manager Documentation
AWS Systems Manager documentation
ThreatAware Support
Contact ThreatAware support for integration assistance