AWS 无法对 cli 执行操作
Posted
技术标签:
【中文标题】AWS 无法对 cli 执行操作【英文标题】:AWS Unable to perform action on cli 【发布时间】:2020-01-03 14:02:41 【问题描述】:我能够在 aws 控制台上执行一些操作(特别是使用 cloudwatch 洞察力并运行查询)。但是我无法使用 aws cli 或 boto3(aws 日志启动查询)来做同样的事情。它给出了 AccessDeniedError。但是我能够运行其他命令,例如 aws s3 ls。控制台和cli的权限不是相同的吗?
确切的错误是
An error occurred (AccessDeniedException) when calling the StartQuery operation: User: arn:aws:sts::----:assumed-role/---- is not authorized to perform: logs:StartQuery on resource: arn:aws:logs:----
我应该如何调试这个问题。
【问题讨论】:
“控制台和 cli 的权限是否相同”这完全取决于您如何设置 API 密钥以供 CLI 使用。您是否为用于登录控制台的同一用户帐户创建了 API 密钥? 是的。 api 密钥用于我用来登录控制台的同一用户 一个警告,我使用的是联合用户,但控制台和 cli 都使用同一个联合帐户。 我已编辑问题以包含我收到的确切错误。 您能否编辑您的问题以显示授予该角色呼叫logs:StartQuery
权限的策略?
【参考方案1】:
表示你使用的cli用户没有logs:StartQuery
操作权限。
出于测试目的,您可以将预定义策略CloudWatchLogsFullAccess
授予 cli 用户。更细粒度的权限检查:CloudWatch Logs Permissions Reference
【讨论】:
以上是关于AWS 无法对 cli 执行操作的主要内容,如果未能解决你的问题,请参考以下文章
aws elasticbeanstalk:无法通过 eb cli 部署到工作环境
无法使用 boto 从 S3 读取密钥,但可以使用 aws cli
尝试使用“brew tap aws/tap”命令在 ubuntu 上通过 brew 安装 aws-sam-cli,出现错误“致命:无法将 HEAD 解析为修订版”