Integrating your AWS account with CloudSpend provides a comprehensive view of your cloud spending.
Connecting your AWS account with CloudSpend is a three stage process:
CloudSpend-AWS integration architecture
You can provide CloudSpend programmatic access to your AWS resources using two ways. You can create a cross-account IAM Role and establish a trust relationship between your AWS account and CloudSpend's AWS account.
Between the two, IAM Role is recommended as there is no sharing of security credentials. Also when you delegate permissions using Roles, you can designate the AWS accounts that are allowed to assume the role, thereby safeguarding your account from unauthorized access.
We're deprecating IAM user based access to new users. So if you're existing users, you can switch to IAM role based access.
The following section will walk you through the IAM Role creation process:
When you open the CloudSpend console for the first time, you'll land on an on-boarding carousel highlighting the features of the app. You can read and understand how the app can help you, or you can choose to skip.

Click Integrate AWS Account. In the Integrate AWS Account page, provide a Display Name, and choose IAM role as the Access Type. Copy the Account ID and External ID and save the value in a notepad for the AWS IAM Role creation step. Also, keep this browser tab open.

The External ID is an alpha-numeric key unique to your account. The key gets regenerated every time you refresh the Integrate AWS Account page. So, please make sure you use the correct key during IAM Role creation.
Ensure that you have the required policies for CloudSpend. If not, create your own policy before you create an IAM role. To do so, follow the steps mentioned below:
Select Access Management > Policies from the left navigation pane.

{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"VisualEditor0",
"Effect":"Allow",
"Action":[
"organizations:ListRoots",
"s3:GetObjectVersionTagging",
"organizations:DescribeAccount",
"organizations:ListChildren",
"s3:GetObjectAcl",
"organizations:DescribeOrganization",
"s3:GetObjectVersionAcl",
"organizations:DescribeHandshake",
"s3:GetBucketWebsite",
"s3:GetBucketNotification",
"s3:GetReplicationConfiguration",
"s3:ListMultipartUploadParts",
"organizations:ListAccountsForParent",
"organizations:ListHandshakesForAccount",
"s3:GetObject",
"iam:GetUserPolicy",
"s3:GetAnalyticsConfiguration",
"organizations:ListOrganizationalUnitsForParent",
"s3:GetObjectVersionForReplication",
"cur:DescribeReportDefinitions",
"s3:GetLifecycleConfiguration",
"s3:GetBucketTagging",
"s3:GetInventoryConfiguration",
"s3:ListBucketVersions",
"s3:GetBucketLogging",
"s3:ListBucket",
"s3:GetAccelerateConfiguration",
"s3:GetBucketPolicy",
"organizations:DescribePolicy",
"s3:GetObjectVersionTorrent",
"s3:GetEncryptionConfiguration",
"organizations:ListCreateAccountStatus",
"s3:GetBucketRequestPayment",
"organizations:DescribeOrganizationalUnit",
"s3:GetObjectTagging",
"s3:GetMetricsConfiguration",
"organizations:DescribeCreateAccountStatus",
"organizations:ListPoliciesForTarget",
"s3:ListBucketMultipartUploads",
"organizations:ListTargetsForPolicy",
"s3:GetBucketVersioning",
"organizations:ListAWSServiceAccessForOrganization",
"s3:GetBucketAcl",
"organizations:ListPolicies",
"organizations:ListHandshakesForOrganization",
"organizations:ListAccounts",
"s3:GetObjectTorrent",
"s3:ListAllMyBuckets",
"s3:GetBucketCORS",
"organizations:ListParents",
"iam:GetUser",
"s3:GetBucketLocation",
"s3:GetObjectVersion",
"bcm-data-exports:ListExports",
"bcm-data-exports:GetExport"
],
"Resource":"*"
}
]
}
In the Review and create page, enter the Policy name and Description.

To create an IAM role follow the below mentioned steps:
Select Access Management > Roles from the left navigation pane.

Enter the unique External ID displayed in the Integrate AWS Account page.

Site24x7 requires ReadOnly access to your AWS services and resources.
In the Add permissions page, search and select the policy you created above. You can also search for and select ReadOnlyAccess which is the AWS managed - job function policy as required.
If you wish to monitor the usage metrics of your Kinesis Video Streams, ensure that you also select AmazonKinesisVideoStreamsReadOnlyAccess.

Step 3: Name, review, and create
Review the details configured in Step 1: Select trusted entity and Step 2: Add permissions.

Copy the ARN details from the Summary section and paste it in the CloudSpend>Integrate Account> Role ARN field.

The following section will walk you through the AWS IAM user creation process:
If you're using the consolidated billing feature in AWS Organizations to bring multiple member accounts under a master account then sign in to the AWS management console of the master account. If you're running multiple standalone accounts (choose to have each account receive a bill) then login to the AWS account you want to integrate with CloudSpend.
In the navigation pane, click Users and then click Add user.

