Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pantau repositori Amazon ECR untuk izin wildcard menggunakan AWS dan AWS Config CloudFormation
Vikrant Telkar, Wassim Benhallam, dan Sajid Momin, Amazon Web Services
Ringkasan
Di Amazon Web Services (AWS) Cloud, Amazon Elastic Container Registry (Amazon ECR) adalah layanan registri image container terkelola yang mendukung repositori pribadi dengan izin berbasis sumber daya menggunakan AWS Identity and Access Management (IAM).
IAM mendukung wildcard * "" di atribut sumber daya dan tindakan, yang membuatnya lebih mudah untuk secara otomatis memilih beberapa item yang cocok. Di lingkungan pengujian, Anda dapat mengizinkan semua pengguna AWS yang diautentikasi mengakses repositori ECR Amazon dengan menggunakan izin ecr:* wildcard dalam elemen utama untuk pernyataan kebijakan repositori Anda. Izin ecr:* wildcard dapat berguna saat mengembangkan dan menguji di akun pengembangan yang tidak dapat mengakses data produksi Anda.
Namun, Anda harus memastikan bahwa izin ecr:* wildcard tidak digunakan di lingkungan produksi Anda karena dapat menyebabkan kerentanan keamanan yang serius. Pendekatan pola ini membantu Anda mengidentifikasi repositori Amazon ECR yang berisi izin ecr:* wildcard dalam pernyataan kebijakan repositori. Pola ini menyediakan langkah-langkah dan CloudFormation template AWS untuk membuat aturan khusus di AWS Config. Fungsi AWS Lambda kemudian memantau pernyataan kebijakan repositori Amazon ECR Anda untuk izin wildcard. ecr:* Jika menemukan pernyataan kebijakan repositori yang tidak sesuai, Lambda memberi tahu AWS Config untuk mengirim peristiwa ke Amazon EventBridge dan EventBridge kemudian memulai topik Amazon Simple Notification Service (Amazon SNS). Topik SNS memberi tahu Anda melalui email tentang pernyataan kebijakan repositori yang tidak sesuai.
Prasyarat dan batasan
Prasyarat
Akun AWS yang aktif.
AWS Command Line Interface (AWS CLI), diinstal dan dikonfigurasi. Untuk informasi selengkapnya tentang ini, lihat Menginstal, memperbarui, dan menghapus instalan AWS CLI dalam dokumentasi AWS CLI.
Repositori ECR Amazon yang sudah ada dengan pernyataan kebijakan terlampir, diinstal dan dikonfigurasi di lingkungan pengujian Anda. Untuk informasi selengkapnya tentang ini, lihat Membuat repositori pribadi dan Menyetel pernyataan kebijakan repositori dalam dokumentasi Amazon ECR.
AWS Config, dikonfigurasi di Wilayah AWS pilihan Anda. Untuk informasi selengkapnya tentang ini, lihat Memulai AWS Config di dokumentasi AWS Config.
aws-config-cloudformation.templateFile (terlampir), diunduh ke mesin lokal Anda.
Batasan
Solusi pola ini bersifat Regional dan sumber daya Anda harus dibuat di Wilayah yang sama.
Arsitektur
Diagram berikut menunjukkan cara AWS Config mengevaluasi pernyataan kebijakan repositori Amazon ECR.

Diagram menunjukkan alur kerja berikut:
AWS Config memulai aturan khusus.
Aturan kustom memanggil fungsi Lambda untuk mengevaluasi kepatuhan pernyataan kebijakan repositori Amazon ECR. Fungsi Lambda kemudian mengidentifikasi pernyataan kebijakan repositori yang tidak sesuai.
Fungsi Lambda mengirimkan status ketidakpatuhan ke AWS Config.
AWS Config mengirimkan acara ke. EventBridge
EventBridge menerbitkan pemberitahuan ketidakpatuhan ke topik SNS.
Amazon SNS mengirimkan peringatan email kepada Anda atau pengguna yang berwenang.
Otomatisasi dan skala
Solusi pola ini dapat memantau sejumlah pernyataan kebijakan repositori Amazon ECR, tetapi semua sumber daya yang ingin Anda evaluasi harus dibuat di Wilayah yang sama.
Alat
AWS CloudFormation — AWS CloudFormation membantu Anda memodelkan dan menyiapkan sumber daya AWS Anda, menyediakannya dengan cepat dan konsisten, serta mengelolanya sepanjang siklus hidupnya. Anda dapat menggunakan template untuk mendeskripsikan sumber daya Anda dan dependensinya, dan meluncurkan dan mengonfigurasinya bersama-sama sebagai tumpukan, alih-alih mengelola sumber daya secara individual. Anda dapat mengelola dan menyediakan tumpukan di beberapa akun AWS dan Wilayah AWS.
AWS Config — AWS Config memberikan tampilan terperinci tentang konfigurasi sumber daya AWS di akun AWS Anda. Ini mencakup bagaimana sumber daya terkait satu sama lain dan bagaimana sumber daya tersebut dikonfigurasi di masa lalu sehingga Anda dapat melihat bagaimana konfigurasi dan hubungan berubah dari waktu ke waktu.
Amazon ECR — Amazon Elastic Container Registry (Amazon ECR) adalah layanan registri gambar kontainer terkelola AWS yang aman, terukur, dan andal. Amazon ECR mendukung repositori pribadi dengan izin berbasis sumber daya menggunakan IAM.
Amazon EventBridge — Amazon EventBridge adalah layanan bus acara tanpa server yang dapat Anda gunakan untuk menghubungkan aplikasi Anda dengan data dari berbagai sumber. EventBridge mengirimkan aliran data real-time dari aplikasi Anda, aplikasi perangkat lunak sebagai layanan (SaaS), dan layanan AWS ke target seperti fungsi AWS Lambda, titik akhir pemanggilan HTTP menggunakan tujuan API, atau bus acara di akun lain.
AWS Lambda — AWS Lambda adalah layanan komputasi yang mendukung menjalankan kode tanpa menyediakan atau mengelola server. Lambda menjalankan kode Anda hanya saat diperlukan dan menskalakan secara otomatis, dari beberapa permintaan per hari hingga ribuan per detik. Anda hanya membayar untuk waktu komputasi yang Anda gunakan—tidak ada biaya saat kode Anda tidak berjalan.
Amazon SNS — Amazon Simple Notification Service (Amazon SNS) mengoordinasikan dan mengelola pengiriman atau pengiriman pesan antara penerbit dan klien, termasuk server web dan alamat email. Pelanggan menerima semua pesan yang dipublikasikan ke topik tempat mereka berlangganan, dan semua pelanggan ke suatu topik menerima pesan yang sama.
Kode
Kode untuk pola ini tersedia dalam aws-config-cloudformation.template file (terlampir).
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
| Buat CloudFormation tumpukan AWS. | Buat CloudFormation tumpukan AWS dengan menjalankan perintah berikut di AWS CLI:
| AWS DevOps |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
| Uji aturan kustom AWS Config. |
| AWS DevOps |
Lampiran
Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip