Erstellen Sie einen Verschlüsselungsschlüssel für Fargate Ephemeral Storage für Amazon ECS - Amazon Elastic Container Service

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.

Erstellen Sie einen Verschlüsselungsschlüssel für Fargate Ephemeral Storage für Amazon ECS

Erstellen Sie einen vom Kunden verwalteten Schlüssel, um Daten zu verschlüsseln, die auf dem kurzlebigen Speicher von Fargate gespeichert sind.

Anmerkung

Die kurzlebige Speicherverschlüsselung von Fargate mit vom Kunden verwalteten Schlüsseln ist für Windows-Taskcluster nicht verfügbar.

Die kurzlebige Speicherverschlüsselung von Fargate mit vom Kunden verwalteten Schlüsseln ist frühestens verfügbarplatformVersions. 1.4.0

Fargate reserviert Speicherplatz auf einem kurzlebigen Speicher, der nur von Fargate genutzt wird, und Ihnen wird der Speicherplatz nicht in Rechnung gestellt. Die Zuteilung kann sich von denen unterscheiden, die nicht vom Kunden verwaltet werden, aber der Gesamtspeicher bleibt gleich. Sie können sich diese Änderung in Tools wie df ansehen.

Schlüssel mit mehreren Regionen werden für den kurzlebigen Speicher von Fargate nicht unterstützt.

KMS-Schlüsselaliase werden für den kurzlebigen Speicher von Fargate nicht unterstützt.

