AWS Key Management Service und Verschlüsselung für AWS CodeCommit Repositorys - AWS CodeCommit

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.

AWS Key Management Service und Verschlüsselung für AWS CodeCommit Repositorys

Daten in CodeCommit Repositorys werden während der Übertragung und im Ruhezustand verschlüsselt. Wenn Daten in ein CodeCommit Repository übertragen werden (z. B. durch Aufruf von git push), CodeCommit verschlüsselt die empfangenen Daten, sobald sie im Repository gespeichert werden. Wenn Daten aus einem CodeCommit Repository abgerufen werden (z. B. durch Aufruf von git pull), CodeCommit entschlüsselt die Daten und sendet sie dann an den Aufrufer. Dies setzt voraus, dass der mit der Push- oder Pull-Anforderung verknüpfte IAM-Benutzer von authentifiziert wurdeAWS. Gesendete oder empfangene Daten werden über die HTTPS- oder SSH-verschlüsselten Netzwerkprotokolle übertragen.

Sie können entweder einen Von AWS verwalteter Schlüssel oder einen vom Kunden verwalteten Schlüssel zum Verschlüsseln und Entschlüsseln der Daten in Ihrem Repository verwenden. Weitere Informationen zu den Unterschieden zwischen vom Kunden verwalteten Schlüsseln und finden Sie unter Vom Kunden Von AWS verwaltete Schlüsselverwaltete Schlüssel und . Von AWS verwaltete Schlüssel Wenn Sie keinen vom Kunden verwalteten Schlüssel angeben, CodeCommit verwendet einen Von AWS verwalteter Schlüssel zum Ver- und Entschlüsseln der Daten in Ihrem Repository. Dies Von AWS verwalteter Schlüssel wird automatisch für Sie in Ihrem erstelltAWS-Konto. Wenn Sie zum ersten Mal ein CodeCommit Repository in einem neuen AWS-Region in Ihrem Amazon-Web-Services-Konto erstellen und keinen vom Kunden verwalteten Schlüssel angeben, CodeCommit erstellt einen Von AWS verwalteter Schlüssel (den aws/codecommit Schlüssel) in derselben AWS-Region in AWS Key Management Service (AWS KMS). Dieser aws/codecommit Schlüssel wird nur von verwendet CodeCommit. Es wird in Ihrem Amazon Web Services-Konto gespeichert. Je nachdem, was Sie angeben, verwendet CodeCommit entweder den vom Kunden verwalteten Schlüssel oder die , Von AWS verwalteter Schlüssel um die Daten im Repository zu ver- und entschlüsseln.

Wichtig

CodeCommit führt die folgenden AWS KMS Aktionen für den AWS KMS Schlüssel aus, der zum Verschlüsseln und Entschlüsseln von Daten in einem Repository verwendet wird. Wenn Sie ein verwendenVon AWS verwalteter Schlüssel, benötigt ein Benutzer keine expliziten Berechtigungen für diese Aktionen, aber er darf keine angefügten Richtlinien haben, die diese Aktionen für den aws/codecommit Schlüssel verweigern. Wenn Sie einen vom Kunden verwalteten Schlüssel verwenden, dessen AWS-Konto ID als Richtlinienprinzipal für diesen Schlüssel festgelegt ist, müssen diese Berechtigungen explizit auf festgelegt werdenallow. Insbesondere wenn Sie Ihr erstes Repository erstellen und Schlüssel für Ihr Repository aktualisieren, dürfen Sie keine der folgenden Berechtigungen auf gesetzt haben, deny wenn Sie einen verwendenVon AWS verwalteter Schlüssel, und muss auf gesetzt sein, allow wenn Sie einen vom Kunden verwalteten Schlüssel mit einem Richtlinienprinzipal verwenden:

  • "kms:Encrypt"

  • "kms:Decrypt"

  • "kms:ReEncrypt" (Je nach Kontext könnte dies erfordernkms:ReEncryptFrom,

    kms:ReEncryptTo, oder kms:ReEncrypt* nicht auf Verweigern gesetzt)

  • "kms:GenerateDataKey"

  • "kms:GenerateDataKeyWithoutPlaintext"

  • "kms:DescribeKey"

