Menyiapkan peringatan untuk penutupan akun terprogram di AWS Organizations - AWS Prescriptive Guidance

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

Menyiapkan peringatan untuk penutupan akun terprogram di AWS Organizations

Richard Milner-Watts, Debojit Bhadra, dan Manav Yadav, Amazon Web Services

Ringkasan

CloseAccount API untuk AWS Organizations memungkinkan Anda menutup akun anggota dalam organisasi secara terprogram, tanpa harus masuk ke akun dengan kredensyal root. RemoveAccountFromOrganization API menarik akun keluar dari organisasi di AWS Organizations, sehingga menjadi akun mandiri.

Ini APIs berpotensi meningkatkan jumlah operator yang dapat menutup atau menghapus akun AWS. Semua pengguna yang memiliki akses ke organisasi melalui AWS Identity and Access Management (IAM) di akun manajemen AWS Organizations dapat memanggil ini APIs, jadi akses tidak terbatas pada pemilik email root akun dengan perangkat autentikasi multi-faktor (MFA) terkait.

Pola ini menerapkan peringatan ketika CloseAccount dan RemoveAccountFromOrganization APIs dipanggil, sehingga Anda dapat memantau kegiatan ini. Untuk peringatan, ia menggunakan topik Amazon Simple Notification Service (Amazon SNS). Anda juga dapat mengatur notifikasi Slack melalui webhook.

Prasyarat dan batasan

Prasyarat

  • Akun AWS yang aktif

  • Organisasi di AWS Organizations

  • Akses ke akun manajemen organisasi, di bawah akar organisasi, untuk membuat sumber daya yang diperlukan

Batasan

  • Seperti yang dijelaskan dalam referensi AWS Organizations CloseAccount API, API hanya mengizinkan 10 persen akun anggota aktif ditutup dalam periode 30 hari bergulir.

  • Ketika akun AWS ditutup, statusnya diubah menjadi SUSPEND. Selama 90 hari setelah transisi status ini, AWS Support dapat membuka kembali akun. Setelah 90 hari akun dihapus secara permanen.

  • Pengguna yang memiliki akses ke akun manajemen AWS Organizations dan APIs mungkin juga memiliki izin untuk menonaktifkan peringatan ini. Jika perhatian utama adalah perilaku jahat alih-alih penghapusan yang tidak disengaja, pertimbangkan untuk melindungi sumber daya yang dibuat oleh pola ini dengan batas izin IAM.

  • API memanggil CloseAccount dan RemoveAccountFromOrganization diproses di Wilayah AS Timur (Virginia N.) (us-east-1). Oleh karena itu, Anda harus menggunakan solusi ini untuk mengamati peristiwa. us-east-1

Arsitektur

Tumpukan teknologi target

  • AWS Organizations

  • AWS CloudTrail

  • Amazon EventBridge

  • AWS Lambda

  • Amazon SNS

Arsitektur target

Diagram berikut menunjukkan arsitektur solusi untuk pola ini.

Arsitektur untuk menyiapkan peringatan di AWS Organizations untuk penutupan akun
  1. AWS Organizations memproses RemoveAccountFromOrganization permintaan CloseAccount atau permintaan.

  2. Amazon EventBridge terintegrasi dengan AWS CloudTrail untuk mengirimkan peristiwa ini ke bus acara default.

  3. EventBridge Aturan Amazon khusus cocok dengan permintaan AWS Organizations dan memanggil fungsi AWS Lambda.

  4. Fungsi Lambda mengirimkan pesan ke topik SNS, yang pengguna dapat berlangganan untuk peringatan email atau pemrosesan lebih lanjut.

  5. Jika pemberitahuan Slack diaktifkan, fungsi Lambda mengirimkan pesan ke webhook Slack.

Alat

Layanan AWS

  • AWS CloudFormation menyediakan cara untuk memodelkan kumpulan AWS terkait dan sumber daya pihak ketiga, menyediakannya dengan cepat dan konsisten, dan mengelolanya sepanjang siklus hidupnya, dengan memperlakukan infrastruktur sebagai kode.

  • Amazon EventBridge adalah layanan bus acara tanpa server yang dapat Anda gunakan untuk menghubungkan aplikasi Anda dengan data dari berbagai sumber. EventBridge menerima peristiwa, indikator perubahan lingkungan, dan menerapkan aturan untuk merutekan acara ke target. Aturan mencocokkan peristiwa dengan target berdasarkan struktur peristiwa, yang disebut pola peristiwa, atau sesuai jadwal.

  • AWS Lambda adalah layanan komputasi yang mendukung menjalankan kode tanpa menyediakan atau mengelola server. Lambda menjalankan kode Anda hanya bila diperlukan dan menskalakan secara otomatis, dari beberapa permintaan setiap hari hingga ribuan setiap detik. Anda hanya membayar untuk waktu komputasi yang Anda konsumsi. Tidak ada biaya ketika kode Anda tidak berjalan.

  • AWS Organizations membantu Anda mengelola dan mengatur lingkungan secara terpusat saat Anda menumbuhkan dan menskalakan sumber daya AWS Anda. Dengan AWS Organizations, Anda dapat membuat akun AWS baru secara terprogram dan mengalokasikan sumber daya, mengelompokkan akun untuk mengatur alur kerja Anda, menerapkan kebijakan ke akun atau grup untuk tata kelola, dan menyederhanakan penagihan dengan menggunakan satu metode pembayaran untuk semua akun Anda.

  • AWS CloudTrail memantau dan mencatat aktivitas akun di seluruh infrastruktur AWS Anda, dan memberi Anda kendali atas tindakan penyimpanan, analisis, dan remediasi.

  • Amazon Simple Notification Service (Amazon SNS) adalah layanan pesan yang dikelola sepenuhnya untuk komunikasi (A2A) application-to-application dan (A2P) application-to-person.

