Bagaimana Amazon Elastic Transcoder menggunakan AWS KMS - AWS Key Management Service

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

Bagaimana Amazon Elastic Transcoder menggunakan AWS KMS

Anda dapat menggunakan Amazon Elastic Transcoder untuk mengonversi file media yang Anda simpan di bucket Amazon S3 ke format yang dibutuhkan oleh perangkat pemutaran konsumen. Kedua file input dan output dapat dienkripsi dan didekripsi. Bagian berikut membahas bagaimana cara AWS KMS digunakan untuk kedua proses.

Mengenkripsi file input

Sebelum Anda dapat menggunakan Elastic Transcoder, Anda harus membuat bucket Amazon S3 dan mengunggah file media Anda ke dalamnya. Anda dapat mengenkripsi file sebelum mengunggah dengan menggunakan enkripsi sisi klien AES atau setelah mengunggah dengan menggunakan enkripsi sisi server Amazon S3.

Jika Anda memilih enkripsi sisi klien menggunakan AES, Anda bertanggung jawab untuk mengenkripsi file sebelum mengunggahnya ke Amazon S3, dan Anda harus memberikan akses Elastic Transcoder ke kunci enkripsi. Anda melakukan ini dengan menggunakan simetris AWS KMSAWS KMS keyuntuk melindungi kunci enkripsi AES yang Anda gunakan untuk mengenkripsi file media.

Jika Anda memilih enkripsi sisi server, Anda mengizinkan Amazon S3 untuk mengenkripsi dan mendekripsi semua file atas nama Anda. Anda dapat mengonfigurasi Amazon S3 untuk menggunakan salah satu dari tiga jenis kunci enkripsi yang berbeda untuk melindungi kunci data unik yang mengenkripsi file Anda:

  • Kunci Amazon S3, kunci enkripsi yang dimiliki dan dikelola Amazon S3. Ini bukan bagian dari Akun AWS Anda.

  • Kunci yang dikelola AWSUntuk Amazon S3, kunci KMS yang merupakan bagian dari akun Anda, tetapi dibuat dan dikelola oleh AWS

  • Setiap kunci terkelola pelanggan simetris yang Anda buat dengan menggunakan AWS KMS

penting

Untuk enkripsi sisi klien dan sisi server, Elastic Transcoder hanya mendukung kunci KMS simetris. Anda tidak dapat menggunakan kunci KMS asimetris untuk mengenkripsi file Elastic Transcoder Anda. Untuk bantuan menentukan apakah kunci KMS simetris atau asimetris, lihat. Mengidentifikasi kunci KMS asimetris

Anda dapat mengaktifkan enkripsi dan menentukan kunci dengan menggunakan konsol Amazon S3 atau API Amazon S3 yang sesuai. Untuk informasi selengkapnya tentang cara Amazon S3 melakukan enkripsi, lihat Melindungi data menggunakan enkripsi sisi server dengan kunci KMS (SSE-KMS) di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Saat Anda melindungi file input dengan menggunakan Kunci yang dikelola AWS untuk Amazon S3 di akun atau kunci yang dikelola pelanggan, Amazon S3 AWS KMS dan berinteraksi dengan cara berikut:

  1. Amazon S3 meminta kunci data plaintext dan salinan kunci data yang dienkripsi di bawah kunci KMS yang ditentukan.

  2. AWS KMSmembuat kunci data, mengenkripsinya dengan kunci KMS yang ditentukan, dan kemudian mengirimkan kunci data teks biasa dan kunci data terenkripsi ke Amazon S3.

  3. Amazon S3 menggunakan kunci data plaintext untuk mengenkripsi file media kemudian menyimpan file dalam bucket Amazon S3 yang ditentukan.

  4. Amazon S3 menyimpan kunci data terenkripsi bersama file media terenkripsi.

Mendekripsi file input

Jika Anda memilih enkripsi sisi server Amazon S3 untuk mengenkripsi file input, Elastic Transcoder tidak mendekripsi file. Sebaliknya, Elastic Transcoder bergantung pada Amazon S3 untuk melakukan dekripsi tergantung pada pengaturan yang Anda tentukan saat membuat tugas dan alur.

Kombinasi pengaturan berikut tersedia.

