Konfigurieren des Buckets für die Verwendung eines S3-Bucket-Schlüssels mit SSE-KMS bei neuen Objekten - Amazon Simple Storage Service

Konfigurieren des Buckets für die Verwendung eines S3-Bucket-Schlüssels mit SSE-KMS bei neuen Objekten

Wenn Sie die serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS)-Schlüsseln (SSE-KMS) konfigurieren, können Sie Ihren Bucket so konfigurieren, dass er einen S3-Bucket-Schlüssel für SSE-KMS bei neuen Objekten verwendet. S3-Bucket-Schlüssel reduzieren den Anforderungsdatenverkehr von Amazon S3 zu AWS KMS und senken die Kosten für SSE-KMS. Weitere Informationen finden Sie unter Reduzieren des Preises von SSE-KMS mit Amazon-S3-Bucket-Schlüsseln.

Sie können die Amazon-S3-Konsole, die REST-API, AWS-SDKs, die AWS Command Line Interface (AWS CLI) oder CloudFormation verwenden, um Ihren Bucket so zu konfigurieren, dass er einen S3-Bucket-Schlüssel für SSE-KMS bei neuen Objekten verwendet. Wenn Sie einen S3-Bucket-Schlüssel für vorhandene Objekte aktivieren oder deaktivieren möchten, können Sie eine CopyObject-Operation verwenden. Weitere Informationen finden Sie unter Konfigurieren eines S3-Bucket-Schlüssels auf Objektebene und Verwenden von Batch Operations zur Aktivierung von S3 Bucket Keys für SSE-KMS.

Wenn ein S3-Bucket-Schlüssel für den Quell- oder Ziel-Bucket aktiviert ist, ist der Verschlüsselungskontext der Bucket-Amazon-Ressourcenname (ARN), nicht der Objekt-ARN, z. B., arn:aws:s3:::bucket_ARN. Sie müssen Ihre IAM-Richtlinien aktualisieren, um den Bucket-ARN für den Verschlüsselungskontext zu verwenden. Weitere Informationen finden Sie unter S3 Bucket-Schlüssel und Replikation.

Die folgenden Beispiele veranschaulichen, wie ein S3-Bucket-Schlüssel mit der Replikation funktioniert. Weitere Informationen finden Sie unter Replizieren verschlüsselter Objekte (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)

Voraussetzungen

Bevor Sie Ihren Bucket für die Verwendung eines S3-Bucket-Schlüssels konfigurieren, lesen Sie Änderungen, die Sie vor dem Aktivieren eines S3-Bucket-Schlüssels beachten sollten.

