Pump
Back to Home
  • Getting Started
    • Introduction
    • The Hitchhiker's Guide to Pump
    • Joining Pump
      • Our Features
      • Running your Savings Estimate
      • Selecting a mode (Autopilot or Manual Mode)
      • Savings Survey
      • When can I expect to see Savings?
      • Money Back Guarantee
    • Billing Info
      • Billing Process
      • First Month Billing
      • Currencies Supported
      • Supported Payment Methods
      • Invoice Verification or Errors
      • Invoices for Indian Customers
      • Invoices from AWS
      • Sales Tax or Value Added Tax (VAT)
    • How Pump works
    • Real Customers, Real Success Stories
    • Money Back Guarantee
    • FAQ
  • AWS: Joining Pump
    • How to Join Pump (3 easy steps)
      • Step 1 - View Estimate
      • Step 2 - Authorize Pump
      • Step 3 - Know your business
      • Finishing Touches
        • Inviting your team
        • Adding additional AWS accounts
        • Post onboarding
        • AWS Seller Registration
        • Sign up for Auto Pay
    • AWS Multi-account architecture
      • via 'Join Account(s)'
      • via 'Join With A Pre-Existing Org(s)'
      • Join via CTA
      • How Pump handles SSO
      • Leave an AWS Organization
    • AWS Role Deployment and Permissions
  • Maximizing Pump with AWS
    • Using Pump
      • Savings Summary
      • Past Savings
      • Reserved Instances
      • Savings Plans
      • Group buying discounts
      • Payments
      • Sales or Value added tax (VAT)
      • Credit FAQ
    • AWS Discount Prices
    • Pump Secure
    • AWS Credits FAQ
  • GCP: Joining Pump
    • Getting Started with GCP
      • Step 1 - View Savings Estimate
      • Step 2 - Authorize Pump
  • Azure: Joining Pump
    • Azure Role Deployment and Permissions
  • Pump University
    • Welcome to Pump University
  • Support
    • Fast & Free Support
    • Security & Access
      • Cross Account Role
      • Role Deployment
      • Access Management
      • Other Housekeeping
    • Invoices from AWS
    • Invoices from GCP
    • Request a Demo
    • Security Standards
    • Changing Infrastructure while on Pump
Powered by GitBook
On this page
  1. Support
  2. Security & Access

Cross Account Role

PreviousSecurity & AccessNextRole Deployment

Last updated 1 month ago

Pump accesses your AWS account via a cross-account role. In line with AWS IAM policy best practices, Pump requests only the . This means we limit the actions we can take and the resources to which those actions can be applied.

We further enhance security by dividing permissions into two separate roles: the read-only role and the auto-pilot role.

Read-only role -

This role is used during the initial . It requires read-only permissions to access up to one year of historical billing data (via Cost Explorer) and your AWS infrastructure metadata (such as the Redshift cluster you are using and whether it is already covered by reserved instances). After ingesting this data, Pump's billing engine calculates optimal savings. Once a user is fully onboarded, the read-only role is used again to display cost and savings on the Pump dashboard, helping users monitor their current spending and the savings achieved by Pump.

[
  {
    "PolicyName": "PumpBillingReadOnly",
    "PolicyDocument": {
      "Statement": [
        {
          "Action": [
            "budgets:Describe*",
            "budgets:View*",
            "ce:Get*",
            "ce:Describe*",
            "ce:List*",
            "cur:Describe*",
            "pricing:DescribeServices",
            "pricing:GetAttributeValues",
            "pricing:GetProducts",
            "organizations:Describe*",
            "organizations:List*",
            "savingsplans:Describe*",
            "rds:Describe*",
            "rds:List*",
            "elasticache:List*",
            "elasticache:Describe*",
            "redshift:Describe*",
            "es:Describe*",
            "es:List*"
          ],
          "Resource": "*",
          "Effect": "Allow"
        }
      ]
    }
  }
]

Auto-pilot role -

[
  {
    "PolicyName": "PumpOrgInvite",
    "PolicyDocument": {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Action": [
            "organizations:Describe*",
            "organizations:List*",
            "organizations:AcceptHandshake",
            "iam:CreateServiceLinkedRole"
          ],
          "Resource": "*",
          "Effect": "Allow"
        }
      ]
    }
  },
  {
    "PolicyName": "PumpReadOnly",
    "PolicyDocument": {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Action": [
            "budgets:Describe*",
            "budgets:View*",
            "ce:*",
            "ec2:Describe*",
            "ec2:GetCapacityReservationUsage",
            "ec2:GetReservedInstancesExchangeQuote",
            "cloudwatch:Describe*",
            "cloudwatch:Get*",
            "cloudwatch:List*",
            "ecs:Describe*",
            "ecs:List*",
            "eks:Describe*",
            "eks:List*",
            "pricing:DescribeServices",
            "pricing:GetAttributeValues",
            "pricing:GetProducts",
            "servicequotas:Get*",
            "servicequotas:List*",
            "application-autoscaling:Describe*",
            "autoscaling:Describe*",
            "aws-portal:ViewBilling",
            "aws-portal:ViewUsage",
            "consolidatedbilling:List*",
            "consolidatedbilling:Get*",
            "rds:Describe*",
            "rds:List*",
            "elasticache:List*",
            "elasticache:Describe*",
            "redshift:Describe*",
            "redshift:GetReservedNodeExchangeConfigurationOptions",
            "redshift:GetReservedNodeExchangeOfferings",
            "es:Describe*",
            "es:List*",
            "tag:Get*",
            "transfer:Describe*",
            "transfer:List*"
          ],
          "Resource": "*",
          "Effect": "Allow"
        }
      ]
    }
  },
  {
    "PolicyName": "PumpAutoPilot",
    "PolicyDocument": {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Action": [
            "ec2:CreateTags",
            "ec2:AcceptReservedInstancesExchangeQuote",
            "ec2:CancelReservedInstancesListing",
            "ec2:CreateReservedInstancesListing",
            "ec2:DeleteQueuedReservedInstances",
            "ec2:PurchaseHostReservation",
            "ec2:PurchaseReservedInstancesOffering",
            "ec2:ModifyReservedInstances",
            "savingsplans:*",
            "rds:PurchaseReservedDbInstancesOffering",
            "elasticache:PurchaseReservedCacheNodesOffering",
            "redshift:PurchaseReservedNodeOffering",
            "redshift:AcceptReservedNodeExchange",
            "es:PurchaseReservedInstanceOffering",
            "servicequotas:RequestServiceQuotaIncrease",
            "support:*"
          ],
          "Resource": "*",
          "Effect": "Allow"
        }
      ]
    }
  }
]

This role is employed after the. It includes all the permissions from the read-only role, as well as additional read-only permissions for collecting service usage metadata, such as compute instance metadata (see the full list of permissions). Note that Pump does not collect application data or user data—only usage metadata is collected. In addition to gathering usage metadata, the auto-pilot role also requires permission to buy and sell reserved instances and savings plans. Pump's AI algorithms process the usage metadata and manage cost commitments on behalf of users.

Please contact our support team for more information.

least-privilege permissions
onboarding step (Step 1)
(see the full list here)
final onboarding step
here
support@pump.co