Ste*_*n M 3 amazon-web-services amazon-iam serverless-framework serverless aws-serverless
我正在尝试使用无服务器框架部署一个简单的 lambda 函数。我的 IAM 用户没有运行 cloudformation 的必要权限:
User: arn:aws:iam::xxx:user/xxx is not authorized to perform: cloudformation:DescribeStacks on resource: arn:aws:cloudformation:us-east-1:xxx:stack/xx
Run Code Online (Sandbox Code Playgroud)
这或多或少是有意为之,因为我们的设置使用 IAM 角色来执行某些任务。我已经在 ~/.aws/config 文件中配置了这些角色,对于 aws cli 操作,我可以调用
aws s3 ls --profile myrole
Run Code Online (Sandbox Code Playgroud)
通过这种方式,我将角色“myrole”中的所有策略附加到我的 IAM 用户以执行 aws-cli 命令。
有没有什么方法可以为无服务器做类似的事情,即将角色(不是不同的用户)附加到
serverless depoly
Run Code Online (Sandbox Code Playgroud)
陈述?
如果我通过导出更改角色
AWS_PROFILE=myrole
或打电话
serverless deploy --aws-profile myrole
我得到Error: Profile myrole does not exist即使的角色定义 /.aws/credentials和 ~/.aws/config
好的,我找到了一个解决方案来解决这个问题。显然,您需要将 AWS_SDK_LOAD_CONFIG 设置为一个真值,以便从共享配置 (~/.aws/config) 和共享凭证 (~/.aws/credentials) 文件中的配置值创建会话。
export AWS_SDK_LOAD_CONFIG=1
Run Code Online (Sandbox Code Playgroud)
然后执行
serverless deploy --aws-profile myrole
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2571 次 |
| 最近记录: |