Mengaktifkan kunci enkripsi yang dikelola pelanggan

Halaman ini menjelaskan cara mengenkripsi konten yang disimpan di repositori dengan kunci enkripsi yang dikelola pelanggan (CMEK).

Ringkasan

Secara default, Artifact Registry mengenkripsi konten pelanggan dalam penyimpanan. Artifact Registry menangani enkripsi untuk Anda tanpa tindakan tambahan dari Anda. Opsi ini disebut enkripsi default Google.

Jika ingin mengontrol kunci enkripsi, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) di Cloud KMS dengan layanan terintegrasi CMEK, termasuk Artifact Registry. Dengan menggunakan kunci Cloud KMS, Anda dapat mengontrol tingkat perlindungan, lokasi, jadwal rotasi, izin penggunaan dan akses, serta batas kriptografisnya. Dengan menggunakan Cloud KMS, Anda juga dapat melihat log audit dan mengontrol siklus proses kunci. Alih-alih Google yang memiliki dan mengelola kunci enkripsi kunci (KEK) simetris yang melindungi data Anda, Andalah yang mengontrol dan mengelola kunci ini di Cloud KMS.

Setelah Anda menyiapkan resource dengan CMEK, pengalaman mengakses resource Artifact Registry Anda mirip dengan menggunakan enkripsi default Google. Untuk mengetahui informasi selengkapnya tentang opsi enkripsi Anda, lihat Kunci enkripsi yang dikelola pelanggan (CMEK).

CMEK dengan Kunci Otomatis Cloud KMS

Anda dapat membuat CMEK secara manual untuk melindungi resource Artifact Registry atau menggunakan Cloud KMS Autokey. Dengan Autokey, key ring dan kunci dibuat sesuai permintaan sebagai bagian dari pembuatan resource di Artifact Registry. Agen layanan yang menggunakan kunci untuk operasi enkripsi dan dekripsi akan dibuat jika belum ada dan diberi peran Identity and Access Management (IAM) yang diperlukan. Untuk mengetahui informasi selengkapnya, lihat Ringkasan kunci otomatis.

Untuk menyiapkan CMEK secara manual, lihat Membuat kunci dan memberikan izin

Untuk menyiapkan CMEK menggunakan Autokey, lihat Menggunakan Autokey untuk membuat kunci di halaman ini.

Anda menetapkan kunci CMEK saat membuat repositori. Anda tidak dapat mengubah mekanisme enkripsi repositori yang ada. Jika memiliki repositori yang dienkripsi CMEK, Anda tidak dapat mengubah mekanisme enkripsi untuk menggunakan kunci enkripsimilik Google dan dikelola Google atau menetapkan kunci Cloud KMS yang berbeda untuk enkripsi.

Untuk mengetahui informasi selengkapnya tentang CMEK secara umum, termasuk waktu dan alasan mengaktifkannya, lihat ringkasan CMEK.

Membuat kunci dan memberikan izin

Petunjuk berikut menjelaskan cara membuat kunci untuk repositori dan memberikan izin untuk mengenkripsi dan mendekripsi data repositori dengan kunci tersebut. Anda dapat menggunakan kunci yang dibuat langsung di Cloud KMS atau kunci yang dikelola secara eksternal yang Anda sediakan dengan Cloud External Key Manager.

  1. Di project Google Cloud tempat Anda ingin mengelola kunci:

    1. Aktifkan Cloud KMS API.

    2. Buat key ring dan kunci menggunakan salah satu opsi berikut:

      Lokasi kunci Cloud KMS harus cocok dengan lokasi repositori repositori yang akan Anda enkripsi.

  2. Jika Anda belum membuat repositori di project Artifact Registry, akun layanan Artifact Registry tidak akan ada. Untuk membuat akun layanan, jalankan perintah berikut:

    gcloud beta services identity create --service=artifactregistry.googleapis.com --project=PROJECT
    

    Ganti PROJECT dengan ID project tempat Artifact Registry berjalan.

  3. Berikan peran IAM CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) ke akun layanan Artifact Registry. Berikan izin ini pada kunci yang Anda buat.

    Konsol

    1. Buka halaman Kunci kriptografis.

      Buka halaman Cloud KMS

    2. Pilih kunci yang Anda buat.

    3. Berikan akses ke akun layanan Artifact Registry:

      1. Pilih TAMPILKAN PANEL INFO.
      2. Klik TAMBAHKAN ANGGOTA.
      3. Tambahkan akun layanan Artifact Registry. Akun layanannya adalah service-PROJECT-NUMBER@gcp-sa-artifactregistry.iam.gserviceaccount.com, dengan PROJECT-NUMBER adalah nomor project dari Google Cloud project tempat Artifact Registry berjalan.
      4. Di Select a role, pilih Cloud KMS > Cloud KMS CryptoKey Encrypter/Decrypter.
      5. Klik SIMPAN.
    4. Ulangi langkah sebelumnya untuk memberikan akses ke akun yang akan membuat repositori.

    5. Kembali ke halaman Key management dan pilih kunci lagi.

    6. Pilih TAMPILKAN PANEL INFO. Anda akan melihat peran di kolom Peran/Anggota.

    gcloud

    1. Jalankan perintah berikut untuk memberikan akses ke akun layanan Artifact Registry:

      gcloud kms keys add-iam-policy-binding [--project=PROJECT] \
             KEY --location LOCATION --keyring=KEYRING \
             --member serviceAccount:service-PROJECT-NUMBER@gcp-sa-artifactregistry.iam.gserviceaccount.com \
             --role roles/cloudkms.cryptoKeyEncrypterDecrypter
      

      Dari mana

      • PROJECT adalah ID project yang berisi kunci.
      • KEY adalah nama kunci.
      • LOCATION adalah lokasi kunci. Lokasi kunci harus cocok dengan lokasi repositori repositori yang akan Anda enkripsi.
      • KEYRING adalah nama key ring.
      • PROJECT-NUMBER adalah nomor project dari Google Cloud project yang menjalankan Artifact Registry.
    2. Ulangi langkah sebelumnya untuk memberikan akses ke akun yang akan membuat repositori.

    Untuk mengetahui informasi selengkapnya tentang perintah ini, lihat dokumentasi gcloud kms keys add-iam-policy-binding.

