Référence API de gestion des tâches - AWS Snowball

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.

Référence API de gestion des tâches

L'API de gestion des tâches pour AWS Snowball est un protocole réseau basé sur HTTP (RFC 2616). Pour plus d'informations sur cette RFC, consultez le HTTP (RFC 2616) sur le site IETF. Pour chaque appel à l'API de gestion des tâches, vous présentez une requête HTTP au point de terminaison API de gestion des tâches spécifique à une région pour leRégion AWSoù vous voulez gérer des tâches. L'API utilise des documents JSON (RFC 4627) pour les corps de requête/réponse HTTP.

Note

Les appels d'API effectués dans les régions américaines pour l'affichage de la liste des tâches ou la description d'adresses renvoient toutes les tâches ou les adresses au sein des États-Unis pour ce compte.

L'API de gestion des tâches pour Snowball est un modèle RPC. Dans ce modèle, il existe un ensemble fixe d'opérations et la syntaxe de chaque opération est connue des clients sans aucune interaction précédente. Vous trouverez ci-dessous une description de chaque opération API à l'aide d'une notation RPC abstraite, avec un nom d'opération qui n'apparaît pas dans le transfert. Pour chaque opération, la rubrique spécifie le mapping d'éléments de requête HTTP.

L'opération de gestion des tâches spécifique à laquelle est mappée une requête donnée est déterminée par une combinaison de la méthode de la demande (GET, PUT, POST ou DELETE) et de la correspondance de Request-URI avec l'un des différents modèles. Si l'opération est PUT ou POST, Snowball extrait les arguments d'appel du segment de chemin Request-URI, les paramètres de requête et l'objet JSON dans le corps de la requête.

Bien que le nom de l'opération, tel queCreateJob, n'apparaît pas dans le transfert, ces noms d'opération ont une signification dansAWS Identity and Access ManagementStratégies (IAM). Le nom de l'opération est également utilisé pour nommer les commandes dans les outils de ligne de commande et les éléments duAWSAPI du kit de développement logiciel. Par exemple, la commande create-job de l'AWS Command Line Interface (AWS CLI) est mappée à l'opération CreateJob. Le nom de l'opération apparaît également dans les journaux CloudTrail pour les appels d'API Snowball.

Pour plus d'informations sur l'installation et la configuration duAWS CLI, notamment en spécifiant les régions que vous souhaitez créerAWS CLIappels contre, voir leAWS Command Line InterfaceGuide de l'utilisateur.

Note

L'API de gestion des tâches fournit un accès par programmation aux mêmes fonctionnalités que celles disponibles dans leAWSSnowball Management Console, c'est-à-dire créer et gérer des tâches pour Snowball. Pour transférer des données localement avec une appliance Snowball, utilisez le client Snowball ou l'adaptateur SDK S3 pour Snowball. Pour de plus amples informations, veuillez consulterTransfert de données avec une Snowballdans leAWSManuel de l'utilisateur Snowball.

Si vous utilisez une Snowball Edge, utilisez le client Snowball pour déverrouiller l'appliance. Pour de plus amples informations, veuillez consulterUtilisation du client Snowballdans leAWSManuel du développeur Snowball.

Point de terminaison API

Le point de terminaison d'API est le nom DNS (Domain Name Service) utilisé comme hôte dans l'URI HTTP pour les appels d'API. Ces points de terminaison API sont spécifiques à une région et prennent la forme suivante.

snowball.aws-region.amazonaws.com

Par exemple, le point de terminaison API Snowball pour la région USA Ouest (Oregon) est le suivant.

snowball.us-west-2.amazonaws.com

Pour obtenir une liste deRégions AWSpris en charge par Snowball (où vous pouvez créer et gérer des tâches), consultezAWS Import/Exportdans leAWSRéférence générale.

Le point de terminaison API spécifique à une région définit la portée des ressources Snowball qui sont accessibles lorsque vous effectuez un appel d'API. Par exemple, lorsque vous appelez leListJobsAvec le point de terminaison précédent, vous obtenez une liste de tâches dans la région USA Ouest (Oregon) qui ont été créées dans votre compte.

Version de l'API

La version de l'API utilisée pour un appel est identifiée par le premier segment de chemin de l'URI de la demande, et sa forme est une date ISO 8601. La documentation décrit l'API version 2016-06-30.

Référence des stratégies d'autorisation d'API

Les stratégies suivantes sont requises pour créer des tâches avec l'API de gestion des tâches pour Snowball.

Stratégie d'approbation de rôle pour créer des tâches

L'utilisation de l'API de gestion des tâches pour créer des tâches nécessite la stratégie d'approbation suivante.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "importexport.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "AWSIE" } } } ] }
Note

Pour en savoir plus sur les stratégies d'approbation, consultezModification d'un rôledans le guide de l'utilisateur d'IAM.

Stratégie de rôle pour créer des tâches d'importation

