You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建IAM策略限制用户仅访问2023年3月及以后的AWS账单?

限制IAM用户仅查看2023年3月及以后AWS账单的正确IAM策略配置

用户需求为创建IAM策略,限制IAM用户仅能查看2023年3月及以后的AWS账单,无法访问此前账单,但当前使用的策略未达到预期效果。

用户当前使用的错误策略

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1678707882255",
      "Action": [
        "billing:GetBillingData",
        "billing:GetBillingDetails",
        "billing:GetBillingNotifications",
        "billing:GetBillingPreferences",
        "billing:GetContractInformation",
        "billing:GetCredits",
        "billing:GetIAMAccessPreference",
        "billing:GetSellerOfRecord",
        "billing:ListBillingViews",
        "billing:PutContractInformation",
        "billing:RedeemCredits",
        "billing:UpdateBillingPreferences",
        "billing:UpdateIAMAccessPreference"
      ],
      "Effect": "Deny",
      "Resource": "*",
      "Condition": {
        "DateLessThan": {
          "aws:CurrentTime": "2023-01-28T23:59:59Z"
        }
      }
    }
  ]
}

问题分析

  1. 条件键使用错误:aws:CurrentTime代表的是用户发起请求的时间,而非账单对应的时间范围,无法用来限制账单的时间区间。需要使用AWS账单专属的条件键billing:BillingPeriodStartDate来针对账单周期进行过滤。
  2. Action范围冗余:策略中包含了PutContractInformation、UpdateBillingPreferences等写操作权限,若仅需查看账单,应只保留只读类Action。
  3. 日期设置错误:用户需求是限制2023年3月之前的账单,但当前策略的日期设为2023-01-28,不符合需求。

正确的IAM策略配置

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowReadAccessToPostMarch2023Bills",
      "Effect": "Allow",
      "Action": [
        "billing:GetBillingData",
        "billing:GetBillingDetails",
        "billing:GetBillingNotifications",
        "billing:GetBillingPreferences",
        "billing:GetContractInformation",
        "billing:GetCredits",
        "billing:GetIAMAccessPreference",
        "billing:GetSellerOfRecord",
        "billing:ListBillingViews"
      ],
      "Resource": "*"
    },
    {
      "Sid": "DenyAccessToPreMarch2023Bills",
      "Effect": "Deny",
      "Action": [
        "billing:GetBillingData",
        "billing:GetBillingDetails"
      ],
      "Resource": "*",
      "Condition": {
        "DateLessThan": {
          "billing:BillingPeriodStartDate": "2023-03-01T00:00:00Z"
        }
      }
    }
  ]
}

策略说明

  • 首先通过Allow语句赋予用户必要的账单只读权限,确保用户能访问符合条件的账单。
  • 然后通过Deny语句,利用billing:BillingPeriodStartDate条件键,拒绝用户访问账单周期开始时间早于2023年3月1日的账单数据。
  • 保留的Action均为只读操作,避免赋予不必要的修改权限。

内容的提问来源于stack exchange,提问作者Usman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 05:13:13