AWS Key Management Service dan enkripsi untuk repositori AWS CodeCommit - AWS CodeCommit

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

AWS Key Management Service dan enkripsi untuk repositori AWS CodeCommit

Data dalam CodeCommit repositori dienkripsi dalam perjalanan dan saat istirahat. Ketika data didorong ke dalam CodeCommit repositori (misalnya, dengan memanggilgit push), CodeCommit mengenkripsi data yang diterima saat disimpan dalam repositori. Ketika data ditarik dari CodeCommit repositori (misalnya, dengan memanggilgit pull), CodeCommit mendekripsi data dan kemudian mengirimkannya ke pemanggil. Ini mengasumsikan pengguna IAM yang terkait dengan permintaan push atau pull telah dikonfirmasi oleh AWS. Data yang dikirim atau diterima ditransmisikan menggunakan protokol jaringan terenkripsi HTTPS atau SSH.

Anda dapat menggunakan salah satu Kunci yang dikelola AWS atau kunci yang dikelola pelanggan untuk mengenkripsi dan mendekripsi data di repositori Anda. Untuk informasi selengkapnya tentang perbedaan antara kunci yang dikelola pelanggan danKunci yang dikelola AWS, lihat Kunci yang dikelola pelanggan dan Kunci yang dikelola AWS. Jika Anda tidak menentukan kunci yang dikelola pelanggan, CodeCommit akan menggunakan Kunci yang dikelola AWS untuk mengenkripsi dan mendekripsi data di repositori Anda. Kunci yang dikelola AWSIni dibuat secara otomatis untuk Anda diAkun AWS. Pertama kali Anda membuat CodeCommit repositori di akun Amazon Web Services baruWilayah AWS, jika Anda tidak menentukan kunci yang dikelola pelanggan, akan CodeCommit membuat Kunci yang dikelola AWS (aws/codecommitkunci) yang sama Wilayah AWS di AWS Key Management Service (AWS KMS). aws/codecommitKunci ini hanya digunakan oleh CodeCommit. Ini disimpan dalam akun Amazon Web Services Anda. Bergantung pada apa yang Anda tentukan, CodeCommit baik menggunakan kunci yang dikelola pelanggan atau Kunci yang dikelola AWS untuk mengenkripsi dan mendekripsi data dalam repositori.

penting

CodeCommit melakukan AWS KMS tindakan berikut terhadap AWS KMS kunci yang digunakan untuk mengenkripsi dan mendekripsi data dalam repositori. Jika Anda menggunakanKunci yang dikelola AWS, pengguna tidak memerlukan izin eksplisit untuk tindakan ini, tetapi pengguna tidak boleh memiliki kebijakan terlampir yang menolak tindakan ini untuk kunci tersebutaws/codecommit. Jika Anda menggunakan kunci terkelola pelanggan yang memiliki Akun AWS ID yang ditetapkan sebagai prinsip kebijakan untuk kunci tersebut, izin ini harus disetel secara eksplisit. allow Khususnya, ketika Anda membuat repositori pertama Anda, dan jika Anda memperbarui kunci untuk repositori Anda, Anda tidak boleh memiliki izin berikut yang disetel ke deny jika Anda menggunakanKunci yang dikelola AWS, dan harus disetel ke allow jika Anda menggunakan kunci yang dikelola pelanggan dengan prinsip kebijakan:

  • "kms:Encrypt"

  • "kms:Decrypt"

  • "kms:ReEncrypt"(tergantung pada konteksnya, ini bisa membutuhkankms:ReEncryptFrom,

    kms:ReEncryptTo, atau kms:ReEncrypt* tidak diatur untuk menyangkal)

  • "kms:GenerateDataKey"

  • "kms:GenerateDataKeyWithoutPlaintext"

  • "kms:DescribeKey"

Jika Anda ingin menggunakan kunci yang dikelola pelanggan Anda sendiri, kunci harus tersedia di Wilayah AWS tempat repositori ada. CodeCommit mendukung penggunaan kunci terkelola pelanggan tunggal dan Multi-wilayah. Meskipun semua jenis asal material utama didukung, sebaiknya gunakan opsi KMS default. Pelanggan yang menggunakan opsi toko kunci Eksternal mungkin mengalami penundaan dari penyedia toko mereka. Selain itu. CodeCommit memiliki persyaratan berikut untuk kunci yang dikelola pelanggan:

  • CodeCommit hanya mendukung menggunakan tombol simetris.

  • Jenis penggunaan kunci harus diatur ke Enkripsi dan dekripsi.

Untuk informasi selengkapnya tentang membuat kunci terkelola pelanggan, lihat Konsep dan Membuat kunci.

Untuk melihat informasi tentang yang Kunci yang dikelola AWS dihasilkan oleh CodeCommit, lakukan hal berikut:

  1. Masuk ke AWS Management Console dan buka konsol AWS Key Management Service (AWS KMS) di https://console.aws.amazon.com/kms.

  2. Untuk mengubah Wilayah AWS, gunakan pemilih Wilayah di sudut kanan atas halaman.

  3. Di panel navigasi, pilih Kunci yang dikelola AWS. Pastikan Anda masuk ke Wilayah AWS di mana Anda ingin meninjau kunci.

  4. Dalam daftar kunci enkripsi, pilih Kunci yang dikelola AWS dengan alias aws/codecommit. Informasi dasar tentang Kunci milik AWS akan ditampilkan.

Anda tidak dapat mengubah atau menghapus Kunci yang dikelola AWS ini.

Bagaimana algoritma enkripsi digunakan untuk mengenkripsi data repositori

CodeCommit menggunakan dua pendekatan berbeda untuk mengenkripsi data. Objek Git individu di bawah 6 MB dienkripsi menggunakan AES-GCM-256, yang menyediakan validasi integritas data. Objek antara 6 MB dan maksimum 2 GB untuk satu gumpalan dienkripsi menggunakan AES-CBC-256. CodeCommit selalu memvalidasi konteks enkripsi.

Konteks enkripsi

Setiap layanan terintegrasi dengan AWS KMS menentukan konteks enkripsi untuk operasi enkripsi dan dekripsi. Konteks enkripsi tersebut adalah informasi diautentikasi tambahan yang digunakan AWS KMS untuk memeriksa integritas data. Bila ditentukan untuk operasi enkripsi, maka harus juga ditentukan dalam operasi dekripsi. Jika tidak, dekripsi gagal. CodeCommit menggunakan ID CodeCommit repositori untuk konteks enkripsi. Anda dapat menggunakan get-repository perintah atau CodeCommit konsol untuk menemukan ID repositori. Cari ID CodeCommit repositori di AWS CloudTrail log untuk memahami operasi enkripsi mana yang diambil untuk mengenkripsi atau AWS KMS mendekripsi data dalam repositori. CodeCommit

Untuk informasi lebih lanjut tentang AWS KMS, lihat AWS Key Management ServicePanduan Developer .