Capabilities
Query Tools
| Tool | What It Does |
|---|---|
| CloudTrail search | Search API activity by username, access key, IP, event type |
| IAM role analysis | Scan all roles for over-privileged access |
| Single role analysis | Deep security analysis of a specific role |
| Auth model discovery | Identify how users authenticate (Identity Center, SAML, IAM, etc.) |
| Identity mapping | Map user email to AWS role sessions |
| CrowdStrike correlation | Find AWS sessions related to endpoint alerts |
Action Tools
| Action | Description |
|---|---|
| Terminate EC2 instances | Stop and remove compromised instances |
| Disable IAM user | Deactivate all access keys for a user |
| Delete IAM user | Remove user, keys, policies, group memberships, MFA |
| Delete access key | Remove a specific compromised access key |
| Detach admin policies | Remove AdministratorAccess, PowerUserAccess, IAMFullAccess |
| Block IP in WAF | Add IP to WAF IP set to block traffic |
Setup
Connection Method
Hiro connects via IAM AssumeRole with temporary credentials. You create an IAM role in your AWS account that Hiro can assume.Create an IAM role
Create a new IAM role in your AWS account:
- Go to IAM > Roles > Create role
- Select Custom trust policy
- Use this trust policy (replace
YOUR_EXTERNAL_IDwith a unique identifier):
Attach permissions
Attach the AWS managed policy for your desired access level:For investigations (recommended):
arn:aws:iam::aws:policy/ReadOnlyAccess- Full read access across all AWS services
arn:aws:iam::aws:policy/SecurityAudit- Security-focused read accessarn:aws:iam::aws:policy/job-function/ViewOnlyAccess- Limited read access (not recommended - missing IAM visibility)
Connect in Hiro
In Hiro, go to Settings > Integrations > AWS:
- Enter the Role ARN (e.g.,
arn:aws:iam::123456789012:role/HiroSecurityRole) - Enter the External ID (must match what you configured in the trust policy)
- Click Connect
Investigation Examples
Search CloudTrail
- API actions performed
- Source IP addresses
- Success/failure status
- Request parameters
Investigate an access key
Analyze IAM permissions
- Attached policies
- Effective permissions
- Security issues and risk score
- Recommendations
Discover auth patterns
- Identity Center
- SAML federation
- OIDC federation
- IAM users
- Access keys
Remediation Actions
Example action proposal:Multi-Account Support
To monitor multiple AWS accounts:- Create the IAM role in each account
- Add each Role ARN in Hiro’s AWS integration settings
- Hiro will aggregate activity across all accounts during investigations
What’s Not Supported
- S3-specific tools
- RDS, Lambda, DynamoDB tools
- CloudFormation management
Troubleshooting
”Access Denied” on AssumeRole
If you see errors likeUser is not authorized to perform: sts:AssumeRole:
- Verify the trust policy - Ensure Hiro’s account (
605862532274) is in the Principal - Check the External ID - The External ID in Hiro must exactly match your trust policy condition
- Confirm the Role ARN - Double-check for typos in the role name or account ID
”Access Denied” on specific actions
If AssumeRole succeeds but queries fail (e.g.,iam:GetRole denied):
- Your role is missing permissions. Attach
ReadOnlyAccessfor full read access ViewOnlyAccessis not sufficient - it lacks IAM visibility
Missing events
CloudTrail events can take up to 15 minutes to appear. Recent activity may not show immediately.Multi-account issues
When monitoring multiple accounts, ensure the IAM role exists in each account with the same trust policy pointing to Hiro’s account.Next Steps
Okta
Connect identity management.
CrowdStrike
Connect endpoint protection.