View a markdown version of this page

Mengaktifkan enkripsi sisi server tingkat objek dengan AWS KMS kunci - Amazon Chime SDK

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengaktifkan enkripsi sisi server tingkat objek dengan AWS KMS kunci

Media Capture Pipeline dan Media Concatenation Pipeline dapat menggunakan AWS Key Management Service (AWS KMS) kunci yang dikelola pelanggan untuk mengaktifkan enkripsi sisi server (SSE) untuk objek individual dalam bucket Amazon S3. Untuk mengonfigurasi ini, Anda harus menggunakan panggilan CreateMediaCapturePipeline API. Media Concatenation Pipeline akan menggunakan parameter enkripsi sisi server dari Media Capture Pipeline terkait.

Untuk mengaktifkan SSE untuk objek individual (SSE tingkat objek) menggunakan kunci AWS KMS yang dikelola pelanggan Anda, Anda harus menyediakan SseAwsKeyManagementParams struktur dan SinkIamRoleArn selama panggilan CreateMediaCapturePipeline API:

  1. Gunakan AwsKmsKeyId parameter dalam SseAwsKeyManagementParams struktur untuk menentukan AWS KMS kunci. Anda dapat menentukan ID kunci menggunakan ID kunci, ARN, atau alias.

  2. Gunakan SinkIamRoleArn parameter untuk menentukan peran IAM untuk mengakses AWS KMS kunci dan bucket Amazon S3 wastafel.

  3. Secara opsional, Anda dapat menggunakan AwsKmsEncryptionContext parameter dalam SseAwsKeyManagementParams struktur untuk menentukan konteks enkripsi yang akan digunakan bersama dengan artefak AWS KMS kunci untuk keamanan yang ditingkatkan.

catatan

SinkIamRoleArnParam AwsKmsKeyId eter dan saling bergantung. Jika keduanya hadir dan valid, Media Capture Pipeline akan mengambil peran dan menempatkan setiap artefak ke dalam bucket-sink Amazon S3 yang ditentukan dengan kunci yang ditentukan. AWS KMS Pang CreateMediaConcatenationPipeline gilan API tidak memiliki parameter baru tetapi akan menggunakan parameter yang disebutkan di atas jika ditentukan. Jika Anda berencana menggabungkan artefak, pastikan konfigurasi sumber daya Anda diatur seperti yang dijelaskan di Konfigurasi bagian berikut, dan persisten dari waktu ke waktu.

Konfigurasi

SinkIamRoleArnHarus memiliki izin dan akses yang sama dengan prinsipal untuk memasukkan artefak ke dalam bucket Amazon S3. Untuk informasi selengkapnya tentang izin default yang diharapkan di bucket Amazon S3, lihat Membuat bucket Amazon S3 untuk Amazon Chime SDK Media Capture Pipelines. Untuk mengaktifkan SSE untuk objek individual, bucket Amazon S3 Anda harus mengizinkan peran IAM yang ditentukan menggunakan SinkIamRoleArn untuk melakukan serangkaian tindakan yang sama yang Anda harapkan dari identitas IAM yang dipanggil. Anda dapat mencapai ini dengan menambahkan prinsip berikut ke kebijakan izin bucket Amazon S3 Anda.

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

Se AwsKmsKeyId harusnya menunjuk ke kunci yang memungkinkan SinkIamRoleArn untuk melakukanGenerateDataKey. Jika Media Concatenation Pipeline akan digunakan, AWS KMS kunci juga harus mengizinkan penggunaan tindakan. Decrypt Lihat contoh berikut ini.

catatan

Sumber daya diatur untuk menggunakan wildcard“*”, yang dalam konteks kebijakan AWS KMS kunci ini menandakan “dirinya sendiri”.

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

SinkIamRoleArnPeran harus memiliki hubungan kepercayaan yang memungkinkan layanan untuk memikulnya. Lihat contoh berikut ini.

{ "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>:*" } } }

SinkIamRoleArnHarus memiliki kebijakan izin minimum berikut untuk Media Capture Pipeline. Lihat contoh berikut ini.

{ "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>:*" } } }

Selain itu, penelepon harus diizinkan untuk beralih SinkIamRoleArn ke layanan. Dalam kasus ketika penelepon tidak memiliki izin tersebut, itu harus ditambahkan secara eksplisit. Lihat contoh berikut ini.

{ "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" } } }

Implementasi penggabungan media

Jika Anda berencana menggunakan Media Concatenation Pipeline setelah Media Capture, lihat Membangun saluran penggabungan media Amazon Chime SDK untuk memahami izin yang diperlukan. Untuk membuat pipeline bekerja dengan AWS KMS kunci untuk SSE tingkat objek, SinkIamRoleArn izin (tindakan yang diizinkan) harus diperluas untuk AWS KMS kunci dan bucket Amazon S3. Lihat contoh berikut ini.

... { ... { ... "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>/*", } ... } ...