Job Management-API-Referenz - AWS Snowball

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Job Management-API-Referenz

Die API zur Auftragsverwaltung für AWS Snowball ist ein Netzwerkprotokoll, das auf HTTP (RFC 2616) basiert. Weitere Informationen zu diesem RFC finden Sie unter HTTP (RFC 2616) auf der IETF-Website. Für jeden Aufruf der Job-Management-API stellen Sie eine HTTP-Anforderung an den regionsspezifischen Endpunkt der API zur Auftragsverwaltung fürAWS-Regionwo Sie Aufträge verwalten möchten. Die API nutzt JSON-Dokumente (RFC 4627) für die HTTP-Anforderungs-/Antworttexte.

Anmerkung

API-Aufrufe in US-Regionen zum Auflisten von Aufträgen oder Beschreiben von Adressen geben alle Aufträge bzw. Adressen innerhalb der USA für dieses Konto zurück.

Die API zur Auftragsverwaltung für Snowball ist ein RPC-Modell. In diesem Modell gibt es einen festen Satz von Operationen, deren jeweilige Syntax den Clients ohne jede vorhergehende Interaktion bekannt ist. Im Folgenden finden Sie eine Beschreibung für alle API-Operationen, die eine abstrakte RPC-Notation verwenden, zusammen mit einem Namen für die Operation, der nicht in den Wire-Daten zu sehen ist. Die jeweiligen Operationen werden den HTTP-Anforderungselementen zugeordnet.

Die genaue Auftragsverwaltungsoperation, der eine bestimmte Anforderung zugewiesen wird, hängt von der Kombination zweier Faktoren ab: der Anforderungsmethode (GET, PUT, POST oder DELETE) und dem Muster, das dem Anforderungs-URI entspricht. Wenn die -Operation PUT oder POST ist, extrahiert Snowball Aufrufargumente aus dem Anforderungs-EFS-Pfadsegment, Abfrageparametern und dem JSON-Objekt im Anforderungstext.

Obwohl der Operationsname, wieCreateJob, erscheint nicht auf dem Draht, diese Operationsnamen sind inAWS Identity and Access Management(IAM) -Richtlinien. Der Operationsname wird auch verwendet, um Befehle in Befehlszeilen-Tools und Elementen derAWSSDK-APIs. Zum Beispiel entspricht der AWS Command Line Interface (AWS CLI)-Befehl create-job der CreateJob-Operation. Der Operationsname ist auch in CloudTrail-Protokollen für Snowball API-Aufrufe enthalten.

Weitere Informationen zur Installation und Einrichtung derAWS CLI, einschließlich der Angabe, welche Regionen Sie erstellen möchtenAWS CLIruft dagegen, siehe dieAWS Command Line Interface-Benutzerhandbuchaus.

Anmerkung

Die API zur Auftragsverwaltung bietet programmgesteuerten Zugriff auf die gleiche Funktionalität, die in derAWSSnowball Management ConsoleDas heißt, Arbeitsplätze für Snowball zu schaffen und zu verwalten. Um Daten lokal mit einer Snowball-Appliance zu übertragen, verwenden Sie den Snowball-Client oder den S3 SDK-Adapter für Snowball. Weitere Informationen finden Sie unterDaten mit einem Snowball übertragenimAWSSnowball Benutzerhandbuchaus.

Wenn Sie einen Snowball Edge verwenden, verwenden Sie den Snowball Client, um die Appliance zu entsperren. Weitere Informationen finden Sie unterVerwenden des Snowball-ClientsimAWSSnowball Entwicklerhandbuchaus.

API-Endpunkt

Der API-Endpunkt ist der DNS-Name (Domain Name Service), der in dem HTTP-URI für die API-Aufrufe als Host verwendet wird. Diese API-Endpunkte sind regionsspezifisch und haben das folgende Format.

snowball.aws-region.amazonaws.com

Der Snowball API-Endpunkt für die Region USA West (Oregon) ist beispielsweise der folgende.

snowball.us-west-2.amazonaws.com

Für eine ListeAWS-RegionenDie Snowball unterstützt (wo Sie Aufträge erstellen und verwalten können), finden Sie unterAWS Import/ExportimAWS– Allgemeine Referenzaus.

Der regionsspezifische API-Endpunkt definiert den Umfang der Snowball Ressourcen, auf die Sie bei einem API-Aufruf zugreifen können. Wenn Sie zum Beispiel dieListJobsMit dem oben genannten Endpunkt erhalten Sie eine Liste mit den in Ihrem Konto erstellten Aufträgen in der Region USA West (Oregon).

API-Version

Die für einen Aufruf verwendete API-Version wird vom ersten Pfadsegment des Anforderungs-URIs bestimmt und weist ein Datumsformat nach ISO 8601 auf. Die Beschreibung in der Dokumentation bezieht sich auf die API-Version 2016-06-30.

Referenz für die API-Berechtigungsrichtlinien

Die folgenden Richtlinien sind erforderlich, um Aufträge mit der API zur Auftragsverwaltung für Snowball zu erstellen.

Vertrauensrichtlinie für Rollen zum Erstellen von Aufträgen

