用户无权执行:ce:GetCostAndUsage

Posted

技术标签:

【中文标题】用户无权执行:ce:GetCostAndUsage【英文标题】:user is not authorized to perform: ce:GetCostAndUsage 【发布时间】:2018-11-07 01:53:43 【问题描述】:

我正在使用 boto3,尝试使用 Cost Exploer 来获取成本和使用情况

import boto3
client = boto3.client('ce')
client.get_cost_and_usage()

已向用户授予以下权限

  "aws-portal:ViewUsage",
  "aws-portal:ViewBilling"

但总是报错

调用 GetCostAndUsage 操作时发生错误 (AccessDeniedException):用户:arn:aws:iam::123456789:user/User1 无权执行:ce:GetCostAndUsage on resource:arn:aws:ce: us-east-1:123456789

【问题讨论】:

【参考方案1】:

刚刚从这里找到答案 https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-example-policies.html#example-policy-ce-api

示例 11:查看成本和使用情况

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


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

【讨论】:

【参考方案2】:

我找不到现有的小范围只读策略来获取使用情况统计信息。

通过网络“可视化编辑器”创建新策略也很容易:

    导航到 IAM -> 策略 -> 创建策略 选择服务为Cost Explorer Service 勾选[X] Read权限 点击查看 为其命名,例如MyCostExplorerRead 将新创建的策略分配给您的用户

【讨论】:

哇,这节省了我数小时的调试时间。谢谢

以上是关于用户无权执行:ce:GetCostAndUsage的主要内容,如果未能解决你的问题,请参考以下文章

用户无权执行:dynamodb:PutItem on resource

AccessDeniedException:用户无权对资源执行 dynamodb BatchWriteItem:表

AWS API Gateway:用户匿名无权执行 API

AmazonServiceException:用户无权执行:dynamodb:DescribeTable 状态码:400;错误代码:AccessDeniedException

创建发布者主题时“用户无权执行此操作”

用户无权执行:rekognition:RecognizeCelebrities with a explicit deny