AWS Single Account Setup
Overview
Heeler supports 3 different approaches for setting a single AWS account
Cloud Formation
Terraform
AWS CLI
CloudFormation
To set up Heeler in a single AWS account, Heeler deploys a CloudFormation template that provisions the necessary resources. This includes a dedicated IAM role and policy with tightly scoped permissions. These permissions allow Heeler to access only metadata and configuration information about your cloud environment—never your application data. The CloudFormation template is automatically launched during the onboarding wizard, or you can download it here.
The template performs the following actions:
Account
Create an IAM policy,
Heeler
, that denies visibility to the customer data plane. This includes actions such ass3:GetObject
,dynamodb:GetItem
and more.Create an IAM policy,
HeelerEKS
, that allows EKS cluster API access configuration so Heeler can automatically harvest Kubernetes resources.Create a single role,
heeler-member
, with the newly created policies as well as the AWS-managed policyReadOnlyAccess
to allow visibility into the account. It also is configured with a trust policy that allowsheeler-management-ro
to assume it.
Heeler Connection Setup
Select the
icon from the top navigation
Navigate to the Connections tab
Select Cloud Accounts
Click Add Cloud Account and select AWS
Select Setup with CloudFormation

Select Launch CloudFormation Template

Choose your active session or sign into a new session. The session should be in the payer account.

On Heeler click the next button so you can retrieve the generated External ID


Confirm that the stack launches into the desired AWS account, that it is deploying the Heeler CFT, and that it has the HeelerAccountSetup Stack name.

Provide or accept the default parameters:
Heeler Role Name (Required): Default value is
heeler-member
. Can be updatedExternal ID (Recommended): Retrieve the generated External ID from Heeler. Can be updated or deleted if desired
Role ARN provided by Heeler Security: Default value should not be changed unless instructed otherwise

As this CloudFormation StackSet deploys IAM roles and policies, you must acknowledge their creation and then select Create stack

No action required. You can monitor the creation of resources by viewing the Events tab. The deployment is complete when it says
CREATE_COMPETE
.

Coply the newly created ARN for
heeler-member
to use when configuring the connection in Heeler, by clicking the link.

Back in the Heeler modal, populate the values:
Name: a human-friendly name that identies the organization in Heeler
Role ARN: the ARN for
heeler-member
External ID: the
ExternalID
Region Restrictions: Optional list of regions in which to limit harvesting. This configuration is helpful if resources are limited by Service Control Policies to specific regions.
Select Done

When added successfully, you will see a
Healthy
notification status

Terraform
Heeler provides the template within the on-boarding wizard but you can also view here.
Manual with AWS CLI
For utilizing the AWS CLI, a bash script is provided to execute the AWS CLI commands.
AWS CLI Script
What the script does:
Creates the main "Heeler" managed policy with deny rules for sensitive data access and allow rules for Lambda and SSM
Creates the "heeler-member" IAM role with proper assume role policy and external ID condition
Attaches the AWS managed ReadOnlyAccess policy to the role
Attaches the custom Heeler policy to the role
Creates and attaches the "HeelerEKS" policy for EKS cluster access
Before running the script:
Set the EXTERNAL_ID variable - Replace
"your-external-id-here"
with the actual external ID provided by Heeler SecurityOptionally modify
MEMBER_ROLE_NAME
if you want a different role nameVerify the
HEELER_SECURITY_ROLE_ARN
is correct (currently set to the default from the template)
To use the script:
Make it executable:
chmod +x heeler_aws_cli.sh
Run it:
./heeler_aws_cli.sh
The script includes verification commands at the end to help you confirm everything was created correctly. It also cleans up the temporary JSON policy files after use.
Heeler Connection Setup
Select the
icon from the top navigation
Navigate to the Connections tab
Select Cloud Accounts
Click Add Cloud Account and select AWS
Select Setup account manually

Click Next to retrieve the generated External ID needed for the script


After updating the script with the External ID, run the script:
aws configure
./heeler_aws_cli.sh
Retrive the
Member Role Arn
from the script output

Back in the Heeler modal, populate the values:
Name: a human-friendly name that identies the organization in Heeler
Role ARN: the ARN for
heeler-member
External ID: the
ExternalID
Region Restrictions: Optional list of regions in which to limit harvesting. This configuration is helpful if resources are limited by Service Control Policies to specific regions.
Select Done

When added successfully, you will see a
Healthy
notification status

Last updated
Was this helpful?