Mode enkripsi kunci AWS KMS Arti
S3 Default Amazon S3 membuat dan mengelola kunci yang digunakan untuk mengenkripsi dan mendekripsi file media. Prosesnya buram bagi pengguna.
S3-AWS-KMS Default Amazon S3 menggunakan kunci data yang dienkripsi secara default untuk Amazon Kunci yang dikelola AWS S3 di akun Anda untuk mengenkripsi file media.
S3-AWS-KMS Kustom (dengan ARN) Amazon S3 menggunakan kunci data yang dienkripsi oleh kunci terkelola pelanggan yang ditentukan untuk mengenkripsi file media.

Saat S3-AWS-KMS ditentukan, Amazon S3 dan AWS KMS bekerja sama dengan cara berikut untuk melakukan dekripsi.

  1. Amazon S3 mengirimkan kunci data terenkripsi ke AWS KMS.

  2. AWS KMSmendekripsi kunci data dengan menggunakan kunci KMS yang sesuai, dan kemudian mengirimkan kunci data teks biasa kembali ke Amazon S3.

  3. Amazon S3 menggunakan kunci data plaintext untuk mendekripsi ciphertext.

Jika Anda memilih enkripsi sisi klien menggunakan kunci AES, Elastic Transcoder mengambil file terenkripsi dari bucket Amazon S3 dan mendekripsinya. Elastic Transcoder menggunakan kunci KMS yang Anda tentukan saat membuat pipeline untuk mendekripsi kunci AES dan kemudian menggunakan kunci AES untuk mendekripsi file media.

Mengenkripsi file output

Elastic Transcoder mengenkripsi file output tergantung pada bagaimana Anda menentukan pengaturan enkripsi ketika Anda membuat tugas dan pipa. Pilihan berikut tersedia.

Mode enkripsi kunci AWS KMS Arti
S3 Default Amazon S3 membuat dan mengelola kunci yang digunakan untuk mengenkripsi file output.
S3-AWS-KMS Default Amazon S3 menggunakan kunci data yang dibuat oleh AWS KMS dan dienkripsi oleh untuk Amazon Kunci yang dikelola AWS S3 di akun Anda.
S3-AWS-KMS Kustom (dengan ARN) Amazon S3 menggunakan kunci data yang dienkripsi dengan menggunakan kunci terkelola pelanggan yang ditentukan oleh ARN untuk mengenkripsi file media.
AES- Default Elastic Transcoder menggunakan untuk Kunci yang dikelola AWS Amazon S3 di akun Anda untuk mendekripsi kunci AES tertentu yang Anda berikan dan menggunakan kunci tersebut untuk mengenkripsi file output.
AES- Kustom (dengan ARN) Elastic Transcoder menggunakan kunci terkelola pelanggan yang ditentukan oleh ARN untuk mendekripsi kunci AES tertentu yang Anda berikan dan menggunakan kunci tersebut untuk mengenkripsi file output.

Bila Anda menentukan bahwa Kunci yang dikelola AWS untuk Amazon S3 di akun Anda atau kunci yang dikelola pelanggan digunakan untuk mengenkripsi file output, Amazon S3 dan AWS KMS berinteraksi dengan cara berikut:

  1. Amazon S3 meminta kunci data plaintext dan salinan kunci data yang dienkripsi di bawah kunci KMS yang ditentukan.

  2. AWS KMSmembuat kunci data, mengenkripsinya di bawah kunci KMS, dan mengirimkan kunci data teks biasa dan kunci data terenkripsi ke Amazon S3.

  3. Amazon S3 mengenkripsi media menggunkaan kunci data dan menyimpannya dalam bucket Amazon S3 yang ditentukan.

  4. Amazon S3 menyimpan kunci data terenkripsi bersama file media terenkripsi.

Saat Anda menentukan bahwa kunci AES yang Anda berikan digunakan untuk mengenkripsi file output, kunci AES harus dienkripsi menggunakan kunci KMS. AWS KMS Elastic Transcoder, AWS KMS, dan Anda berinteraksi dengan cara berikut:

  1. Anda mengenkripsi kunci AES Anda dengan memanggil operasi Encrypt di API. AWS KMS AWS KMSmengenkripsi kunci dengan menggunakan kunci KMS yang ditentukan. Anda menentukan kunci KMS mana yang akan digunakan saat Anda membuat pipeline.

  2. Anda menentukan file yang berisi kunci AES dienkripsi ketika Anda membuat tugas Elastic Transcoder.

  3. Elastic Transcoder mendekripsi kunci dengan memanggil operasi Dekripsi di API AWS KMS, melewati kunci terenkripsi sebagai ciphertext.

  4. Elastic Transcoder menggunakan kunci AES didekripsi untuk mengenkripsi file media output kemudian menghapus kunci AES didekripsi dari memori. Hanya salinan terenkripsi yang awalnya Anda tetapkan dalam tugas yang disimpan ke disk.

  5. Anda dapat mengunduh file output terenkripsi dan mendekripsinya secara lokal dengan menggunakan kunci AES asli yang Anda tetapkan.

