Overview
Connect your AWS account to give TierZero read and (optional) write access to your cloud infrastructure. TierZero uses a cross-account IAM role to query CloudWatch metrics and logs, inspect resource configurations, and correlate infrastructure state with incidents without storing long-lived credentials.Prerequisites
- Administrative access to your AWS account
- Permission to create IAM roles and attach policies
Setup Instructions
Step 1: Navigate to Integration Settings
- Log into your TierZero dashboard
- Go to Settings → Integrations
- Click Connect next to AWS
- Click View Instructions to see a setup guide with values specific to your organization (Account ID, External ID)
Step 2: Create an IAM Role
Create a new IAM role in your AWS account that TierZero can assume via cross-account access.- In the AWS Console, go to IAM → Roles → Create role
- Select Custom trust policy and paste the trust policy below (replacing the placeholder values with the ones from the TierZero setup wizard):
- Attach the following AWS managed policies (read-only; write policies can be added based on your needs):
| Policy | Purpose |
|---|---|
CloudWatchReadOnlyAccess | Logs, metrics, and alarms |
AmazonRDSReadOnlyAccess | RDS instance metadata |
AmazonS3ReadOnlyAccess | S3 bucket metadata |
AWSLambda_ReadOnlyAccess | Lambda function metadata |
AmazonEC2ReadOnlyAccess | EC2 instance metadata |
AmazonEC2ContainerRegistryReadOnly | ECR image metadata |
ElasticLoadBalancingReadOnly | Load balancer metadata |
AutoScalingReadOnlyAccess | Auto Scaling group metadata |
IAMReadOnlyAccess | IAM role and policy metadata |
AWSBillingReadOnlyAccess | Billing and cost data |
- Name the role (e.g.,
TierZeroAccess) and click Create role
Step 3: Provide the Role ARN
- Copy the IAM Role ARN from your AWS console
- Paste it into the TierZero setup wizard
- Click Connect
Terraform Setup
If you manage infrastructure as code, use the following Terraform configuration to create the cross-account IAM role.Replace the
sts:ExternalId value with the External ID shown in your TierZero setup wizard.role_arn into the TierZero setup wizard.
Kubernetes (EKS)
If your team uses Amazon EKS, you can grant TierZero access to your Kubernetes clusters for inspecting workloads, pods, and cluster state during investigations.Step 1: Attach the EKS Policy
Attach theAmazonEKSMCPReadOnlyAccess managed policy to the IAM role you created above.
In the AWS Console:
- Go to IAM → Roles and select your TierZero role
- Click Add permissions → Attach policies
- Search for
AmazonEKSMCPReadOnlyAccessand attach it
locals.policies list:
Step 2: Create an EKS Access Entry
Grant the IAM role access to your EKS cluster:- In the AWS Console, go to EKS → Clusters → your cluster → Access
- Click Create access entry
- Select the TierZero IAM role as the principal
- Assign the AmazonEKSViewPolicy access policy with Cluster scope
- Click Create
Step 3: Allow TierZero’s IP Addresses (If Required)
If your EKS cluster’s API server endpoint restricts access by IP, you need to add TierZero’s outbound IP addresses to the allowlist:- In the AWS Console, go to EKS → Clusters → your cluster → Networking
- Under API server endpoint access, click Manage
- Add TierZero’s outbound IP addresses (available in your TierZero dashboard under Settings → Integrations → AWS)
What TierZero Accesses
- CloudWatch Logs: Query log groups and log streams
- CloudWatch Metrics: Query metrics and alarms
- Resource metadata: EC2, RDS, Lambda, S3, ELB, and ASG configurations
- EKS clusters: Kubernetes workloads, pods, and cluster state (if configured)
- IAM metadata: Roles, policies, and trust relationships
- Billing data: Cost and usage information
Security
- TierZero uses cross-account IAM role assumption, so no long-lived credentials are stored
- An External ID is required to prevent confused deputy attacks
- The default policies are read-only; write access is opt-in based on your needs
- Revoke access at any time by deleting the IAM role or updating its trust policy
- All API calls are logged in AWS CloudTrail
Troubleshooting
”Access Denied” Errors
- Verify the IAM role’s trust policy allows TierZero’s account (
851725519002) to assume it - Check that the External ID matches the value shown in the TierZero setup wizard
- Ensure all required managed policies are attached to the role
EKS Cluster Not Accessible
- Confirm the EKS access entry exists for the TierZero IAM role
- Verify the AmazonEKSViewPolicy is assigned with Cluster scope
- If using IP restrictions, ensure TierZero’s outbound IPs are allowlisted
Missing Data
- Verify the IAM role has the specific policy for the data type you expect (e.g.,
CloudWatchReadOnlyAccessfor logs) - Check that the role ARN entered in TierZero matches the role in your AWS account