Datenverkehr von Amazon ECS Service Connect verschlüsseln - 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.

Datenverkehr von Amazon ECS Service Connect verschlüsseln

Amazon ECS Service Connect unterstützt die automatische Verschlüsselung des Datenverkehrs mit Transport Layer Security (TLS)-Zertifikaten für Amazon ECS-Services. Wenn Sie Ihre Amazon-ECS-Services auf ein AWS Private Certificate Authority (AWS Private CA) verweisen, stellt Amazon ECS automatisch TLS-Zertifikate zur Verschlüsselung des Datenverkehrs zwischen Ihren Services von Amazon ECS Service Connect bereit. Amazon ECS generiert, rotiert und verteilt TLS-Zertifikate, die für die Verschlüsselung des Datenverkehrs verwendet werden.

Die automatische Datenverkehrsverschlüsselung mit Service Connect nutzt branchenführende Verschlüsselungsfunktionen, um Ihre serviceübergreifende Kommunikation zu sichern, sodass Sie Ihre Sicherheitsanforderungen erfüllen können. Es unterstützt AWS Private Certificate Authority TLS-Zertifikate mit 256-bit ECDSA und 2048-bit RSA Verschlüsselung. Sie haben auch die volle Kontrolle über private Zertifikate und Signaturschlüssel, um die Compliance-Anforderungen zu erfüllen. Standardmäßig wird TLS 1.3 unterstützt, TLS 1.0 bis 1.2 werden jedoch nicht unterstützt. Service Connect unterstützt TLS 1.3 mit den folgenden Chiffren:

  • TLS_AES_128_GCM_SHA256

  • TLS_AES_256_GCM_SHA384

  • TLS_CHACHA20_POLY1305_SHA256

Anmerkung

Um TLS 1.3 verwenden zu können, müssen Sie es auf dem Listener auf dem Ziel aktivieren.

Nur eingehender und ausgehender Datenverkehr, der den Amazon-ECS-Agenten passiert, wird verschlüsselt.

Zustandsprüfungen für Service Connect und Application Load Balancer

Sie können Service Connect mit Application-Load-Balancer-Zustandsprüfungen und TLS-1.3-Verschlüsselung verwenden.

Application-Load-Balancer-Konfiguration

Konfigurieren Sie den Application Load Balancer mit den folgenden Einstellungen:

  • Konfigurieren Sie einen TLS-Listener mit einer TLS 1.3-Sicherheitsrichtlinie (z. B. `ELBSecurityPolicy- TLS13 -1-2-2021-06`). Weitere Informationen finden Sie unter Sicherheitsrichtlinien für Ihren Application Load Balancer.

  • Erstellen Sie eine Zielgruppe mit folgenden Einstellungen:

    • Stellen Sie das Protokoll auf HTTPS ein.

    • Hängen Sie die Zielgruppe an den TLS-Listener an.

    • Konfigurieren Sie den Zustandsprüfungs-Port so, dass er dem Container-Port Ihres Service-Connect-Services entspricht

Service-Connect-Konfiguration

Konfigurieren Sie einen Service mit den folgenden Einstellungen.

  • Konfigurieren Sie den Service so, dass er den awsvpc-Netzwerkmodus verwendet, da der bridge-Netzwerkmodus nicht unterstützt wird.

  • Aktivieren Sie Service Connect für den Service.

  • Richten Sie die Load-Balancer-Konfiguration mit den folgenden Einstellungen ein:

    • Geben Sie die Zielgruppe an, die Sie für Ihren Application Load Balancer konfiguriert haben

    • Stellen Sie den Container-Port so ein, dass er dem Container-Port des TLS-Services von Service Connect entspricht

  • Vermeiden Sie es, ingressPortOverride für den Service einzustellen. Weitere Informationen finden Sie ServiceConnectServicein der Amazon Elastic Container Service API-Referenz.

Überlegungen

Beachten Sie bei der Verwendung von Application Load Balancer, TLS und Service Connect Folgendes:

  • Verwenden Sie den awsvpc-Netzwerkmodus anstelle des bridge-Netzwerkmodus für HTTPS-Zustandsprüfungen, wenn Sie Service Connect mit TLS-Verschlüsselung verwenden. HTTP-Zustandsprüfungen funktionieren weiterhin im bridge-Modus.

  • Konfigurieren Sie den Port für die Zustandsprüfung der Zielgruppe so, dass er dem Container-Port des Service-Connect-Services entspricht, nicht dem Standard-HTTPS-Port (443).

AWS Private Certificate Authority Zertifikate und Service Connect

Sie benötigen die IAM-Rolle für die Infrastruktur. Weitere Informationen zu dieser Rolle finden Sie unter Infrastruktur-IAM-Rolle für Amazon ECS.

AWS Private Certificate Authority Modi für Service Connect

