Fitur keamanan bawaan ADDF - AWS Bimbingan Preskriptif

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

Fitur keamanan bawaan ADDF

Autonomous Driving Data Framework (ADDF) memiliki berbagai fitur keamanan bawaan. Secara default, fitur-fitur ini dirancang untuk membantu Anda menyiapkan kerangka kerja yang aman dan membantu organisasi Anda memenuhi persyaratan keamanan perusahaan umum.

Berikut ini adalah fitur keamanan bawaan:

Hak istimewa paling sedikit untuk kode modul ADDF

Keistimewaan paling sedikit adalah praktik keamanan terbaik untuk memberikan izin minimum yang diperlukan untuk melakukan tugas. Untuk informasi selengkapnya, lihat Menerapkan izin hak istimewa paling sedikit. Modul yang disediakan ADDF secara ketat mengikuti prinsip hak istimewa paling sedikit dalam kode dan sumber daya yang digunakan, sebagai berikut:

  • Semua kebijakan AWS Identity and Access Management (IAM) yang dihasilkan untuk modul ADDF memiliki izin minimum yang diperlukan untuk kasus penggunaan. 

  • Layanan AWS dikonfigurasi dan digunakan sesuai dengan prinsip hak istimewa paling sedikit. Modul yang disediakan ADDF hanya menggunakan layanan dan fitur layanan yang diperlukan untuk kasus penggunaan tertentu.

Infrastruktur sebagai kode

ADDF, sebagai kerangka kerja, dirancang untuk menyebarkan modul ADDF sebagai infrastruktur sebagai kode (IAc). IAC menghilangkan proses penerapan manual dan membantu mencegah kesalahan dan kesalahan konfigurasi, yang dapat dihasilkan dari proses manual. 

ADDF dirancang untuk mengatur dan menyebarkan modul dengan menggunakan kerangka kerja IAc umum. Ini termasuk, tetapi tidak terbatas pada: 

Anda dapat menggunakan kerangka kerja IAc yang berbeda untuk menulis modul yang berbeda, dan kemudian Anda menggunakan ADDF untuk menerapkannya.

Kerangka kerja IAC default yang digunakan oleh modul ADDF adalah. AWS CDK AWS CDK adalah abstraksi berorientasi objek tingkat tinggi yang dapat Anda gunakan untuk mendefinisikan sumber daya secara imperatif. AWS AWS CDK sudah memberlakukan praktik terbaik keamanan secara default untuk berbagai layanan dan skenario. Dengan menggunakan AWS CDK, risiko kesalahan konfigurasi keamanan berkurang.

Pemeriksaan keamanan otomatis untuk IAc

Utilitas cdk-nag sumber terbuka (GitHub) diintegrasikan ke dalam ADDF. Utilitas ini secara otomatis memeriksa modul ADDF yang didasarkan pada AWS CDK kepatuhan terhadap praktik terbaik umum dan keamanan. Utilitas cdk-nag menggunakan aturan dan paket aturan untuk mendeteksi dan melaporkan kode yang melanggar praktik terbaik. Untuk informasi selengkapnya tentang aturan dan daftar lengkap, lihat aturan cdk-nag (). GitHub

Kebijakan hak istimewa terkecil khusus untuk peran penerapan AWS CDK

ADDF menggunakan AWS CDK v2 secara ekstensif. Anda harus mem-bootstrap semua ADDF Akun AWS ke AWS CDK. Untuk informasi selengkapnya, lihat Bootstrapping (dokumentasi)AWS CDK .

Secara default, AWS CDK tetapkan kebijakan AdministratorAccess AWS terkelola permisif ke peran AWS CDK penerapan yang dibuat di akun bootstrap. Nama lengkap dari peran ini adalahcdk-[CDK_QUALIFIER]-cfn-exec-role-[AWS_ACCOUNT_ID]-[REGION]. AWS CDK menggunakan peran ini untuk menyebarkan sumber daya ke dalam bootstrap Akun AWS sebagai bagian dari proses penerapan. AWS CDK

Bergantung pada persyaratan keamanan organisasi Anda, AdministratorAccess kebijakan tersebut mungkin terlalu permisif. Sebagai bagian dari proses AWS CDK bootstrap, Anda dapat menyesuaikan kebijakan dan izin sesuai dengan kebutuhan Anda. Anda dapat mengubah kebijakan dapat dengan melakukan bootstrap ulang akun dengan kebijakan yang baru ditentukan dengan menggunakan parameter. --cloudformation-execution-policies Untuk informasi selengkapnya, lihat Menyesuaikan bootstrap (dokumentasi).AWS CDK

catatan

