全部产品
Search
文档中心

Container Registry:Tandatangani citra kontainer

更新时间:Sep 10, 2025

Untuk mencegah serangan man-in-the-middle (MITM) dan pembaruan serta pengoperasian citra yang tidak valid, Container Registry secara otomatis menandatangani citra dalam namespace tertentu. Setelah citra didorong ke Container Registry, sistem akan menandatangani citra tersebut berdasarkan aturan penandatanganan yang sesuai. Hal ini memastikan bahwa citra kontainer Anda dapat dipercaya.

Prasyarat

Buat kunci asimetris

  1. Masuk ke Konsol KMS.

  2. Di bilah navigasi atas, pilih wilayah tempat Anda ingin membuat kunci.

  3. Di panel navigasi sisi kiri, klik Keys. Pada halaman yang muncul, klik Create Key.

  4. Di kotak dialog Create Key, konfigurasikan parameter lalu klik OK.

    Fitur penandatanganan citra diimplementasikan berdasarkan algoritma kunci asimetris. Saat membuat kunci KMS, pilih jenis kunci EC atau RSA dan atur parameter Purpose menjadi SIGN/VERIFY. Untuk informasi lebih lanjut tentang parameter lainnya, lihat Buat CMK.

Izinkan Container Registry mengakses kunci KMS

Untuk mengizinkan Container Registry membaca kunci asimetris dalam akun Anda, konfigurasikan kebijakan di Manajemen Akses Sumber Daya (RAM).

  1. Masuk ke Konsol RAM.

  2. Di panel navigasi sisi kiri, pilih Identities > Roles.

  3. Pada halaman Roles, buat peran RAM bernama AliyunContainerRegistryKMSRole.

    1. Pada halaman Roles, klik Create Role.

    2. Pada halaman Create Role, atur parameter Principal Type menjadi Cloud Account, tentukan Akun Alibaba Cloud, lalu klik OK.

    3. Di kotak dialog Create Role, atur Role Name menjadi AliyunContainerRegistryKMSRole lalu klik OK.

  4. Ubah kebijakan kepercayaan.

    1. Pada halaman Roles, masukkan AliyunContainerRegistryKMSRole di kotak pencarian untuk mencari peran. Temukan AliyunContainerRegistryKMSRole dan klik nama peran AliyunContainerRegistryKMSRole di kolom Role Name.

    2. Klik tab Trust Policy dan klik Edit Trust Policy.

    3. Ubah kebijakan kepercayaan di editor kode dan klik OK.

      {
          "Statement": [
              {
                  "Action": "sts:AssumeRole",
                  "Effect": "Allow",
                  "Principal": {
                      "Service": [
                          "cr.aliyuncs.com"
                      ]
                  }
              }
          ],
          "Version": "1"
      }
  5. Buat kebijakan AliyunContainerRegistryKMSRolePolicy.

    1. Di panel navigasi sisi kiri Konsol RAM, pilih Permissions > Policies.

    2. Pada halaman Policies, klik Create Policy.

    3. Pada halaman Create Policy, klik tab JSON, edit isi kebijakan di editor kode, lalu klik OK. Di kotak dialog Create Policy, konfigurasikan parameter Policy Name dan Description.

      Catatan

      Anda perlu mengganti region dan accountid dalam kode berikut berdasarkan kondisi sebenarnya Anda.

      {
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "kms:*"
                  ],
                  "Resource": "acs:kms:${region}:${accountid}:*"
              }
          ],
          "Version": "1"
      }
  6. Di panel navigasi sisi kiri, pilih Identities > Roles. Dalam daftar peran, temukan peran AliyunContainerRegistryKMSRole.

  7. Klik Add Permissions di kolom Tindakan yang sesuai dengan peran.

  8. Di panel Add Permissions, pilih Custom Policy sebagai jenis kebijakan, temukan dan pilih AliyunContainerRegistryKMSRolePolicy, lalu klik OK untuk menambahkan kebijakan kustom.

Konfigurasikan saksi dan kebijakan verifikasi tanda tangan

  1. Masuk ke konsol Pusat Keamanan Cloud.

  2. Di panel navigasi sisi kiri, pilih Protection Configuration > Container Protection > Container Signature. Pada halaman Tanda Tangan Kontainer, klik tab Saksi, lalu klik "buat saksi" untuk membuat saksi dan mengaitkannya dengan kunci KMS yang Anda buat. Kunci KMS digunakan untuk penandatanganan citra.

  3. Opsional. Buat kebijakan verifikasi tanda tangan untuk mengaitkan saksi dengan kluster Container Service for Kubernetes (ACK) yang sesuai. Untuk informasi lebih lanjut, lihat Gunakan Fitur Tanda Tangan Kontainer.

Konfigurasikan aturan tanda tangan untuk penandatanganan citra otomatis

  1. Masuk ke Konsol Container Registry.

  2. Di bilah navigasi atas, pilih wilayah.

  3. Di panel navigasi sisi kiri, klik Instances.

  4. Pada halaman Instances, klik instans Edisi Perusahaan yang ingin Anda kelola.

  5. Pada halaman manajemen instans Container Registry Edisi Perusahaan, pilih Security and Trust > Image Signature di panel navigasi sisi kiri. Klik Create a signature rule.

  6. Di langkah Key Configuration, pilih saksi yang Anda buat di konsol Pusat Keamanan Cloud dan kaitkan dengan kunci KMS. Klik Next.

  7. Di langkah Signature Configurations, konfigurasikan parameter dan klik Create Signing Rule.

    Catatan

    Aturan tanda tangan hanya berlaku untuk citra baru yang didorong ke namespace tertentu. Citra yang sudah ada tidak ditandatangani berdasarkan aturan tanda tangan.

    • Algoritma: algoritma yang digunakan untuk menandatangani citra. Nilai valid: RSA_PSS_SHA_256 dan RSA_PKCS1_SHA_256.

    • Cakupan: cakupan citra yang perlu ditandatangani secara otomatis. Anda dapat memilih namespace.

    • Jenis Tanda Tangan:

      • Default: Digest citra dan tag ditandatangani. Mode default berlaku untuk verifikasi tanda tangan citra di instans saat ini.

      • Sederhana: Hanya digest citra yang ditandatangani. Tag citra tidak ditandatangani. Mode sederhana cocok untuk skenario replikasi citra lintas instans. Tanda tangan citra yang sesuai diverifikasi ketika tag citra berubah.

    • Jenis Pemicu: mode di mana penandatanganan citra dipicu. Nilai default adalah Pemicu Otomatis, yang menunjukkan bahwa penandatanganan citra dipicu secara otomatis setiap kali citra didorong ke Container Registry.

Verifikasi tanda tangan citra

Gunakan kritis-validation-hook untuk memverifikasi tanda tangan citra kontainer. Untuk informasi lebih lanjut, lihat Pengantar Komponen kritis-validation-hook.

Catatan
  • Anda dapat menggunakan kritis-validation-hook untuk memverifikasi tanda tangan citra secara otomatis di kluster ACK. Anda dapat menetapkan kebijakan untuk memblokir penerapan citra jika tanda tangan citra gagal diverifikasi. Kami merekomendasikan metode ini.

  • Anda juga dapat memverifikasi tanda tangan citra di Container Registry menggunakan fitur verifikasi tanda tangan KMS.