Amazon web services 如何创建IAM策略以限制对帐单/付款管理的权限?

Amazon web services 如何创建IAM策略以限制对帐单/付款管理的权限?,amazon-web-services,amazon-iam,Amazon Web Services,Amazon Iam,我想创建一个用户组,该用户只能管理服务付款-例如,输入帐户的信用卡信息等。我不希望该用户能够访问控制台中的任何其他工具。如何做到这一点?不幸的是,按照您的设想,这是不可能的-IAM启用了,但这只包括授予IAM用户查看相应页面的权限(所需权限aws门户:查看账单和aws门户:查看使用情况以其名义携带): AWS网站与AWS身份和访问管理集成 (IAM)以便您可以授予用户对账单信息的访问权限。你可以 控制对页面和页面的访问。“帐户活动”页面显示发票和发票 有关费用和账户活动的详细信息,按 服务和使用

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

不幸的是,按照您的设想,这是不可能的-IAM启用了,但这只包括授予IAM用户查看相应页面的权限(所需权限
aws门户:查看账单
aws门户:查看使用情况
以其名义携带):

AWS网站与AWS身份和访问管理集成 (IAM)以便您可以授予用户对账单信息的访问权限。你可以 控制对页面和页面的访问。“帐户活动”页面显示发票和发票 有关费用和账户活动的详细信息,按 服务和使用类型。“使用情况报告”页面提供详细信息 您订阅的每项服务的使用情况报告

变通办法 当然,您的用例是合理且经常遇到的-AWS提供了另一个名称恰当的解决方案,它使您能够通过指定单个支付帐户来整合公司内多个Amazon Web Services(AWS)帐户的支付:

合并计费使您能够查看AWS费用的组合视图 所有账户发生的费用,以及获取 与您的付款相关的每个AWS账户 帐户

因此,支付账户针对链接账户的所有费用进行计费,因此,您只需授予负责支付管理的用户访问此合并计费账户的权限,这与您的其他账户中的资源所需保护无关:

但是,每个链接帐户在彼此之间是完全独立的 方式(注册服务、访问资源、使用AWS Premium 支持等)付款帐户所有者无法访问属于其帐户的数据 链接到链接的帐户所有者(例如,他们在Amazon S3中的文件)。每个 帐户所有者使用自己的AWS凭据访问其资源 (例如,他们自己的AWS秘密访问密钥)。[我的重点]

警告 虽然合并计费确保了关注点的分离以及资源/数据和计费/支付的各自保护,但您仍然需要与负责支付管理的用户共享合并计费帐户的主要AWS帐户凭据(即电子邮件/密码),这是一个不幸的例外,否则强烈建议建议仅为IAM用户提供便利

  • 因此,AWS建议至少使用AWS多因素身份验证和强密码保护您的支付帐户。有关详细信息,请参阅
现在可以进行以下操作

以根帐户登录后,转到“计费和成本管理”区域中的, 向下滚动至“IAM用户访问账单信息”,单击“编辑”,然后启用该选项

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

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1423852703000",
      "Effect": "Allow",
      "Action": [
        "aws-portal:ModifyBilling",
        "aws-portal:ModifyPaymentMethods",
        "aws-portal:ViewBilling",
        "aws-portal:ViewPaymentMethods"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
具有此策略的IAM用户可以查看和修改付款方式和账单信息,但不能在控制台中查看使用数据或任何其他内容

aws portal:ViewUsage
添加到操作列表中可以访问使用情况数据,而如果用户只能够更新付款方式而不需要对账单首选项进行其他更改,则您可能希望删除
aws portal:ModifyBilling

包含可用操作的完整描述。

创建策略

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

这是一个很好的答案。谢谢与这一政策完全相反的是什么?如果我想允许访问除账单和支付内容以外的所有内容,该怎么办?如果您将“允许”更改为“拒绝”,然后添加另一条语句以允许访问所有内容,这将产生您想要的效果(请参阅)。但是-如果您授予用户访问IAM的权限,他们可以更新应用于自己的策略。因此,您还需要禁止访问IAM(或者至少对执行约束的角色/策略/等),您可以考虑更改所接受的答案。