Autorisations requises pour VM Import/Export - VM Import/Export

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Autorisations requises pour VM Import/Export

VM Import/Export nécessite certaines autorisations pour vos utilisateurs, groupes et rôles. En outre, une fonction du service est requise pour effectuer certaines opérations en votre nom.

Autorisations nécessaires

Vos utilisateurs, groupes et rôles doivent disposer des autorisations suivantes dans leur IAM politique pour utiliser VM Import/Export :

Note

Certaines actions nécessitent l'utilisation d'un bucket Amazon Simple Storage Service (Amazon S3). Cet exemple de politique n'accorde pas l'autorisation de créer des compartiments S3. L'utilisateur ou le rôle que vous utilisez devra spécifier un compartiment existant ou disposer des autorisations nécessaires pour créer un nouveau compartiment avec l's3:CreateBucketaction.

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

Fonction du service requis

VM Import/Export nécessite un rôle pour pouvoir exécuter certaines opérations en votre nom. Vous devez créer un rôle de service nommé vmimport dans un document de politique de relation de confiance qui permet à VM Import/Export d'assumer le rôle, et vous devez associer une IAM politique au rôle. Pour plus d'informations, consultez la section IAMRôles du guide de IAM l'utilisateur.

Prérequis

Vous devez activer AWS Security Token Service (AWS STS) dans toutes les régions où vous prévoyez d'utiliser VM Import/Export. Pour plus d'informations, voir Activation et désactivation AWS STS dans une AWS région.

Pour créer la fonction du service
  1. Sur votre ordinateur, créez un fichier nommé trust-policy.json. Ajoutez la stratégie suivante au fichier :

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "vmie.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals":{ "sts:Externalid": "vmimport" } } } ] }
  2. Utilisation de la create-rolecommande pour créer un rôle nommé vmimport et accorder à VM Import/Export l'accès à celui-ci. Assurez-vous de spécifier le chemin d'accès complet à l'emplacement du fichier trust-policy.json que vous avez créé à l'étape précédente, et d'inclure le préfixe file:// comme illustré dans l'exemple suivant :

    aws iam create-role --role-name vmimport --assume-role-policy-document "file://C:\import\trust-policy.json"
  3. Créez un fichier nommé role-policy.json selon la politique suivante, où amzn-s3-demo-import-bucket est le compartiment pour les images de disque importées et amzn-s3-demo-export-bucket est le compartiment pour les images de disque exportées :

    { "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. (Facultatif) Pour importer des ressources chiffrées à l'aide d'une AWS KMS clé depuis AWS Key Management Service, ajoutez les autorisations suivantes au role-policy.json fichier.

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

    Si vous utilisez une KMS clé autre que celle fournie par défaut par AmazonEBS, vous devez autoriser VM Import/Export à accéder à la KMS clé si vous activez le EBS chiffrement Amazon par défaut ou si vous activez le chiffrement lors d'une opération d'importation. Vous pouvez spécifier le nom de ressource Amazon (ARN) de la KMS clé comme ressource au lieu de *.

  5. (Facultatif) Pour joindre des configurations de licence à unAMI, ajoutez les autorisations License Manager suivantes au role-policy.json fichier.

    { "Effect": "Allow", "Action": [ "license-manager:GetLicenseConfiguration", "license-manager:UpdateLicenseSpecificationsForResource", "license-manager:ListLicenseSpecificationsForResource" ], "Resource": "*" }
  6. Utilisez ce qui suit put-role-policycommande pour associer la politique au rôle créé ci-dessus. Veillez à spécifier le chemin d'accès complet vers l'emplacement du fichier role-policy.json.

    aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document "file://C:\import\role-policy.json"
  7. Pour des contrôles de sécurité supplémentaires, des clés contextuelles telles que aws:SourceAccount et aws:SourceArn peuvent être ajoutées à la stratégie d'approbation pour ce rôle nouvellement créé. VM Import/Export publiera les clés SourceAccount et SourceArn comme indiqué dans l'exemple ci-dessous pour assumer ce rôle :

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