Penandatanganan terkelola - Amazon ECR

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

Penandatanganan terkelola

Penandatanganan terkelola Amazon ECR secara otomatis menandatangani gambar penampung Anda dengan membuat tanda tangan kriptografi menggunakan AWS Penandatangan saat gambar didorong ke Amazon ECR. Ini menghilangkan kebutuhan untuk menginstal dan mengkonfigurasi alat sisi klien dan memungkinkan Anda untuk mengatur penandatanganan secara terpusat sebagai konfigurasi registri.

Prasyarat

Untuk mengonfigurasi penandatanganan terkelola, Anda membuat konfigurasi penandatanganan dengan Amazon ECR yang mereferensikan satu atau beberapa profil penandatanganan Penandatangan dan, secara opsional, filter repositori yang membatasi repositori mana yang harus ditandatangani gambarnya. Setelah dikonfigurasi, Amazon ECR mengelola penandatanganan secara otomatis menandatangani gambar saat didorong menggunakan identitas entitas yang mendorong gambar.

Sebelum Anda dapat mengonfigurasi penandatanganan terkelola, Anda harus memiliki yang berikut:

  • Profil penandatanganan Penandatangan — Buat setidaknya satu profil penandatanganan Penandatangan. Profil penandatanganan adalah sumber daya AWS Penandatangan unik yang dapat Anda gunakan untuk melakukan operasi penandatanganan di Amazon ECR. Profil penandatanganan memungkinkan Anda untuk menandatangani dan memverifikasi artefak kode, seperti gambar kontainer dan AWS Lambda bundel penerapan. Setiap profil penandatanganan menunjuk platform penandatanganan untuk ditandatangani, ID platform, dan informasi khusus platform lainnya. Misalnya, profil penandatanganan ARN terlihat seperti ini:. arn:partition:signer:region:account-id:/signing-profiles/profile-name

  • Izin IAM — Prinsip IAM yang mendorong gambar harus memiliki izin IAM yang diperlukan untuk mengakses profil penandatanganan Penandatangan yang relevan dan repositori ECR yang relevan. Anda perlu mengubah kebijakan berbasis identitas untuk prinsipal IAM untuk menyertakan izin untuk operasi repositori ECR dan operasi penandatanganan Penandatangan. Contoh kebijakan berikut menunjukkan izin yang diperlukan:

{ "Version": "2012-10-17", "Statement": [ { "Sid":"UploadSignaturePermissions", "Effect":"Allow", "Action":[ "ecr:CompleteLayerUpload", "ecr:UploadLayerPart", "ecr:InitiateLayerUpload", "ecr:BatchCheckLayerAvailability", "ecr:PutImage" ], "Resource":"arn:aws:ecr:region:account-id:repository/repository-name" }, { "Sid": "SignPermissions", "Effect": "Allow", "Action": [ "signer:SignPayload" ], "Resource": "arn:aws:signer:region:account-id:/signing-profiles/signing-profile-name" } ] }

Dengan penandatanganan terkelola Amazon ECR, Anda dapat membuat beberapa aturan penandatanganan (hingga 10 per registri) untuk membuat batas keamanan yang lebih kuat. Misalnya, Anda dapat menjalankan beberapa pipeline build dan ingin membatasi repositori mana yang dapat ditandatangani oleh setiap pipeline. Dalam setiap aturan, Anda mengonfigurasi profil penandatanganan dan menentukan filter nama repositori. Saat gambar baru didorong, Amazon ECR cocok dengan aturan penandatanganan dan profil penandatanganan mana yang dapat menandatangani gambar. Jika ada beberapa kecocokan, Amazon ECR menghasilkan beberapa tanda tangan.

catatan

Jika Anda memverifikasi tanda tangan secara manual, Anda masih perlu menginstal CLI Notasi.

catatan

Penandatanganan terkelola Amazon ECR tersedia di semua AWS Wilayah tempat penandatanganan gambar kontainer dengan AWS Penandatangan tersedia.

Memulai

Ikuti langkah-langkah ini untuk mengonfigurasi penandatanganan terkelola. Anda memberikan Amazon ECR referensi ke profil penandatanganan Penandatangan dan, secara opsional, filter yang membatasi repositori mana yang harus ditandatangani gambarnya.

Konsol Manajemen AWS

Gunakan langkah-langkah berikut untuk mengonfigurasi penandatanganan terkelola menggunakan Konsol Manajemen AWS.

  1. Buka konsol Amazon ECR. Di panel navigasi kiri, pilih Registri pribadi, Fitur & pengaturan, Penandatanganan terkelola.

  2. Pada halaman Aturan penandatanganan, pilih Buat aturan.

  3. Pada halaman Profil penandatanganan, di bawah Pilih profil AWS penandatangan, pilih Buat profil AWS penandatangan baru, masukkan nama Profil, dan, secara opsional, ubah periode validitas tanda tangan. Kemudian pilih Berikutnya.

  4. Pada halaman Filter, di bawah Pilih repositori, masukkan filter nama Repositori. Kemudian pilih Berikutnya.

  5. Pada halaman Tinjau dan buat, verifikasi profil AWS Penandatangan dan filter nama Repositori yang telah Anda masukkan. Jika semuanya terlihat benar, pilih Simpan.

AWS CLI

Gunakan AWS CLI perintah berikut untuk mengonfigurasi penandatanganan terkelola.

  • Buat aturan penandatanganan

    Buat konfigurasi penandatanganan dengan ARN profil penandatanganan Anda. Buat file JSON dengan konten berikut:

    { "rules": [ { "signingProfileArn": "arn:aws:signer:region:account-id:/signing-profiles/profile-name", "repositoryFilters": [ { "filter": "test*", "filterType": "WILDCARD_MATCH" } ] } ] }

    Kemudian jalankan perintah berikut:

    aws ecr --region region \ put-signing-configuration \ --signing-configuration file://signing-config.json

    Anda akan melihat respons API yang berisi konfigurasi penandatanganan.

  • Lihat konfigurasi penandatanganan Anda

    Ambil konfigurasi penandatanganan Anda:

    aws ecr --region region \ get-signing-configuration

    Anda akan melihat respons API yang berisi konfigurasi penandatanganan.

  • Periksa status penandatanganan gambar

    Dorong gambar ke repositori Anda. Contoh:

    docker pull ubuntu IMAGE_NAME="account-id.dkr.ecr.region.amazonaws.com/repository-name" IMAGE_TAG="${IMAGE_NAME}:test-1" docker tag ubuntu $IMAGE_TAG docker push $IMAGE_TAG

    Setelah mendorong, gunakan tag gambar Anda untuk memeriksa status penandatanganan:

    aws ecr --region region \ describe-image-signing-status \ --repository-name repository-name \ --image-id imageTag=test-1

    Jika nama repositori cocok dengan filter repositori yang ditentukan dalam konfigurasi penandatanganan, Anda akan melihat status penandatanganan dalam respons API. Jika status berhasil, Anda akan melihat tanda tangan didorong ke repositori Anda.

  • Hapus konfigurasi penandatanganan

    Hapus konfigurasi penandatanganan Anda:

    aws ecr --region region \ delete-signing-configuration

    Anda akan melihat respons API yang berisi konfigurasi penandatanganan yang dihapus.

Pertimbangan-pertimbangan

Keterbatasan dan kemampuan berikut berlaku untuk penandatanganan terkelola:

  • Penandatanganan lintas wilayah tidak didukung — Profil penandatanganan harus berada di wilayah yang sama dengan registri Amazon ECR Anda. Anda tidak dapat menggunakan profil penandatanganan dari satu wilayah untuk menandatangani gambar di registri yang terletak di wilayah lain.

  • Penandatanganan lintas akun didukung — Profil penandatanganan dapat berada di akun yang berbeda dari registri ECR Amazon Anda. Ini memungkinkan organisasi untuk mengelola profil penandatanganan secara terpusat sambil memungkinkan pengembang di akun lain untuk menggunakannya. Untuk informasi selengkapnya, lihat Menyiapkan penandatanganan lintas akun untuk Penandatangan di Panduan AWS Signer Pengembang.

  • Tanda tangan tidak dapat ditandatangani — Anda tidak dapat menandatangani tanda tangan sendiri. Hanya gambar kontainer yang dapat ditandatangani.