

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Permissões necessárias para VM Import/Export
<a name="required-permissions"></a>

A VM Import/Export exige determinadas permissões para seus usuários, grupos e funções. Além disso, é necessário um perfil de serviço para realizar determinadas operações em seu nome.

**Topics**
+ [Permissões obrigatórias](#iam-permissions-image)
+ [Perfil de serviço necessário](#vmimport-role)

## Permissões obrigatórias
<a name="iam-permissions-image"></a>

Seus usuários, grupos e funções precisam das seguintes permissões na política do IAM para usar a VM: Import/Export

**Importante**  
A VM Import/Export valida que você tem `iam:PassRole` permissão para a função especificada no `RoleName` parâmetro ou para a `vmimport` função padrão, se nenhuma for especificada. Certifique-se de que sua política do IAM `iam:PassRole` conceda o ARN da função que você pretende usar. Para obter mais informações, consulte [Conceder permissões a um usuário para passar uma função para um AWS serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) no *Guia do usuário do IAM*.

**nota**  
Algumas ações exigem o uso de um bucket do Amazon Simple Storage Service (Amazon S3). Este exemplo de política não concede permissão para a criação de buckets do S3. O usuário ou o perfil que você usar precisará especificar um bucket existente ou ter permissões para criar um novo bucket com a ação `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": "*"
    },
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::{{111122223333}}:role/{{vmimport}}"
    }
  ]
}
```

------

## Perfil de serviço necessário
<a name="vmimport-role"></a>

A VM Import/Export exige uma função para realizar determinadas operações em seu nome. Você deve criar uma função de serviço nomeada `vmimport` com um documento de política de relacionamento de confiança que permita que Import/Export a VM assuma a função e anexar uma política do IAM à função. Para obter mais informações, consulte [Perfis do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html) no *Guia do usuário do IAM*.

**Pré-requisito**  
Você deve habilitar AWS Security Token Service (AWS STS) em qualquer região em que planeja usar a VM. Import/Export Para obter mais informações, consulte [Ativação e desativação AWS STS em](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html#sts-regions-activate-deactivate) uma região. AWS 

**Como criar a função de serviço**

1. No computador, crie um arquivo chamado `trust-policy.json`. Adicione a seguinte política ao arquivo:

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
         {
            "Effect": "Allow",
            "Principal": { "Service": "vmie.amazonaws.com" },
            "Action": "sts:AssumeRole",
            "Condition": {
               "StringEquals":{
                  "sts:Externalid": "vmimport"
               }
            }
         }
      ]
   }
   ```

------

1. Use o [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 criar uma função chamada `vmimport` e conceder Import/Export acesso à VM a ela. Especifique o caminho completo para o local do arquivo `trust-policy.json` criado na etapa anterior e inclua o prefixo `file://` conforme mostrado no exemplo a seguir:

   ```
   aws iam create-role --role-name vmimport --assume-role-policy-document "file://{{C:\import\trust-policy.json}}"
   ```

1. Crie um arquivo chamado `role-policy.json` com a política a seguir, onde {{amzn-s3-demo-import-bucket}} é o bucket para imagens de disco importadas e {{amzn-s3-demo-export-bucket}} é o bucket para imagens 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 criptografados usando uma AWS KMS chave de AWS Key Management Service, adicione as seguintes permissões ao `role-policy.json` arquivo.

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

   Se você usar uma chave KMS diferente da padrão fornecida pelo Amazon EBS, deverá conceder Import/Export permissão de VM à chave KMS se você habilitar a criptografia do Amazon EBS por padrão ou habilitar a criptografia em uma operação de importação. É possível especificar o nome do recurso da Amazon (ARN) da chave do KMS como o recurso em vez de \*.

1. (Opcional) Para anexar configurações de licença a uma AMI, adicione as seguintes permissões do License Manager ao arquivo `role-policy.json`.

   ```
   {
     "Effect": "Allow",
     "Action": [
       "license-manager:GetLicenseConfiguration",
       "license-manager:UpdateLicenseSpecificationsForResource",
       "license-manager:ListLicenseSpecificationsForResource"
     ],
     "Resource": "*"
   }
   ```

1. Use o seguinte 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 associar a política ao perfil criado acima. Especifique o caminho completo para o local do arquivo `role-policy.json`.

   ```
   aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document "file://{{C:\import\role-policy.json}}"
   ```

1. Para controles de segurança adicionais, chaves de contexto, como `aws:SourceAccount` e `aws:SourceArn` podem ser adicionadas à política de confiança desse perfil recém-criado. A VM Import/Export publicará `SourceArn` as chaves `SourceAccount` e conforme especificado no exemplo abaixo para assumir essa função:

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

------