运行 AWS (Amazon Web Services) 导入映像任务时:
aws ec2 import-image --description "My OVA" --disk-containers file://c:\TEMP\containers.json
我收到以下错误:
调用 ImportImage 操作时发生错误 (InvalidParameter):用户无权访问 S3 对象。(mys3bucket/vms/myOVA.ova)
我遵循了中的所有说明有关导入 VM 的 AWS 文档 http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#iam-permissions-image(包括步骤 1、2 和 3)。具体来说,我设置了 vmimport 角色以及该角色的推荐策略。我究竟做错了什么?
我终于明白了这一点。问题是我的 IAMuser,包含 vmimport 角色,无法访问我的 S3 存储桶。当我授予 IAM 用户对 S3 存储桶的访问权限(通过在 S3 中设置存储桶策略)时,import-image 命令成功启动了该过程。
要在 S3 中设置存储桶策略,请右键单击您的存储桶(即 S3 中的顶级存储桶名称),然后单击“属性”。然后从显示的右侧菜单中打开“权限”,然后单击“添加存储桶策略”。将出现一个小窗口,您可以在其中输入策略的 JSON。这是对我有用的:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1476979061000",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::MY-AWS-account-ID:user/myIAMuserID"
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::mys3bucket",
"arn:aws:s3:::mys3bucket/*"
]
}
]}
您需要将“MY-AWS-account-ID”替换为您的 AWS 账户 ID,将“myIAMuserID”替换为包含 vmimport 角色的 IAM 用户 ID。这个文件 http://docs.aws.amazon.com/IAM/latest/UserGuide/console_account-alias.html讨论如何获取您的 AWS 账户 ID。和这个文件 https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html详细讨论在 S3 中授予权限。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)