View a markdown version of this page

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 kontainer Anda dengan menghasilkan tanda tangan kriptografi menggunakan AWS Signer saat gambar didorong ke Amazon ECR. Ini menghilangkan kebutuhan untuk menginstal dan mengkonfigurasi alat sisi klien dan memungkinkan Anda mengatur penandatanganan secara terpusat sebagai konfigurasi registri.

Prasyarat

Untuk mengonfigurasi penandatanganan terkelola, Anda membuat konfigurasi penandatanganan dengan Amazon ECR yang mereferensikan satu atau lebih profil penandatanganan Signer dan, secara opsional, filter repositori yang membatasi repositori mana yang harus ditandatangani gambarnya. Setelah dikonfigurasi, penandatanganan terkelola Amazon ECR 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 Penanda Tanda Tanda Tanda Tanda Tanda Tanda Tanda Profil penandatanganan adalah sumber daya AWS Signer unik yang dapat Anda gunakan untuk melakukan operasi penandatanganan di Amazon ECR. Profil penandatanganan memungkinkan Anda menandatangani dan memverifikasi artefak kode, seperti gambar kontainer dan bundel AWS Lambda penerapan. Setiap profil penandatanganan menunjuk platform penandatanganan untuk ditandatangani, ID platform, dan informasi spesifik 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 Signer yang relevan dan repositori ECR yang relevan. Anda perlu memodifikasi kebijakan berbasis identitas untuk prinsipal IAM agar menyertakan izin untuk operasi repositori ECR dan operasi penandatanganan Signer. Kebijakan contoh 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 mungkin menjalankan beberapa pipeline build dan ingin membatasi repositori mana yang dapat ditandatangani setiap pipeline. Dalam setiap aturan, Anda mengonfigurasi profil penandatanganan dan menentukan filter nama repositori. Saat gambar baru didorong, Amazon ECR mencocokkan 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 Notation CLI.

catatan

Penandatanganan terkelola Amazon ECR tersedia di semua AWS Wilayah di mana penandatanganan gambar kontainer dengan AWS Signer tersedia.

Memulai

Ikuti langkah-langkah berikut untuk mengonfigurasi penandatanganan terkelola. Anda memberi Amazon ECR referensi ke profil penandatanganan Signer 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 A turan penandatanganan, pilih Buat aturan.

  3. Pada halaman Profil pen andatanganan, di bawah Pilih profil pen AWS andatangan, pilih Buat profil pen AWS andatangan baru, masukkan nama Profil, dan, secara opsional, ubah masa berlaku Tanda tangan. Kemudian pilih Ber ikutnya.

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

  5. Pada halaman T injau dan buat, verifikasi profil Penandat AWS angan dan filter nama Repositori yang telah Anda masukkan. Jika semuanya terlihat benar, pilih S impan.

AWS CLI

Gunakan AWS CLI perintah berikut untuk mengonfigurasi penandatanganan terkelola.

  • Membuat aturan penandatanganan

    Buat konfigurasi penandatanganan dengan profil penandatanganan ARN 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.

  • Melihat konfigurasi penandatanganan

    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.

  • Menghapus konfigurasi penandatanganan Anda

    Hapus konfigurasi penandatanganan Anda:

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

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

Pertimbangan-pertimbangan

Batasan dan kemampuan berikut berlaku untuk penandatanganan terkelola:

  • Cross-region penandatanganan 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 yang berbeda.

  • Cross-account penandatanganan didukung — Profil penandatanganan dapat berada di akun yang berbeda dari registri Amazon ECR Anda. Ini memungkinkan organisasi untuk mengelola profil penandatanganan secara terpusat sambil mengizinkan pengembang di akun lain untuk menggunakannya. Untuk informasi selengkapnya, lihat Meng atur penandatanganan lintas akun untuk Penandatangan di Panduan Peng AWS Signer embang.

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