执行 ec2.monitor_instances() 操作时出现了未授权错误。

0

【以下的问题经过翻译处理】 我正在尝试使用Lambda函数(使用Python语言)通过以下命令通过实例ID获取实例名称。

if sys.argv[0] == 'ON': monitor = ec2.monitor_instances(InstanceIds=[id]) else: monitor = ec2.unmonitor_instances(InstanceIds=[id])

当报警处于活动状态时,Lambda函数将被执行。

我遇到了错误: [ERROR] ClientError: An error occurred (UnauthorizedOperation) when calling the MonitorInstances operation: You are not authorized to perform this operation.

我具有完整的ec2访问权限,但仍无法执行这些命令。我为此需要特定的角色吗,还是这些命令已过时?

能否推荐其他可以在 lambda 函数中执行的命令,以便使用实例 ID 获取实例名称?

profile picture
专家
已提问 5 个月前42 查看次数
1 回答
0

【以下的回答经过翻译处理】 你得到的示例代码在 Lambda 中并不适用(因为没有 sys.argv[0] 可以引用),但我假设这不是你实际使用的代码。

变量 id 中是什么内容?请确保它是有效的实例 id,而且是你所拥有的实例 id。

其次,如果你的账户属于一个组织,权限是否被服务控制策略拒绝了?

否则,IAM 故障排除指南 可能会有帮助。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则