Gehen Sie wie folgt vor, um einen vom Kunden verwalteten Schlüssel (CMK) zur Verschlüsselung von kurzlebigem Speicher für Fargate in AWS KMS zu erstellen.

  1. Navigieren Sie zu /kms. https://console.aws.amazon.com

  2. Folgen Sie den Anweisungen zum Erstellen von Schlüsseln im AWS Key Management Service Entwicklerhandbuch.

  3. Achten Sie bei der Erstellung Ihres AWS KMS Schlüssels darauf, dass Sie in den wichtigsten Richtlinien die für den Fargate-Dienst relevanten AWS KMS Betriebsberechtigungen angeben. Die folgenden API-Operationen müssen in der Richtlinie zulässig sein, um Ihren vom Kunden verwalteten Schlüssel mit Ihren Amazon ECS-Clusterressourcen verwenden zu können.

    • kms:GenerateDataKeyWithoutPlainText‐ Rufen Sie GenerateDataKeyWithoutPlainText auf, um aus dem bereitgestellten Schlüssel einen verschlüsselten AWS KMS Datenschlüssel zu generieren.

    • kms:CreateGrant‐ Fügt einem vom Kunden verwalteten Schlüssel einen Zuschuss hinzu. Gewährt Kontrollzugriff auf einen bestimmten AWS KMS Schlüssel, der den Zugriff auf Grant-Operationen ermöglicht, die Amazon ECS Fargate benötigt. Weitere Informationen zur Verwendung von Grants finden Sie im AWS Key Management Service Developer Guide. Dadurch kann Amazon ECS Fargate Folgendes tun:

      • Rufen Sie anDecrypt, AWS KMS um den Verschlüsselungsschlüssel zum Entschlüsseln der kurzlebigen Speicherdaten zu erhalten.

      • Richten Sie einen Principal ein, der in den Ruhestand geht, damit der Dienst dies tun kann. RetireGrant

    • kms:DescribeKey‐ Stellt dem Kunden verwaltete Schlüsseldetails zur Verfügung, damit Amazon ECS den Schlüssel validieren kann, sofern er symmetrisch und aktiviert ist.

    Das folgende Beispiel zeigt eine AWS KMS Schlüsselrichtlinie, die Sie auf den Zielschlüssel für die Verschlüsselung anwenden würden. Wenn Sie die Beispielrichtlinien verwenden möchten, ersetzen Sie sie durch Ihre eigenen Informationen. user input placeholders Konfigurieren Sie wie immer nur die Berechtigungen, die Sie benötigen, aber Sie müssen mindestens einem Benutzer Berechtigungen erteilen, um Fehler zu vermeiden. AWS KMS

    { "Sid": "Allow generate data key access for Fargate tasks.", "Effect": "Allow", "Principal": { "Service":"fargate.amazonaws.com" }, "Action": [ "kms:GenerateDataKeyWithoutPlaintext" ], "Condition": { "StringEquals": { "kms:EncryptionContext:aws:ecs:clusterAccount": [ "customerAccountId" ], "kms:EncryptionContext:aws:ecs:clusterName": [ "clusterName" ] } }, "Resource": "*" }, { "Sid": "Allow grant creation permission for Fargate tasks.", "Effect": "Allow", "Principal": { "Service":"fargate.amazonaws.com" }, "Action": [ "kms:CreateGrant" ], "Condition": { "StringEquals": { "kms:EncryptionContext:aws:ecs:clusterAccount": [ "customerAccountId" ], "kms:EncryptionContext:aws:ecs:clusterName": [ "clusterName" ] }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt" ] } }, "Resource": "*" }, { "Sid": "Allow describe key permission for cluster operator - CreateCluster and UpdateCluster.", "Effect": "Allow", "Principal": { "AWS":"arn:aws:iam::customerAccountId:role/customer-chosen-role" }, "Action": [ "kms:DescribeKey" ], "Resource": "*" }

    Fargate-Aufgaben verwenden die Schlüssel aws:ecs:clusterAccount und den aws:ecs:clusterName Verschlüsselungskontext für kryptografische Operationen mit dem Schlüssel. Kunden sollten diese Berechtigungen hinzufügen, um den Zugriff auf ein bestimmtes Konto und/oder einen bestimmten Cluster einzuschränken. Verwenden Sie den Clusternamen und nicht den ARN, wenn Sie den Cluster angeben.

    Weitere Informationen finden Sie unter Verschlüsselungskontext im AWS KMS -Entwicklerhandbuch.

    Beim Erstellen oder Aktualisieren eines Clusters haben Sie die Möglichkeit, den Bedingungsschlüssel zu verwendenfargateEphemeralStorageKmsKeyId. Dieser Bedingungsschlüssel ermöglicht Kunden eine genauere Kontrolle über die IAM-Richtlinien. Aktualisierungen der fargateEphemeralStorageKmsKeyId Konfiguration werden nur bei neuen Servicebereitstellungen wirksam.

    Im Folgenden finden Sie ein Beispiel dafür, wie Kunden nur einem bestimmten Satz genehmigter AWS KMS Schlüssel Berechtigungen gewähren können.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:CreateCluster", "ecs:UpdateCluster" ], "Resource": "*", "Condition": { "StringEquals": { "ecs:fargate-ephemeral-storage-kms-key": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } } } ] }

    Als Nächstes folgt ein Beispiel für die Ablehnung von Versuchen, AWS KMS Schlüssel zu entfernen, die bereits einem Cluster zugeordnet sind.

    { "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": [ "ecs:CreateCluster", "ecs:UpdateCluster" ], "Resource": "*", "Condition": { "Null": { "ecs:fargate-ephemeral-storage-kms-key": "true" } } } }

    Kunden können mithilfe der Befehle, oder sehen, ob ihre nicht verwalteten Aufgaben oder Serviceaufgaben mithilfe des AWS CLI describe-tasks Schlüssels verschlüsselt sind. describe-cluster describe-services

    Weitere Informationen finden Sie unter Bedingungsschlüssel für AWS KMS im AWS KMS Entwicklerhandbuch.

AWS Management Console
  1. Öffnen Sie die Konsole auf https://console.aws.amazon.com/ecs/Version 2.

  2. Wählen Sie in der linken Navigationsleiste Cluster und oben rechts entweder Cluster erstellen oder wählen Sie einen vorhandenen Cluster aus. Wählen Sie für einen vorhandenen Cluster oben rechts die Option Cluster aktualisieren aus.

  3. Im Abschnitt Verschlüsselung des Workflows haben Sie die Möglichkeit, Ihren AWS KMS Schlüssel unter Managed Storage und Fargate Ephemeral Storage auszuwählen. Sie können von hier aus auch wählen, ob Sie einen AWS KMS Schlüssel erstellen möchten.

  4. Wählen Sie Erstellen, wenn Sie mit der Erstellung Ihres neuen Clusters fertig sind, oder Aktualisieren, wenn Sie einen vorhandenen aktualisieren wollten.

AWS CLI

Im Folgenden finden Sie ein Beispiel für die Erstellung eines Clusters und die Konfiguration Ihres kurzlebigen Fargate-Speichers mithilfe von AWS CLI (ersetzen Sie die red Werte durch Ihre eigenen):

aws ecs create-cluster --cluster clusterName \ --configuration '{"managedStorageConfiguration":{"fargateEphemeralStorageKmsKeyId":"arn:aws:kms:us-west-2:012345678901:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"}}' { "cluster": { "clusterArn": "arn:aws:ecs:us-west-2:012345678901:cluster/clusterName", "clusterName": "clusterName", "configuration": { "managedStorageConfiguration": { "fargateEphemeralStorageKmsKeyId": "arn:aws:kms:us-west-2:012345678901:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } }, "status": "ACTIVE", "registeredContainerInstancesCount": 0, "runningTasksCount": 0, "pendingTasksCount": 0, "activeServicesCount": 0, "statistics": [], "tags": [], "settings": [], "capacityProviders": [], "defaultCapacityProviderStrategy": [] }, "clusterCount": 5 }
AWS CloudFormation

Im Folgenden finden Sie eine Beispielvorlage für die Erstellung eines Clusters und die Konfiguration Ihres kurzlebigen Fargate-Speichers mithilfe von AWS CloudFormation (ersetzen Sie die red Werte durch Ihre eigenen):

AWSTemplateFormatVersion: 2010-09-09 Resources: MyCluster: Type: AWS::ECS::Cluster Properties: ClusterName: "clusterName" Configuration: ManagedStorageConfiguration: FargateEphemeralStorageKmsKeyId: "arn:aws:kms:us-west-2:012345678901:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"