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

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.

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.

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.

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.

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.

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