VM Import/Export に必要なアクセス許可 - VM Import/Export

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

VM Import/Export に必要なアクセス許可

VM Import/Export には、AWS Identity and Access Managementユーザーに代わって特定のオペレーションを実行するためのユーザーとサービスロールの両方のアクセス許可が必要です。

IAM ユーザーに必要なアクセス許可

AWS Identity and Access Management (IAM) ユーザーとしてログインしている場合、VM Import/Export を使用するには、IAM ポリシーに次のアクセス許可が必要です。

注記

一部のアクションでは Amazon S3 バケットを使用する必要があります。このポリシーの例では、Amazon S3 バケットを作成するアクセス許可は付与されません。IAM ユーザーには、既存のバケットを指定するか、新しいバケットを作成するアクセス許可が必要です ( s3:CreateBucket)。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:PutObject" ], "Resource": ["arn:aws:s3:::mys3bucket","arn:aws:s3:::mys3bucket/*"] }, { "Effect": "Allow", "Action": [ "ec2:CancelConversionTask", "ec2:CancelExportTask", "ec2:CreateImage", "ec2:CreateInstanceExportTask", "ec2:CreateTags", "ec2:DescribeConversionTasks", "ec2:DescribeExportTasks", "ec2:DescribeExportImageTasks", "ec2:DescribeImages", "ec2:DescribeInstanceStatus", "ec2:DescribeInstances", "ec2:DescribeSnapshots", "ec2:DescribeTags", "ec2:ExportImage", "ec2:ImportInstance", "ec2:ImportVolume", "ec2:StartInstances", "ec2:StopInstances", "ec2:TerminateInstances", "ec2:ImportImage", "ec2:ImportSnapshot", "ec2:DescribeImportImageTasks", "ec2:DescribeImportSnapshotTasks", "ec2:CancelImportTask" ], "Resource": "*" } ] }

必要なサービスロール

VM Import/Export には、ユーザーに代わって特定のオペレーションを実行するロールが必要です。信頼関係ポリシーを使用して、ロールを引き受けることを VM Import/Export に許可する vmimport という名前のサービスロールを作成し、IAM ポリシーをそのロールにアタッチする必要があります。詳細については、IAM ユーザーガイドIAM ロールを参照してください。

前提条件

VM Import/Export を使用する予定のリージョンでは、AWS Security Token Service (AWS STS) を有効にする必要があります。詳細については、「AWS リージョンでの AWS STS のアクティブ化と非アクティブ化」を参照してください。

サービスロールを作成するには

  1. コンピュータに trust-policy.json という名前のファイルを作成します。次のポリシーをファイルに追加します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "vmie.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals":{ "sts:Externalid": "vmimport" } } } ] }
  2. create-role コマンドを使用して、vmimport という名前のロールを作成し、そのロールに VM Import/Export のアクセス許可を付与します。前の手順で作成した trust-policy.json ファイルの場所への絶対パスを指定し、次の例に示すように file:// プレフィックスを含めるようにしてください。

    aws iam create-role --role-name vmimport --assume-role-policy-document "file://C:\import\trust-policy.json"
  3. role-policy.json次のポリシーで名前を付けたファイルを作成します。ここで、disk-image-file-bucketはディスクイメージ用のバケット、export-bucket はエクスポートされたイメージのバケットです。

    { "Version":"2012-10-17", "Statement":[ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::disk-image-file-bucket", "arn:aws:s3:::disk-image-file-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:PutObject", "s3:GetBucketAcl" ], "Resource": [ "arn:aws:s3:::export-bucket", "arn:aws:s3:::export-bucket/*" ] }, { "Effect": "Allow", "Action": [ "ec2:ModifySnapshotAttribute", "ec2:CopySnapshot", "ec2:RegisterImage", "ec2:Describe*" ], "Resource": "*" } ] }
  4. (オプション) AWS KMS キーを使用して暗号化されたリソースを AWS Key Management Service からインポートする場合は、以下のアクセス許可を role-policy.json ファイルに追加します。

    { "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:GenerateDataKey*", "kms:ReEncrypt*" ], "Resource": "*" }

    Amazon EBS が提供するデフォルト以外の KMS キーを使用する場合は、Amazon EBS 暗号化をデフォルトで有効化するか、インポート操作で暗号化を有効にする場合は、KMS キーに対する仮想マシンの VM Import/Export のアクセス許可を付与する必要があります。KMS キーの Amazon リソースネーム (ARN) を、* の代わりにリソースとして指定できます。

  5. (オプション) ライセンス設定を AMI にアタッチする場合は、以下の License Manager のアクセス許可を role-policy.json ファイルに追加します。

    { "Effect": "Allow", "Action": [ "license-manager:GetLicenseConfiguration", "license-manager:UpdateLicenseSpecificationsForResource", "license-manager:ListLicenseSpecificationsForResource" ], "Resource": "*" }
  6. put-role-policy次のコマンドを使用して、上記で作成したロールにポリシーをアタッチします。role-policy.json ファイルの場所の完全パスを指定してください。

    aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document "file://C:\import\role-policy.json"
  7. 追加のセキュリティコントロールに対して、この新しく作成したロールの信頼ポリシーに aws:SourceAccountaws:SourceArn のようなコンテキストキーを追加できます。VM Import/Export は、以下の例に示すように、SourceAccountSourceArnおよびキーを公開して、このキーを継承します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "vmie.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:Externalid": "vmimport", "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:vmie:*:111122223333:*" } } } ] }