La création d'une tâche d'importation requiert la stratégie de rôle suivante.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListBucketMultipartUploads" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "s3:GetBucketPolicy", "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "snowball:*" ], "Resource": [ "*" ] } ] }

Stratégie de rôle pour créer des tâches d'exportation

La création d'une tâche d'exportation requiert la stratégie de rôle suivante.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "snowball:*" ], "Resource": [ "*" ] } ] }

Principale de stratégie de compartiment Amazon S3 pour créer des tâches

Dans certains cas, les compartiments Amazon S3 que vous utilisez avec Snowball ont des stratégies de compartiment en place qui nécessitent de répertorier le nom de session de rôle du rôle assumé. Dans ces cas, vous devez spécifier un mandataire dans ces stratégies qui identifient AWSImportExport-Validation. L'exemple de stratégie de compartiment Amazon S3 suivante montre comment procéder.

{ "Version": "2012-10-17", "Statement": { "Sid": "Allow AWS Snowball To Create Jobs", "Effect": "Deny", "NotPrincipal": { "AWS": [ "arn:aws:iam::111122223333:role/rolename", "arn:aws:sts::111122223333:assumed-role/rolename/AWSImportExport-Validation", "arn:aws:iam::111122223333:root" ] }, "Action": "S3:*", "Resource": ["arn:aws:s3:::examplebucket/*"] } }

Dans cette exemple de stratégie, nous refusons l'accès à tous les mandataires, excepté celui nommé dans l'élément NotPrincipal. Pour plus d'informations sur l'utilisationNotPrincipal, voirNotPrincipaldans leIAM User Guide.

Note

Pour des tâches dansAWS GovCloud (US)Utilisations SnowballAWSIEJobcomme nom de session de rôle du rôle assumé.

Création d'un rôle IAM pour Snowball et Snowball Edge

Une stratégie de rôle IAM doit être créée avec des autorisations de lecture et d'écriture pour vos compartiments Amazon S3. Le rôle IAM doit également avoir une relation d'approbation avec Snowball. Le fait d'avoir une relation d'approbation signifie queAWSpeut écrire les données dans Snowball et dans vos compartiments Amazon S3, selon que vous importez ou exportez des données.

Lorsque vous créez une tâche dans leAWS Snow Family Management Console, la création du rôle IAM nécessaire se produit à l'étape 4 de laAutorisationSection. Cette procédure est automatique. Le rôle IAM assumé par grâce à Snowball est utilisé uniquement pour écrire vos données dans votre compartiment lorsque la Snowball avec vos données transférées arrive àAWS. La procédure suivante décrit ce processus.

Pour créer le rôle IAM de votre tâche d'importation
  1. Connectez-vous à la consoleAWS Management Consoleet ouvrez leAWS Snowballconsole àhttps://console.aws.amazon.com/importexport/.

  2. Choisissez Créer une tâche.

  3. Dans la première étape, remplissez les détails de votre tâche d'importation dans Amazon S3, puis choisissezSuivant.

  4. Dans la deuxième étape, sous Permission, choisissez Create/Select IAM Role (Créer/Sélectionner le rôle IAM).

    La console de gestion IAM s'ouvre et affiche le rôle IAM quiAWSpermet de copier des objets dans vos compartiments Amazon S3 spécifiés.

  5. Vérifiez les détails sur cette page, puis choisissez Autoriser.

    Vous revenez à la AWS Snow Family Management Console, où le champ Selected IAM role ARN (ARN de rôle IAM sélectionné) contient l'Amazon Resource Name (ARN) pour le rôle IAM que vous venez de créer.

  6. ChoisissezSuivantafin de finaliser la création de votre rôle IAM.

La procédure précédente crée un rôle IAM disposant d'autorisations d'écriture pour les compartiments Amazon S3 dans lesquels vous prévoyez d'importer vos données. Le rôle IAM qui est créé possède l'une des structures suivantes, selon que l'objectif est une tâche d'importation ou une tâche d'exportation.

Rôle IAM pour une tâche d'importation

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListBucketMultipartUploads" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "s3:GetBucketPolicy", "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::*" } ] }

Si vous utilisez le chiffrement côté serveur avecAWS KMS—Managed KMS (SSE-KMS) pour chiffrer les compartiments Amazon S3 associés à votre tâche d'importation, vous devez également ajouter l'instruction suivante à votre rôle IAM.

{ "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "arn:aws:s3:::SSEKMSEncryptedBucketName" }

Rôle IAM pour une tâche d'exportation

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetBucketPolicy", "s3:GetObject", "s3:ListBucket" ], "Resource": "arn:aws:s3:::*" } ] }

Si vous utilisez le chiffrement côté serveur avecAWS KMS—des clés gérées par. Pour chiffrer les compartiments Amazon S3 associés à votre tâche d'exportation, vous devez également ajouter l'instruction suivante à votre rôle IAM.

{ "Effect": "Allow", "Action": [ “kms:Decrypt” ], "Resource": "arn:aws:s3:::SSEKMSEncryptedBucketName" }