Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Hapus EC2 entri Amazon di Akun AWS seberang AWS Managed Microsoft AD dengan menggunakan AWS Lambda otomatisasi
Dr. Rahul Sharad Gaikwad dan Tamilselvan P, Amazon Web Services
Ringkasan
Active Directory (AD) adalah alat skrip Microsoft yang mengelola informasi domain dan interaksi pengguna dengan layanan jaringan. Ini banyak digunakan di antara penyedia layanan terkelola (MSPs) untuk mengelola kredensi karyawan dan izin akses. Karena penyerang AD dapat menggunakan akun tidak aktif untuk mencoba dan meretas organisasi, penting untuk menemukan akun yang tidak aktif dan menonaktifkannya pada jadwal pemeliharaan rutin. Dengan AWS Directory Service for Microsoft Active Directory, Anda dapat menjalankan Microsoft Active Directory sebagai layanan terkelola. Pola ini dapat membantu Anda mengonfigurasi AWS Lambda otomatisasi untuk menemukan dan menghapus akun yang tidak aktif dengan cepat.
Jika skenario berikut berlaku untuk organisasi Anda, pola ini dapat membantu Anda:
Manajemen AD terpusat — Jika organisasi Anda memiliki beberapa Akun AWS, masing-masing dengan penerapan AD sendiri, mungkin sulit untuk mengelola akun pengguna dan izin akses secara konsisten di semua akun. Dengan solusi pembersihan AD lintas akun, Anda dapat menonaktifkan atau menghapus akun yang tidak aktif dari semua instans AD secara terpusat.
Restrukturisasi atau migrasi AD — Jika organisasi Anda berencana untuk merestrukturisasi atau memigrasikan penerapan AD, solusi pembersihan AD lintas akun dapat membantu Anda mempersiapkan lingkungan. Solusinya dapat membantu Anda menghapus akun yang tidak perlu atau tidak aktif, menyederhanakan proses migrasi, dan mengurangi potensi konflik atau masalah.
Bila Anda menggunakan pola ini, Anda bisa mendapatkan manfaat berikut:
Tingkatkan kinerja database dan server, dan perbaiki kerentanan keamanan Anda dari akun yang tidak aktif.
Jika server iklan Anda di-host di cloud, menghapus akun yang tidak aktif juga dapat mengurangi biaya penyimpanan sekaligus meningkatkan kinerja. Tagihan bulanan Anda mungkin berkurang karena biaya bandwidth dan sumber daya komputasi keduanya dapat turun.
Jauhkan penyerang potensial dengan Active Directory yang bersih.
Prasyarat dan batasan
Prasyarat
Orang tua yang aktif Akun AWS dan satu atau beberapa akun anak. Dalam pola ini, akun induk adalah tempat Active Directory dibuat. Akun anak meng-host server Windows dan bergabung melalui akun induk Active Directory.
Git diinstal
dan dikonfigurasi pada workstation lokal. Terraform diinstal
dan dikonfigurasi pada workstation lokal. AWS Managed Microsoft AD direktori dikonfigurasi di akun induk dan dibagikan ke semua akun anak. Untuk detail selengkapnya, lihat Tutorial: Berbagi AWS Managed Microsoft AD direktori Anda untuk EC2 domain-join yang mulus di Panduan Administrasi.AWS Directory Service
Koneksi peering cloud pribadi virtual (VPC) atau AWS Transit Gateway koneksi yang tersedia antara VPC AWS Directory Service (akun induk) dan VPC dari instans Amazon Elastic Compute Cloud (Amazon EC2) (akun anak). Untuk detail selengkapnya, lihat Mengkonfigurasi koneksi peering VPC antara pemilik direktori dan akun konsumen direktori di Panduan Administrasi AWS Directory Service .
Mesin Windows yang dikonfigurasi dengan
EC2WindowsUserdataskrip pada semua akun induk dan anak. File skrip tersedia di root repositori kodepola ini. Peran lintas akun AWS Identity and Access Management (IAM) tersedia di setiap akun anak yang dikonfigurasi dengan kebijakan kepercayaan untuk mengizinkan penggunaan AWS Lambda fungsi dari akun induk. Untuk informasi selengkapnya, lihat Mengirim dan menerima acara antara Akun AWS EventBridge di Amazon di Panduan EventBridge Pengguna Amazon.
Nilai rahasia berikut tersedia di AWS Systems Manager Parameter Store dari akun induk:
domainJoinUser— Nama pengguna layanan direktoridomainJoinPassword— Kata sandi layanan direktori
Untuk informasi selengkapnya tentang rahasia, lihat Membuat AWS Secrets Manager rahasia di Panduan AWS Secrets Manager Pengguna.
Batasan
Membuat sumber daya di akun anak tidak otomatis dengan Terraform. Anda harus membuat sumber daya berikut secara manual dengan menggunakan AWS Management Console:
EventBridge Aturan Amazon untuk mengirim peristiwa EC2 penghentian Amazon ke akun induk
Pembuatan peran EC2 lintas akun Amazon di akun anak dengan kebijakan kepercayaan
Pengintip VPC atau koneksi Transit Gateway
Beberapa Layanan AWS tidak tersedia di semua Wilayah AWS. Untuk ketersediaan Wilayah, lihat Layanan AWS berdasarkan Wilayah
. Untuk titik akhir tertentu, lihat Titik akhir dan kuota layanan, dan pilih tautan untuk layanan.
Versi produk
Arsitektur
Diagram berikut menampilkan arsitektur tingkat tinggi dari solusi.

