Menu
AWS Billing and Cost Management
User Guide (Version 2.0)

Billing and Cost Management Permissions Reference

This reference summarizes the default actions that are permitted in Billing and Cost Management for each type of billing user and the billing permissions that you can apply to your IAM users. The reference also provides examples of policies that you can use to allow or deny an IAM user access to your billing information and tools.

For a full discussion of AWS accounts and IAM users, see What is IAM? in the IAM User Guide.

User Types and Billing Permissions

This table summarizes the default actions that are permitted in Billing and Cost Management for each type of billing user.

User Type Description Billing Permissions
Account owner

The person or entity in whose name your AWS account is set up.

  • Has full control of all Billing and Cost Management resources.

  • Receives a monthly invoice of AWS charges.

IAM user

A person or application defined as a user in an AWS account by an account owner or administrative user. Accounts can contain multiple IAM users.

  • Has permissions explicitly granted to the user or a group that includes the user.

  • Can be granted permission to view Billing and Cost Management console pages. For more information, see Controlling Access.

  • Cannot close AWS accounts.

Organization master account owner

The person or entity associated with an AWS Organizations master account. The master account pays for AWS usage that is incurred by a member account in an organization.

  • Has full control of all Billing and Cost Management resources for the master account only.

  • Receives a monthly invoice of AWS charges for the master account and member accounts.

  • Views the activity of member accounts in the billing reports for the master account.

Organization member account owner

The person or entity associated with an AWS Organizations member account. The master account pays for AWS usage that is incurred by a member account in an organization.

  • Does not have permission to review any usage reports or account activity except for its own. Does not have access to usage reports or account activity for other member accounts in the organization or for the master account.

  • Does not have permission to view billing reports.

  • Has permission to update account information only for its own account; cannot access other member accounts or the master account.

Note

For more information about organization master and member accounts, see the AWS Organizations User Guide.

Billing Permissions Descriptions

This table summarizes the permissions that you use to allow or deny IAM users access to your billing information and tools. For examples of policies that use these permissions, see Billing and Cost Management Policy Examples.

Permission Name Description

ViewBilling

Allow or deny IAM users permission to view the following Billing and Cost Management console pages:

ModifyBilling

Allow or deny IAM users permission to modify the following Billing and Cost Management console pages:

To allow IAM users to modify these console pages, you must allow both ModifyBilling and ViewBilling. For an example policy, see Example Example 6: Allow IAM users to modify billing information.

ViewAccount

Allow or deny IAM users permission to view Account Settings.

ModifyAccount

Allow or deny IAM users permission to modify Account Settings.

To allow IAM users to modify account settings, you must allow both ModifyAccount and ViewAccount.

For an example of a policy that explicitly denies an IAM user access to the Account Settings console page, see Example Example 8: Deny access to Account Settings, but allow full access to all other billing and usage information.

ViewBudget

Allow or deny IAM users permission to view Budgets.

To allow IAM users to view budgets, you must also allow ViewBilling.

ModifyBudget

Allow or deny IAM users permission to modify Budgets.

To allow IAM users to view and modify budgets, you must also allow ViewBilling.

ViewPaymentMethods

Allow or deny IAM users permission to view Payment Methods.

ModifyPaymentMethods

Allow or deny IAM users permission to modify Payment Methods.

To allow users to modify payment methods, you must allow both ModifyPaymentMethods and ViewPaymentMethods.

DescribeReportDefinition

Allow or deny IAM users permission to view a Cost and Usage Report using the API.

For an example policy, see Example Example 10: Create, view, or delete an AWS Cost and Usage report.

PutReportDefinitions

Allow or deny IAM users permission to create a Cost and Usage Report using the API.

For an example policy, see Example Example 10: Create, view, or delete an AWS Cost and Usage report.

DeleteReportDefinition

Allow or deny IAM users permission to delete Cost and Usage Report using the API.

