Amazon Web Services (AWS) Integration
Connect AWS with Sprinto to automatically monitor cloud infrastructure, enforce security best practices, and stay continuously compliant with 70+ automated checks.
Sprinto’s AWS integration enables continuous monitoring of your cloud infrastructure to help you meet security and compliance requirements with minimal manual effort.
By connecting your AWS environment, Sprinto automatically evaluates configurations, access controls, and resource health across your accounts. Sprinto uses read-only access to collect evidence, monitor compliance status, and alert you when action is required—without making any changes to your AWS resources.
You can integrate AWS in two ways:
At the organisation level, to monitor all accounts under AWS Organizations
At the individual account level, to monitor specific AWS accounts independently
Prerequisites
Ensure the following prerequisites are met before setting up the AWS integration:
You are logged in to the Sprinto Admin portal.
You have AdministratorAccess privileges in the AWS root account, organisation management account, or the individual AWS account you want to connect.
You have permissions to create IAM roles or deploy CloudFormation stacks in AWS.
Note
Scripts, AWS account IDs, and external IDs shown during setup are dynamically generated. Always copy these values directly from the Sprinto integration panel to avoid configuration errors.
Available Compliance Checks
Sprinto supports over 70 automated AWS checks. Below are some commonly used ones:
AWS access should be removed for offboarded users
MFA should be enabled for AWS users
AWS RDS freespace should be monitored
AWS RDS CPU utilisation should be monitored
AWS access keys should not be older than 90 days
Note
Understand the complete list of permissions needed for AWS databases here.
You can integrate AWS with Sprinto using either of the following methods:
Integrate an AWS Organisation Unit (OU): This option allows you to connect an AWS OU along with its nested OUs and accounts. During configuration, you can select the specific accounts to monitor for compliance.
Integrate individual AWS accounts: This option lets you connect standalone AWS accounts for compliance tracking.
Note
You can connect multiple AWS accounts to your Sprinto dashboard.
If you’ve already integrated individual accounts from an AWS OU and wish to switch to OU-level integration, you must first disable the existing account-level integrations.
How it Works
When you connect AWS to Sprinto:
Sprinto assumes an IAM role in your AWS account to read configuration and metadata
Resources are automatically discovered across selected regions
Compliance checks are evaluated continuously
Issues are surfaced in Sprinto with clear remediation guidance
Sprinto does not create, modify, or delete any AWS resources.
Integration Methods
You can integrate AWS using either:
A CloudFormation template (recommended)
A manually created IAM role
Each method is available for:
AWS organisation-level integration
Individual AWS account integration
AWS Organisation-level Integration
Use this approach if you manage multiple AWS accounts under AWS Organizations and want to monitor them centrally.
Before you Begin
Ensure the AWS user, role, or group performing the setup has the AdministratorAccess policy attached.
Method 1: Use CloudFormation template (recommended)
This method automates IAM role creation using a CloudFormation template.
Start the integration in Sprinto
Log in to the Sprinto Dashboard.
Go to Settings → Integrations.
Search for AWS and click Connect.

Select AWS organization.
Enter your Root OU ID.
Choose Use CloudFormation template, then click Continue.

Step 1: Create the access role
This step sets up a read-only IAM role (sprinto-auditor-role) across all accounts in your AWS Organisation.
A. Set up access permissions for the management account
Log in to your AWS management (root) account.
Open AWS CloudShell.
From the Sprinto integration panel, copy the provided bash script.

Paste and run the script in CloudShell.
What this does:
Creates an IAM role named
sprinto-auditor-role.Grants permissions to audit AWS resources and read CloudWatch logs.
Uses a CloudFormation template to automate role creation.
Attaches required policies such as:
SecurityAuditCloudWatchFullAccess(if enabled)

Note
Scripts, Account IDs, and External IDs are dynamic. Always copy them directly from the Sprinto integration panel.
B. Create a StackSet
After permissions are set up:
In the same management account, copy the StackSet creation command from Sprinto.
Run the command in AWS CloudShell.

What this does:
Creates a CloudFormation StackSet.
Defines the IAM role and permissions that will be deployed across all child accounts in the organisation.

C. Deploy the StackSet to all accounts
Once the StackSet is created:
Copy the StackSet deployment command from Sprinto.
Run it in AWS CloudShell.

What this does:
Deploys the StackSet to all accounts under the specified Root OU.
Automatically creates the
sprinto-auditor-rolein each child account.

D. Get the Role ARN
After deployment completes:
Run the final command provided in Sprinto to retrieve the Role ARN from the management account.
Copy the Role ARN and keep it handy.

Note
If the output shows CREATE_IN_PROGRESS, wait a few seconds and run the command again until the Role ARN is returned.

