如何创建IAM策略以限制对计费/付款管理的权限?

Kva*_*ass 7 amazon-web-services amazon-iam

我想创建一个用户,该用户只能管理服务付款 - 例如输入帐户的信用卡信息等.我不希望此用户访问控制台中的任何其他工具.我该怎么做呢?

zts*_*zts 7

现在可以使用IAM控制对付款和使用的访问.

以root帐户登录后,转到"帐单和成本管理"区域中的" 帐户设置",向下滚动到"IAM用户访问帐单信息",单击"编辑",然后启用该选项.

完成后,以下策略将允许访问付款和使用活动视图:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1423852703000",
      "Effect": "Allow",
      "Action": [
        "aws-portal:ModifyBilling",
        "aws-portal:ModifyPaymentMethods",
        "aws-portal:ViewBilling",
        "aws-portal:ViewPaymentMethods"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

具有此策略的IAM用户将能够查看和修改付款方式和帐单信息,但不能查看控制台中的使用情况数据或其他任何内容.

添加aws-portal:ViewUsage到操作列表可以访问使用情况数据,而您可能希望删除aws-portal:ModifyBilling用户是否应该只更新付款方式而不对帐单首选项进行其他更改.

" 计费和成本管理权限参考"具有可用操作的完整说明.

  • 如果您将"允许"更改为"拒绝",则添加另一个语句以允许访问所有内容,这将产生您正在寻找的效果(请参阅http://docs.aws.amazon.com/IAM/latest/ UserGuide/reference_policies_evaluation-logic.html).但是 - 如果您授予用户访问IAM的权限,他们可以更新应用于自己的策略.因此,您还需要禁止访问IAM(或至少禁止执行限制的角色/政策/等) (2认同)

Ste*_*pel 4

不幸的是,这对于AWS Identity and Access Management (IAM)来说是不可能的,就像您想象的那样 - IAM 可以控制用户对您的 AWS 账户账单信息的访问,但这仅包括授予 IAM 用户查看相应页面的访问权限(所需的权限)。权限aws-portal:ViewBillingaws-portal:ViewUsage在其名称中包含此内容):

AWS 网站与 AWS Identity and Access Management (IAM) 集成,因此您可以授予用户对账单信息的访问权限。您可以控制对“帐户活动”页面和“使用情况报告”页面的访问。帐户活动页面显示发票以及有关费用和帐户活动的详细信息,按服务和使用类型逐项列出。使用报告页面提供您订阅的每项服务的详细使用报告。

解决方法

当然,您的用例是合理且经常遇到的 - AWS 提供了一种名为Consolidated Billing的不同解决方案,它使您能够通过指定一个付款帐户来合并公司内多个 Amazon Web Services (AWS) 帐户的付款

合并账单使您能够查看所有账户产生的 AWS 费用的综合视图,并获取与您的付款账户关联的每个单独 AWS 账户的详细成本报告。

因此,支付帐户将支付链接帐户的所有费用,因此您需要授予负责支付管理的用户仅访问此合并计费帐户的权限,这对于保护资源所需的资源来说是没有问题的。您的其他帐户:

但是,每个关联账户在其他方面都是完全独立的(注册服务、访问资源、使用 AWS Premium Support 等)。付款账户所有者无法访问属于链接账户所有者的数据(例如,他们在 Amazon S3 中的文件)。每个账户所有者都使用自己的 AWS 凭证来访问其资源(例如,他们自己的 AWS 秘密访问密钥)。[强调我的]

警告

虽然整合账单确保了关注点分离以及对资源/数据和账单/付款的各自保护,但您仍然需要与以下用户共享整合账单账户的主 AWS 账户凭证(即电子邮件/密码):支付管理费用,这对于强烈推荐的建议来说是一个不幸的例外,以方便 IAM 用户继续前进。

  • 因此,AWS 建议至少使用 AWS 多重身份验证和强密码来保护您的付款帐户。有关更多信息,请参阅付款帐户的安全性