Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Convertir les données du CSE-KMS tableau en SSE-KMS
Si vos flux de travail utilisent CSE-KMS actuellement le chiffrement des données des tables, SSE-KMS passez aux étapes suivantes.
Prérequis
Si vous continuez à écrire des données à l'aide d'un CSE-KMS groupe de travail ou de paramètres côté client, suivez les étapes décrites pour les mettre Migrer de CSE-KMS vers SSE-KMS à jour en. SSE-KMS Cela empêche l'ajout de nouvelles données CSE-KMS chiffrées pendant le processus de migration à partir de tout autre flux de travail susceptible d'écrire dans les tables.
Migrations des données
-
Vérifiez si la propriété
has_encrypted_datade la table est définie surtrue. Cette propriété indique que la table peut contenir des données CSE-KMS cryptées. Cependant, il est important de noter que cette propriété peut être présente même sur des tables dépourvues de données réellement CSE-KMS cryptées. -
Pour chaque objet CSE-KMS chiffré du tableau.
-
Téléchargez l’objet depuis S3 à l’aide du client de chiffrement S3 et déchiffrez-le. Voici un exemple avec le SDK AWS Java V2.
Importations
import software.amazon.awssdk.core.ResponseInputStream; import software.amazon.awssdk.services.s3.model.GetObjectRequest; import software.amazon.awssdk.services.s3.model.GetObjectResponse; import software.amazon.encryption.s3.S3EncryptionClient; import software.amazon.encryption.s3.materials.Keyring; import software.amazon.encryption.s3.materials.KmsDiscoveryKeyring;Code
final Keyring kmsDiscoveryKeyRing = KmsDiscoveryKeyring.builder() .enableLegacyWrappingAlgorithms(true) .build(); final S3EncryptionClient s3EncryptionClient = S3EncryptionClient.builder() .enableLegacyUnauthenticatedModes(true) .keyring(kmsDiscoveryKeyRing) .build(); GetObjectRequest getObjectRequest = GetObjectRequest.builder() .bucket("amzn-s3-demo-bucket") .key("<my-key>") .build(); ResponseInputStream<GetObjectResponse> s3Object = s3EncryptionClient.getObject(getObjectRequest); -
Téléchargez l'objet sur S3 avec le même nom et le même SSE-KMS cryptage. Voici un exemple avec le SDK AWS Java V2.
Importations
import software.amazon.awssdk.core.ResponseInputStream; import software.amazon.awssdk.core.sync.RequestBody; import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.services.s3.model.PutObjectRequest; import software.amazon.awssdk.services.s3.model.ServerSideEncryption;Code
final S3Client s3Client = S3Client.builder() .build(); PutObjectRequest putObjectRequest = PutObjectRequest.builder() .bucket("amzn-s3-demo-bucket") .key("<my-key>") .serverSideEncryption(ServerSideEncryption.AWS_KMS) .ssekmsKeyId("<my-kms-key>") .build(); s3Client.putObject(putObjectRequest, RequestBody.fromBytes(s3Object.readAllBytes()));
-
Opérations post-migration
Après avoir rechiffré avec succès tous les CSE-KMS fichiers de la table, effectuez les étapes suivantes.
-
Supprimez la propriété
has_encrypted_datadu tableau. -
Mettez à jour vos flux de travail pour utiliser un client S3 de base au lieu d'un client de chiffrement S3, puis spécifiez le SSE-KMS chiffrement pour les écritures de données.