AWSBudgetsSpendLimitMemberRolePolicy

Last Modified

Aug 13, 2026

August 13, 2026 at 09:04 PM UTC

Version

v4

Total Versions

4

Created

Aug 13, 2026

Actions

97

Risk

Medium

The same capabilities in a scoped form, resource policy writes, reads across all data, or full access to a whole service. Read from this policy document alone: trust policies, boundaries and SCPs in your account still decide what actually succeeds. How this is assessed

  • Medium

    Can read secrets

    Reads Lambda environment variables, where credentials often live, on any resource with no condition.

    lambda:GetFunctionConfiguration

    Use with caution: Where the holder needs only some secrets, write your own policy scoped to their ARNs or tags, and limit decryption in the KMS key policies.

Policy Document

View on GitHub
{
  "PolicyVersion": {
    "Document": {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "EC2Actions",
          "Effect": "Allow",
          "Action": [
            "ec2:DescribeInstances",
            "ec2:StopInstances",
            "ec2:DescribeNatGateways",
            "ec2:DescribeVpnGateways",
            "ec2:DescribeAddresses",
            "ec2:DescribeSnapshots",
            "ec2:DescribeInstanceStatus",
            "ec2:DescribeVolumes"
          ],
          "Resource": "*"
        },
        {
          "Sid": "RDSActions",
          "Effect": "Allow",
          "Action": [
            "rds:DescribeDBInstances",
            "rds:StopDBInstance",
            "rds:DescribeDBClusters",
            "rds:StopDBCluster",
            "rds:CreateDBClusterSnapshot",
            "rds:DescribeDBClusterSnapshots",
            "rds:RestoreDBClusterFromSnapshot",
            "rds:RestoreDBClusterToPointInTime",
            "rds:DescribeIntegrations",
            "rds:DescribeDBProxies"
          ],
          "Resource": "*"
        },
        {
          "Sid": "DSQLActions",
          "Effect": "Allow",
          "Action": [
            "dsql:GetCluster",
            "dsql:ListClusters"
          ],
          "Resource": "*"
        },
        {
          "Sid": "SageMakerActions",
          "Effect": "Allow",
          "Action": [
            "sagemaker:DescribeNotebookInstance",
            "sagemaker:ListNotebookInstances",
            "sagemaker:StopNotebookInstance",
            "sagemaker:StartNotebookInstance",
            "sagemaker:DescribeApp",
            "sagemaker:ListApps",
            "sagemaker:DescribeTrainingJob",
            "sagemaker:ListTrainingJobs",
            "sagemaker:StopTrainingJob",
            "sagemaker:DescribeProcessingJob",
            "sagemaker:ListProcessingJobs",
            "sagemaker:StopProcessingJob",
            "sagemaker:DescribeTransformJob",
            "sagemaker:ListTransformJobs",
            "sagemaker:StopTransformJob",
            "sagemaker:ListEndpoints",
            "sagemaker:DescribeEndpointConfig",
            "sagemaker:ListEndpointConfigs",
            "sagemaker:DescribeCluster",
            "sagemaker:ListClusters",
            "sagemaker:DescribeClusterNode",
            "sagemaker:ListClusterNodes",
            "sagemaker:AttachClusterNodeVolume",
            "sagemaker:DetachClusterNodeVolume",
            "sagemaker:DescribeMlflowTrackingServer",
            "sagemaker:ListMlflowTrackingServers",
            "sagemaker:StopMlflowTrackingServer",
            "sagemaker:StopLabelingJob",
            "sagemaker:DescribeUserProfile"
          ],
          "Resource": "*"
        },
        {
          "Sid": "LambdaActions",
          "Effect": "Allow",
          "Action": [
            "lambda:GetFunctionConfiguration",
            "lambda:ListFunctions",
            "lambda:GetFunctionConcurrency",
            "lambda:PutFunctionConcurrency",
            "lambda:DeleteFunctionConcurrency",
            "lambda:ListEventSourceMappings",
            "lambda:GetEventSourceMapping",
            "lambda:GetProvisionedConcurrencyConfig",
            "lambda:ListProvisionedConcurrencyConfigs",
            "lambda:PutProvisionedConcurrencyConfig",
            "lambda:DeleteProvisionedConcurrencyConfig"
          ],
          "Resource": "*"
        },
        {
          "Sid": "BedrockActions",
          "Effect": "Allow",
          "Action": [
            "bedrock:GetProvisionedModelThroughput",
            "bedrock:ListProvisionedModelThroughputs",
            "bedrock:UpdateProvisionedModelThroughput",
            "bedrock:GetModelInvocationJob",
            "bedrock:ListModelInvocationJobs",
            "bedrock:StopModelInvocationJob",
            "bedrock:GetModelCustomizationJob",
            "bedrock:ListModelCustomizationJobs",
            "bedrock:StopModelCustomizationJob",
            "bedrock:GetEvaluationJob",
            "bedrock:ListEvaluationJobs",
            "bedrock:StopEvaluationJob"
          ],
          "Resource": "*"
        },
        {
          "Sid": "SSMAutomation",
          "Effect": "Allow",
          "Action": [
            "ssm:StartAutomationExecution",
            "ssm:GetAutomationExecution",
            "ssm:DescribeAutomationExecutions",
            "ssm:DescribeAutomationStepExecutions",
            "ssm:StopAutomationExecution"
          ],
          "Resource": [
            "arn:aws:ssm:*:*:document/AWS-StartEC2Instance",
            "arn:aws:ssm:*:*:document/AWS-StopEC2Instance",
            "arn:aws:ssm:*:*:document/AWS-StartRdsInstance",
            "arn:aws:ssm:*:*:document/AWS-StopRdsInstance",
            "arn:aws:ssm:*:*:automation-execution/*",
            "arn:aws:ssm:*:*:automation-definition/AWS-StartEC2Instance:*",
            "arn:aws:ssm:*:*:automation-definition/AWS-StopEC2Instance:*",
            "arn:aws:ssm:*:*:automation-definition/AWS-StartRdsInstance:*",
            "arn:aws:ssm:*:*:automation-definition/AWS-StopRdsInstance:*"
          ]
        },
        {
          "Sid": "CostOptimizationHubActions",
          "Effect": "Allow",
          "Action": [
            "cost-optimization-hub:UpdateEnrollmentStatus",
            "cost-optimization-hub:ListEnrollmentStatuses"
          ],
          "Resource": "*"
        },
        {
          "Sid": "ComputeOptimizerActions",
          "Effect": "Allow",
          "Action": [
            "compute-optimizer:GetIdleRecommendations",
            "compute-optimizer:GetRecommendationSummaries",
            "compute-optimizer:GetEC2InstanceRecommendations",
            "compute-optimizer:GetAutoScalingGroupRecommendations",
            "compute-optimizer:GetEnrollmentStatus",
            "compute-optimizer:UpdateEnrollmentStatus"
          ],
          "Resource": "*"
        },
        {
          "Sid": "ComputeOptimizerAutomationActions",
          "Effect": "Allow",
          "Action": [
            "aco-automation:StartAutomationEvent",
            "aco-automation:ListRecommendedActions",
            "aco-automation:GetAutomationEvent",
            "aco-automation:GetEnrollmentConfiguration",
            "aco-automation:UpdateEnrollmentConfiguration"
          ],
          "Resource": "*"
        },
        {
          "Sid": "SSOActions",
          "Effect": "Allow",
          "Action": [
            "sso:ListInstances"
          ],
          "Resource": "*"
        },
        {
          "Sid": "AccountActions",
          "Effect": "Allow",
          "Action": [
            "account:GetAccountInformation",
            "account:GetPrimaryEmail"
          ],
          "Resource": "*"
        },
        {
          "Sid": "AllowAWSServiceAccessForCostOptimizationHub",
          "Effect": "Allow",
          "Action": [
            "organizations:EnableAWSServiceAccess"
          ],
          "Resource": "arn:aws:organizations:*:*:*",
          "Condition": {
            "StringLike": {
              "organizations:ServicePrincipal": [
                "cost-optimization-hub.bcm.amazonaws.com",
                "compute-optimizer.amazonaws.com"
              ]
            }
          }
        },
        {
          "Sid": "AllowACOAutomationSLRCreation",
          "Effect": "Allow",
          "Action": "iam:CreateServiceLinkedRole",
          "Resource": "arn:aws:iam::*:role/aws-service-role/aco-automation.amazonaws.com/AWSServiceRoleForComputeOptimizerAutomation",
          "Condition": {
            "StringLike": {
              "iam:AWSServiceName": "aco-automation.amazonaws.com"
            }
          }
        },
        {
          "Sid": "AllowComputeOptimizerSLRCreation",
          "Effect": "Allow",
          "Action": "iam:CreateServiceLinkedRole",
          "Resource": [
            "arn:aws:iam::*:role/aws-service-role/cost-optimization-hub.bcm.amazonaws.com/AWSServiceRoleForCostOptimizationHub",
            "arn:aws:iam::*:role/aws-service-role/compute-optimizer.amazonaws.com/AWSServiceRoleForComputeOptimizer",
            "arn:aws:iam::*:role/aws-service-role/aco-automation.amazonaws.com/AWSServiceRoleForComputeOptimizerAutomation"
          ],
          "Condition": {
            "StringLike": {
              "iam:AWSServiceName": "compute-optimizer.amazonaws.com"
            }
          }
        },
        {
          "Sid": "AllowCostOptimizationHubSLRCreation",
          "Effect": "Allow",
          "Action": "iam:CreateServiceLinkedRole",
          "Resource": "arn:aws:iam::*:role/aws-service-role/cost-optimization-hub.bcm.amazonaws.com/AWSServiceRoleForCostOptimizationHub",
          "Condition": {
            "StringLike": {
              "iam:AWSServiceName": "cost-optimization-hub.bcm.amazonaws.com"
            }
          }
        }
      ]
    },
    "VersionId": "v4",
    "IsDefaultVersion": true,
    "CreateDate": "2026-08-13T20:47:33+00:00"
  }
}

Version History (4 recorded)

Raw history
v4updated

5 actions added

67aea4c
1 never-before-seen action: aco-automation:GetEnrollmentConfiguration
v3updated

1 action added

f5acc9f
Permissions management: iam:CreateServiceLinkedRole: iam:CreateServiceLinkedRole
v2updated

4 actions added

cec9afe