Die Verwendung der Job-Management-API zum Erstellen von Aufträgen erfordert die unten stehende Vertrauensrichtlinie.

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

Weitere Informationen zu Vertrauensrichtlinien finden Sie unterÄndern einer Rolleim IAM User Guide.

Vertrauensrichtlinie zum Erstellen von Importaufträgen

Wenn Sie Importaufträge erstellen, benötigen Sie die folgende Vertrauensrichtlinie.

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

Vertrauensrichtlinie zum Erstellen von Exportaufträgen

Für die Erstellung von Exportaufträgen ist die folgende Vertrauensrichtlinie erforderlich.

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

-Prinzipal für Amazon S3 S3-Bucket-Richtlinien zum Erstellen von Aufträgen

In einigen Fällen verfügen die Amazon S3 S3-Buckets, die Sie mit Snowball verwenden, über Bucket-Richtlinien, die das Auflisten des Rollensitzungsnamens der angenommenen Rolle erfordern. In diesen Fällen müssen Sie einen Prinzipal in diesen Richtlinien angeben, die AWSImportExport-Validation identifiziert. Im folgenden Beispiel für Amazon S3 S3-Bucket-Richtlinien sehen Sie, wie.

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

In diesem Richtlinienbeispiel verweigern wir den Zugriff für alle Prinzipale mit Ausnahme des im NotPrincipal-Element genannten. Weitere Informationen zur Verwendung vonNotPrincipalfinden Sie unter,NotPrincipalimIAM User Guideaus.

Anmerkung

Für Arbeitsplätze inAWS GovCloud (US)verwendet SnowballAWSIEJobals Rollensitzungsname der angenommenen Rolle.

Erstellen einer IAM-Rolle für Snowball und Snowball Edge

Es muss eine IAM-Rollenrichtlinie mit Lese- und Schreibberechtigungen für Ihre Amazon S3 S3-Buckets erstellt werden. Die IAM-Rolle muss außerdem über eine Vertrauensbeziehung mit Snowball verfügen. Eine Vertrauensbeziehung bedeutet, dassAWSkann die Daten in Snowball und in Ihre Amazon S3 S3-Buckets schreiben, je nachdem, ob Sie Daten importieren oder exportieren.

Wenn Sie einen Job imManagementkonsole für die AWS Snow-FamilieDie erforderliche IAM-Rolle wird in Schritt 4 desBerechtigungAbschnitts erstellt. Dieser Prozess erfolgt automatisch. Die IAM-Rolle, die Snowball gewähren, wird nur verwendet, um Ihre Daten in Ihren Bucket zu schreiben, wenn der Snowball mit Ihren übertragenen Daten eingehtAWSaus. Der Vorgang wird wie folgt ausgeführt.

So erstellen Sie eine IAM-Rolle für Ihren Importauftrag
  1. Melden Sie sich beimAWS Management ConsoleUnd öffnen SieAWS Snowball-Konsole unterhttps://console.aws.amazon.com/importexport/aus.

  2. Wählen Sie Create job (Auftrag erstellen) aus.

  3. Im ersten Schritt füllen Sie die Details für Ihren -Importauftrag in Amazon S3 aus und klicken aufWeiteraus.

  4. Im zweiten Schritt wählen Sie unter Permission (Berechtigung) die Option Create/Select IAM Role (IAM-Rolle erstellen/auswählen) aus.

    Die IAM Management Console wird geöffnet und zeigt die IAM-Rolle anAWSverwendet, um Objekte in Ihre angegebenen Amazon S3 S3-Buckets zu kopieren.

  5. Überprüfen Sie die Angaben auf dieser Seite und wählen Sie dann Allow (Zulassen) aus.

    Sie kehren zur Managementkonsole für die AWS Snow-Familie zurück. Hier ist der Amazon-Ressourcenname (ARN) für die soeben erstellte IAM-Rolle in Selected IAM role ARN (ARN der ausgewählten IAM-Rolle) enthalten.

  6. Klicken Sie aufWeiterUm die Erstellung Ihrer IAM-Rolle abzuschließen.

Mit dem oben genannten Vorgang wird eine IAM-Rolle erstellt, die über Schreibberechtigungen für die Amazon S3 S3-Buckets verfügt, in die Ihre Daten importiert wollen. Die erstellte IAM-Rolle weist eine der folgenden Strukturen auf, je nachdem, ob sie für einen Import- oder einen Exportauftrag gilt.

IAM-Rolle für einen Importauftrag

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

Wenn Sie eine serverseitige Verschlüsselung mit verwendenAWS KMS—verwaltete Schlüssel (SSE-KMS) Um die mit Ihrem Import-Auftrag verbundenen Amazon S3 S3-Buckets zu verschlüsseln, müssen Sie die folgende Anweisung zu Ihrer IAM-Rolle hinzufügen.

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

IAM-Rolle für einen Exportauftrag

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

Wenn Sie eine serverseitige Verschlüsselung mit verwendenAWS KMS—Durch verwaltete Schlüssel zum Verschlüsseln der mit Ihrem Exportauftrag verbundenen Amazon S3 S3-Buckets müssen Sie die folgende Anweisung zu Ihrer IAM-Rolle hinzufügen.

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