

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Permisos necesarios para VM Import/Export
<a name="required-permissions"></a>

 Import/Export La máquina virtual requiere determinados permisos para sus usuarios, grupos y funciones. Además, es necesario un rol de servicio para llevar a cabo determinadas operaciones en su nombre.

**Topics**
+ [Permisos necesarios](#iam-permissions-image)
+ [Rol de servicio requerido](#vmimport-role)

## Permisos necesarios
<a name="iam-permissions-image"></a>

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
<a name="vmimport-role"></a>

 Import/Export La máquina virtual requiere un rol para realizar determinadas operaciones en su nombre. Debe crear un rol de servicio `vmimport` con el nombre de un documento de política de relaciones de confianza que permita Import/Export a VM asumir el rol, y debe adjuntar una política de IAM al rol. Para obtener más información, consulte [Roles de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html) 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 vaya a utilizar VM Import/Export. Para obtener más información, consulte [Activación y desactivación AWS STS en](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html#sts-regions-activate-deactivate) una región. 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"
               }
            }
         }
      ]
   }
   ```

------

1. Utilice el [https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html)comando para crear un rol denominado `vmimport` y conceder a la máquina virtual Import/Export acceso al mismo. 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"
   ```

1. Cree un archivo `role-policy.json` con el nombre siguiente, donde *amzn-s3-demo-import-bucket* esté el depósito para las imágenes de disco importadas y *amzn-s3-demo-export-bucket* el depósito 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": "*"
         }
      ]
   }
   ```

------

1. (Opcional) Para importar recursos cifrados con una AWS KMS clave desde AWS Key Management Service, añada los siguientes permisos al `role-policy.json` archivo.

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

   Si utiliza una clave de KMS distinta de la predeterminada proporcionada por Amazon EBS, debe conceder Import/Export permiso de máquina virtual a la clave de KMS si habilita el cifrado de Amazon EBS de forma predeterminada o 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 \$1.

1. (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": "*"
   }
   ```

1. Utilice el siguiente comando [https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-policy.html) 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"
   ```

1. 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 `SourceArn` claves `SourceAccount` y tal como se especifica en el siguiente ejemplo para asumir esta función:

------
#### [ 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:*"
                   }
               }
           }
       ]
   }
   ```

------