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.
Verschlüsselung im Ruhezustand
Wichtig
Dual-layer serverseitige Verschlüsselung mit AWS KMS (DSSE-KMS) ist nur verfügbar in der AWS GovCloud (US) Regionen.
Amazon ECR speichert Images in Amazon-S3-Buckets, die Amazon ECR verwaltet. Standardmäßig verwendet Amazon ECR serverseitige Verschlüsselung mit Amazon S3-managed Verschlüsselungsschlüssel, die Ihre Daten im Ruhezustand mit einem verschlüsseln AES-256 Verschlüsselungsalgorithmus. Dies erfordert kein Handeln Ihrerseits und wird ohne zusätzliche Kosten angeboten. Weitere Informationen finden Sie unter Daten schützen mit Server-Side Verschlüsselung mit Amazon S3-Managed Verschlüsselungsschlüssel (SSE-S3) in der Amazon Simple Storage Service-Benutzerhandbuch.
Für mehr Kontrolle über die Verschlüsselung Ihrer Amazon ECR-Repositorys können Sie die serverseitige Verschlüsselung mit KMS-Schlüsseln verwenden, die in gespeichert sind AWS Key Management Service (AWS KMS). Wenn du benutzt AWS KMS um Ihre Daten zu verschlüsseln, können Sie entweder die Standardeinstellung verwenden Von AWS verwalteter Schlüssel, der von Amazon ECR verwaltet wird, oder geben Sie Ihren eigenen KMS-Schlüssel an (als vom Kunden verwalteter Schlüssel bezeichnet). Weitere Informationen finden Sie unter Daten schützen mit Server-Side Verschlüsselung mit KMS-Schlüsseln, gespeichert in AWS KMS (SSE-KMS) in der Amazon Simple Storage Service-Benutzerhandbuch.
Sie können wählen, ob Sie Ihre Amazon ECR-Bilder mit zweistufiger serverseitiger Verschlüsselung mit zwei Ebenen verschlüsseln möchten AWS KMS (DSSE-KMS). DSSE-KMS Option ist ähnlich wie SSE-KMS, wendet jedoch zwei einzelne Verschlüsselungsebenen anstelle einer Ebene an. Weitere Informationen finden Sie unter Verwendung der dualen serverseitigen Verschlüsselung mit AWS KMS Schlüssel (DSSE-KMS).
Jedes Amazon ECR-Repository hat eine Verschlüsselungskonfiguration, die bei der Erstellung des Repositorys festgelegt wird. Sie können für jedes Repository unterschiedliche Verschlüsselungskonfigurationen verwenden. Weitere Informationen finden Sie unter Erstellen eines privaten Amazon ECR-Repositorys zum Speichern von Bildern.
Wenn ein Repository erstellt wird mit AWS KMS Wenn die Verschlüsselung aktiviert ist, wird ein KMS-Schlüssel verwendet, um den Inhalt des Repositorys zu verschlüsseln. Darüber hinaus fügt Amazon ECR eine hinzu AWS KMS Zuschuss für den KMS-Schlüssel mit dem Amazon ECR-Repository als Auftraggeber des Zuschussempfängers.
Im Folgenden erfahren Sie, wie Amazon ECR mit AWS KMS integriert ist, um Ihre Repositories zu verschlüsseln und zu entschlüsseln:
-
Beim Erstellen eines Repositorys sendet Amazon ECR eine DescribeKey rufen Sie an AWS KMS um den Amazon-Ressourcennamen (ARN) des in der Verschlüsselungskonfiguration angegebenen KMS-Schlüssels zu validieren und abzurufen.
-
Amazon ECR sendet zwei CreateGrant Anfragen an AWS KMS um Zuschüsse für den KMS-Schlüssel zu gewähren, damit Amazon ECR Daten mithilfe des Datenschlüssels verschlüsseln und entschlüsseln kann.
-
Beim Pushen eines Images wird ein GenerateDataKey Die Anfrage wird gestellt an AWS KMS das gibt den KMS-Schlüssel an, der zum Verschlüsseln der Image-Ebene und des Manifests verwendet werden soll.
-
AWS KMS generiert einen neuen Datenschlüssel, verschlüsselt ihn unter dem angegebenen KMS-Schlüssel und sendet den verschlüsselten Datenschlüssel, der zusammen mit den Metadaten der Bildebene und dem Image-Manifest gespeichert wird.
-
Beim Abrufen eines Bilds wird ein Entschlüsseln Die Anfrage wird gestellt an AWS KMS, unter Angabe des verschlüsselten Datenschlüssels.
-
AWS KMS entschlüsselt den verschlüsselten Datenschlüssel und sendet den entschlüsselten Datenschlüssel an Amazon S3.
-
Der Datenschlüssel wird zur Entschlüsselung der Image-Ebene verwendet, bevor die Image-Ebene abgerufen wird.
-
Wenn ein Repository gelöscht wird, sendet Amazon ECR zwei RetireGrant Anfragen an AWS KMS um die für das Repositorium gewährten Zuschüsse zurückzuziehen.
Überlegungen
Die folgenden Punkte sollten bei der Verwendung beachtet werden AWS KMS basierte Verschlüsselung (SSE-KMS oder DSSE-KMS) mit Amazon ECR.
-
Wenn Sie Ihr Amazon ECR-Repository mit KMS-Verschlüsselung erstellen und keinen KMS-Schlüssel angeben, verwendet Amazon ECR einen Von AWS verwalteter Schlüssel mit dem Alias
aws/ecrstandardmäßig. Dieser KMS-Schlüssel wird in Ihrem Konto erstellt, wenn Sie zum ersten Mal ein Repository mit aktivierter KMS-Verschlüsselung erstellen. -
Die Konfiguration der Repository-Verschlüsselung kann nicht geändert werden, nachdem ein Repository erstellt wurde.
-
Wenn Sie die KMS-Verschlüsselung mit Ihrem eigenen KMS-Schlüssel verwenden, muss sich dieser Schlüssel in derselben Region wie Ihr Repository befinden.
-
Die Bewilligungen, die Amazon ECR in Ihrem Namen erstellt, sollten nicht widerrufen werden. Wenn Sie die Genehmigung widerrufen, die Amazon ECR die Genehmigung zur Nutzung von erteilt AWS KMS Wenn Sie die Schlüssel in Ihrem Konto haben, kann Amazon ECR nicht auf diese Daten zugreifen, neue Bilder, die in das Repository übertragen werden, nicht verschlüsseln oder sie entschlüsseln, wenn sie abgerufen werden. Wenn Sie eine Förderung für Amazon ECR widerrufen, tritt die Änderung sofort in Kraft. Um Zugriffsrechte zu widerrufen, sollten Sie das Repository löschen, anstatt die Gewährung zu widerrufen. Wenn ein Repository gelöscht wird, hebt Amazon ECR die Förderungen in Ihrem Namen auf.
-
Mit der Nutzung sind Kosten verbunden AWS KMS Schlüssel. Weitere Informationen finden Sie unter AWS Key Management Service Preise
. -
Die Verwendung der dualen serverseitigen Verschlüsselung ist mit Kosten verbunden. Weitere Informationen finden Sie unter Amazon ECR-Preise
Erforderliche IAM-Berechtigungen
Wenn Sie ein Amazon ECR-Repository mit serverseitiger Verschlüsselung unter Verwendung von AWS KMS erstellen oder löschen, hängen die erforderlichen Berechtigungen von dem spezifischen KMS-Schlüssel ab, den Sie verwenden.
Erforderliche IAM-Berechtigungen bei Verwendung von Von AWS verwalteter Schlüssel für Amazon ECR
Standardmäßig, wann AWS KMS Die Verschlüsselung ist für ein Amazon ECR-Repository aktiviert, aber es ist kein KMS-Schlüssel angegeben, der Von AWS verwalteter Schlüssel für Amazon ECR wird verwendet. Wenn der AWS Der verwaltete KMS-Schlüssel für Amazon ECR wird zum Verschlüsseln eines Repositorys verwendet. Jeder Prinzipal, der die Berechtigung hat, ein Repository zu erstellen, kann dies auch aktivieren AWS KMS Verschlüsselung im Repository. Der IAM-Prinzipal, der das Repository löscht, muss jedoch die kms:RetireGrant-Berechtigung haben. Dies ermöglicht die Tilgung der Zuschüsse, die dem hinzugefügt wurden AWS KMS Schlüssel, als das Repository erstellt wurde.
Die folgende Beispiel-IAM-Richtlinie kann als Inline-Richtlinie zu einem Benutzer hinzugefügt werden, um sicherzustellen, dass er über die Mindestberechtigungen verfügt, die zum Löschen eines Repositorys mit aktivierter Verschlüsselung erforderlich sind. Der KMS-Schlüssel, der zur Verschlüsselung des Repositorys verwendet wird, kann über den Parameter resource angegeben werden.
Erforderliche IAM-Berechtigungen bei Verwendung eines vom Kunden verwalteten Schlüssels
Beim Erstellen eines Repositorys mit AWS KMS Wenn die Verschlüsselung mithilfe eines vom Kunden verwalteten Schlüssels aktiviert wird, sind Berechtigungen sowohl für die KMS-Schlüsselrichtlinie als auch für die IAM-Richtlinie für den Benutzer oder die Rolle erforderlich, der das Repository erstellt.
Bei der Erstellung Ihres eigenen KMS-Schlüssels können Sie entweder die von AWS KMS erstellte Standard-Schlüsselrichtlinie verwenden oder Ihre eigene angeben. Um sicherzustellen, dass der vom Kunden verwaltete Schlüssel vom Kontoinhaber verwaltet werden kann, sollte die Schlüsselrichtlinie für den KMS-Schlüssel alle AWS KMS Aktionen für den Root-Benutzer des Kontos. Die Schlüsselrichtlinie kann um zusätzliche Berechtigungen erweitert werden, doch sollte zumindest der Root-Benutzer die Berechtigung erhalten, den KMS-Schlüssel zu verwalten. Damit der KMS-Schlüssel nur für Anfragen verwendet werden kann, die von Amazon ECR stammen, können Sie den kms:ViaService Bedingungsschlüssel mit dem ecr. Wert.<region>.amazonaws.com
Das folgende Beispiel für eine wichtige Richtlinie gibt AWS Konto (Root-Benutzer), dem der KMS-Schlüssel gehört, vollen Zugriff auf den KMS-Schlüssel. Weitere Informationen zu dieser Beispiel-Schlüsselrichtlinie finden Sie unter Ermöglicht den Zugriff auf AWS Konto und aktiviert IAM-Richtlinien in der AWS Key Management Service Leitfaden für Entwickler.
Der IAM-Benutzer, die IAM-Rolle oder AWS Das Konto, das Ihre Repositorys erstellt, muss über Folgendes verfügen kms:CreateGrant, kms:RetireGrant, und kms:DescribeKey Genehmigung zusätzlich zu den erforderlichen Amazon ECR-Berechtigungen.
Anmerkung
Die kms:RetireGrant-Berechtigung muss der IAM-Richtlinie des Benutzers oder der Rolle hinzugefügt werden, der/die das Repository erstellt. Die Berechtigungen kms:CreateGrant und kms:DescribeKey können entweder der Schlüsselrichtlinie für den KMS-Schlüssel oder der IAM-Richtlinie des Benutzers oder der Rolle, die das Repository erstellt, hinzugefügt werden. Für weitere Informationen darüber, wie AWS KMS Berechtigungen funktionieren, siehe AWS KMS
API-Berechtigungen: Referenz für Aktionen und Ressourcen in der AWS Key Management Service Leitfaden für Entwickler.
Die folgende Beispiel-IAM-Richtlinie kann als Inline-Richtlinie zu einem Benutzer hinzugefügt werden, um sicherzustellen, dass er über die Mindestberechtigungen verfügt, die erforderlich sind, um ein Repository mit aktivierter Verschlüsselung zu erstellen und das Repository zu löschen, wenn er es nicht mehr benötigt. Der zur Verschlüsselung des Repositorys verwendete AWS KMS key -Schlüssel kann mit dem Ressourcen-Parameter angegeben werden.
Erlauben Sie einem Benutzer, KMS-Schlüssel in der Konsole aufzulisten, wenn er ein Repository erstellt
Wenn Sie die Amazon ECR-Konsole zum Erstellen eines Repositorys verwenden, können Sie einem Benutzer die Berechtigung erteilen, die vom Kunden verwalteten KMS-Schlüssel in der Region aufzulisten, wenn Sie die Verschlüsselung für das Repository aktivieren. Das folgende Beispiel für eine IAM-Richtlinie zeigt die Berechtigungen, die für die Auflistung Ihrer KMS-Schlüssel und -Aliase bei Verwendung der Konsole erforderlich sind.
Überwachung der Amazon ECR-Interaktion mit AWS KMS
Sie können verwenden AWS CloudTrail um die Anfragen zu verfolgen, an die Amazon ECR sendet AWS KMS in Ihrem Namen. Die Logeinträge in der CloudTrail Das Protokoll enthält einen Verschlüsselungskontextschlüssel, damit sie leichter identifiziert werden können.
Amazon ECR-Verschlüsselungskontext
Ein Verschlüsselungskontext ist ein Satz von Schlüssel-Wert-Paaren, der beliebige nicht geheime Daten enthält. Wenn Sie einen Verschlüsselungskontext in eine Anfrage zur Datenverschlüsselung einbeziehen, AWS KMS bindet den Verschlüsselungskontext kryptografisch an die verschlüsselten Daten. Zur Entschlüsselung der Daten müssen Sie denselben Verschlüsselungskontext übergeben.
In seiner GenerateDataKey und Entschlüsseln Anfragen an AWS KMS, Amazon ECR verwendet einen Verschlüsselungskontext mit zwei Name-Wert-Paaren, die das verwendete Repository und den Amazon S3-Bucket identifizieren. Dies wird im folgenden Beispiel veranschaulicht. Die Namen variieren nicht, aber die kombinierten Verschlüsselungskontextwerte sind für jeden Wert unterschiedlich.
"encryptionContext": { "aws:s3:arn": "arn:aws:s3:::us-west-2-starport-manifest-bucket/EXAMPLE1-90ab-cdef-fedc-ba987BUCKET1/sha256:a7766145a775d39e53a713c75b6fd6d318740e70327aaa3ed5d09e0ef33fc3df", "aws:ecr:arn": "arn:aws:ecr:us-west-2:111122223333:repository/repository-name" }
Sie können den Verschlüsselungskontext verwenden, um diese kryptografischen Vorgänge in Auditaufzeichnungen und Protokollen zu identifizieren, z. B. AWS CloudTrail und Amazon CloudWatch Protokolle und als Voraussetzung für die Autorisierung in Richtlinien und Zuschüssen.
Der Amazon ECR-Verschlüsselungskontext besteht aus zwei Name-Wert-Paaren.
-
aws:s3:arn - Das erste Name-Wert-Paar identifiziert den Bucket. Der Schlüssel lautet
aws:s3:arn. Der Wert ist der Amazon Resource Name (ARN) des Amazon S3-Buckets."aws:s3:arn": "ARN of an Amazon S3 bucket"Wenn die ARN des Buckets z. B.
arn:aws:s3:::ist, würde der Verschlüsselungskontext das folgende Paar enthalten.us-west-2-starport-manifest-bucket/EXAMPLE1-90ab-cdef-fedc-ba987BUCKET1/sha256:a7766145a775d39e53a713c75b6fd6d318740e70327aaa3ed5d09e0ef33fc3df"arn:aws:s3:::us-west-2-starport-manifest-bucket/EXAMPLE1-90ab-cdef-fedc-ba987BUCKET1/sha256:a7766145a775d39e53a713c75b6fd6d318740e70327aaa3ed5d09e0ef33fc3df" -
aws:ecr:arn – Das zweite Name-Wert-Paar identifiziert den Amazon Resource Name (ARN) des Repositorys. Der Schlüssel lautet
aws:ecr:arn. Der Wert ist der ARN des Repositorys."aws:ecr:arn": "ARN of an Amazon ECR repository"Wenn der ARN des Repository beispielsweise
arn:aws:ecr:lautet, würde der Verschlüsselungskontext das folgende Paar enthalten.us-west-2:111122223333:repository/repository-name"aws:ecr:arn": "arn:aws:ecr:us-west-2:111122223333:repository/repository-name"
Fehlerbehebung
Wenn Sie ein Amazon ECR-Repository mit der Konsole löschen und das Repository erfolgreich gelöscht wurde, Amazon ECR aber nicht in der Lage ist, die zu Ihrem KMS-Schlüssel für Ihr Repository hinzugefügten Grants zurückzuziehen, erhalten Sie die folgende Fehlermeldung.
The repository[{repository-name}]has been deleted successfully but the grants created by the kmsKey[{kms_key}]failed to be retired
In diesem Fall können Sie das deaktivieren AWS KMS Zuschüsse für das Repositorium selbst.
Um in Rente zu gehen AWS KMS Zuschüsse für ein Repositorium manuell
-
Listen Sie die Zuschüsse für die auf AWS KMS für das Repository verwendeter Schlüssel. Der
key-id-Wert ist in der Fehlermeldung enthalten, die Sie von der Konsole erhalten. Sie können auch den verwendenlist-keysBefehl zum Auflisten der beiden Von AWS verwaltete Schlüssel und vom Kunden verwaltete KMS-Schlüssel in einer bestimmten Region in Ihrem Konto.aws kms list-grants \ --key-idb8d9ae76-080c-4043-9237-c815bfc21dfc--regionus-west-2Die Ausgabe enthält einen
EncryptionContextSubsetmit dem Amazon Resource Name (ARN) Ihres Repositorys. Auf diese Weise können Sie feststellen, welche der zum Schlüssel hinzugefügten Förderungen diejenige ist, die Sie aufheben möchten. DerGrantId-Wert wird verwendet, wenn die Förderung im nächsten Schritt aufgehoben wird. -
Kündigen Sie jeden Zuschuss für AWS KMS Schlüssel für das Repository hinzugefügt. Ersetzen Sie den Wert für
GrantIdmit der ID des Zuschusses aus der Ausgabe des vorherigen Schritts.aws kms retire-grant \ --key-idb8d9ae76-080c-4043-9237-c815bfc21dfc\ --grant-idGrantId\ --regionus-west-2