Meskipun fitur keamanan ini tidak spesifik untuk ADDF, fitur ini tercantum di bagian ini karena dapat meningkatkan keamanan keseluruhan penerapan ADDF Anda.

Kebijakan hak istimewa paling rendah untuk file deployspec modul

Setiap modul berisi file spesifikasi deployment yang disebut deployspec.yaml. File ini mendefinisikan instruksi penyebaran untuk modul. CodeSeeder menggunakannya untuk menyebarkan modul yang ditentukan di akun target dengan menggunakan AWS CodeBuild. CodeSeeder menetapkan peran layanan default CodeBuild untuk menyebarkan sumber daya, seperti yang diinstruksikan dalam file spesifikasi penerapan. Peran layanan ini dirancang sesuai dengan prinsip hak istimewa terkecil. Ini mencakup semua izin yang diperlukan untuk menyebarkan AWS CDK aplikasi, karena semua modul yang disediakan ADDF dibuat sebagai aplikasi. AWS CDK

Namun, jika Anda perlu menjalankan perintah tahap apa pun di luar AWS CDK, Anda perlu membuat kebijakan IAM khusus alih-alih menggunakan peran layanan default untuk CodeBuild. Misalnya, jika Anda menggunakan kerangka kerja penerapan IAC selain AWS CDK, seperti Terraform, Anda perlu membuat kebijakan IAM yang memberikan izin yang cukup agar kerangka kerja tertentu berfungsi. Skenario lain yang memerlukan kebijakan IAM khusus adalah ketika Anda menyertakan panggilan direct AWS Command Line Interface (AWS CLI) ke panggilan lain Layanan AWS dalam perintahinstall,pre_build,build, atau post_build stage. Misalnya, Anda memerlukan kebijakan khusus jika modul menyertakan perintah Amazon Simple Storage Service (Amazon S3) untuk mengunggah file ke bucket S3. Kebijakan IAM kustom menyediakan kontrol halus untuk AWS perintah apa pun di luar penerapan. AWS CDK Untuk contoh kebijakan IAM kustom, lihat ModuleStack(SeedFarmer dokumentasi). Saat membuat kebijakan IAM khusus untuk modul ADDF Anda, pastikan Anda menerapkan izin hak istimewa paling sedikit.

Enkripsi data

ADDF menyimpan dan memproses data yang berpotensi sensitif. Untuk membantu melindungi data ini,, SeedFarmer CodeSeeder, dan modul yang disediakan ADDF mengenkripsi data saat istirahat dan dalam perjalanan untuk semua yang digunakan Layanan AWS (kecuali secara eksplisit dinyatakan lain untuk modul dalam folder). demo-only

Penyimpanan kredensi menggunakan Secrets Manager

ADDF menangani berbagai rahasia untuk layanan yang berbeda, seperti Docker Hub, JupyterHub, dan Amazon Redshift. ADDF menggunakan AWS Secrets Manageruntuk menyimpan rahasia terkait ADDF. Ini membantu Anda menghapus data sensitif dari kode sumber.

Rahasia Secrets Manager disimpan hanya di akun target, sesuai kebutuhan agar akun tersebut berfungsi dengan baik. Secara default, akun toolchain tidak berisi rahasia apa pun.

Ulasan keamanan SeedFarmer dan CodeSeeder

SeedFarmerdan CodeSeeder(GitHubrepositori) digunakan untuk menyebarkan ADDF dan modul ADDF-nya. Proyek-proyek open-source ini menjalani proses peninjauan keamanan AWS internal reguler yang sama seperti ADDF, seperti yang dijelaskan dalam. Proses peninjauan keamanan ADDF

Dukungan batas izin untuk peran untuk AWS CodeBuild CodeSeeder

Batas izin IAM adalah mekanisme keamanan umum yang menentukan izin maksimum yang dapat diberikan oleh kebijakan berbasis identitas kepada entitas IAM. SeedFarmer dan CodeSeeder mendukung lampiran batas izin IAM untuk setiap akun target. Batas izin membatasi izin maksimum dari peran layanan apa pun yang digunakan saat menyebarkan modul. CodeBuild CodeSeeder Batas izin IAM harus dibuat di luar ADDF oleh tim keamanan. Lampiran kebijakan batas izin IAM diterima sebagai atribut dalam file manifes penerapan ADDF, deployment.yaml. Untuk informasi selengkapnya, lihat Dukungan batas izin (SeedFarmer dokumentasi).

