首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >调用InvalidParameter操作时的AWS ImportImage

调用InvalidParameter操作时的AWS ImportImage
EN

Stack Overflow用户
提问于 2022-03-05 17:15:55
回答 1查看 297关注 0票数 0

我的.ova虚拟机存储在我的S3桶中,我正在尝试从这些OVA创建AMI。我正在浏览视频,使用VM导入/导出到亚马逊EC2,将VM导入为图像。

我已经创建了一个EC2实例,我将使用它来触发导入所需的CLI命令。我创建了一个IAM角色,并将其附加到EC2实例中。

请参阅该角色的详细情况:

信任策略

代码语言:javascript
运行
复制
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "vmie.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

内联策略用于访问S3和EC2

代码语言:javascript
运行
复制
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "ec2:CopySnapshot",
                "s3:ListAccessPointsForObjectLambda",
                "s3:GetAccessPoint",
                "s3:PutAccountPublicAccessBlock",
                "s3:ListAccessPoints",
                "ec2:RegisterImage",
                "s3:ListJobs",
                "s3:PutStorageLensConfiguration",
                "s3:ListMultiRegionAccessPoints",
                "s3:ListStorageLensConfigurations",
                "ec2:Describe*",
                "s3:GetAccountPublicAccessBlock",
                "ec2:ModifySnapshotAttribute",
                "s3:ListAllMyBuckets",
                "s3:PutAccessPointPublicAccessBlock",
                "s3:CreateJob",
                "ec2:ImportImage"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::vms"
        },
        {
            "Sid": "AllowStsDecode",
            "Effect": "Allow",
            "Action": "sts:DecodeAuthorizationMessage",
            "Resource": "*"
        }
    ]
}

用于KMS解密的内联策略

代码语言:javascript
运行
复制
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "kms:Decrypt",
            "Resource": "*"
        }
    ]
}

此外,我还将AWSImportExportFullAccess管理策略附加到角色中。

我使用以下命令将VM导入AMI:

代码语言:javascript
运行
复制
aws ec2 import-image --description "MY_VM_Image" --disk-containers "file://configuration.json"

以下是configuration.json的内容

代码语言:javascript
运行
复制
[{
                "Description": "Image",
                "Format": "ova",
                "UserBucket": {
                        "S3Bucket": "vm",
                        "S3Key": "xzt.ova"
                }

        }

]

但我面临以下错误:

代码语言:javascript
运行
复制
An error occurred (InvalidParameter) when calling the ImportImage operation: The service role vmimport provided does not exist or does not have sufficient permissions

我试着看一下文档的故障排除。它说明如下:

代码语言:javascript
运行
复制
This error can also occur if the user calling ImportImage has Decrypt permission but the vmimport role does not.

因此,我还禁用了S3的默认加密。

还是没有运气。要成功运行该命令,还需要哪些权限。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71364285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档