AWS
Role Delegation

To set up the AWS integration using Role Delegation, create an IAM policy and IAM role in your AWS account, and configure the role with an AWS External ID generated in your HeyCloud account. This allows HeyCloud's AWS account to query AWS APIs on your behalf, and pull data into your HeyCloud account. The sections below detail the steps for creating each of these components, and then completing the setup in your HeyCloud account.

Generate an external ID

  1. In the HeyCloud AWS integration configuration page, click Add AWS Account, and then select Manually.
  2. Select Role Delegation for the access type and copy the AWS External ID. For more information about the external ID, read the IAM User Guide.

Note: The External ID remains available and is not regenerated for 48 hours, unless explicitly changed by a user or another AWS account is added to HeyCloud during this period. You can return to the Add New AWS Account page within that time period to complete the process of adding an account without the External ID changing.

AWS IAM policy for HeyCloud

Create an IAM policy for the HeyCloud role in your AWS account with the necessary permissions to take advantage of every AWS integration offered by HeyCloud. As other components are added to an integration, these permissions may change. 3. Create a new policy in the AWS IAM Console. 4. Select the JSON tab. Paste the permission policies in the textbox. 5. Click Next: Tags and Next: Review. 6. Name the policy HeyCloudIntegrationPolicy or one of your own choosing, and provide an apt description. 7. Click Create policy.

AWS IAM role for HeyCloud

Create an IAM role for HeyCloud to use the permissions defined in the IAM policy.

  1. Create a new role in the AWS IAM Console.
  2. Select AWS account for the trusted entity type, and Another AWS account.
  3. Enter 060482727757 as the Account ID. This is HeyCloud's account ID, and grants HeyCloud access to your AWS data.
  4. Select Require external ID and enter the external ID copied in the Generate an external ID section. Ensure to leave Require MFA disabled. For more details, see the How to use an external ID when granting access to your AWS resources to a third party AWS documentation.
  5. Click Next.
  6. If you’ve already created the policy, search for it on this page and select it. Otherwise, click Create Policy, which opens in a new window, and follow the instructions from the previous section.
  7. Optionally, attach the AWS SecurityAudit Policy to the role to use Cloud Security Management Misconfigurations.
  8. Click Next.
  9. Give the role a name such as HeyCloudIntegrationRole, as well as an apt description.
  10. Click Create Role.

Complete the setup in HeyCloud

  1. Return to the AWS integration configuration page for manually adding an account in HeyCloud that you had open in another tab. Click the checkbox to confirm the HeyCloud IAM role was added to the AWS account.
  2. Enter the account ID without dashes, for example: 123456789012. Your Account ID can be found in the ARN of the role created for HeyCloud.
  3. Enter the name of the role created in the previous section, and click Save. Note: The role name you enter in the integration tile is case sensitive and must exactly match the role name in AWS.
  4. If there is a HeyCloud is not authorized to perform sts:AssumeRole error, follow the troubleshooting steps recommended in the UI, or read the troubleshooting guide.
  5. Wait up to 10 minutes for data to start being collected, and then view the out-of-the-box AWS Overview Dashboard to see metrics sent by your AWS services and infrastructure.

AWS IAM Permissions

AWS IAM permissions enable HeyCloud to collect metrics, tags, EventBridge events, and other data necessary to monitor your AWS environment.

To correctly set up the AWS Integration, you must attach the relevant IAM policies to the HeyCloud AWS Integration IAM Role in your AWS account.

AWS Integration IAM Policy

The set of permissions necessary to use all the integrations for individual AWS services.

The following permissions included in the policy document use wild cards. If you require strict policies, use the complete action names as listed and reference the Amazon API documentation for your respective services.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:*",
                "s3:*",
                "rds:*",
                "lambda:*",
                "dynamodb:*",
                "cloudformation:*",
                "cloudwatch:*",
                "iam:*",
                "route53:*",
                "elasticloadbalancing:*"
            ],
            "Resource": "*"
        }
    ]
}