AWS Private Certificate Authority kann in zwei Modi ausgeführt werden: allgemein und kurzlebig.

  • Allzweck – Zertifikate, die mit einem beliebigen Ablaufdatum konfiguriert werden können.

  • Kurzlebig – Zertifikate mit einer maximalen Gültigkeitsdauer von sieben Tagen.

Amazon ECS unterstützt zwar beide Modi, wir empfehlen jedoch, kurzlebige Zertifikate zu verwenden. Standardmäßig rotieren Zertifikate alle fünf Tage, und der Betrieb im kurzlebigen Modus bietet erhebliche Kosteneinsparungen im Vergleich zu Allzweck-Zertifikaten.

Service Connect unterstützt den Widerruf von Zertifikaten nicht und nutzt stattdessen kurzlebige Zertifikate mit häufiger Zertifikatsrotation. Sie haben die Befugnis, die Rotationsfrequenz zu ändern und die Geheimnisse mithilfe der verwalteten Rotation im Secrets Manager zu deaktivieren oder zu löschen. Dies kann jedoch die folgenden möglichen Konsequenzen haben.

  • Kürzere Rotationsfrequenz — Eine kürzere Rotationsfrequenz verursacht höhere Kosten AWS Private CA, da Secrets Manager AWS KMS und Amazon EC2 Auto Scaling eine erhöhte Arbeitslast für die Rotation haben.

  • Längere Rotationsfrequenz – Die Kommunikation Ihrer Anwendungen schlägt fehl, wenn die Rotationsfrequenz sieben Tage überschreitet.

  • Löschung des Geheimnisses – Das Löschen des Geheimnisses führt zu einem Fehler bei der Rotation und beeinträchtigt die Kommunikation mit den Kundenanwendungen.

Falls Ihre Geheimnisrotation fehlschlägt, wird ein RotationFailed-Ereignis in AWS CloudTrail veröffentlicht. Sie können auch einen CloudWatchAlarm für RotationFailed einrichten.

Wichtig

Fügen Sie keine Replikatregionen zu Geheimnissen hinzu. Dadurch wird verhindert, dass Amazon ECS das Geheimnis löscht, da Amazon ECS nicht berechtigt ist, Regionen aus der Replikation zu entfernen. Wenn Sie die Replikation bereits hinzugefügt haben, führen Sie den folgenden Befehl aus.

aws secretsmanager remove-regions-from-replication \ --secret-id SecretId \ --remove-replica-regions region-name
Untergeordnete Zertifizierungsstellen

Sie können alle AWS Private CA, ob Stamm- oder untergeordnetes System, zu Service Connect TLS hinzufügen, um Endentitätszertifikate für die Dienste auszustellen. Der angegebene Emittent wird überall als Unterzeichner und Vertrauensanker behandelt. Sie können Endentitätszertifikate für verschiedene Teile Ihrer Anwendung von verschiedenen untergeordneten Stellen ausstellen. CAs Wenn Sie den verwenden AWS CLI, geben Sie den Amazon-Ressourcennamen (ARN) der Zertifizierungsstelle an, um die Vertrauenskette einzurichten.

On-Premises-Zertifizierungsstellen

Um Ihre On-Premises-Zertifizierungsstelle zu verwenden, erstellen und konfigurieren Sie eine untergeordnete Zertifizierungsstelle in AWS Private Certificate Authority. Dadurch wird sichergestellt, dass alle TLS-Zertifikate, die für Ihre Amazon-ECS-Workloads ausgestellt wurden, die Vertrauenskette mit den Workloads teilen, die Sie On-Premises ausführen, und dass sie eine sichere Verbindung herstellen können.

Wichtig

Fügen Sie das erforderliche Tag AmazonECSManaged : true zu Ihrem hinzu AWS Private CA.

Infrastructure as Code

Wenn Sie Service Connect TLS mit Infrastructure as Code (IaC)-Tools verwenden, ist es wichtig, dass Sie Ihre Abhängigkeiten korrekt konfigurieren, um Probleme zu vermeiden, z. B. wenn Services in der Entlastung hängen bleiben. Ihr AWS KMS Schlüssel, falls angegeben, Ihre IAM-Rolle und Ihre AWS Private CA Abhängigkeiten sollten nach Ihrem Amazon ECS-Service gelöscht werden.

Wenn der für Service Connect verwendete Namespace ein gemeinsam genutzter Namespace ist, können Sie wählen, ob Sie eine gemeinsam genutzte AWS Private CA Ressource verwenden möchten. Weitere Informationen finden Sie unter Eine Richtlinie für den kontoübergreifenden Zugriff anhängen im Benutzerhandbuch für AWS Private Certificate Authority .

Service Connect und Secrets Manager

Bei Verwendung von Amazon ECS Service Connect mit TLS-Verschlüsselung interagiert der Service auf folgende Weise mit Secrets Manager:

Service Connect verwendet die bereitgestellte Infrastruktur-Rolle, um Geheimnisse in Secrets Manager zu erstellen. Diese Geheimnisse werden verwendet, um die zugehörigen privaten Schlüssel für Ihre TLS-Zertifikate zur Verschlüsselung des Datenverkehrs zwischen Ihren Service-Connect-Services zu speichern.

Warnung

Die automatische Erstellung und Verwaltung dieser Geheimnisse durch Service Connect optimiert den Prozess der Implementierung der TLS-Verschlüsselung für Ihre Services. Es ist jedoch wichtig, sich der möglichen Sicherheitsauswirkungen bewusst zu sein. Andere IAM-Rollen, die Lesezugriff auf Secrets Manager haben, können möglicherweise auf diese automatisch erstellten Geheimnisse zugreifen. Dadurch könnte vertrauliches kryptografisches Material unbefugten Parteien zugänglich gemacht werden, wenn die Zugriffskontrollen nicht ordnungsgemäß konfiguriert sind.

Befolgen Sie die folgenden bewährten Methoden, um dieses Risiko zu minimieren:

  • Verwalten und beschränken Sie den Zugriff auf Secrets Manager sorgfältig, insbesondere für Geheimnisse, die von Service Connect erstellt wurden.

  • Prüfen Sie regelmäßig die IAM-Rollen und ihre Berechtigungen, um sicherzustellen, dass das Prinzip der geringsten Berechtigungen eingehalten wird.

Wenn Sie Secrets Manager Lesezugriff gewähren, sollten Sie erwägen, die von Service Connect erstellten privaten TLS-Schlüssel auszuschließen. Sie können dies tun, indem Sie in Ihren IAM-Richtlinien eine Bedingung verwenden, um Geheimnisse auszuschließen ARNs , die dem Muster entsprechen:

"arn:aws:secretsmanager:::secret:ecs-sc!"

Ein Beispiel für eine IAM-Richtlinie, die die GetSecretValue-Aktion allen Geheimnissen mit dem Präfix ecs-sc! verweigert:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:*:*:secret:ecs-sc!*" } ] }
Anmerkung

Dies ist ein allgemeines Beispiel, das möglicherweise an Ihren spezifischen Anwendungsfall und Ihre AWS Kontokonfiguration angepasst werden muss. Testen Sie Ihre IAM-Richtlinien immer gründlich, um sicherzustellen, dass sie den beabsichtigten Zugriff ermöglichen und gleichzeitig die Sicherheit gewährleisten.

Wenn Sie verstehen, wie Service Connect mit Secrets Manager interagiert, können Sie die Sicherheit Ihrer Amazon-ECS-Services besser verwalten und gleichzeitig die Vorteile der automatischen TLS-Verschlüsselung nutzen.

Service Connect und AWS Key Management Service

Sie können AWS Key Management Servicedamit Ihre Service Connect-Ressourcen ver- und entschlüsseln. AWS KMS ist ein von ihm verwalteter Dienst AWS , mit dem Sie kryptografische Schlüssel zum Schutz Ihrer Daten erstellen und verwalten können.

Bei der Verwendung AWS KMS mit Service Connect können Sie entweder einen AWS eigenen Schlüssel verwenden, der für Sie AWS verwaltet wird, oder Sie können einen vorhandenen AWS KMS Schlüssel wählen. Sie können auch einen neuen AWS KMS Schlüssel zur Verwendung erstellen.

Verwendung Ihrer eigenen Verschlüsselungsschlüssel

Sie können Ihre eigenen Schlüsselmaterialien bereitstellen oder einen externen Schlüsselspeicher verwenden, indem Sie Ihren eigenen Schlüssel AWS Key Management Service importieren in AWS KMS verwenden und dann den Amazon-Ressourcennamen (ARN) dieses Schlüssels in Amazon ECS Service Connect angeben.

Im Folgenden finden Sie ein Beispiel AWS KMS für eine Richtlinie. Ersetzen Sie die user input Werte durch Ihre eigenen.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "id", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/role-name" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey", "kms:GenerateDataKeyPair" ], "Resource": "*" } ] }

Weitere Informationen finden über Schlüsselrichtlinien Sie unter Erstellen einer Schlüsselrichtlinie im Entwicklerhandbuch für AWS Key Management Service .

Anmerkung

Service Connect unterstützt nur symmetrische AWS KMS Verschlüsselungsschlüssel. Sie können keine anderen AWS KMS Schlüsseltypen verwenden, um Ihre Service Connect-Ressourcen zu verschlüsseln. Hilfe bei der Bestimmung, ob es sich bei einem AWS KMS Schlüssel um einen symmetrischen Verschlüsselungsschlüssel handelt, finden Sie unter Identifizieren asymmetrischer KMS-Schlüssel.

Weitere Informationen zu AWS Key Management Service symmetrischen Verschlüsselungsschlüsseln finden Sie unter Symmetrische AWS KMS Verschlüsselungsschlüssel im Entwicklerhandbuch.AWS Key Management Service