Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Convertire i dati della tabella CSE-KMS in SSE-KMS

Modalità Focus
Convertire i dati della tabella CSE-KMS in SSE-KMS - Amazon Athena

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Se i tuoi flussi di lavoro attualmente utilizzano CSE-KMS per la crittografia dei dati delle tabelle, passa a SSE-KMS con i seguenti passaggi.

Prerequisito

Se continui a scrivere dati utilizzando un gruppo di lavoro CSE-KMS o impostazioni lato client, segui i passaggi indicati per aggiornarli a SSE-KMS. Esegui la migrazione da CSE-KMS a SSE-KMS Ciò impedisce l'aggiunta di nuovi dati crittografati CSE-KMS durante il processo di migrazione da qualsiasi altro flusso di lavoro che potrebbe scrivere nelle tabelle.

Migrazione dei dati

  1. Controlla se la proprietà della tabella è impostata su. has_encrypted_data true Questa proprietà specifica che la tabella potrebbe contenere dati crittografati CSE-KMS. Tuttavia, è importante notare che questa proprietà potrebbe essere presente anche su tabelle prive di dati crittografati CSE-KMS effettivi.

    Console
    1. Apri la console Athena all'indirizzo https://console.aws.amazon.com/athena/.

    2. Scegli Launch query editor.

    3. Sul lato sinistro dell'editor, in Database, scegli il database su cui vuoi interrogare.

    4. Nell'editor di query, esegui la seguente query per vedere il valore impostato sulla has_encrypted_data table proprietà.

      SHOW TBLPROPERTIES <table_name>('has_encrypted_data');
    CLI

    Avvia una query Athena che mostra il valore della has_encrypted_data proprietà sulla tabella, come illustrato nell'esempio seguente.

    aws athena start-query-execution \ --query-string "SHOW TBLPROPERTIES <table-name>('has_encrypted_data');" \ --work-group "<my-workgroup>"

    Recupera i risultati della query per verificare il valore della proprietà della has_encrypted_data tabella per la tabella, come mostrato nell'esempio seguente.

    aws athena get-query-results --query-execution-id <query-execution-id-from-previous-step>
    1. Apri la console Athena all'indirizzo https://console.aws.amazon.com/athena/.

    2. Scegli Launch query editor.

    3. Sul lato sinistro dell'editor, in Database, scegli il database su cui vuoi interrogare.

    4. Nell'editor di query, esegui la seguente query per vedere il valore impostato sulla has_encrypted_data table proprietà.

      SHOW TBLPROPERTIES <table_name>('has_encrypted_data');
  2. Per ogni oggetto crittografato CSE-KMS nella tabella.

    1. Scarica l'oggetto da S3 utilizzando il client di crittografia S3 e decriptalo. Ecco un esempio con AWS Java SDK V2.

      Importazioni

      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;

      Codice

      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);
    2. Carica l'oggetto su S3 con lo stesso nome e la crittografia SSE-KMS. Ecco un esempio con AWS Java SDK V2.

      Importazioni

      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;

      Codice

      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()));

Dopo la migrazione

Dopo aver ricrittografato con successo tutti i file CSE-KMS nella tabella, effettuate le seguenti operazioni.

  1. Rimuove la proprietà dalla tabella. has_encrypted_data

    Console
    1. Apri la console Athena all'indirizzo https://console.aws.amazon.com/athena/.

    2. Scegli Launch query editor.

    3. Sul lato sinistro dell'editor, in Database, scegli il database su cui vuoi interrogare.

    4. Nell'editor di query, esegui la seguente query per la tua tabella.

      ALTER TABLE <database-name>.<table-name> UNSET TBLPROPERTIES ('has_encrypted_data')
    CLI

    Esegui il comando seguente per rimuovere la has_encrypted_data proprietà dalla tabella.

    aws athena start-query-execution \ --query-string "ALTER TABLE <database-name>.<table-name> UNSET TBLPROPERTIES ('has_encrypted_data');" \ --work-group "<my-workgroup>"
    1. Apri la console Athena all'indirizzo https://console.aws.amazon.com/athena/.

    2. Scegli Launch query editor.

    3. Sul lato sinistro dell'editor, in Database, scegli il database su cui vuoi interrogare.

    4. Nell'editor di query, esegui la seguente query per la tua tabella.

      ALTER TABLE <database-name>.<table-name> UNSET TBLPROPERTIES ('has_encrypted_data')
  2. Aggiorna i flussi di lavoro per utilizzare un client S3 di base anziché un client di crittografia S3, quindi specifica la crittografia SSE-KMS per le scritture dei dati.

In questa pagina

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.