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 CLI 无法创建 RDS 实例

雪花:SQL 访问控制错误:权限不足,无法对架构进行操作

aws elasticbeanstalk:无法通过 eb cli 部署到工作环境

无法使用 boto 从 S3 读取密钥,但可以使用 aws cli

尝试使用“brew tap aws/tap”命令在 ubuntu 上通过 brew 安装 aws-sam-cli,出现错误“致命:无法将 HEAD 解析为修订版”

无法将大型 graphql 模式上传到 aws appsync