Alat-alat lainnya

Kode

Kode untuk pola ini terletak di repositori GitHub AWS Account Closer Notifier.

Solusinya mencakup CloudFormation template yang menyebarkan arsitektur untuk pola ini. Ini menggunakan AWS Lambda Powertools untuk pustaka Python untuk menyediakan pencatatan dan penelusuran.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Luncurkan CloudFormation template untuk tumpukan solusi.

CloudFormation Template untuk pola ini ada di cabang utama GitHub repositori. Ini menyebarkan peran IAM, EventBridge aturan, fungsi Lambda, dan topik SNS.

Untuk meluncurkan template:

  1. Kloning GitHub repositori untuk mendapatkan salinan kode solusi.

  2. Buka AWS Management Console untuk akun manajemen AWS Organizations.

  3. Pilih Wilayah AS Timur (Virginia Utara) (us-east-1), lalu buka CloudFormation konsol.

  4. Buat tumpukan dengan menggunakan account-closure-notifier.yml template dan menentukan nilai-nilai berikut:  

    • Nama tumpukan: aws-account-closure-notifier-stack 

    • ResourcePrefixparameter: aws-account-closure-notifier

    • SlackNotificationparameter: Jika pemberitahuan Slack diperlukan, ubah pengaturan ini menjaditrue.

    • SlackWebhookEndpointparameter: Jika pemberitahuan Slack diperlukan, tentukan URL webhook.

Untuk informasi selengkapnya tentang meluncurkan CloudFormation tumpukan, lihat dokumentasi AWS.

Administrator AWS

Verifikasi bahwa solusi telah berhasil diluncurkan.

  1. Tunggu CloudFormation tumpukan mencapai status CREATE_COMPLETE.

  2. Buka EventBridge konsol dius-east-1.

  3. Verifikasi bahwa aturan baru telah dibuat dengan nama tersebutaws-account-closure-notifier-event-rule.

Administrator AWS

Berlangganan topik SNS.

(Opsional) Jika Anda ingin berlangganan topik SNS:

  1. Buka konsol Amazon SNS dius-east-1, dan temukan topik bernama. aws-account-closure-notifier-sns-topic

  2. Pilih nama topik, lalu pilih Buat langganan.

  3. Untuk Protokol, pilih Email.

  4. Untuk Endpoint, tentukan alamat email yang akan menerima notifikasi, lalu pilih Buat langganan.

  5. Periksa kotak masuk email Anda untuk mengetahui pesan dari AWS Notifications. Gunakan tautan di email ini untuk mengonfirmasi langganan.

Untuk informasi selengkapnya tentang menyiapkan notifikasi SNS, lihat dokumentasi Amazon SNS.

Administrator AWS
TugasDeskripsiKeterampilan yang dibutuhkan

Kirim acara pengujian ke bus acara default.

GitHub Repositori menyediakan contoh peristiwa yang dapat Anda kirim ke bus acara EventBridge default untuk pengujian. EventBridge Aturan juga bereaksi terhadap peristiwa yang menggunakan sumber account.closure.notifier peristiwa khusus.

catatan

Anda tidak dapat menggunakan sumber CloudTrail acara untuk mengirim acara ini, karena tidak mungkin mengirim acara sebagai layanan AWS.

Untuk mengirim acara pengujian:

  1. Buka EventBridge konsol dius-east-1.

  2. Di panel navigasi, di bawah Bus, pilih bus acara, lalu pilih bus acara default.

  3. Pilih Kirim acara.

  4. Untuk sumber Acara, masukkanaccount.closure.notifier.

  5. Untuk tipe Detail, masukkanAWS API Call via CloudTrail.

  6. Untuk detail Acara, salin dan tempel isi tests/dummy-event.json dari GitHub repositori ke dalam kotak teks.

  7. Pilih Kirim untuk memulai alur kerja notifikasi.

Administrator AWS

Verifikasi bahwa notifikasi email telah diterima.

Periksa kotak pesan yang berlangganan topik SNS untuk pemberitahuan. Anda harus menerima email dengan rincian akun yang ditutup dan prinsipal yang melakukan panggilan API.

Administrator AWS

Verifikasi bahwa pemberitahuan Slack telah diterima.

(Opsional) Jika Anda menentukan URL webhook untuk SlackWebhookEndpoint parameter saat Anda menerapkan CloudFormation template, periksa saluran Slack yang dipetakan ke webhook. Ini harus menampilkan pesan dengan detail akun yang ditutup dan prinsipal yang melakukan panggilan API.

Administrator AWS

Sumber daya terkait