Wie kann ich einen bestimmten Ordner in meinem Amazon S3-Bucket mit AWS KMS verschlüsseln?

Lesedauer: 3 Minute
0

Ich möchte einen bestimmten Ordner in meinem Amazon Simple Storage Service (Amazon S3)-Bucket mit einem AWS Key Management Service (AWS KMS)-Schlüssel verschlüsseln.

Behebung

Verwenden der Amazon S3-Konsole

  1. Öffnen Sie die Amazon S3-Konsole.
  2. Navigieren Sie zu dem Ordner, den Sie verschlüsseln möchten.
    Warnung: Wenn Ihr Ordner eine große Anzahl von Objekten enthält, tritt möglicherweise ein Drosselungsfehler auf. Um Drosselungsfehler zu vermeiden, erhöhen Sie Ihre Amazon S3-Anfragelimits für Ihren Amazon S3-Bucket. Weitere Tipps zur Behebung von Drosselungsfehlern finden Sie unter Warum erhalte ich einen ThrottlingExceptions-Fehler, wenn ich Anfragen an AWS KMS stelle?
  3. Wählen Sie den Ordner aus und wählen Sie dann Aktionen.
  4. Wählen Sie Serverseitige Verschlüsselung bearbeiten.
  5. Wählen Sie unter Serverseitige Verschlüsselung aktivieren die Option Aktivieren aus.
  6. Wählen Sie den Verschlüsselungsschlüsseltyp für Ihren AWS Key Management Service-Schlüssel (SSE-KMS).
  7. Wählen Sie den AWS-KMS-Schlüssel aus, den Sie für die Ordnerverschlüsselung verwenden möchten.
    Hinweis: Der Schlüssel mit dem Namen aws/s3 ist ein Standardschlüssel, den AWS KMS verwaltet. Sie können den Ordner entweder mit dem Standardschlüssel oder einem benutzerdefinierten Schlüssel verschlüsseln.
  8. Wählen Sie Änderungen speichern.

Verwenden der AWS-CLI

Sie können die Verschlüsselung eines vorhandenen Ordners nicht mithilfe eines AWS Command Line Interface (AWS CLI)-Befehls ändern. Stattdessen können Sie einen Befehl ausführen, der den Ordner über sich selbst kopiert, wobei die AWS KMS-Verschlüsselung aktiviert ist.

Hinweis: Wenn beim Ausführen von AWS-CLI-Befehlen Fehler auftreten, stellen Sie sicher, dass Sie die neueste Version von AWS CLI verwenden.

Führen Sie den folgenden Befehl aus, um die Dateien mit dem standardmäßigen AWS-KMS-Schlüssel (aws/s3) zu verschlüsseln:

aws s3 cp s3://awsexamplebucket/abc s3://awsexamplebucket/abc --recursive --sse aws:kms

Diese Befehlssyntax kopiert den Ordner mit AWS KMS-Verschlüsselung über sich selbst.

Führen Sie den folgenden Befehl aus, um die Dateien mit einem benutzerdefinierten AWS-KMS-Schlüssel zu verschlüsseln:

aws s3 cp s3://awsexamplebucket/abc s3://awsexamplebucket/abc --recursive --sse aws:kms --sse-kms-key-id a1b2c3d4-e5f6-7890-g1h2-123456789abc

Hinweis: Ersetzen Sie --sse-kms-key-id durch Ihre eigene Schlüssel-ID.

Anfordern, dass zukünftige Uploads Objekte mit AWS KMS verschlüsseln

Nachdem Sie die Verschlüsselungseinstellung geändert haben, werden nur die Objekte verschlüsselt, die sich bereits im Ordner befinden. Sie können Objekte nach dieser Änderung ohne Verschlüsselung hochladen. Um zu verlangen, dass zukünftige Uploads Objekte mit AWS KMS verschlüsseln, verwenden Sie eine Bucket-Richtlinie wie im folgenden Beispiel:

{
  "Version": "2012-10-17",
  "Id": "PutObjPolicy",
  "Statement": [
    {
      "Sid": "DenyIncorrectEncryptionHeader",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::awsexamplebucket/awsexamplefolder/*",
      "Condition": {
        "StringNotEquals": {
          "s3:x-amz-server-side-encryption": "aws:kms"
        }
      }
    },
    {
      "Sid": "DenyUnEncryptedObjectUploads",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::awsexamplebucket/awsexamplefolder/*",
      "Condition": {
        "Null": {
          "s3:x-amz-server-side-encryption": true
        }
      }
    }
  ]
}

Diese Bucket-Richtlinie verweigert den Zugriff auf s3:PutObject auf docexamplebucket/docexamplefolder/*, es sei denn, die Anfrage beinhaltet eine serverseitige Verschlüsselung mit AWS KMS.

Ähnliche Informationen

Serverseitigen Verschlüsselung mit AWS-KMS-Schlüsseln (SSE-KMS) verwenden

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 7 Monaten