View a markdown version of this page

Utilisation de l'API Job Management - AWS Snowball Edge Guide du développeur

AWS Snowball Edge n'est plus disponible pour les nouveaux clients. Les nouveaux clients devraient envisager AWS DataSyncdes transferts en ligne, un terminal de transfert de AWS données pour des transferts physiques sécurisés ou des solutions AWS partenaires. Pour l'informatique de pointe, explorez AWS Outposts.

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.

Utilisation de l'API Job Management

L'API Job Management pour AWS Snowball Edge est un protocole réseau basé sur le protocole 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 envoyez une requête HTTP au point de terminaison de l'API de gestion des tâches spécifique à la région pour l'Région AWS endroit où vous souhaitez gérer les tâches. L'API utilise des documents JSON (RFC 4627) pour les corps HTTP request/response .

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 Edge 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 correspond une demande donnée est déterminée par une combinaison de la méthode de la demande (GET, PUT, POST ou DELETE) et du modèle auquel elle Request-URI correspond parmi les différents modèles. Si l'opération est PUT ou POST, Snowball Edge extrait les arguments d'appel du segment de Request-URI chemin, des paramètres de requête et de l'objet JSON dans le corps de la demande.

Bien que le nom de l'opération, tel queCreateJob, n'apparaisse pas sur le fil, ces noms d'opération ont une signification dans les politiques Gestion des identités et des accès AWS(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 des API du AWS SDK. Par exemple, la commande AWS Command Line Interface(AWS CLI) create-job correspond à l'CreateJobopération. Le nom de l'opération apparaît également dans CloudTrail les journaux des appels d'API Snowball Edge.

Pour plus d'informations sur l'installation et la configuration du AWS CLI, notamment pour spécifier les régions dans lesquelles vous souhaitez AWS CLI passer des appels, consultez le guide de AWS Command Line Interface l'utilisateur.

Note

L'API de gestion des tâches fournit une interface programmatique utilisant les mêmes fonctionnalités que celles disponibles dans la console de gestion AWS Snowball, à savoir créer et gérer des tâches pour Snowball Edge. Pour transférer des données localement avec une appliance Snowball, utilisez le client Snowball Edge ou l'adaptateur SDK S3 pour Snowball Edge. Pour plus d'informations, consultez la section Transfert de données à l'aide d'une Snowball dans le guide de l'utilisateur de AWS Snowball.

Si vous utilisez un Snowball Edge, utilisez le client Snowball Edge pour déverrouiller l'appliance. Pour plus d'informations, consultez la section Utilisation du client Snowball dans le manuel AWS Snowball Developer Guide.

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 de l'API Snowball Edge pour la région de l'ouest des États-Unis (Oregon) est le suivant.

snowball.us-west-2.amazonaws.com

Pour obtenir la liste des Régions AWS produits pris en charge par Snowball Edge (où vous pouvez créer et gérer des tâches), consultez AWS Import/Exportle. Références générales AWS

Le point de terminaison d'API spécifique à la région définit l'étendue des ressources Snowball Edge accessibles lorsque vous effectuez un appel d'API. Par exemple, lorsque vous appelez l'ListJobsopération à l'aide du point de terminaison précédent, vous obtenez une liste des emplois créés dans votre compte dans la région USA Ouest (Oregon).

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 politiques suivantes sont nécessaires pour créer des tâches avec l'API de gestion des tâches pour Snowball Edge.

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 politique de confiance suivante.

JSON
{ "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 politiques de confiance, consultez la section Modification d'un rôle dans le guide de l'utilisateur 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.

JSON
{ "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.

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

Principe de la politique Amazon S3 relative aux compartiments pour la création d'emplois

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

Exemple
JSON
{ "Version":"2012-10-17", "Statement": { "Sid": "AllowAWSSnowballToCreateJobs", "Effect": "Allow", "Principal": { "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, consultez le guide NotPrincipalde l'utilisateur IAM.

Note

Pour les tâches dans AWS GovCloud (US), Snowball Edge utilise AWSIEJob comme rôle le nom de session du rôle assumé.

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

Une politique 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 entretenir une relation de confiance avec Snowball Edge. Une relation de confiance signifie que AWS vous pouvez écrire les données dans le Snowball et dans vos compartiments Amazon S3, selon que vous importez ou exportez des données.

Lorsque vous créez une tâche dans le AWS Snow Family Management Console, la création du rôle IAM nécessaire a lieu à l'étape 4 de la section Autorisation. Cette procédure est automatique. Le rôle IAM que vous autorisez Snowball Edge à assumer est uniquement utilisé pour écrire vos données dans votre bucket lorsque le Snowball contenant les données transférées arrive.AWS La procédure suivante décrit ce processus.

Pour créer le rôle IAM pour votre tâche d'importation
  1. Connectez-vous à la AWS Snowball Edge console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/importexport/.

  2. Choisissez Créer une tâche.

  3. Dans un premier temps, renseignez les informations relatives à votre tâche d'importation dans Amazon S3, puis choisissez Next.

  4. Dans la deuxième étape, sous Autorisation, choisissez le rôle Create/Select IAM.

    La console de gestion IAM s'ouvre et indique le rôle IAM AWS utilisé pour copier des objets dans les compartiments Amazon S3 que vous avez spécifiés.

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

    Vous revenez au AWS Snow Family Management Console, où l'ARN du rôle IAM sélectionné contient le nom de ressource Amazon (ARN) du rôle IAM que vous venez de créer.

  6. Choisissez Next pour terminer la création de votre rôle IAM.

La procédure précédente crée un rôle IAM doté 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

JSON
{ "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 avec AWS KMS—managed keys (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:kms:region:account-id:key/key-id" }

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

JSON
{ "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 avec des AWS KMS clés gérées 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:kms:region:account-id:key/key-id" }