Konfigurasikan enkripsi sisi server untuk artefak yang disimpan di Amazon S3 untuk CodePipeline - AWS CodePipeline

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

Konfigurasikan enkripsi sisi server untuk artefak yang disimpan di Amazon S3 untuk CodePipeline

Ada dua cara untuk mengonfigurasi enkripsi sisi server untuk artefak Amazon S3:

  • CodePipeline membuat bucket artefak S3 dan default Kunci yang dikelola AWS saat Anda membuat pipeline menggunakan wizard Create Pipeline. Kunci yang dikelola AWS Ini dienkripsi bersama dengan data objek dan dikelola oleh. AWS

  • Anda dapat membuat dan mengelola kunci yang dikelola pelanggan Anda sendiri.

penting

CodePipeline hanya mendukung tombol KMS simetris. Jangan gunakan kunci KMS asimetris untuk mengenkripsi data di bucket S3 Anda.

Jika Anda menggunakan tombol S3 default, Anda tidak dapat mengubah atau menghapus ini Kunci yang dikelola AWS. Jika Anda menggunakan kunci yang dikelola pelanggan AWS KMS untuk mengenkripsi atau mendekripsi artefak di bucket S3, Anda dapat mengubah atau memutar kunci yang dikelola pelanggan ini seperlunya.

Amazon S3 mendukung kebijakan bucket yang dapat Anda gunakan jika Anda memerlukan enkripsi sisi server untuk semua objek yang disimpan di bucket. Misalnya, kebijakan bucket berikut menolak izin mengunggah objek (s3:PutObject) kepada semua orang jika permintaan tidak mencakup header x-amz-server-side-encryption yang meminta enkripsi sisi server dengan SSE-KMS.

{ "Version": "2012-10-17", "Id": "SSEAndSSLPolicy", "Statement": [ { "Sid": "DenyUnEncryptedObjectUploads", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::codepipeline-us-west-2-89050EXAMPLE/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption": "aws:kms" } } }, { "Sid": "DenyInsecureConnections", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::codepipeline-us-west-2-89050EXAMPLE/*", "Condition": { "Bool": { "aws:SecureTransport": "false" } } } ] }

Untuk informasi selengkapnya tentang enkripsi sisi server dan AWS KMS, lihat Melindungi Data Menggunakan Enkripsi Sisi Server dan Melindungi data menggunakan enkripsi sisi server dengan kunci KMS yang disimpan di (SSE-KMS). AWS Key Management Service

Untuk informasi selengkapnya AWS KMS, lihat Panduan AWS Key Management Service Pengembang.

Lihat Anda Kunci yang dikelola AWS

Saat Anda menggunakan wizard Create Pipeline untuk membuat pipeline pertama, bucket S3 akan dibuat untuk Anda di Wilayah yang sama dengan pipeline yang Anda buat. Ember digunakan untuk menyimpan artefak pipa. Saat pipa berjalan, artefak dimasukkan ke dalam dan diambil dari ember S3. Secara default, CodePipeline menggunakan enkripsi sisi server dengan AWS KMS menggunakan untuk Amazon Kunci yang dikelola AWS S3 (kuncinya). aws/s3 Kunci yang dikelola AWS Ini dibuat dan disimpan di AWS akun Anda. Saat artefak diambil dari bucket S3, CodePipeline gunakan proses SSE-KMS yang sama untuk mendekripsi artefak.

Untuk melihat informasi tentang Kunci yang dikelola AWS
  1. Masuk ke AWS Management Console dan buka AWS KMS konsol.

  2. Jika halaman selamat datang muncul, pilih Mulai sekarang.

  3. Di panel navigasi layanan, pilih tombol AWS terkelola.

  4. Pilih Wilayah untuk pipeline Anda. Misalnya, jika pipa dibuat dius-east-2, pastikan filter disetel ke US East (Ohio).

    Untuk informasi selengkapnya tentang Wilayah dan titik akhir yang tersedia CodePipeline, lihat AWS CodePipeline titik akhir dan kuota.

  5. Dalam daftar, pilih kunci dengan alias yang digunakan untuk pipeline Anda (secara default, aws/s3). Informasi dasar tentang kunci ditampilkan.

Konfigurasikan enkripsi sisi server untuk bucket S3 menggunakan atau AWS CloudFormationAWS CLI

Bila Anda menggunakan AWS CloudFormation atau AWS CLI untuk membuat pipeline, Anda harus mengkonfigurasi enkripsi sisi server secara manual. Gunakan kebijakan bucket contoh di atas, lalu buat kunci terkelola pelanggan sendiri. Anda juga dapat menggunakan kunci Anda sendiri alih-alih tombol Kunci yang dikelola AWS. Beberapa alasan untuk memilih kunci Anda sendiri meliputi:

  • Anda ingin memutar kunci pada jadwal untuk memenuhi persyaratan bisnis atau keamanan untuk organisasi Anda.

  • Anda ingin membuat pipeline yang menggunakan sumber daya yang terkait dengan AWS akun lain. Ini membutuhkan penggunaan kunci yang dikelola pelanggan. Untuk informasi selengkapnya, lihat Buat pipeline CodePipeline yang menggunakan sumber daya dari AWS akun lain.

Praktik terbaik kriptografi mencegah penggunaan ulang kunci enkripsi secara ekstensif. Sebagai praktik terbaik, putar kunci Anda secara teratur. Untuk membuat materi kriptografi baru untuk AWS KMS kunci Anda, Anda dapat membuat kunci yang dikelola pelanggan, dan kemudian mengubah aplikasi atau alias Anda untuk menggunakan kunci yang dikelola pelanggan baru. Atau, Anda dapat mengaktifkan rotasi kunci otomatis untuk kunci terkelola pelanggan yang ada.

Untuk memutar kunci terkelola pelanggan Anda, lihat Memutar kunci.

penting

CodePipeline hanya mendukung tombol KMS simetris. Jangan gunakan kunci KMS asimetris untuk mengenkripsi data di bucket S3 Anda.