【发布时间】:2019-09-16 01:08:24
【问题描述】:
我正在使用 SAM 模板和 CLI 创建 cloudformation 堆栈。我已经使用一个帐户成功地做到了这一点,该帐户从直接附加到它的策略中获取所有必需的权限。为该帐户提供所有这些权限是一种糟糕的安全做法,因此我创建了一个附加了相同策略的角色,并希望将其用于部署。但是,即使我通过 --role-arn 参数传递我的角色,该命令仍在寻找该帐户的权限。
以下是我尝试使用的命令:
aws cloudformation deploy --template-file TemplatePackaged.yaml --stack-name TestStack --capabilities CAPABILITY_IAM --region us-east-1 --role-arn arn:aws:iam::666488004797:role/LambdaApplicationCreateRole
或
sam deploy --template-file TemplatePackaged.yaml --stack-name TestStack --capabilities CAPABILITY_IAM --region us-east-1 --role-arn arn:aws:iam::666488004797:role/LambdaApplicationCreateRole
除非登录到 cli 的用户具有所需的权限,否则我使用任一命令都会收到错误:
调用 DescribeStacks 时发生错误 (AccessDenied) 操作:用户:arn:aws:iam::666488004797:user/DummyUser1 不是 授权执行: cloudformation:DescribeStacks on resource: arn:aws:cloudformation:us-east-1:666488004797:stack/Melissa/*
如何让deploy命令使用--role-arn参数中传递的角色来获取它需要的权限?
【问题讨论】:
标签: amazon-cloudformation aws-cli amazon-iam aws-serverless