Themen

    In der S3-Konsole können Sie einen S3-Bucket-Schlüssel für einen neuen oder vorhandenen Bucket aktivieren oder deaktivieren. Objekte in der S3-Konsole übernehmen ihre S3-Bucket-Schlüssel-Einstellung aus der Bucket-Konfiguration. Wenn Sie einen S3-Bucket-Schlüssel für Ihren Bucket aktivieren, verwenden neue Objekte, die Sie in den Bucket hochladen, einen S3-Bucket-Schlüssel für SSE-KMS.

    Hochladen, Kopieren oder Ändern von Objekten in Buckets, für die ein S3-Bucket-Schlüssel aktiviert ist

    Wenn Sie ein Objekt in einen Bucket hochladen oder kopieren, für den ein S3-Bucket-Schlüssel aktiviert ist, oder ein Objekt darin ändern, werden die Einstellung des S3-Bucket-Schlüssels für dieses Objekt möglicherweise aktualisiert, um sie an die Bucket-Konfiguration anzupassen.

    Wenn für ein Objekt bereits ein S3-Bucket-Schlüssel aktiviert ist, ändern sich die S3-Bucket-Schlüssel-Einstellungen für dieses Objekt nicht, wenn Sie das Objekt kopieren oder ändern. Wenn Sie jedoch ein Objekt ändern oder kopieren, für das kein S3-Bucket-Schlüssel aktiviert ist, und der Ziel-Bucket eine S3-Bucket-Schlüssel-Konfiguration hat, übernimmt das Objekt die S3-Bucket-Schlüssel-Einstellungen des Ziel-Buckets. Wenn beispielsweise für den Ziel-Bucket ein S3-Bucket-Schlüssel aktiviert ist, für das Quellobjekt jedoch nicht, wird ein S3-Bucket-Schlüssel für das Objekt aktiviert.

    So aktivieren Sie einen S3-Bucket-Schlüssel beim Erstellen eines neuen Buckets
    1. Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon-S3-Konsole unter https://console.aws.amazon.com/s3/.

    2. Wählen Sie im linken Navigationsbereich Buckets aus.

    3. Wählen Sie Create Bucket (Bucket erstellen) aus.

    4. Geben Sie Ihren Bucket-Namen ein und wählen Sie Ihre aus AWS-Region.

    5. Wählen Sie unter Standardverschlüsselung für Verschlüsselungsschlüsseltyp die Option AWS Key Management Service-Schlüssel (SSE-KMS) aus.

    6. Führen Sie unter AWS KMS-Schlüssel eine der folgenden Aktionen aus, um Ihren KMS-Schlüssel auszuwählen:

      • Wenn Sie aus einer Liste verfügbarer KMS-Schlüssel auswählen möchten, wählen Sie Aus Ihren AWS KMS keys wählen und dann den KMS-Schlüssel in der Liste der verfügbaren Schlüssel aus.

        Sowohl der Von AWS verwalteter Schlüssel (aws/s3) als auch Ihre vom Kunden verwalteten Schlüssel werden in dieser Liste angezeigt. Weitere Informationen über vom Kunden verwaltete Schlüssel finden Sie unter Kundenschlüssel und AWS-Schlüssel im Entwicklerhandbuch zu AWS Key Management Service.

      • Wählen Sie zum Eingeben des KMS-Schlüssel-ARN AWS KMS key-ARN eingeben aus und geben Sie Ihren KMS-Schlüssel-ARN in das angezeigte Feld ein.

      • Wählen Sie zum Erstellen eines neuen vom Kunden verwalteten Schlüssels in der AWS KMS-Konsole Erstellen eines KMS-Schlüssels aus.

        Weitere Informationen zum Erstellen eines AWS KMS key finden Sie unter Creating Keys (Schlüssel erstellen) im AWS Key Management Service-Entwicklerhandbuch.

    7. Wählen Sie unter Bucket Key (Bucket-Schlüssel) die Option Enable (Aktivieren).

    8. Wählen Sie Create Bucket (Bucket erstellen) aus.

      Amazon S3 erstellt Ihren Bucket mit einem aktivierten S3-Bucket-Schlüssel. Neue Objekte, die Sie in den Bucket hochladen, verwenden einen S3-Bucket-Schlüssel. 

      Um einen S3-Bucket-Schlüssel zu deaktivieren, führen Sie die vorherigen Schritte aus und wählen Deaktivieren.

    So aktivieren Sie einen S3-Bucket-Schlüssel für einen vorhandenen Bucket
    1. Öffnen Sie die Amazon-S3-Konsole unter https://console.aws.amazon.com/s3/.

    2. Wählen Sie im linken Navigationsbereich Buckets aus.

    3. Wählen Sie in der Liste Buckets den Bucket, für den Sie einen S3-Bucket-Schlüssel aktivieren möchten.

    4. Wählen Sie die Registerkarte Eigenschaften aus.

    5. Wählen Sie unter Default encryption (Standard-Verschlüsselung) Edit (Bearbeiten) aus.

    6. Wählen Sie unter Standardverschlüsselung für Verschlüsselungsschlüsseltyp die Option AWS Key Management Service-Schlüssel (SSE-KMS) aus.

    7. Führen Sie unter AWS KMS-Schlüssel eine der folgenden Aktionen aus, um Ihren KMS-Schlüssel auszuwählen:

      • Wenn Sie aus einer Liste verfügbarer KMS-Schlüssel auswählen möchten, wählen Sie Aus Ihren AWS KMS keys wählen und dann den KMS-Schlüssel in der Liste der verfügbaren Schlüssel aus.

        Sowohl der Von AWS verwalteter Schlüssel (aws/s3) als auch Ihre vom Kunden verwalteten Schlüssel werden in dieser Liste angezeigt. Weitere Informationen über vom Kunden verwaltete Schlüssel finden Sie unter Kundenschlüssel und AWS-Schlüssel im Entwicklerhandbuch zu AWS Key Management Service.

      • Wählen Sie zum Eingeben des KMS-Schlüssel-ARN AWS KMS key-ARN eingeben aus und geben Sie Ihren KMS-Schlüssel-ARN in das angezeigte Feld ein.

      • Wählen Sie zum Erstellen eines neuen vom Kunden verwalteten Schlüssels in der AWS KMS-Konsole Erstellen eines KMS-Schlüssels aus.

        Weitere Informationen zum Erstellen eines AWS KMS key finden Sie unter Creating Keys (Schlüssel erstellen) im AWS Key Management Service-Entwicklerhandbuch.

    8. Wählen Sie unter Bucket Key (Bucket-Schlüssel) die Option Enable (Aktivieren).

    9. Wählen Sie Save Changes (Änderungen speichern).

      Amazon S3 aktiviert einen S3-Bucket-Schlüssel für neue Objekte, die zu Ihrem Bucket hinzugefügt werden. Bestehende Objekte verwenden den S3-Bucket-Schlüssel nicht. Zum Konfigurieren eines S3-Bucket-Schlüssels für vorhandene Objekte können Sie eine CopyObject-Operation verwenden. Weitere Informationen finden Sie unter Konfigurieren eines S3-Bucket-Schlüssels auf Objektebene.

      Um einen S3-Bucket-Schlüssel zu deaktivieren, führen Sie die vorherigen Schritte aus und wählen Deaktivieren.

    Sie können PutBucketEncryption verwenden, um einen S3-Bucket-Schlüssel für Ihren Bucket zu aktivieren oder zu deaktivieren. Um einen S3-Bucket-Schlüssel mit PutBucketEncryption zu konfigurieren, verwenden Sie den Datentyp ServerSideEncryptionRule, der die Standardverschlüsselung mit SSE-KMS beinhaltet. Sie können optional auch einen vom Kunden verwalteten Schlüssel verwenden, indem Sie die KMS-Schlüssel-ID für den kundenverwalteten Schlüssel angeben. 

    Weitere Informationen und Beispielsyntax finden Sie unter PutBucketEncryption.

    Im folgenden Beispiel wird die Bucket-Standardverschlüsselung mit SSE-KMS und einem S3-Bucket-Schlüssel unter Verwendung des AWS SDK für Java aktiviert.

    Java
    AmazonS3 s3client = AmazonS3ClientBuilder.standard()     .withRegion(Regions.DEFAULT_REGION)     .build();     ServerSideEncryptionByDefault serverSideEncryptionByDefault = new ServerSideEncryptionByDefault()     .withSSEAlgorithm(SSEAlgorithm.KMS); ServerSideEncryptionRule rule = new ServerSideEncryptionRule()     .withApplyServerSideEncryptionByDefault(serverSideEncryptionByDefault)     .withBucketKeyEnabled(true); ServerSideEncryptionConfiguration serverSideEncryptionConfiguration =     new ServerSideEncryptionConfiguration().withRules(Collections.singleton(rule)); SetBucketEncryptionRequest setBucketEncryptionRequest = new SetBucketEncryptionRequest()     .withServerSideEncryptionConfiguration(serverSideEncryptionConfiguration)     .withBucketName(bucketName);              s3client.setBucketEncryption(setBucketEncryptionRequest);

    Im folgenden Beispiel wird die Bucket-Standardverschlüsselung mit SSE-KMS und einem S3-Bucket-Schlüssel unter Verwendung des AWS CLI aktiviert. Ersetzen Sie user input placeholders durch Ihre Informationen.

    aws s3api put-bucket-encryption --bucket amzn-s3-demo-bucket --server-side-encryption-configuration '{         "Rules": [             {                 "ApplyServerSideEncryptionByDefault": {                     "SSEAlgorithm": "aws:kms",                     "KMSMasterKeyID": "KMS-Key-ARN"                 },                 "BucketKeyEnabled": true             }         ]     }'

    Weitere Informationen zum Konfigurieren eines S3-Bucket-Schlüssels mit CloudFormation finden Sie unter AWS::S3::Bucket ServerSideEncryptionRule im Benutzerhandbuch zu AWS CloudFormation.