Permisos necesarios para VM Import/Export - VM Import/Export

Permisos necesarios para VM Import/Export

VM Import/Export necesita ciertos permisos para sus usuarios, grupos y roles. Además, es necesario un rol de servicio para llevar a cabo determinadas operaciones en su nombre.

Permisos necesarios

Sus usuarios, grupos y roles necesitan los siguientes permisos en su política de IAM para usar VM Import/Export:

nota

Para algunas acciones es necesario utilizar un bucket de Amazon Simple Storage Service (Amazon S3). Esta política de ejemplo no concede permiso para crear buckets de S3. El usuario o rol que utilice deberá especificar un bucket existente, o tener permisos para crear un nuevo bucket con la acción s3:CreateBucket.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-import-bucket", "arn:aws:s3:::amzn-s3-demo-import-bucket/*", "arn:aws:s3:::amzn-s3-demo-export-bucket", "arn:aws:s3:::amzn-s3-demo-export-bucket/*" ] }, { "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": "*" } ] }

Rol de servicio requerido

VM Import/Export requiere un rol para realizar determinadas operaciones en su nombre. Debe crear un rol de servicio denominado vmimport con un documento de política de relación de confianza que permita a VM Import/Export asumir el rol y debe adjuntar una política de IAM al rol. Para obtener más información, consulte Roles de IAM en la Guía del usuario de IAM.

Requisito previo

Debe habilitar AWS Security Token Service (AWS STS) en cualquier región en la que desee usar VM Import/Export. Para obtener más información, consulte Activación y desactivación de AWS STS en una región de AWS.

Para crear el rol de servicio
  1. Cree un archivo denominado trust-policy.json en su equipo. Añada la siguiente política al archivo:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "vmie.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals":{ "sts:Externalid": "vmimport" } } } ] }
  2. Use el comando create-role para crear un rol llamado vmimport y dar a VM Import/Export acceso. Asegúrese de especificar la ruta completa a la ubicación del archivo trust-policy.json que creó en el paso anterior y que incluye el prefijo file:// tal como se muestra en el ejemplo siguiente:

    aws iam create-role --role-name vmimport --assume-role-policy-document "file://C:\import\trust-policy.json"
  3. Cree un archivo llamado role-policy.json con la siguiente política, donde amzn-s3-demo-import-bucket es el bucket para las imágenes de disco importadas y amzn-s3-demo-export-bucket es el bucket para las imágenes de disco exportadas:

    JSON
    { "Version":"2012-10-17", "Statement":[ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-import-bucket", "arn:aws:s3:::amzn-s3-demo-import-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:PutObject", "s3:GetBucketAcl" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-export-bucket", "arn:aws:s3:::amzn-s3-demo-export-bucket/*" ] }, { "Effect": "Allow", "Action": [ "ec2:ModifySnapshotAttribute", "ec2:CopySnapshot", "ec2:RegisterImage", "ec2:Describe*" ], "Resource": "*" } ] }
  4. (Opcional) Si necesita importar recursos cifrados utilizando una clave AWS KMS de AWS Key Management Service, agregue los siguientes permisos al archivo role-policy.json.

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

    Si usa una clave KMS distinta a la proporcionada por Amazon EBS de forma predeterminada, debe conceder permiso de clave KMS a VM Import/Export si habilita el cifrado de Amazon EBS de forma predeterminada o si habilita el cifrado en una operación de importación. Puede especificar el nombre de recurso de Amazon (ARN) de la clave KMS como recurso en lugar de *.

  5. (Opcional) Para asociar configuraciones de licencia a una AMI, añada los siguientes permisos de License Manager al archivo role-policy.json.

    { "Effect": "Allow", "Action": [ "license-manager:GetLicenseConfiguration", "license-manager:UpdateLicenseSpecificationsForResource", "license-manager:ListLicenseSpecificationsForResource" ], "Resource": "*" }
  6. Utilice el siguiente comando put-role-policy para asociar la política al rol creado anteriormente. Asegúrese de que especifica la ruta completa de la ubicación del archivo role-policy.json.

    aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document "file://C:\import\role-policy.json"
  7. Para implantar controles de seguridad adicionales, es posible añadir claves de contexto, como aws:SourceAccount y aws:SourceArn, a la política de confianza de este rol recién creado. VM Import/Export publicará las claves SourceAccount y SourceArn, tal como se muestra en el siguiente ejemplo, para asumir este rol:

    JSON
    { "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:*" } } } ] }