penting

AWS tidak pernah menyimpan kunci enkripsi privat Anda. Oleh karena itu, penting bagi Anda untuk mengelola kunci Anda dengan aman. Jika Anda menghilangkannya, Anda tidak dapat mendekripsi data Anda.

Perlindungan konten HLS

HTTP Live Streaming (HLS) adalah protokol streaming adaptif. Elastic Transcoder mendukung HLS dengan memecah file input Anda menjadi file individual yang lebih kecil yang disebut segmen media. Satu set segmen media individual yang sesuai berisi materi yang sama yang dikodekan pada laju bit yang berbeda, sehingga memungkinkan pemain untuk memilih stream yang paling sesuai dengan bandwidth yang tersedia. Elastic Transcoder juga membuat daftar putar yang berisi metadata untuk berbagai segmen yang tersedia untuk streaming.

Saat Anda mengaktifkan perlindungan konten HLS, setiap segmen media dienkripsi menggunakan kunci enkripsi AES 128-bit. Saat konten dilihat, selama proses pemutaran, pemutar mengunduh kunci dan mendekripsi segmen media.

Dua jenis kunci yang digunakan: kunci KMS dan kunci data. Anda harus membuat kunci KMS untuk digunakan untuk mengenkripsi dan mendekripsi kunci data. Elastic Transcoder menggunakan kunci data untuk mengenkripsi dan mendekripsi segmen media. Kunci data harus AES-128. Semua variasi dan segmen konten yang sama dienkripsi menggunakan kunci data yang sama. Anda dapat memberikan kunci data atau meminta Elastic Transcoder membuatnya untuk Anda.

Kunci KMS dapat digunakan untuk mengenkripsi kunci data pada titik-titik berikut:

  • Jika Anda menyediakan kunci data Anda sendiri, Anda harus mengenkripsi sebelum meneruskannya ke Elastic Transcoder.

  • Jika Anda meminta Elastic Transcoder menghasilkan kunci data, maka Elastic Transcoder mengenkripsi kunci data untuk Anda.

Kunci KMS dapat digunakan untuk mendekripsi kunci data pada titik-titik berikut:

  • Elastic Transcoder mendekripsi kunci data yang Anda disediakan ketika perlu menggunakan kunci data untuk mengenkripsi file output atau mendekripsi file input.

  • Anda mendekripsi kunci data yang dihasilkan oleh Elastic Transcoder dan menggunakannya untuk mendekripsi file output.

Untuk informasi selengkapnya, lihat Perlindungan Konten HLS di Panduan Developer Amazon Elastic Transcoder.

Konteks enkripsi Elastic Transcoder

Konteks enkripsi adalah seperangkat pasangan nilai kunci yang berisi data non-rahasia yang berubah-ubah. Ketika Anda menyertakan konteks enkripsi dalam permintaan untuk mengenkripsi data, AWS KMS secara kriptografi mengikat konteks enkripsi untuk data terenkripsi tersebut. Untuk mendekripsi data, Anda harus lulus dalam konteks enkripsi yang sama.

Elastic Transcoder menggunakan konteks enkripsi yang sama di semua permintaan API AWS KMS untuk menghasilkan kunci data, mengenkripsi, dan mendekripsi.

"service" : "elastictranscoder.amazonaws.com"

Konteks enkripsi ditulis ke CloudTrail log untuk membantu Anda memahami bagaimana kunci AWS KMS KMS yang diberikan digunakan. Di requestParameters bidang file CloudTrail log, konteks enkripsi terlihat mirip dengan yang berikut ini:

"encryptionContext": { "service" : "elastictranscoder.amazonaws.com" }

Untuk informasi lebih lanjut tentang cara mengonfigurasi tugas Elastic Transcoder untuk menggunakan salah satu opsi enkripsi yang didukung, lihat Opsi Enkripsi Data di Panduan Developer Amazon Elastic Transcoder.