View a markdown version of this page

Requisiti di autorizzazione per la crittografia di S3 Tables SSE-KMS - Amazon Simple Storage Service

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à.

Requisiti di autorizzazione per la crittografia di S3 Tables SSE-KMS

Quando utilizzi la crittografia lato server con AWS Key Management Service (AWS KMS) keys (SSE-KMS) per le tabelle nei bucket di tabelle S3, devi concedere le autorizzazioni per le diverse identità del tuo account. Come minimo, l’identità di accesso e il principale della manutenzione di Tabelle S3 devono avere accesso alla chiave, le altre autorizzazioni richieste dipendono dal caso d’uso.

Autorizzazioni richieste

Per accedere a una tabella crittografata con una chiave KMS, sono necessarie le seguenti autorizzazioni per la chiave:

  • kms:GenerateDataKey

  • kms:Decrypt

Importante

Per utilizzare SSE-KMS sulle tabelle, i requisiti kms:GenerateDataKey e le kms:Decrypt autorizzazioni del servizio di manutenzione di Amazon S3 Tables principal (maintenance.s3tables.amazonaws.com) sulla chiave.

Autorizzazioni aggiuntive

Queste autorizzazioni aggiuntive sono necessarie a seconda del caso d’uso:

  • Autorizzazioni per i servizi di AWS analisi e accesso diretto: se lavori con tabelle SSE-KMS crittografate tramite servizi di AWS analisi o motori di terze parti che accedono direttamente alle tabelle S3, il ruolo IAM che utilizzi necessita dell'autorizzazione per utilizzare la tua chiave KMS.

  • Autorizzazioni con Lake Formation abilitata: se hai optato AWS Lake Formation per il controllo degli accessi, il ruolo del servizio Lake Formation richiede l'autorizzazione per utilizzare la tua chiave KMS.

  • Autorizzazioni per le tabelle di metadati S3: se utilizzi la SSE-KMS crittografia per le tabelle di metadati S3, devi fornire l'accesso principale () del servizio S3 Metadata alla tua chiave KMS. metadata.s3.amazonaws.com Ciò consente a S3 Metadata di aggiornare le tabelle crittografate in modo che riflettano le ultime modifiche apportate ai dati.

Nota

Per le chiavi KMS multi-account, il ruolo IAM richiede sia l’autorizzazione di accesso alla chiave sia l’autorizzazione esplicita nella policy della chiave. Per ulteriori informazioni sulle autorizzazioni tra account per le chiavi KMS, consulta Consentire agli AWS account esterni di utilizzare una chiave KMS nella Service Developer Guide.AWS Key Management Service

Concessione delle autorizzazioni per la chiave KMS al principale del servizio di manutenzione di Tabelle S3

Questa autorizzazione è necessaria per creare tabelle SSE-KMS crittografate e per consentire la manutenzione automatica delle tabelle, ad esempio la compattazione, la gestione delle istantanee e la rimozione di file senza riferimenti sulle tabelle crittografate.

Nota

Ogni volta che effettui una richiesta per creare una tabella SSE-KMS crittografata, S3 Tables verifica che il maintenance.s3tables.amazonaws.com principale abbia accesso alla tua chiave KMS. Per eseguire questo controllo, viene creato temporaneamente un oggetto a zero byte nel bucket di tabelle, che verrà rimosso automaticamente dalle operazioni di manutenzione con la rimozione dei file senza riferimenti. Se la chiave KMS specificata per la crittografia non dispone dell’accesso di manutenzione, l’operazione createTable avrà esito negativo.

Per concedere l'accesso di manutenzione alle tabelle SSE-KMS crittografate, puoi utilizzare la seguente politica chiave di esempio. In questa policy, al principale del servizio maintenance.s3tables.amazonaws.com viene fornita l’autorizzazione a utilizzare una chiave KMS specifica per crittografare e decrittografare le tabelle in un bucket di tabelle specifico. Per utilizzare la politica, sostituiscila user input placeholders con le tue informazioni:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "EnableKeyUsage", "Effect": "Allow", "Principal": { "Service": "maintenance.s3tables.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id", "Condition": { "StringLike": { "kms:EncryptionContext:aws:s3:arn":"<table-or-table-bucket-arn>/*" } } } ] }

Concessione a IAM Principal delle autorizzazioni per l'utilizzo di tabelle crittografate in modalità integrata AWS servizi di analisi

Per utilizzare le tabelle S3 nei servizi di AWS analisi, devi integrare i tuoi table bucket con. AWS Glue Data Catalog Questa integrazione consente ai servizi di AWS analisi di scoprire e accedere automaticamente ai dati delle tabelle. Per ulteriori informazioni sull’integrazione, consulta Integrazione delle tabelle Amazon S3 con AWS servizi di analisi.

Quando lavori con tabelle SSE-KMS crittografate tramite servizi di AWS analisi o motori di terze parti e open source che accedono direttamente alle tabelle S3, il ruolo IAM che utilizzi richiede l'autorizzazione per utilizzare la tua AWS KMS chiave per le operazioni di crittografia.

Puoi concedere l'accesso alle chiavi KMS tramite una policy IAM associata al tuo ruolo o tramite una policy chiave KMS.

IAM policy

Allega questa policy in linea al ruolo IAM che utilizzi per le interrogazioni per consentire l'accesso alla chiave KMS. Sostituisci la chiave KMS ARN con la tua.

{ "Version":"2012-10-17",, "Statement": [ { "Sid": "AllowKMSKeyUsage", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ] }
KMS key policy

In alternativa, allega questa dichiarazione alla tua politica delle chiavi KMS per consentire al ruolo IAM specificato di utilizzare la chiave. Sostituisci il ruolo ARN con il ruolo IAM che usi per le interrogazioni.

{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::<catalog-account-id>:role/<role-name>" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", ], "Resource": "*" }

Concessione ai principali IAM delle autorizzazioni per lavorare con tabelle crittografate quando Lake Formation è abilitato

Se hai optato AWS Lake Formation per il controllo degli accessi sulla tua integrazione con S3 Tables, il ruolo del servizio Lake Formation richiede l'autorizzazione per utilizzare la tua AWS KMS chiave per le operazioni di crittografia. Lake Formation utilizza questo ruolo per vendere credenziali per conto dei responsabili che accedono ai tavoli.

Il seguente esempio di politica delle chiavi KMS concede al ruolo del servizio Lake Formation l'autorizzazione a utilizzare una chiave KMS specifica nel tuo account per le operazioni di crittografia. Sostituisci i valori segnaposto con i tuoi.

{ "Sid": "AllowTableRoleAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/service-role/S3TablesRoleForLakeFormation" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "<kms-key-arn>" }

Concessione delle autorizzazioni per l’utilizzo della chiave KMS al principale del servizio S3 Metadata

Per consentire ad Amazon S3 di aggiornare le tabelle di metadati SSE-KMS crittografate ed eseguire la manutenzione su tali tabelle di metadati, puoi utilizzare la seguente policy chiave di esempio. In questa policy, si consente ai principali del servizio metadata.s3.amazonaws.com e maintenance.s3tables.amazonaws.com di crittografare e decrittografare le tabelle in un bucket di tabelle specifico utilizzando una chiave specifica. Per utilizzare la policy, sostituiscila user input placeholders con le tue informazioni:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "EnableKeyUsage", "Effect": "Allow", "Principal": { "Service": [ "maintenance.s3tables.amazonaws.com", "metadata.s3.amazonaws.com" ] }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringLike": { "kms:EncryptionContext:aws:s3:arn":"<table-or-table-bucket-arn>/*" } } } ] }