Noa*_*ray 9 amazon-web-services amazon-iam autoscaling
(解决了)
我错过了 aws 用户指南中的这一提及
You can use the AmazonEC2FullAccess policy to give users complete access to work with Amazon EC2 Auto Scaling resources, launch templates, and other EC2 resources in their AWS account现在,我添加了与自定义策略中的策略相同的权限
AmazonEC2FullAccess,并且 lambda 运行良好。拥有
AmazonEC2FullAccessCloudWatch、EC2、EC2 Auto Scaling、ELB、ELB v2的完整权限,以及有限的IAM写入权限。@Marcin_谢谢!你的评论让我检查了这部分。
我正在尝试使用 lambda 上的“updateAutoScalingGroup”API 更新 ASG。
但是这个错误“AccessDenied:您无权使用启动模板”阻止了我......
第一次,我根据文档仅对 IAM 策略应用了相关权限,但现在我在策略上授予了 EC2 和 Autoscaling 的完全权限来解决此问题。但没有运气。
在 google 上,我看到一些帖子说这只是一个错误,或者是 AMI 存在的问题。但我的启动模板 AMI 位于同一帐户、同一区域...
您能给我一些提示或参考来解决这个问题吗?
谢谢
const AWS = require('aws-sdk')
exports.handler = (event) => {
const autoscaling = new AWS.AutoScaling()
const { asgName, templateName, version } = event
const params = {
AutoScalingGroupName: asgName,
LaunchTemplate: {
LaunchTemplateName: templateName,
Version: version
},
MaxSize: 4,
MinSize: 1,
DesiredCapacity: 1
}
autoscaling.updateAutoScalingGroup(params, async (err, data)=> {
if(err) console.log("err---", err)
else console.log("data---", data)
})
};
Run Code Online (Sandbox Code Playgroud)
以下是在 Marcin、John Rotenstein、samtoddler 发表评论后添加的
describeLaunchTemplates()显示我想使用的launchTemplate。"errorCode": "Client.UnauthorizedOperation"和“UpdateAutoScalingGroup”"errorCode": "AccessDenied", "errorMessage": "An unknown error occurred"现在我正在尝试搜索启动模板和 AMI 相关配置。
小智 6
实际上,问题是您的 EC2 实例具有 IAM 角色,但您无权使用它。将以下策略添加到 lambda 或您用来传递附加到 EC2 实例的角色的任何角色或 IAM 用户。一旦完成,它将开始工作。
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": [
"iam:GetRole",
"iam:PassRole"
],
"Resource": "arn:aws:iam::account-id:role/EC2-roles-for-XYZ-*"
}]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22432 次 |
| 最近记录: |