Pantau repositori Amazon ECR untuk izin wildcard menggunakan AWS dan AWS Config CloudFormation - AWS Prescriptive Guidance

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

 

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. 

AWS Config workflow with Lambda, Amazon ECR, EventBridge, SNS, and email notification components.

Diagram menunjukkan alur kerja berikut:

  1. AWS Config memulai aturan khusus. 

  2. Aturan kustom memanggil fungsi Lambda untuk mengevaluasi kepatuhan pernyataan kebijakan repositori Amazon ECR. Fungsi Lambda kemudian mengidentifikasi pernyataan kebijakan repositori yang tidak sesuai.

  3. Fungsi Lambda mengirimkan status ketidakpatuhan ke AWS Config.

  4. AWS Config mengirimkan acara ke. EventBridge

  5. EventBridge menerbitkan pemberitahuan ketidakpatuhan ke topik SNS.

  6. 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

TugasDeskripsiKeterampilan yang dibutuhkan
Buat CloudFormation tumpukan AWS.

Buat CloudFormation tumpukan AWS dengan menjalankan perintah berikut di AWS CLI:

$ aws cloudformation create-stack --stack-name=AWSConfigECR \ --template-body file://aws-config-cloudformation.template \ --parameters ParameterKey=<email>,ParameterValue=<myemail@example.com> \ --capabilities CAPABILITY_NAMED_IAM
AWS DevOps
TugasDeskripsiKeterampilan yang dibutuhkan
Uji aturan kustom AWS Config.
  1. Masuk ke AWS Management Console, buka konsol AWS Config, lalu pilih Resources.

  2. Pada halaman Inventaris sumber daya, Anda dapat memfilter berdasarkan kategori sumber daya, jenis sumber daya, dan status kepatuhan.

  3. Repositori Amazon ECR yang berisi ecr:* is NON-COMPLIANT? dan repositori Amazon ECR yang tidak berisi adalah. ecr:* COMPLIANT

  4. Alamat email yang berlangganan topik SNS menerima pemberitahuan jika repositori Amazon ECR berisi pernyataan kebijakan yang tidak sesuai.

AWS DevOps

Lampiran

Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip