Amazon成本管理策略示例 - Amazon成本管理
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon成本管理策略示例

本主题包含几个示例策略,您可以将它们附加到您的 IAM 用户或组以控制对您的账户的账单信息和工具的访问权限。以下基本规则适用于 Billing and Cost Management 的 IAM 策略:

  • Version 始终为 2012-10-17

  • Effect 始终为 AllowDeny.

  • Action 是操作的名称或通配符 (*)。

    操作前缀为 budgets(用于 Amazon Budgets)、cur(用于 Amazon 成本和使用情况报告)、aws-portal(用于 Amazon 账单)或 ce(用于 Cost Explorer)。

  • 对于 Amazon Billing,Resource 始终为 *

    对于在 budget 资源上执行的操作,请指定预算 Amazon 资源名称 (ARN)。

  • 一个策略中可能包含多个语句。

有关账单控制台的策略示例列表,请参阅计费策略示例中的账单用户指南.

注意

这些策略要求您在 Account Settings(账户设置)控制台页面上激活 IAM 用户对 Billing and Cost Management 控制台的访问权限。有关更多信息,请参阅激活对 Billing and Cost Management 控制台的访问权限

拒绝 IAM 用户对 Billing and Cost Management 控制台的访问权限

要显式拒绝 IAM 用户访问所有 Billing and Cost Management 控制台页面,请使用类似于此示例策略的策略。

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

允许完全访问 Amazon 服务,但拒绝 IAM 用户访问 Billing and Cost Management 控制台。

要拒绝 IAM 用户访问 Billing and Cost Management 控制台上的所有内容,请使用以下策略。在这种情况下,您还应拒绝用户访问Amazon Identity and Access Management(IAM),以便用户无法访问控制对账单信息和工具的访问权限的策略。

重要

该策略不允许进行任何操作。可将此策略与允许特定操作的其他策略结合使用。

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

允许 IAM 用户查看 Billing and Cost Management 控制台(账户设置除外)

此策略允许对所有 Billing to Cost Management 控制台进行只读访问,包括付款方式报告控制台页面,但拒绝访问账户设置页面,从而保护账户密码、联系信息和安全问题。

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

允许 IAM 用户修改账单信息

要允许 IAM 用户在 Billing to Cost Management 控制台中修改账户账单信息,您还必须允许 IAM 用户查看您的账单信息。以下策略示例允许 IAM 用户修改 Consolidated Billing(整合账单)Preferences(首选项)Credits(服务抵扣金额)控制台页面。它还允许 IAM 用户查看以下 Billing and Cost Management 控制台页面:

  • 控制面板

  • Cost Explorer

  • 账单

  • 订单和发票

  • Advance Payment

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

允许 IAM 用户创建预算

要允许 IAM 用户在 Billing and Cost Management 控制台中创建预算,您还必须允许 IAM 用户查看您的账单信息、创建 CloudWatch 警报和创建 Amazon SNS 通知。以下策略示例允许 IAM 用户修改 Budget(预算)控制台页面。

{ "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" ] } ] }

拒绝访问账户设置,但允许完全访问所有其他账单和使用情况信息

要保护您的账户密码、联系信息和安全问题,您可以拒绝 IAM 用户访问账户设置同时仍允许完全访问 Billing to Cost Management 控制台中的其余功能,如以下示例所示。

{ "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": "*" } ] }

将报告存入 Amazon S3 存储桶

以下政策允许 Billing and Cost Management 保存您的详细信息Amazon对 Amazon S3 存储桶的账单,前提条件是您同时拥有Amazon账户和 Amazon S3 存储桶。请注意,此策略必须应用于 Amazon S3 存储桶而不是 IAM 用户。也就是说,它是一种基于资源的策略,而不是基于用户的策略。您应拒绝 IAM 用户访问无需访问您的账单的 IAM 用户的存储桶。

bucketname 替换为您的存储桶的名称。

有关更多信息,请参阅 Amazon Simple Storage Service 用户指南中的使用存储桶策略和用户策略

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "billingreports.amazonaws.com" }, "Action": [ "s3:GetBucketAcl", "s3:GetBucketPolicy" ], "Resource": "arn:aws:s3:::bucketname" }, { "Effect": "Allow", "Principal": { "Service": "billingreports.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::bucketname/*" } ] }

查看成本和使用情况

要允许 IAM 用户使用 Amazon Cost Explorer API,请使用以下策略授予他们访问权限。

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

启用和禁用 Amazon 区域

有关允许用户启用和禁用区域的示例 IAM 策略,请参阅Amazon:允许启用和禁用Amazon区域中的IAM 用户指南.

查看和更新 Cost Explorer 首选项页面

此策略允许 IAM 用户使用 Cost Explorer 首选项页面查看和更新。

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

以下策略允许 IAM 用户查看 Cost Explorer,但拒绝查看或编辑 Preferences(首选项)页面的权限。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "aws-portal:ViewBilling" ], "Resource": "*" }, { "Sid": "VisualEditor1", "Effect": "Deny", "Action": [ "ce:GetPreferences", "ce:UpdatePreferences" ], "Resource": "*" } ] }

以下策略允许 IAM 用户查看 Cost Explorer,但拒绝编辑 Preferences(首选项)页面的权限。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "aws-portal:ViewBilling" ], "Resource": "*" }, { "Sid": "VisualEditor1", "Effect": "Deny", "Action": [ "ce:UpdatePreferences" ], "Resource": "*" } ] }

使用 Cost Explorer 报告页面查看、创建、更新和删除

此策略允许 IAM 用户使用 Cost Explorer 报告页面查看、创建、更新和删除。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "aws-portal:ViewBilling", "ce:CreateReport", "ce:UpdateReport", "ce:DeleteReport" ], "Resource": "*" } ] }

以下策略允许 IAM 用户查看 Cost Explorer,但拒绝查看或编辑 Reports(报告)页面的权限。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "aws-portal:ViewBilling" ], "Resource": "*" }, { "Sid": "VisualEditor1", "Effect": "Deny", "Action": [ "ce:DescribeReport", "ce:CreateReport", "ce:UpdateReport", "ce:DeleteReport" ], "Resource": "*" } ] }

以下策略允许 IAM 用户查看 Cost Explorer,但拒绝编辑 Reports(报告)页面的权限。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "aws-portal:ViewBilling" ], "Resource": "*" }, { "Sid": "VisualEditor1", "Effect": "Deny", "Action": "ce:CreateReport", "ce:UpdateReport", "ce:DeleteReport" ], "Resource": "*" } ] }

查看、创建、更新和删除预留和 Savings Plans 提醒

此策略允许 IAM 用户查看、创建、更新和删除预留到期提醒Savings Plans 提醒。要编辑预留到期提醒或 Savings Plans 提醒,用户需要所有三个粒度的操作:ce:CreateNotificationSubscriptionce:UpdateNotificationSubscriptionce:DeleteNotificationSubscription

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "aws-portal:ViewBilling", "ce:CreateNotificationSubscription", "ce:UpdateNotificationSubscription", "ce:DeleteNotificationSubscription" ], "Resource": "*" } ] }

以下策略允许 IAM 用户查看 Cost Explorer,但拒绝查看或编辑预留到期提醒Savings Plans 提醒页面的权限。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "aws-portal:ViewBilling" ], "Resource": "*" }, { "Sid": "VisualEditor1", "Effect": "Deny", "Action": [ "ce:DescribeNotificationSubscription", "ce:CreateNotificationSubscription", "ce:UpdateNotificationSubscription", "ce:DeleteNotificationSubscription" ], "Resource": "*" } ] }

以下策略允许 IAM 用户查看 Cost Explorer,但拒绝编辑预留到期提醒Savings Plans 提醒页面的权限。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "aws-portal:ViewBilling" ], "Resource": "*" }, { "Sid": "VisualEditor1", "Effect": "Deny", "Action": [ "ce:CreateNotificationSubscription", "ce:UpdateNotificationSubscription", "ce:DeleteNotificationSubscription" ], "Resource": "*" } ] }

允许对 Amazon Cost Anomaly Detection 的只读访问

要允许 IAM 用户对 Amazon Cost Anomaly Detection 的只读访问,请使用以下策略授予他们访问权限。ce:ProvideAnomalyFeedback 作为只读访问的一部分是可选的。

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

允许 Amazon Budgets 应用 IAM 策略和 SCP

此策略允许 Amazon Budgets 代表用户应用 IAM 策略和服务控制策略 (SCP)。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:AttachGroupPolicy", "iam:AttachRolePolicy", "iam:AttachUserPolicy", "iam:DetachGroupPolicy", "iam:DetachRolePolicy", "iam:DetachUserPolicy", "organizations:AttachPolicy", "organizations:DetachPolicy" ], "Resource": "*" } ] }

允许 Amazon Budgets 应用 IAM 策略和 SCP 以及目标 EC2 和 RDS 实例

此策略允许 Amazon Budgets 代表用户应用 IAM 策略和服务控制策略 (SCP) 以及目标 Amazon EC2 和 Amazon RDS 实例。

信任策略

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "budgets.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

权限策略

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeInstanceStatus", "ec2:StartInstances", "ec2:StopInstances", "iam:AttachGroupPolicy", "iam:AttachRolePolicy", "iam:AttachUserPolicy", "iam:DetachGroupPolicy", "iam:DetachRolePolicy", "iam:DetachUserPolicy", "organizations:AttachPolicy", "organizations:DetachPolicy", "rds:DescribeDBInstances", "rds:StartDBInstance", "rds:StopDBInstance", "ssm:StartAutomationExecution" ], "Resource": "*" } ] }