Step 2: Complete the integration in Sprinto
Return to the Sprinto AWS integration screen.
Paste the Role ARN you copied earlier.
Select the AWS regions where your production workloads run.
Click Connect.

Once completed, Sprinto will start monitoring all supported AWS resources across your organisation using the configured read-only access.
Method 2: Create IAM role manually
Use this method if you prefer to configure IAM permissions yourself.
Start the integration in Sprinto
Go to Settings → Integrations.
Search for AWS and click Connect.
Select AWS organization.
Choose Create IAM role manually.
Click Continue.

A. Set up roles on all accounts
Log in to the AWS Management Console.
Navigate to IAM.
Go to Roles and select Create role.
On the role creation page, choose Another AWS account as the trusted entity.

This sets up the base role that Sprinto will later assume to audit your AWS resources.
B. Set up permissions on all accounts
In the Specify accounts that can use this role section, enter the following details:
Account ID: Copy this from the Sprinto integration drawer.
External ID: Copy this exactly as shown in Sprinto.
Ensure Require external ID is enabled (recommended best practice for third-party access).
Make sure Require MFA is not selected.
Select Next.
On the Add permissions screen:
Search for and attach the SecurityAudit policy.
Click Next to proceed.

C. Add additional permissions (optional)
Depending on your setup, you can attach additional policies:
To allow Sprinto to create or manage CloudWatch alarms:
Attach CloudWatchFullAccess
To fetch AWS SSO users:
Attach AWSSSODirectoryReadOnly
Attach AWSSSOReadOnly
You can optionally add tags in the Add tags section.
Select Next after adding any optional permissions.

D. Complete role setup on all accounts
In the Role details section:
Enter the role name as
sprinto-auditor-role
Review the configuration and select Create role.
Once created, search for the role
sprinto-auditor-rolein IAM.

E. Get the Role ARN of the root account
In the management (root) account, open the newly created role:
sprinto-auditor-role
Copy the Role ARN.
Save this ARN, you’ll need it in the next step.

Step 2: Complete the integration in Sprinto
Return to the Sprinto dashboard.
In the AWS integration drawer:
Paste the copied Role ARN.
Select the AWS regions where your production workloads run.
You can modify regions later if needed.
Select Connect.

Once completed, Sprinto begins monitoring your AWS environment using the configured IAM role.
Individual AWS Account Integration
Use this approach if you want to monitor one or more AWS accounts independently.
Note
If you later switch to organisation-level integration, you must first disable all individually connected accounts.
Method 1: Use CloudFormation template
Step 1: Start the integration in Sprinto
Go to Settings → Integrations.
Search for AWS and click Connect.
Select AWS account.

Confirm and click Continue.
Review required permissions and click Next.
Choose Use CloudFormation template.

Step 2: Create the access role
Copy the provided bash command.

Run it in AWS CloudShell.
The role is created automatically.

Step 3: Get role ARN and complete integration
Copy the Role ARN.
Paste it in Sprinto.
Select regions.
Click Connect.

Method 2: Create IAM role manually
Step 1: Start the integration in Sprinto
Go to Settings → Integrations.
Search for AWS and click Connect.
Select AWS account.
Choose Create IAM role manually.
Click Continue.

Step 2: Set up the IAM role
Create a new IAM role with a custom trust policy.

Paste the JSON provided by Sprinto.
Attach the SecurityAudit policy.

Optional permissions
CloudWatch alarms:
CloudWatchFullAccessSSO users:
AWSSSOReadOnly,AWSSSODirectoryReadOnlyTags can be added if needed.

Step 3: Complete role setup
Name the role
sprinto-auditor-role.Create the role and copy its ARN.

Step 4: Complete the integration
Paste the Role ARN in Sprinto.
Select regions.
Click Connect.

Required permissions and data access
Permissions required
SecurityAudit (mandatory)
Administrator access is required only during setup.
Data accessed by Sprinto
Sprinto reads configuration data for services such as:
IAM, EC2, S3, RDS, EKS
Load balancers, VPCs, Lambda, API Gateway
CloudWatch (if enabled)
Sprinto does not modify or delete resources.
Troubleshooting
Integration fails during setup
Ensure AdministratorAccess is attached to the AWS user, role, or group.
Verify that the correct external ID is used.
CloudFormation stack stuck in progress
Wait a few seconds before retrying.
Ensure no conflicting IAM roles already exist.
Role ARN not accepted
Confirm the ARN belongs to
sprinto-auditor-role.Ensure the role exists in the correct account.
Regions not showing data
Ensure regions were selected during setup.
You can modify regions later from the integration settings.
Switching from individual accounts to organisation integration
Disable all individually connected AWS accounts first.
Then proceed with organisation-level setup.
Support
If you encounter any issues or need assistance with your integration, contact the Sprinto support team at [email protected].
Last updated