Diagram arsitektur menggambarkan proses berikut:
Di akun anak, EventBridge aturan mengumpulkan semua peristiwa EC2 penghentian Amazon. Aturan mengirimkan peristiwa-peristiwa EventBridge yang ada di akun induk.
Dari akun induk, EventBridge kumpulkan semua peristiwa dan berisi aturan untuk memicu fungsi
ADcleanup-LambdaLambda.Akun induk menerima peristiwa penghentian apa pun dari akun induk atau anak dan memicu fungsi Lambda.
Fungsi Lambda membuat panggilan ke grup Amazon Auto EC2 Scaling menggunakan modul boto Python dan mendapatkan ID instance acak. Instance ID digunakan untuk menjalankan perintah Systems Manager.
Fungsi Lambda membuat panggilan lain ke Amazon EC2 menggunakan modul boto. Fungsi Lambda mendapatkan alamat IP pribadi dari server Windows yang sedang berjalan dan menyimpan alamat dalam variabel sementara. Pada langkah 5.1 dan 5.2, EC2 instance Windows yang berjalan dikumpulkan dari akun anak.
Fungsi Lambda membuat panggilan lain ke Systems Manager untuk mendapatkan informasi komputer yang terhubung. AWS Directory Service
AWS Systems Manager Dokumen membantu menjalankan PowerShell perintah di server Amazon EC2 Windows untuk mendapatkan alamat IP pribadi komputer yang terhubung ke AD. (Dokumen Systems Manager menggunakan ID instance yang diperoleh pada langkah 4.)
Nama pengguna dan kata sandi domain AD disimpan di AWS Systems Manager Parameter Store. AWS Lambda dan Systems Manager melakukan panggilan ke Parameter Store dan mendapatkan nilai nama pengguna dan kata sandi yang akan digunakan untuk terhubung ke AD.
Menggunakan dokumen Systems Manager, PowerShell skrip dijalankan di server Amazon EC2 Windows menggunakan id instance yang diperoleh sebelumnya di langkah 4.
Amazon EC2 terhubung AWS Directory Service dengan menggunakan PowerShell perintah dan menghapus komputer yang tidak digunakan atau tidak aktif.
Alat
AWS layanan
AWS Directory Servicemenyediakan beberapa cara untuk menggunakan Microsoft Active Directory (AD) dengan yang lain Layanan AWS seperti Amazon Elastic Compute Cloud (Amazon EC2), Amazon Relational Database Service (Amazon RDS) untuk SQL Server, dan FSx Amazon untuk Windows File Server.
AWS Directory Service for Microsoft Active Directorymemungkinkan beban kerja dan sumber daya yang sadar direktori Anda AWS untuk menggunakan Microsoft Active Directory di file. AWS Cloud
Amazon Elastic Compute Cloud (Amazon EC2) menyediakan kapasitas komputasi yang dapat diskalakan di. AWS Cloud Anda dapat meluncurkan server virtual sebanyak yang Anda butuhkan dan dengan cepat meningkatkannya ke atas atau ke bawah.
Amazon EventBridge adalah layanan bus acara tanpa server yang membantu Anda menghubungkan aplikasi Anda dengan data waktu nyata dari berbagai sumber. Misalnya, AWS Lambda fungsi, titik akhir pemanggilan HTTP menggunakan tujuan API, atau bus acara di tempat lain. Akun AWS
AWS Identity and Access Management (IAM) membantu Anda mengelola akses ke AWS sumber daya dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya. Dengan IAM, Anda dapat menentukan siapa atau apa yang dapat mengakses layanan dan sumber daya AWS, mengelola izin berbutir halus secara terpusat, dan menganalisis akses untuk menyempurnakan izin. AWS
AWS Lambdaadalah layanan komputasi yang membantu Anda menjalankan kode tanpa perlu menyediakan atau mengelola server. Ini menjalankan kode Anda hanya bila diperlukan dan skala secara otomatis, jadi Anda hanya membayar untuk waktu komputasi yang Anda gunakan.
AWS Systems Managermembantu Anda mengelola aplikasi dan infrastruktur yang berjalan di AWS Cloud. Ini menyederhanakan aplikasi dan manajemen sumber daya, mempersingkat waktu untuk mendeteksi dan menyelesaikan masalah operasional, dan membantu Anda mengelola AWS sumber daya Anda dengan aman dalam skala besar.
AWS Systems Manager dokumen menentukan tindakan yang dilakukan Systems Manager pada instans terkelola Anda. Systems Manager mencakup lebih dari 100 dokumen pra-konfigurasi yang dapat Anda gunakan dengan menentukan parameter di runtime.
AWS Systems Manager Parameter Store adalah kemampuan AWS Systems Manager dan menyediakan penyimpanan hierarkis yang aman untuk manajemen data konfigurasi dan manajemen rahasia.
Alat-alat lainnya
HashiCorp Terraform
adalah alat infrastruktur sebagai kode (IAc) yang membantu Anda menggunakan kode untuk menyediakan dan mengelola infrastruktur dan sumber daya cloud. PowerShell
adalah program manajemen otomatisasi dan konfigurasi Microsoft yang berjalan di Windows, Linux, dan macOS. Python adalah bahasa
pemrograman komputer tujuan umum.
Repositori kode
Kode untuk pola ini tersedia di repositori GitHub aws-lambda-ad-cleanup-terraform-samples
Praktik terbaik
Bergabung dengan domain secara otomatis.Saat Anda meluncurkan instance Windows yang akan menjadi bagian dari AWS Directory Service domain, bergabunglah dengan domain selama proses pembuatan instance alih-alih menambahkan instance secara manual nanti. Untuk bergabung dengan domain secara otomatis, pilih direktori yang benar dari daftar dropdown direktori Gabung Domain saat meluncurkan instance baru. Untuk detail selengkapnya, lihat Menggabungkan instans Amazon EC2 Windows dengan mulus ke Direktori AWS Managed Microsoft AD Aktif Anda di Panduan AWS Directory Service Administrasi.
Hapus akun yang tidak digunakan.Adalah umum untuk menemukan akun di AD yang belum pernah digunakan. Seperti akun yang dinonaktifkan atau tidak aktif yang tetap berada di sistem, akun yang tidak digunakan yang diabaikan dapat memperlambat sistem iklan Anda atau membuat organisasi Anda rentan terhadap pelanggaran data.
Otomatiskan pembersihan Direktori Aktif.Untuk membantu mengurangi risiko keamanan dan mencegah akun usang memengaruhi kinerja AD, lakukan pembersihan AD harus dilakukan secara berkala. Anda dapat menyelesaikan sebagian besar tugas manajemen dan pembersihan AD dengan menulis skrip. Contoh tugas termasuk menghapus akun yang dinonaktifkan dan tidak aktif, menghapus grup kosong dan tidak aktif, dan menemukan akun pengguna dan kata sandi yang kedaluwarsa.
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat peran lintas akun di akun anak. | Untuk membuat peran lintas akun di akun anak, lakukan hal berikut:
| DevOps insinyur |
Buat aturan acara di akun anak. | Untuk membuat EventBridge aturan untuk setiap akun anak, lakukan hal berikut:
Untuk detail selengkapnya, lihat Membuat aturan yang bereaksi terhadap peristiwa EventBridge di Amazon di Panduan EventBridge Pengguna Amazon. | DevOps insinyur |
Buat EC2 instance dan bergabunglah dengan AD. | Untuk membuat EC2 instance untuk Windows, lakukan hal berikut:
| DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat folder proyek dan tambahkan file. | Untuk mengkloning repositori dan membuat folder proyek, lakukan hal berikut:
| DevOps insinyur |
Membangun | Untuk mengompres
| DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Berikan nilai untuk variabel Terraform. | Untuk akun anak, berikan nilai untuk
| DevOps insinyur |
Inisialisasi konfigurasi Terraform. | Untuk menginisialisasi direktori kerja Anda yang berisi file Terraform, jalankan perintah berikut:
| DevOps insinyur |
Pratinjau perubahan. | Anda dapat melihat pratinjau perubahan yang akan dilakukan Terraform pada infrastruktur sebelum infrastruktur Anda diterapkan. Untuk memvalidasi bahwa Terraform akan membuat perubahan sesuai kebutuhan, jalankan perintah berikut:
| DevOps insinyur |
Jalankan tindakan yang diusulkan. | Untuk memverifikasi bahwa hasil dari
| DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Jalankan dan uji fungsi Lambda. | Untuk memverifikasi bahwa penerapan berhasil terjadi, lakukan hal berikut:
Hasil eksekusi menunjukkan output dari fungsi. | DevOps insinyur |
Lihat hasil eksekusi EventBridge aturan dari akun induk. | Untuk melihat hasil EventBridge aturan yang didasarkan pada peristiwa EC2 penghentian Amazon dari akun induk, lakukan hal berikut:
Di CloudWatch konsol, halaman Grup log menunjukkan hasil fungsi Lambda. | DevOps insinyur |
Lihat hasil eksekusi EventBridge aturan dari akun anak. | Untuk melihat hasil EventBridge aturan yang didasarkan pada peristiwa EC2 penghentian Amazon dari akun anak, lakukan hal berikut:
Di CloudWatch konsol, halaman Grup log menunjukkan hasil fungsi Lambda. | DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Bersihkan infrastruktur. | Untuk membersihkan infrastruktur yang Anda buat, gunakan perintah berikut:
Untuk mengkonfirmasi | DevOps insinyur |
Verifikasi setelah pembersihan. | Verifikasi bahwa sumber daya berhasil dihapus. | DevOps insinyur |
Pemecahan Masalah
| Isu | Solusi |
|---|---|
Masalah koneksi antara AWS Directory Service (akun induk) dan EC2 instans Amazon (akun anak) - Anda tidak dapat bergabung dengan komputer akun anak ke AD meskipun peering VPC tersedia. | Tambahkan perutean di. VPCs Untuk petunjuk, lihat Mengkonfigurasi koneksi peering VPC antara pemilik direktori dan akun konsumen direktori dalam dokumentasi. AWS Directory Service |
Sumber daya terkait
AWS dokumentasi
Sumber daya lainnya
AWS Penyedia
(dokumentasi Terraform) Konfigurasi Backend (dokumentasi
Terraform) Instal Terraform (dokumentasi
Terraform) Modul boto Python (repositori Indeks
Paket Python) Unduhan biner Terraform (dokumentasi
Terraform)