Select Programmatic access as the type of access.

In the Set permissions window, choose the option Attach existing policies to user directly and click Create policy to open a new browser tab.

{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"VisualEditor0",
"Effect":"Allow",
"Action":[
"organizations:ListRoots",
"s3:GetObjectVersionTagging",
"organizations:DescribeAccount",
"organizations:ListChildren",
"s3:GetObjectAcl",
"organizations:DescribeOrganization",
"s3:GetObjectVersionAcl",
"organizations:DescribeHandshake",
"s3:GetBucketWebsite",
"s3:GetBucketNotification",
"s3:GetReplicationConfiguration",
"s3:ListMultipartUploadParts",
"organizations:ListAccountsForParent",
"organizations:ListHandshakesForAccount",
"s3:GetObject",
"iam:GetUserPolicy",
"s3:GetAnalyticsConfiguration",
"organizations:ListOrganizationalUnitsForParent",
"s3:GetObjectVersionForReplication",
"cur:DescribeReportDefinitions",
"s3:GetLifecycleConfiguration",
"s3:GetBucketTagging",
"s3:GetInventoryConfiguration",
"s3:ListBucketVersions",
"s3:GetBucketLogging",
"s3:ListBucket",
"s3:GetAccelerateConfiguration",
"s3:GetBucketPolicy",
"organizations:DescribePolicy",
"s3:GetObjectVersionTorrent",
"s3:GetEncryptionConfiguration",
"organizations:ListCreateAccountStatus",
"s3:GetBucketRequestPayment",
"organizations:DescribeOrganizationalUnit",
"s3:GetObjectTagging",
"s3:GetMetricsConfiguration",
"organizations:DescribeCreateAccountStatus",
"organizations:ListPoliciesForTarget",
"s3:ListBucketMultipartUploads",
"organizations:ListTargetsForPolicy",
"s3:GetBucketVersioning",
"organizations:ListAWSServiceAccessForOrganization",
"s3:GetBucketAcl",
"organizations:ListPolicies",
"organizations:ListHandshakesForOrganization",
"organizations:ListAccounts",
"s3:GetObjectTorrent",
"s3:ListAllMyBuckets",
"s3:GetBucketCORS",
"organizations:ListParents",
"iam:GetUser",
"s3:GetBucketLocation",
"s3:GetObjectVersion",
"bcm-data-exports:ListExports",
"bcm-data-exports:GetExport"
],
"Resource":"*"
}
]
}Click Review policy.

On the review page, type a name and a description for the policy you're creating. Evaluate the permissions granted, if everything looks satisfying click Create policy.

Select the check box next to the name of the policy. Click Next: Review.

Review user details and permissions. If everything is in order click Create user.

Choose Download.csv and save the file in a secure location. (This is the only opportunity you will get to view or save the security credentials.)

CloudSpend uses an AWS CloudFormation template to generate an IAM role, so that you can seamlessly integrate your AWS account with CloudSpend. Enabling access to your AWS environment automatically creates an IAM role using the CloudFormation template.
The following section will walk you through the IAM Role creation process using CloudFormation stack:





AWS Data Exports enables you to create exports of the Cost and Usage Report (CUR) 2.0 or Legacy Cost and Usage Reports.
CloudSpend supports master and linked accounts. If you're using the consolidated billing feature in AWS Organizations, then create the data export at master account level. However, if you wish to view the cost and usage details at the linked account level, you have to create the data export for the respective linked account.
Exports are delivered on a recurring basis to an Amazon S3 bucket. To deliver the exports to an existing or new S3 bucket, follow the steps mentioned below. If you're already publishing the export to a S3 bucket, skip to Stage 3.
To create an AWS data export in an S3 bucket, follow the steps below to get started.








Connect your Site24x7 account directly with CloudSpend by:
Connect your Site24x7 MSP account directly with CloudSpend by:
You can now leverage the cloud cost management tool for your linked accounts in AWS by choosing the Account Type as "Linked Account" in the Integrate account page. When you select a linked account, in addition to specifying the report name, specify the S3 bucket name and bucket prefix (if configured) to store the reports.
The CloudSpend AWS cost supports Parquet and GZIP file formats. For cost accounts parsed from the Parquet format report, the user-defined tags with camel case, colon, and hyphen will be replaced with an underscore and follow lower casing.
See the below table for examples:
| Tag name in GZIP file type | Tag name in Parquet file type |
| autoscaling:groupName | autoscaling_group_name |
| cloudformation:id | cloudformation_id |
| CreatedBy | created_by |
| Environment-type | environment_type |
The system-generated tags will not have any changes.
You can now easily view the errors in configuring your CloudSpend account, like Invalid report name or Expired roles in the Configuration Error Account(s) section. Choose to either edit or delete the configuration error and rectify the errors for all accounts from a single view.
