【发布时间】:2020-11-21 23:05:58
【问题描述】:
我正在尝试从 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))
【问题讨论】:
-
最佳实践是使用 IAM 角色而不是硬编码凭证,如前所述。但我想知道为什么你的代码不起作用。因为据我所知,当您直接在代码中将凭证传递给 boto 时,它应该优先于 IAM 角色。我的怀疑是代码没有从变量中获取凭证。尝试记录凭据以查看代码是否正在接收凭据。
-
这是否意味着一旦我将示例 ec2 完全访问权限附加到角色并将此角色附加到我的 lambda,我可以在不传递凭据的情况下调用 boto3.client?
-
是的。您可以同时删除访问密钥和密钥参数
标签: amazon-web-services amazon-ec2