json - 尝试在区域之间复制快照时,Lambda 函数抛出“您无权执行此操作”
问题描述
我正在尝试运行一个测试功能,以便在 AWS 的 2 个区域之间复制单个快照(将来我想自动化它)。但是当我运行测试时它会抛出一个错误
"errorType": "ClientError", "errorMessage": "调用 CopySnapshot 操作时发生错误 (UnauthorizedOperation):您无权执行此操作。"
这是我的 IAM 的样子:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:*"
],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateSnapshot",
"ec2:DeleteSnapshot",
"ec2:CreateTags",
"ec2:ModifySnapshotAttribute",
"ec2:ResetSnapshotAttribute"
],
"Resource": [
"*"
]
}
]
}
这是功能:
import boto3
def lambda_handler(event, context):
client = boto3.client('ec2')
client.copy_snapshot(SourceSnapshotId='snap-xxxxxxxxxxxxxxxxxxxxx',
SourceRegion='us-central-1',
DestinationRegion='eu-west-3')
解决方案
您的政策还需要授予ec2:CopySnapshot
许可。
提示:大多数权限与其允许的命令的名称相匹配!
推荐阅读
- gcc - gcc _Pragma 诊断忽略不工作
- c# - JwtSecurityTokenHandler.ValidateToken 抛出 Lifetime 验证失败异常
- jenkins - 从上游多分支管道项目触发下游管道作业
- python - 我正在尝试在 cvs 文件中获取输出。我究竟做错了什么?
- kotlin - Ktor“冲突的应用程序功能已使用相同的密钥安装”KGraphql 架构问题
- python - Go image bytes 和 Python PIL tobytes 产生不同的字节数据
- python - 从多列表变量中调用一个列表:为什么 if 语句不打印里面的打印语句?
- cypress - 赛普拉斯拦截 - 如何在响应中链接多个断言
- json - jq:无法使用 jq 从 Json 文件中检索键/值
- twig - MMDocumentTypes.xml 添加树枝文件以被视为 HTML 的问题(Dreamweaver CS6)