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

Import/Export La machine virtuelle 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 requises

Vos utilisateurs, groupes et rôles doivent avoir les autorisations suivantes dans leur politique IAM 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.

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

Fonction du service requis

Import/Export La machine virtuelle a besoin d'un rôle pour effectuer 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 Import/Export à la machine virtuelle d'assumer le rôle, et vous devez associer une stratégie IAM au rôle. Pour plus d'informations, veuillez consulter Rôles IAM dans le Guide de l'utilisateur IAM.

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 :

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "vmie.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals":{ "sts:Externalid": "vmimport" } } } ] }
  2. Utilisez la create-rolecommande pour créer un rôle nommé vmimport et accorder à la machine virtuelle 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é selon role-policy.json la politique suivante, où se amzn-s3-demo-import-bucket trouve le compartiment pour les images de disque importées et amzn-s3-demo-export-bucket le compartiment pour les images de disque exportées :

    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. (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 clé KMS autre que celle fournie par défaut par Amazon EBS, vous devez autoriser la machine virtuelle Import/Export à accéder à la clé KMS si vous activez le chiffrement Amazon EBS par défaut ou si vous activez le chiffrement lors d'une opération d'importation. Vous pouvez spécifier l'Amazon Resource Name (ARN) de la clé KMS comme ressource au lieu de *.

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

    { "Effect": "Allow", "Action": [ "license-manager:GetLicenseConfiguration", "license-manager:UpdateLicenseSpecificationsForResource", "license-manager:ListLicenseSpecificationsForResource" ], "Resource": "*" }
  6. Utilisez la commande suivante put-role-policy pour attacher la stratégie 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éé. La machine virtuelle Import/Export publiera SourceArn les clés SourceAccount et comme indiqué dans l'exemple ci-dessous pour assumer ce rôle :

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