Wenn Sie Ihren eigenen kundenverwalteten Schlüssel verwenden möchten, muss der Schlüssel in der verfügbar seinAWS-Region, in der sich das Repository befindet. CodeCommit unterstützt die Verwendung von einzel- und multiregionalen kundenverwalteten Schlüsseln. Obwohl alle Ursprungstypen des Schlüsselmaterials unterstützt werden, empfehlen wir die Verwendung der Standard-KMS-Option. Bei Kunden, die die Option Externer Schlüsselspeicher verwenden, kann es zu Verzögerungen beim Anbieter ihres Geschäfts kommen. Darüber hinaus CodeCommit hat die folgenden Anforderungen für vom Kunden verwaltete Schlüssel:

  • CodeCommit unterstützt nur die Verwendung von symmetrischen Schlüsseln.

  • Der Schlüsselnutzungstyp muss auf Verschlüsseln und Entschlüsseln gesetzt sein.

Weitere Informationen zum Erstellen von kundenverwalteten Schlüsseln finden Sie unter Konzepte und Erstellen von Schlüsseln.

Gehen Sie wie folgt vor CodeCommit, um Informationen über das von Von AWS verwalteter Schlüsselgenerierte anzuzeigen:

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die AWS Key Management Service (AWS KMS)-Konsole unter https://console.aws.amazon.com/kms.

  2. Wenn Sie die AWS-Region ändern möchten, verwenden Sie die Regionsauswahl in der oberen rechten Ecke der Seite.

  3. Wählen Sie im Service-Navigationsbereich Von AWS verwaltete Schlüssel. Stellen Sie sicher, dass Sie bei der angemeldet sindAWS-Region, in der Sie die Schlüssel überprüfen möchten.

  4. Wählen Sie in der Liste der Verschlüsselungsschlüssel die Von AWS verwalteter Schlüssel mit dem Alias aws/codecommit aus. Grundlegende Informationen über die AWS-eigener Schlüssel werden angezeigt.

Sie können diesen nicht ändern oder löschenVon AWS verwalteter Schlüssel.

Wie Verschlüsselungsalgorithmen zum Verschlüsseln von Repository-Daten verwendet werden

CodeCommit verwendet zwei verschiedene Ansätze für die Verschlüsselung von Daten. Einzelne Git-Objekte unter 6 MB werden mit AES-GCM-256 verschlüsselt, was eine Validierung der Datenintegrität ermöglicht. Objekte zwischen 6 MB und den maximalen 2 GB für einen einzelnen Blob werden mit AES-CBC-256 verschlüsselt. validiert CodeCommit immer den Verschlüsselungskontext.

Verschlüsselungskontext

Jeder in AWS KMS integrierte Service gibt einen Verschlüsselungskontext für Ver- und Entschlüsselungsvorgänge an. Der Verschlüsselungskontext enthält zusätzliche authentifizierte Informationen, anhand derer AWS KMS die Datenintegrität überprüft. Wenn dieser für den Verschlüsselungsvorgang angegeben ist, muss er auch für den Entschlüsselungsvorgang angegeben werden. Andernfalls schlägt die Entschlüsselung fehl. CodeCommit verwendet die CodeCommit Repository-ID für den Verschlüsselungskontext. Sie können den get-repository Befehl oder die CodeCommit Konsole verwenden, um die Repository-ID zu finden. Suchen Sie in -AWS CloudTrailProtokollen nach der CodeCommit Repository-ID, um zu verstehen, welche Verschlüsselungsvorgänge für welchen Schlüssel in durchgeführt wurdenAWS KMS, um Daten im CodeCommit Repository zu verschlüsseln oder zu entschlüsseln.

Weitere Informationen über AWS KMS finden Sie im AWS Key Management Service-Entwicklerleitfaden.