Permissões necessárias para VM Import/Export - VM Import/Export

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 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.

Permissões obrigatórias

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

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

Perfil de serviço necessário

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 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 o VM Import/Export. Para obter mais informações, consulte Ativação e desativação AWS STS em 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" } } } ] }
  2. Use o create-rolecomando 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"
  3. 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": "*" } ] }
  4. (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 *.

  5. (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": "*" }
  6. Use o seguinte comando put-role-policy 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"
  7. 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:*" } } } ] }