Manajemen Rahasia dengan AWS Cloud Development Kit (CDK) Oleh Amanda Quint | Juni 2022

Programming

[ad_1]
Halo Teman-teman di suratpembaca.web.id. Hari ini kita akan membicarakan tentang Linux yaitu Manajemen Rahasia dengan AWS Cloud Development Kit (CDK) Oleh Amanda Quint | Juni 2022

.

Sekiranya postingan tentang Manajemen Rahasia dengan AWS Cloud Development Kit (CDK) Oleh Amanda Quint | Juni 2022

dapat memberikan faedah bagi Teman-teman semua. Langsung saja baca artikel ini
hingga selesai.

Gunakan Pengelola Rahasia di tumpukan CDK Anda

Foto oleh iMattSmart di Unsplash

Saya baru-baru ini mengerjakan proyek pribadi di mana saya memutuskan untuk menggunakan AWS CDK untuk pertama kalinya dan mempelajari lebih lanjut tentangnya. Secara keseluruhan, ini adalah pengalaman belajar yang menyenangkan, tetapi saya bingung tentang cara terbaik untuk menyimpan dan mengakses beberapa informasi rahasia, dan artikel ini menjelaskan cara mengatasinya.

AWS Cloud Development Kit (CDK) adalah kerangka kerja yang memungkinkan para insinyur mendefinisikan infrastruktur mereka sebagai kode dalam bahasa pemrograman yang sudah dikenal, daripada harus menulis infrastruktur mereka secara manual atau menulis CloudFormation mentah.

Dalam proyek saya, saya menggunakan CDK di TypeScript, tetapi juga tersedia dalam bahasa lain seperti Python dan Java. Menulis CloudFormation selalu membosankan dan populer bagi saya, dan saya malah menikmati CDK.

Untuk tujuan contoh ini, saya memiliki Lambda (yang menjalankan program Python) yang memerlukan kata sandi rahasia.

Fungsi Lambda saya memerlukan kata sandi rahasia untuk dijalankan.

Saya dapat mengenkripsi rahasia saya di sini, tetapi ini adalah ide yang buruk. Tergantung di mana saya melakukan kode ini, saya mungkin secara tidak sengaja membagikan informasi yang memungkinkan pengguna lain mengakses akun saya atau melakukan tindakan sebagai aplikasi saya. Pengkodean keras mereka di sini juga membuatnya terlihat di CloudFormation dan bagi siapa saja di konsol yang memiliki akses ke sana.

Rahasia harus disembunyikan!

Aku juga bisa meninggalkan diriku sendiri SECRET_TOKEN Setel ke nilai dummy dan setel nilai sebenarnya di konsol setelah menerapkan Lambda Anda – Lambda mengenkripsi variabel lingkungan – tetapi masih memungkinkan siapa pun yang memiliki akses untuk memeriksa Lamba untuk melihat kode teks biasa.

Untuk beberapa rahasia, cara ini mungkin masih sangat longgar. Selain itu, selama pengembangan, lambda saya sering dibangun kembali dan ini dengan cepat menjadi langkah tambahan yang membosankan.

Untuk mengatasi masalah saya, saya memutuskan untuk menggunakan AWS Secrets Manager untuk menyimpan rahasia saya. Rahasia di Manajer Rahasia adalah $0,40 per bulan, tetapi Rahasia dapat berupa blot JSON dengan beberapa pasangan kunci / nilai – sehingga Anda dapat menyimpan beberapa nilai terkait dalam satu rahasia.

Di CDK

Saya tidak mengantisipasi bahwa infrastruktur ini akan banyak berubah, jadi saya memulai tumpukan baru yang terpisah MySecretStack Untuk menulis CDK untuk Manajer Rahasia di. Itu hanya terdiri dari rahasia kosong environmentSecrets Dan CfnOutput – yang merupakan konstruksi yang dapat digunakan untuk menampilkan nilai tumpukan. Dalam hal ini, kami mengekspor ARN rahasia.

CDK untuk Rahasia Saya dan ekspor untuk ARN-nya.

Lambda Saya sekarang perlu tahu bagaimana merujuk ke rahasia ini, jadi alih-alih lewat SECRET_VALUE Ke variabel lingkungan saya, saya mengirim ARN rahasia dari tumpukan lain. Perhatikan bahwa saya juga perlu menambahkan kebijakan IAM yang memungkinkannya disebut Rahasia, dan saya harus mendedikasikan kebijakan itu untuk peran kinerja Lambda saya.

Lambda sekarang mengacu pada Rahasia ARN dan dilisensikan untuk menerima nilai Rahasia.

Penyebaran beberapa tumpukan

Setelah ini, saya harus menggunakan kedua tumpukan dalam program CDK. aku juga membuatnya coreStack (Mengandung mengandung lambda), tergantung pada secretStack Untuk memastikan bahwa Secret Arn akan tersedia jika diperlukan.

coreStack bergantung pada keluaran SecretStack.

Setelah ini, saatnya untuk menyebarkan!

Dalam rahasia manajer

Setelah eksekusi berhasil, saya harus masuk ke konsol AWS Secrets Manager untuk memasukkan rahasia saya secara manual. Ini adalah langkah ekstra, tetapi itu bukan yang harus sering saya lakukan SecretStack Tidak perlu diubah kecuali saya perlu menambahkan rahasia tambahan. Ini jauh lebih membosankan daripada kebutuhan input SECRET_VALUE Setiap kali saya memposisikan ulang lambda.

Juga, jika saya memiliki rahasia yang perlu dirotasi sesuai jadwal, Manajer Rahasia dapat menentukan pengontrol rotasi untuk penanganan otomatis.

Tambahkan pasangan kunci/nilai baru yang berisi SECRET_VALUE asli saya.

Pecahkan rahasia di fungsi lambda saya

Tumpukan dikerahkan dan nilai tersembunyi disimpan di Manajer Rahasia, tetapi saya membutuhkan langkah ekstra untuk menggunakan rahasia ini. Dalam kode program Python Lambda saya yang sebenarnya, saya harus memiliki akses ke Rahasia.

saya menggunakan boto3 Untuk mengakses Manajer Rahasia dan mengatur variabel lingkungan dari pasangan kunci / nilai yang disimpan di Rahasia. Ada juga cara untuk mengambil rahasia menggunakan alat-alat listrik lambda yang mungkin saya gunakan sebagai gantinya.

Harap dicatat bahwa mengambil rahasia dengan cara ini memerlukan biaya tambahan, karena Anda membayar Manajer Rahasia untuk permintaan ($ 0,05 per 10.000 panggilan API), tetapi pada skala yang saya gunakan saat ini aplikasi, jumlah ini bukan apa-apa.

Tetapkan variabel lingkungan dari nilai yang disimpan di Manajer Rahasia.

Mengapa tidak memecahkan Rahasia langsung di CDK?

Alih-alih memecahkan misteri dalam kode program, saya dapat menggunakannya secara langsung melalui CDK SecretValue Membangun. Menggunakan referensi dinamis jauh lebih murah karena biaya yang dikeluarkan Manajer Rahasia untuk mengambil rahasia, tetapi ada beberapa pertimbangan tambahan yang perlu diingat – dan SecretValue construct sendiri merekomendasikan pemecahan rahasia yang diperlukan dalam fungsi lambda langsung dalam kode.

Demikian pembahasan tentang Manajemen Rahasia dengan AWS Cloud Development Kit (CDK) Oleh Amanda Quint | Juni 2022

, terimakasih telah berkunjung di website ini, mudah-mudahan artikelnya ada manfaatnya ya.

[ad_2]

Source link

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.