用户无权执行: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:表
AmazonServiceException:用户无权执行:dynamodb:DescribeTable 状态码:400;错误代码:AccessDeniedException
用户无权执行:rekognition:RecognizeCelebrities with a explicit deny