Abilitazione della crittografia lato server a livello di oggetto con chiave AWS KMS - SDK Amazon Chime

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

Abilitazione della crittografia lato server a livello di oggetto con chiave AWS KMS

Media Capture Pipeline e Media Concatenation Pipeline possono utilizzare AWS Key Management Service (AWS KMS) chiavi gestite dal cliente per abilitare la crittografia lato server (SSE) per singoli oggetti in un bucket Amazon S3. Per configurarlo, è necessario utilizzare la chiamata API. CreateMediaCapturePipeline Media Concatenation Pipeline utilizzerà i parametri di crittografia lato server della Media Capture Pipeline associata.

Per abilitare SSE per singoli oggetti (SSE a livello di oggetto) utilizzando la chiave gestita dal AWS KMS cliente, è necessario fornire la struttura e durante la chiamata API: SseAwsKeyManagementParams SinkIamRoleArn CreateMediaCapturePipeline

  1. Utilizzate il AwsKmsKeyId parametro nella SseAwsKeyManagementParams struttura per specificare la chiave. AWS KMS È possibile specificare l'ID della chiave utilizzando l'ID, l'ARN o l'alias della chiave.

  2. Utilizza il SinkIamRoleArn parametro per specificare il ruolo IAM per accedere alla AWS KMS chiave e al bucket sink Amazon S3.

  3. Facoltativamente, puoi utilizzare il AwsKmsEncryptionContext parametro nella SseAwsKeyManagementParams struttura per specificare il contesto di crittografia da utilizzare insieme agli AWS KMS elementi chiave per una maggiore sicurezza.

Nota

I SinkIamRoleArn parametri AwsKmsKeyId and sono co-dipendenti. Quando entrambi sono presenti e validi, Media Capture Pipeline assumerà il ruolo e inserirà ogni elemento nel bucket-sink Amazon S3 specificato con la chiave specificata. AWS KMS La chiamata CreateMediaConcatenationPipelineAPI non ha nuovi parametri ma utilizzerà i parametri sopra indicati, se specificato. Se prevedi di concatenare gli artefatti, assicurati che la configurazione delle risorse sia impostata come descritto nella Configurazione sezione seguente e che sia persistente nel tempo.

Configurazione

SinkIamRoleArnDeve avere le stesse autorizzazioni e lo stesso accesso del principale per inserire gli artefatti nel bucket Amazon S3. Per ulteriori informazioni sulle autorizzazioni predefinite previste nel bucket Amazon S3, consulta Creazione di un bucket Amazon S3 per Amazon Chime SDK Media Capture Pipelines. Per abilitare SSE per singoli oggetti, il tuo bucket Amazon S3 deve consentire al ruolo IAM specificato utilizzando SinkIamRoleArn il di eseguire lo stesso set di azioni che ti aspetteresti dall'identità IAM chiamante. Puoi raggiungere questo obiettivo aggiungendo il seguente principio alla tua politica di autorizzazione dei bucket Amazon S3.

... "Principal": { ... "AWS": "arn:aws:iam::<YOUR_ACCOUNT_ID>;:role/<SINK_IAM_ROLE_NAME>" ... }, ...

AwsKmsKeyIdDovrebbero puntare a una chiave che consenta loro di eseguire. SinkIamRoleArn GenerateDataKey Se si intende utilizzare Media Concatenation Pipeline, la AWS KMS chiave dovrebbe consentire anche l'uso dell'azione. Decrypt Guarda l'esempio seguente.

Nota

La risorsa è impostata per utilizzare caratteri jolly“*”, che in questo contesto di politica AWS KMS chiave significa «se stessa».

{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<YOUR_ACCOUNT_ID>:role/<YOUR_CUSTOMER_ROLE_ID>" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }

Il SinkIamRoleArn ruolo deve avere un rapporto di fiducia che consenta al servizio di assumerlo. Guarda l'esempio seguente.

{ "Effect": "Allow", "Principal": { "Service": "mediapipelines.chime.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "<YOUR_ACCOUNT_ID>" }, "ArnLike": { "aws:SourceArn": "arn:aws:chime:*:<YOUR_ACCOUNT_ID>:*" } } }

SinkIamRoleArnDovrebbero avere la seguente politica di autorizzazioni minime per Media Capture Pipeline. Guarda l'esempio seguente.

{ "Effect": "Allow", "Action": "kms:GenerateDataKey", "Resource": "arn:aws:kms:<KMS_KEY_REGION>:<KMS_KEY_ACCOUNT_ID>:key/<MS_KEY_ID>", "Condition": { "StringEquals": { "aws:SourceAccount": "<YOUR_ACCOUNT_ID>" }, "ArnLike": { "aws:SourceArn": "arn:aws:chime:*:<YOUR_ACCOUNT_ID>:*" } } }, { "Effect": "Allow", "Action": ["s3:PutObject", "s3:PutObjectAcl"], "Resource": "arn:aws:s3:::<YOUR_DEDICATED_KMS_BUCKET_ID>/*", "Condition": { "StringEquals": { "aws:SourceAccount": "<YOUR_ACCOUNT_ID>" }, "ArnLike": { "aws:SourceArn": "arn:aws:chime:*:<YOUR_ACCOUNT_ID>:*" } } }

Inoltre, al chiamante deve essere consentito di accedere SinkIamRoleArn al servizio. Nei casi in cui il chiamante non dispone di tale autorizzazione, questa deve essere aggiunta esplicitamente. Guarda l'esempio seguente.

{ "Effect": "Allow", "Action": "iam:PassRole", "Resource": "<SINK_IAM_ROLE_ARN>", "Condition": { "ArnLike": { "iam:AssociatedResourceArn": "arn:aws:chime:*:<YOUR_ACCOUNT_ID>:media-pipeline/*" }, "StringEquals": { "iam:PassedToService": "mediapipelines.chime.amazonaws.com" } } }

Implementazione della concatenazione multimediale

Se prevedi di utilizzare Media Concatenation Pipeline dopo Media Capture, consulta per comprendere le autorizzazioni richieste. Creazione di una pipeline di concatenazione multimediale Amazon Chime SDK Per far funzionare la pipeline con la AWS KMS chiave per l'SSE a livello di oggetto, è necessario espandere SinkIamRoleArn le autorizzazioni (azioni consentite) per la chiave e il bucket AWS KMS Amazon S3. Guarda l'esempio seguente.

... { ... { ... "Action": ["kms:GenerateDataKey","kms:Decrypt"] "Resource": "arn:aws:kms:<KMS_KEY_REGION>:<KMS_KEY_ACCOUNT_ID>:key/<KMS_KEY_ID>", ... } ... { "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:GetObject", "s3:ListBucket"], "Resource": "arn:aws:s3:::<YOUR_DEDICATED_KMS_BUCKET_ID>/*", } ... } ...