Selanjutnya, buat repositori dan tentukan kunci yang akan digunakan untuk enkripsi.

Menggunakan Autokey untuk membuat kunci

Autokey membuat kunci baru di lokasi yang sama dengan repositori.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan guna menggunakan Autokey untuk membuat repositori yang dilindungi, minta administrator untuk memberi Anda peran IAM berikut di folder atau project:

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Membuat kunci

Sebelum membuat kunci dengan Autokey, Anda harus mengaktifkan Autokey Cloud KMS.

  1. Buka halaman Repositories di konsol Google Cloud.

    Buka halaman Repositori

  2. Klik Create Repository.

  3. Isi kolom wajib dan opsional untuk repositori standar, jarak jauh, atau virtual.

  4. Di bagian Enkripsi, pilih Cloud KMS dengan pengelolaan otomatis Autokey.

  5. Klik Buat.

Menghapus akses

Ada beberapa cara untuk menghapus akses ke repositori terenkripsi CMEK:

Sebaiknya cabut izin dari akun layanan Artifact Registry sebelum menonaktifkan atau menghancurkan kunci. Perubahan pada izin konsisten dalam hitungan detik, sehingga Anda dapat mengamati dampak penonaktifan atau penghancuran kunci.

Jika menonaktifkan atau menghancurkan kunci enkripsi untuk repositori, Anda akan kehilangan kemampuan untuk melihat atau mengambil data artefak. Semua data artefak yang disimpan di repositori menjadi tidak dapat diakses, termasuk artefak yang di-build, data biner arbitrer (blob), dan manifes seperti manifes Docker atau file paket npm. Pengguna dengan peran Pembaca Artifact Registry (roles/artifactregistry.reader) atau peran Pelihat (roles/artifactregistry.viewer) masih dapat melihat metadata artefak seperti nama, versi, atau tag artefak.

Pengguna dengan peran Artifact Registry Administrator (roles/artifactregistry.admin) atau peran Pemilik (roles/owner) dapat menghapus repositori.

Kebijakan organisasi CMEK

Artifact Registry mendukung batasan kebijakan organisasi yang dapat mewajibkan perlindungan CMEK.

Kebijakan dapat membatasi Cloud KMS CryptoKey yang dapat digunakan untuk perlindungan CMEK.

  • Jika Artifact Registry API tercantum dalam daftar kebijakan layanan Deny dari batasan constraints/gcp.restrictNonCmekServices, Artifact Registry akan menolak pembuatan repositori baru yang tidak dilindungi CMEK.

  • Saat constraints/gcp.restrictCmekCryptoKeyProjects dikonfigurasi, Artifact Registry akan membuat repositori yang dilindungi CMEK yang dilindungi oleh CryptoKey dari project, folder, atau organisasi yang diizinkan.

Pub/Sub mendukung batasan yang sama. Saat Anda mengaktifkan Artifact Registry API dalam Google Cloud project, Artifact Registry akan mencoba membuat topik Pub/Sub secara otomatis dengan ID topik gcr menggunakan kunci enkripsi milik Google dan dikelola Google . Namun, jika Pub/Sub API ada dalam daftar kebijakan Deny untuk batasan constraints/gcp.restrictNonCmekServices, maka Pub/Sub tidak akan membuat topik. Dalam skenario ini, Anda harus membuat topik gcr dengan enkripsi CMEK. Untuk mengetahui informasi selengkapnya, lihat petunjuk untuk mengenkripsi topik Pub/Sub.

Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi kebijakan organisasi, lihat kebijakan organisasi CMEK.

Apa langkah selanjutnya?