For an example policy, see Example Example 10: Create, view, or delete an AWS Cost and Usage report.

ViewUsage

Allow or deny IAM users permission to view AWS usage Reports.

To allow IAM users to view usage reports, you must allow both ViewUsage and ViewBilling.

For an example policy, see Example Example 2: Allow IAM users to access the Reports console page.

DescribeServices

Allow or deny IAM users permission to view AWS service products and pricing via AWS Price List Service API.

To allow IAM users to use AWS Price List Service API, you must allow DescribeServices, GetAttributeValues, and GetProducts.

For an example policy, see Example Example 11: Find products and prices.

GetAttributeValues

Allow or deny IAM users permission to view AWS service products and pricing via AWS Price List Service API.

To allow IAM users to use AWS Price List Service API, you must allow DescribeServices, GetAttributeValues, and GetProducts.

For an example policy, see Example Example 11: Find products and prices.

GetProducts

Allow or deny IAM users permission to view AWS service products and pricing via AWS Price List Service API.

To allow IAM users to use AWS Price List Service API, you must allow DescribeServices, GetAttributeValues, and GetProducts.

For an example policy, see Example Example 11: Find products and prices.

Billing and Cost Management Policy Examples

This topic contains example policies that you can attach to your IAM user or group to control access to your account's billing information and tools. The following basic rules apply to IAM policies:

  • Version is always 2012-10-17.

  • Effect is always Allow or Deny.

  • Action indicates access, and it can take a wild card (*).

    For consoles, the action prefix in China is awsbillingconsole. Everywhere else it is aws-portal.

    For the API, the action prefix is either budgets for budgets, or cur for AWS Cost and Usage reports.

  • Resource is always * for the console.

    For the budget API, the resource is the ARN of the budget.

  • It's possible to have multiple statements in one policy.

Note

These policies require that you activate IAM user access to the AWS Billing and Cost Management console on the Account Settings console page. For more information about activating IAM user access, see Activating Access to the Billing and Cost Management Console.

Example 1: Allow IAM users to view your billing information

To allow an IAM user to view your billing information without giving the IAM user access to sensitive account information, such as your password and account activity reports, use a policy similar to the following example policy. This policy allows IAM users to view the following Billing and Cost Management console pages, without giving them access to the Account Settings or Reports console pages:

  • Dashboard

  • Cost Explorer

  • Bills

  • Payment History

  • Consolidated Billing

  • Preferences

  • Credits

  • Advance Payment

Copy
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "aws-portal:ViewBilling", "Resource": "*" } ] }

Example 2: Allow IAM users to access the Reports console page

To allow an IAM user to access the Reports console page and to view the usage reports that contain account activity information, use a policy similar to this example policy:

Copy
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "aws-portal:ViewUsage", "aws-portal:ViewBilling" ], "Resource": "*" } ] }

Example 3: Deny IAM users access to the Billing and Cost Management console

To explicitly deny an IAM user access to the all Billing and Cost Management console pages, use a policy similar to this example policy:

Copy
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "aws-portal:*", "Resource": "*" } ] }

Example 4: Allow full access to AWS services but deny IAM users access to the Billing and Cost Management console

To enable full access to all AWS services but deny the IAM user access to everything on the Billing and Cost Management console, use the following policy. In this case, you should also deny user access to AWS Identity and Access Management (IAM), so that the users can't access the policies that control access to billing information and tools:

Copy
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "*", "Resource": "*" }, { "Effect": "Deny", "Action": [ "aws-portal:*", "iam:*" ], "Resource": "*" } ] }

Example 5: Allow IAM users to view the Billing and Cost Management console, except Account Settings

To protect your account password, contact information, and security questions, you can deny user access to Account Settings, while still enabling read-only access to the rest of the functionality in the Billing and Cost Management console. Applying this policy to an IAM user enables the user to view all the Billing and Cost Management console pages, including the Payments Method and Reports console pages, but denies the user access to Account Settings:

Copy
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "aws-portal:View*", "Resource": "*" }, { "Effect": "Deny", "Action": "aws-portal:*Account", "Resource": "*" } ] }

Example 6: Allow IAM users to modify billing information

To allow IAM users to modify account billing information in the Billing and Cost Management console, you must also allow IAM users to view your billing information. The following policy example allows an IAM user to modify the Consolidated Billing, Preferences, and Credits console pages. It also allows an IAM user to view the following Billing and Cost Management console pages:

  • Dashboard

  • Cost Explorer

  • Bills

  • Payment History

  • Advance Payment

Copy
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "aws-portal:*Billing", "Resource": "*" } ] }

Example 7: Allow IAM users to create budgets

To apply this policy, the user must have IAM permissions to view your Billing console.

If you use consolidated billing in an organization, only the master account can create and manage budgets. Individual member accounts can't create and manage budgets. You can grant linked accounts read-only access to your budgets using an IAM policy. For more information, see Controlling Access.

To allow IAM users to create budgets in the Billing and Cost Management console, you must also allow IAM users to view your billing information, create CloudWatch alarms, and create Amazon SNS notifications. The following policy example allows an IAM user to modify the Budget console page:

Copy
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1435216493000", "Effect": "Allow", "Action": [ "aws-portal:ViewBilling", "aws-portal:ModifyBilling", "budgets:ViewBudget", "budgets:ModifyBudget" ], "Resource": [ "*" ] }, { "Sid": "Stmt1435216514000", "Effect": "Allow", "Action": [ "cloudwatch:*" ], "Resource": [ "*" ] }, { "Sid": "Stmt1435216552000", "Effect": "Allow", "Action": [ "sns:*" ], "Resource": [ "arn:aws:sns:us-east-1" ] } ] }

Example 8: Deny access to Account Settings, but allow full access to all other billing and usage information

To protect your account password, contact information, and security questions, you can deny IAM user access to Account Settings, while still enabling full access to the rest of the functionality in the Billing and Cost Management console, as shown in the following example:

Copy
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "aws-portal:*Billing", "aws-portal:*Usage", "aws-portal:*PaymentMethods" ], "Resource": "*" }, { "Effect": "Deny", "Action": "aws-portal:*Account", "Resource": "*" } ] }

Example 9: Deposit reports into an Amazon S3 bucket

The following policy allows Billing and Cost Management to save your detailed AWS bills to an Amazon S3 bucket, as long as you own both the AWS account and the Amazon S3 bucket. Note that this policy must be applied to the Amazon S3 bucket, instead of to an IAM user. That is, it is a resource-based policy, not a user-based policy. You should deny IAM user access to the bucket for IAM users who do not need access to your bills.

Replace bucketname with the name of your bucket.

For more information, see Using Bucket Policies and User Policies.

Copy
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "386209384616" }, "Action": [ "s3:GetBucketAcl", "s3:GetBucketPolicy" ], "Resource": "arn:aws:s3:::bucketname" }, { "Effect": "Allow", "Principal": { "AWS": "386209384616" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::bucketname/*" } ] }

Example 10: Create, view, or delete an AWS Cost and Usage report

This policy allows an IAM user to create, view, or delete an AWS Cost and Usage report using the API:

Copy
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cur:PutReportDefinitions", "cur:DescribeReportDefinition", "cur:DeleteReportDefinition" ], "Resource": [ "*" ] } ] }

Example 11: Find products and prices

To allow an IAM user to use the AWS Price List Service API, use the following policy to grant them access:

Copy
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "pricing:DescribeServices", "pricing:GetAttributeValues", "pricing:GetProducts" ], "Resource": [ "*" ] } ] }

Example 12: View costs and usage

To allow IAM users to use the AWS Cost Explorer API, use the following policy to grant them access:

Copy
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ce:*" ], "Resource": [ "*" ] } ] }