Alur kerjanya adalah sebagai berikut:

  1. Tim keamanan Anda menentukan dan membuat batas izin IAM sesuai dengan persyaratan keamanan Anda. Batas izin IAM harus dibuat secara individual di setiap ADDF. Akun AWS Outputnya adalah daftar kebijakan batas izin Amazon Resource Name (ARN).

  2. Tim keamanan membagikan daftar ARN kebijakan dengan tim pengembang ADDF Anda.

  3. Tim pengembang ADDF mengintegrasikan daftar ARN kebijakan ke dalam file manifes. Untuk contoh integrasi ini, lihat sample-permissionboundary.yaml () dan Deployment manifest (documentation)GitHub. SeedFarmer

  4. Setelah penerapan berhasil, batas izin dilampirkan ke semua peran layanan yang CodeBuild digunakan untuk menyebarkan modul.

  5. Tim keamanan memantau bahwa batas izin diterapkan sesuai kebutuhan.

AWS arsitektur multi-akun

Sebagaimana didefinisikan dalam pilar keamanan Kerangka AWS Well-Architected, dianggap sebagai praktik terbaik untuk memisahkan sumber daya dan beban kerja menjadi Akun AWS beberapa, berdasarkan kebutuhan organisasi Anda. Hal ini karena Akun AWS bertindak sebagai batas isolasi. Untuk informasi lebih lanjut, lihat Akun AWS manajemen dan pemisahan. Implementasi konsep ini disebut arsitektur multi-akun. Arsitektur AWS multi-akun yang dirancang dengan baik memberikan kategorisasi beban kerja dan mengurangi cakupan dampak jika terjadi pelanggaran keamanan, dibandingkan dengan arsitektur akun tunggal.

ADDF secara native mendukung arsitektur AWS multi-akun. Anda dapat mendistribusikan modul ADDF Anda di Akun AWS sebanyak yang diperlukan untuk keamanan dan separation-of-duties persyaratan organisasi Anda. Anda dapat menerapkan ADDF menjadi satu Akun AWS, menggabungkan fungsi toolchain dan akun target. Atau, Anda dapat membuat akun target individual untuk modul ADDF atau grup modul.

Satu-satunya batasan yang perlu Anda pertimbangkan adalah bahwa modul ADDF mewakili unit penerapan terkecil untuk masing-masing modul. Akun AWS

Untuk lingkungan produksi, Anda disarankan untuk menggunakan arsitektur multi-akun yang terdiri dari akun toolchain dan setidaknya satu akun target. Untuk informasi selengkapnya, lihat Arsitektur ADDF.

Izin hak istimewa paling sedikit untuk penerapan multi-akun

Jika Anda menggunakan arsitektur multi-akun, SeedFarmer perlu mengakses akun target untuk melakukan tiga tindakan berikut:

  1. Tulis metadata modul ADDF ke akun toolchain dan akun target.

  2. Baca metadata modul ADDF saat ini dari akun toolchain dan akun target.

  3. Memulai AWS CodeBuild pekerjaan di akun target, untuk tujuan menyebarkan atau memperbarui modul.

Gambar berikut menunjukkan hubungan lintas akun, termasuk operasi untuk mengasumsikan peran khusus ADDF AWS Identity and Access Management (IAM).

Peran IAM dalam arsitektur AWS multi-akun yang memiliki akun toolchain dan akun target.

Tindakan lintas akun ini dicapai dengan menggunakan operasi peran asumsi yang terdefinisi dengan baik.

  • Peran IAM toolchain ADDF diterapkan di akun toolchain. SeedFarmer mengasumsikan peran ini. Peran ini memiliki izin untuk melakukan iam:AssumeRole tindakan dan dapat mengasumsikan peran IAM penerapan ADDF di setiap akun target. Selain itu, peran IAM toolchain ADDF dapat menjalankan operasi AWS Systems Manager Parameter Store lokal.

  • Peran IAM penerapan ADDF diterapkan di setiap akun target. Peran ini hanya dapat diasumsikan dari akun toolchain dengan menggunakan peran IAM toolchain ADDF. Peran ini memiliki izin untuk menjalankan operasi AWS Systems Manager Parameter Store lokal dan memiliki izin untuk menjalankan AWS CodeBuild tindakan yang memulai dan menjelaskan CodeBuild pekerjaan. CodeSeeder

Peran IAM khusus ADDF ini dibuat sebagai bagian dari proses ADDF-Bootstrapping. Untuk informasi selengkapnya, lihat Bootstrap Akun AWS di ADDF Deployment Guide ()GitHub.

Semua izin lintas akun diatur sesuai dengan prinsip hak istimewa paling sedikit. Jika satu akun target dikompromikan, ada dampak minimal atau tidak ada pada Akun AWS ADDF lainnya.

Dalam kasus arsitektur akun tunggal untuk ADDF, hubungan peran tetap sama. Mereka hanya runtuh menjadi satu Akun AWS.