amazon-web-services - 发生错误 (AuthFailure) AWS 无法验证提供的访问凭证:来自 lambda 函数的 ClientError
问题描述
我正在尝试从 lambda 函数运行以下命令,但我不断收到错误 AWS 无法验证提供的访问凭证。我非常确定凭证是正确的,因为访问凭证是我在本地 AWS CLI 中使用的一组凭证。有人有什么主意吗?
ec2 = boto3.client('ec2', region_name=str(REGION_NAME), aws_access_key_id=str(ACCESS_KEY), aws_secret_access_key=str(SECRET_KEY))
解决方案
当您使用 lambda 函数时,应使用AWS Lambda 执行角色提供其权限:
AWS Lambda 函数的执行角色授予它访问 AWS 服务和资源的权限。您在创建函数时提供此角色,而 Lambda 在调用您的函数时代入该角色。
我知道它不会直接回答您的问题,但这是一种很好的做法,您不应在 lambda 函数或其环境变量中硬编码任何 IAM 凭证。
推荐阅读
- tensorflow - 带有 RNN 的 Keras 损失函数中的梯度
- python - ElementTree find() 总是返回“无” Cisco iOS xe
- javascript - 如何在 JavaScript 中过滤具有最低值的重复项
- c++ - 为什么临时的“测试”没有移动,而只是构建?
- c - 为什么使用 getchar 输入时 putchar 不返回新行?
- openssl - .cert 中的 OpenSSL 主题与 .csr 不同
- javascript - 用block语句提升javascript
- node.js - Webpack“找不到模块:错误:无法解析'../webfonts/fa-solid-900.eot'”
- sql - 解决错误操作数时遇到问题应包含 1 列
- android - 如何使用 Retrofit 从 API REST 获得更快的响应