AWS Role Deployment and Permissions
Role Permissions
Read Only Role
{
"Parameters": {
"PumpID": {
"Description": "The Pump customer ID that syncs your account. Please don't change or share this.",
"MinLength": "1",
"Type": "String"
},
"PumpExternalID": {
"Description": "The Pump external ID that authenticates your account. Please don't change or share this.",
"MinLength": "1",
"Type": "String"
},
"PumpIamRole": {
"Description": "The Pump IAM role that has permission to your account.",
"MinLength": "1",
"Type": "String"
},
"PumpPingbackArn": {
"Description": "The arn used to communicate back to Pump.",
"MinLength": "1",
"Type": "String"
},
"PumpRoleType": {
"Description": "The type of the role Pump is creating.",
"MinLength": "1",
"Type": "String"
},
"AccountState": {
"Description": "The current state of the account.",
"MinLength": "0",
"Type": "String"
}
},
"Resources": {
"CrossAccountRole": {
"Type": "AWS::IAM::Role",
"Properties": {
"AssumeRolePolicyDocument": {
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": {
"Ref": "PumpIamRole"
}
},
"Action": [
"sts:AssumeRole"
],
"Condition": {
"StringEquals": {
"sts:ExternalId": {
"Ref": "PumpExternalID"
}
}
}
}
]
},
"Path": "/",
"Policies": [
{
"PolicyName": "PumpBillingReadOnly",
"PolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"account:GetContactInformation",
"account:ListRegions",
"athena:GetCapacityAssignmentConfiguration",
"athena:GetCapacityReservation",
"athena:ListCapacityReservations",
"athena:ListTableMetadata",
"bedrock:GetProvisionedModelThroughput",
"bedrock:ListProvisionedModelThroughputs",
"ce:Get*",
"ce:List*",
"cur:Describe*",
"cur:List*",
"organizations:Describe*",
"organizations:List*",
"iam:GetPolicyVersion",
"iam:ListPolicies",
"freetier:GetFreeTierUsage",
"pricing:DescribeServices",
"pricing:GetAttributeValues",
"pricing:GetProducts",
"pricing:ListPriceLists",
"savingsplans:Describe*",
"servicequotas:Get*",
"servicequotas:List*",
"taxsettings:Get*",
"taxsettings:List*",
"ec2:DescribeInstances",
"ec2:DescribeReservedInstances",
"ec2:DescribeReservedInstancesListings",
"ec2:DescribeReservedInstancesModifications",
"ec2:DescribeReservedInstancesOfferings",
"ec2:GetCapacityReservationUsage",
"ec2:GetReservedInstancesExchangeQuote",
"redshift:DescribeReservedNodeOfferings",
"redshift:DescribeReservedNodes",
"redshift:DescribeClusters",
"redshift:DescribeReservedNodeExchangeStatus",
"redshift:GetReservedNodeExchangeConfigurationOptions",
"redshift:GetReservedNodeExchangeOfferings",
"rds:DescribeReservedDBInstances",
"rds:DescribeDBInstances",
"rds:DescribeDBClusters",
"rds:DescribeReservedDBInstancesOfferings",
"elasticache:DescribeReservedCacheNodesOfferings",
"elasticache:DescribeServerlessCaches",
"elasticache:DescribeReservedCacheNodes",
"elasticache:DescribeCacheClusters",
"es:DescribeDomainNodes",
"es:DescribeReservedElasticsearchInstanceOfferings",
"es:DescribeReservedElasticsearchInstances",
"es:DescribeReservedInstanceOfferings",
"es:DescribeElasticsearchDomain",
"es:DescribeDomains",
"es:DescribeDomain",
"es:DescribeElasticsearchDomains",
"es:DescribeReservedInstances",
"medialive:ListReservations",
"medialive:DescribeReservation",
"medialive:ListClusters",
"medialive:DescribeCluster",
"medialive:DescribeNode",
"medialive:ListOfferings",
"medialive:DescribeOffering",
"medialive:ListNodes",
"memorydb:DescribeReservedNodesOfferings",
"memorydb:DescribeClusters",
"memorydb:DescribeReservedNodes",
"dynamodb:DescribeReservedCapacityOfferings",
"dynamodb:DescribeReservedCapacity"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
}
]
}
},
"PumpPingResource": {
"Type": "Custom::PumpPingResource",
"DeletionPolicy": "Retain",
"Version": "1.0",
"Properties": {
"ServiceToken": {
"Ref": "PumpPingbackArn"
},
"RoleArn": {
"Fn::GetAtt": [
"CrossAccountRole",
"Arn"
]
},
"PumpID": {
"Ref": "PumpID"
},
"ExternalID": {
"Ref": "PumpExternalID"
},
"AccountID": {
"Ref": "AWS::AccountId"
},
"RoleType": {
"Ref": "PumpRoleType"
},
"AccountState": {
"Ref": "AccountState"
}
}
}
},
"Outputs": {
"RoleArn": {
"Value": {
"Fn::GetAtt": [
"CrossAccountRole",
"Arn"
]
},
"Description": "The ARN value of the Cross-Account Role with IAM read-only permissions. Add this ARN value to Pump."
}
}
}Auto-pilot Role
Role Deployment
Viewing, Deleting, and Redeploying Roles
Additional Info
Last updated
Was this helpful?
