Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengotomatiskan pembuatan akun dengan menggunakan Akselerator Zona Landing di AWS
Justin Kuskowski, Joe Behrens, dan Nathan Scott, Amazon Web Services
Ringkasan
Pola ini menjelaskan cara menggunakan Landing Zone Accelerator pada AWS
Secara opsional, Anda dapat mengintegrasikan grup ID Microsoft Entra dan menetapkan set AWS IAM Identity Center izin selama proses pembuatan akun. Jika organisasi Anda menggunakan ID Microsoft Entra sebagai sumber identitas, fitur opsional ini membantu Anda mengelola dan mengonfigurasi akses ke akun baru secara otomatis.
Prasyarat dan batasan
Prasyarat
Akses ke akun manajemen di AWS Organizations
AWS Cloud Development Kit (AWS CDK) versi 2.118.0 atau yang lebih baru, diinstal dan dikonfigurasi
AWS Command Line Interface (AWS CLI) versi 2.13.19 atau yang lebih baru, diinstal
Akselerator Zona Pendaratan pada AWS solusi, digunakan di akun manajemen
(Opsional) Microsoft Entra ID dan IAM Identity Center, terintegrasi
Batasan
Alur kerja pembuatan akun mendukung eksekusi berurutan untuk menerapkan satu. Akun AWS Batasan ini memastikan bahwa alur kerja pembuatan akun telah berhasil diselesaikan tanpa harus bersaing untuk sumber daya selama proses paralel.
Arsitektur
Arsitektur target
Gambar berikut menunjukkan arsitektur tingkat tinggi untuk mengotomatisasi pembuatan baru Akun AWS dengan menggunakan Akselerator Zona Pendaratan aktif. AWS AWS Step Functions mengatur otomatisasi. Setiap tugas dalam alur kerja Step Functions dilakukan oleh satu atau beberapa AWS Lambda fungsi.

Diagram menunjukkan alur kerja berikut:
Pengguna meminta akun dengan menjalankan skrip Python atau dengan menggunakan Amazon API Gateway.
Alur kerja Orkestrator Pembuatan Akun dimulai pada. AWS Step Functions
Alur kerja memperbarui
account-config.yamlfile di repositori kode sumber. Ini juga memulai Akselerator Zona Pendaratan pada AWS pipa dan memeriksa status pipa. Pipeline ini membuat dan menyiapkan akun baru. Untuk informasi selengkapnya tentang cara kerjanya, lihat ikhtisar Arsitektur untuk Akselerator Zona Pendaratan. AWS(Opsional) Saat pipeline selesai, alur kerja memeriksa apakah grup ada di Microsoft Entra ID. Jika grup tidak ada di Microsoft Entra ID, alur kerja akan menambahkan grup ke Microsoft Entra ID.
Alur kerja melakukan langkah-langkah tambahan yang tidak dapat dilakukan oleh Landing Zone Accelerator pada AWS solusi. Langkah-langkah default meliputi:
Membuat alias akun di AWS Identity and Access Management (IAM)
Melampirkan tag ke akun di AWS Organizations
Membuat parameter di AWS Systems Manager Parameter Store berdasarkan tag yang ditetapkan ke akun
(Opsional) Alur kerja menetapkan satu atau beberapa set izin ke grup ID Microsoft Entra yang sebelumnya Anda tentukan. Set izin memungkinkan pengguna dalam grup untuk mengakses akun baru dan memungkinkan mereka untuk melakukan tindakan yang Anda konfigurasikan.
Sebuah AWS Lambda fungsi menjalankan tes QA dan validasi. Ini memvalidasi pembuatan sumber daya, memeriksa apakah tag telah dibuat, dan memvalidasi bahwa sumber daya keamanan telah digunakan.
Alur kerja merilis akun dan menggunakan Amazon Simple Email Service (Amazon SES) untuk memberi tahu pengguna bahwa proses telah berhasil diselesaikan.
Untuk informasi selengkapnya tentang alur kerja Step Functions, lihat diagram alur kerja Step Functions di bagian Informasi tambahan dari pola ini.
Aplikasi Microsoft Entra ID
Jika Anda memilih untuk mengintegrasikan dengan Microsoft Entra ID, Anda membuat dua aplikasi berikut ketika Anda menerapkan pola ini:
Aplikasi yang ditautkan ke IAM Identity Center dan memastikan bahwa grup ID Microsoft Entra tersedia di IAM Identity Center. Dalam contoh ini, aplikasi Microsoft Entra ID ini diberi nama
LZA2.Aplikasi yang memungkinkan fungsi Lambda untuk berkomunikasi dengan Microsoft Entra ID dan memanggil Microsoft Graph. APIs
Dalam pola ini, aplikasi ini diberi nama create_aws_account.
Aplikasi ini mengumpulkan data yang digunakan untuk menyinkronkan grup ID Microsoft Entra dan menetapkan set izin.
Alat
Layanan AWS
Amazon API Gateway membantu Anda membuat, menerbitkan, memelihara, memantau, dan mengamankan REST, HTTP, dan WebSocket APIs dalam skala apa pun. Dalam pola ini, Anda menggunakan API Gateway untuk memeriksa ketersediaan Akun AWS nama, memulai AWS Step Functions alur kerja, dan memeriksa status eksekusi Step Functions.
AWS Cloud Development Kit (AWS CDK)adalah kerangka pengembangan perangkat lunak yang membantu Anda menentukan dan menyediakan AWS Cloud infrastruktur dalam kode.
AWS Control Towermembantu Anda mengatur dan mengatur lingkungan AWS multi-akun, mengikuti praktik terbaik preskriptif.
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 Solusi ini menggunakan EventBridge aturan yang memulai fungsi Lambda jika status alur kerja Step Functions berubah menjadi
Failed,,Timed-outatau.AbortedAWS 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.
AWS IAM Identity Centermembantu Anda mengelola akses masuk tunggal (SSO) secara terpusat ke semua aplikasi Anda Akun AWS dan cloud.
AWS Key Management Service (AWS KMS) membantu Anda membuat dan mengontrol kunci kriptografi untuk membantu melindungi data Anda. Dalam pola ini, AWS KMS kunci digunakan untuk mengenkripsi data, seperti data yang disimpan di Amazon Simple Storage Service (Amazon S3), variabel lingkungan Lambda, dan data di Step Functions.
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 Organizationsadalah layanan manajemen akun yang membantu Anda mengkonsolidasikan beberapa Akun AWS ke dalam organisasi yang Anda buat dan kelola secara terpusat.
Amazon Simple Email Service (Amazon SES) membantu Anda mengirim dan menerima email dengan menggunakan alamat email dan domain Anda sendiri. Setelah akun baru berhasil dibuat, Anda menerima pemberitahuan melalui Amazon SES.
Amazon Simple Notification Service (Amazon SNS) membantu Anda mengoordinasikan dan mengelola pertukaran pesan antara penayang dan klien, termasuk server web dan alamat email. Jika terjadi kesalahan selama proses pembuatan akun, Amazon SNS mengirimkan pemberitahuan ke alamat email yang Anda konfigurasikan.
AWS Step Functionsadalah layanan orkestrasi tanpa server yang membantu Anda menggabungkan AWS Lambda fungsi dan lainnya Layanan AWS untuk membangun aplikasi bisnis yang penting.
AWS Systems Manager Parameter Store menyediakan penyimpanan hierarkis yang aman untuk manajemen data konfigurasi dan manajemen rahasia.
Alat lainnya
awscurl
mengotomatiskan proses penandatanganan permintaan AWS API dan membantu Anda membuat permintaan sebagai perintah curl standar. Microsoft Entra ID
, sebelumnya dikenal sebagai Azure Active Directory, adalah layanan manajemen identitas dan akses berbasis cloud. Microsoft Graph APIs
membantu Anda mengakses data dan intelijen di layanan cloud Microsoft, seperti Microsoft Entra dan Microsoft 365.
Repositori kode
Kode untuk pola ini tersedia di GitHub lza-account-creation-workflow
Direktori lambda_layer
account_creation_helper
- Lapisan ini mencakup modul untuk mengasumsikan peran dan memeriksa kemajuan dalam. AWS Service Catalog boto3
- Lapisan ini mencakup AWS SDK untuk Python (Boto3) modul untuk memastikan bahwa AWS Lambda memiliki versi terbaru. identity_center_helper
- Lapisan ini mendukung panggilan ke IAM Identity Center.
Direktori lambda_src berisi fungsi
AccountTagToSsmParameter
— Fungsi ini menggunakan tag yang dilampirkan ke akun untuk membuat parameter di Parameter Store. AWS Organizations Setiap parameter dimulai dengan /account/tags/awalan.AttachPermissionSet
— Fungsi ini menambahkan izin yang disetel ke grup Pusat Identitas IAM. Azure ADGroup Sync
- Fungsi ini menyinkronkan target grup Microsoft Entra ID ke IAM Identity Center. CheckForRunningProcesses
— Fungsi ini memeriksa apakah AWSAccelerator-Pipelinepipeline sedang berjalan. Jika pipeline sedang berjalan, fungsi menunda AWS Step Functions alur kerja.CreateAccount
— Fungsi ini menggunakan AWS Service Catalog dan AWS Control Tower membuat yang baru Akun AWS. CreateAdditionalResources
— Fungsi ini menciptakan AWS sumber daya yang tidak dikelola oleh Landing Zone Accelerator atau AWS CloudFormation, seperti alias akun dan AWS Service Catalog tag. GetAccountStatus
Fungsi ini memindai produk yang disediakan AWS Service Catalog untuk menentukan apakah proses pembuatan akun telah selesai. GetExecutionStatus
— Fungsi ini mengambil status AWS Step Functions eksekusi yang sedang berjalan atau selesai. NameAvailability
— Fungsi ini memeriksa apakah Akun AWS nama sudah ada di AWS Organizations. ReturnResponse
— Jika pembuatan akun berhasil, fungsi ini mengembalikan ID akun baru. Jika pembuatan akun tidak berhasil, ia mengembalikan pesan kesalahan. RunStepFunction
— Fungsi ini menjalankan AWS Step Functions alur kerja yang membuat akun. SendEmailWithSES
— Fungsi ini mengirimkan email ke pengguna yang menunggu pembuatan akun selesai. Validasi ADGroup SyncTo SSO
- Fungsi ini memeriksa apakah grup ID Microsoft Entra yang ditentukan disinkronkan dengan IAM Identity Center. ValidateResources
— Fungsi ini memvalidasi bahwa semua AWS Control Tower penyesuaian telah berjalan dengan sukses.
Praktik terbaik
Kami merekomendasikan konvensi penamaan berikut untuk: AWS CDK
Mulai semua parameter dengan
pawalan.Mulai semua kondisi dengan
cawalan.Mulai semua sumber daya dengan
rawalan.Mulai semua output dengan
oawalan.
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Siapkan Akselerator Zona Pendaratan AWS untuk penyesuaian. |
| AWS DevOps |
Bersiaplah untuk menyebarkan | Sekarang, Anda menyesuaikan solusi untuk menerapkan peran
| AWS DevOps |
Bersiaplah untuk menyebarkan | Sekarang, Anda menyesuaikan solusi untuk menerapkan peran
| AWS DevOps |
Bersiaplah untuk menyebarkan | Sekarang, Anda menyesuaikan solusi untuk menerapkan peran
| AWS DevOps |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat aplikasi yang memungkinkan fungsi Lambda untuk berkomunikasi dengan Microsoft Entra ID. |
| ID Microsoft Entra |
Ambil nilai untuk | Sekarang, Anda mengambil nilai-nilai yang Anda butuhkan untuk
| ID Microsoft Entra |
Buat aplikasi yang mengintegrasikan Microsoft Entra ID dengan IAM Identity Center. | Di pusat admin Microsoft Entra ID, daftarkan | ID Microsoft Entra |
Ambil nilai untuk | Sekarang, Anda mengambil nilai-nilai yang Anda butuhkan untuk
| ID Microsoft Entra |
Buat rahasia. |
| AWS DevOps |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Kloning kode sumber. |
| DevOps insinyur |
Perbarui |
| AWS DevOps |
Terapkan solusi di AWS lingkungan Anda. |
catatanSolusi ini menggunakan bucket Amazon S3 untuk menyimpan kode sumber untuk solusi ini. Anda dapat menggunakan skrip upload_to_source_bucket.py | AWS DevOps |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Identifikasi argumen mana yang akan digunakan. | Pilih argumen mana yang akan digunakan saat Anda menjalankan skrip Python yang memulai alur kerja Step Functions. Untuk daftar lengkap argumen, lihat bagian Informasi tambahan dari pola ini. | AWS DevOps, Python |
Mulai skrip Python. |
| DevOps insinyur, Python |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Siapkan variabel untuk awscurl. |
| AWS DevOps |
Periksa ketersediaan nama. | Masukkan perintah berikut untuk memverifikasi bahwa nama tersebut tersedia untuk Akun AWS. Ganti
| AWS DevOps |
Jalankan alur kerja pembuatan akun. |
| AWS DevOps |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Hapus objek dari ember Amazon S3. | Hapus objek apa pun di bucket Amazon S3 berikut:
| AWS DevOps |
Hapus CloudFormation tumpukan. | Masukkan perintah berikut untuk menghapus CloudFormation tumpukan:
| AWS DevOps |
Hapus pipa. | Masukkan perintah berikut untuk menghapus
| AWS DevOps |
Sumber daya terkait
Akselerator Zona Pendaratan AWS
aktif (Perpustakaan AWS Solusi)
Informasi tambahan
Diagram alur kerja Step Functions
Gambar berikut menunjukkan status dalam alur kerja Step Functions.

Argumen
Berikut ini adalah argumen yang dapat Anda gunakan ketika Anda menjalankan script Python yang memulai alur kerja Step Functions.
Argumen berikut diperlukan:
account-name (-a)(string) — Nama yang baru Akun AWS.support-dl (-s)(string) — Alamat email yang menerima pemberitahuan saat proses pembuatan akun selesai.managed-org-unit (-m)(string) — Unit organisasi terkelola (OU) yang akan berisi akun baru.
Argumen berikut adalah opsional:
ad-integration (-ad)(kamus string) - Grup ID Microsoft Entra dan set izin yang ditetapkan. Berikut ini adalah contoh bagaimana menggunakan argumen ini:--ad-integration "{\"<PermissionSetName>\": \"<EntraIdGroupName>\"}"account-email (-e)(string) — Alamat email untuk pengguna root yang baru Akun AWS.catatan
Jika argumen ini tidak digunakan, alamat email akan dihasilkan dengan menggunakan nilai
rootEmailPrefixdanrootEmailDomaindariconfigs/deploy-config.yamlfile. Jika alamat email tidak diberikan, alamat email dibuat dengan menggunakan format berikut:rootEmailPrefix+accountName@rootEmailDomainregion (-r)(string) - Wilayah AWS Tempat alur kerja Step Functions digunakan. Nilai default-nya adalahus-east-1.force-update (-f)(string Boolean) - MasukkantrueAWS Service Catalog untuk memaksa memperbarui produk yang disediakan.bypass-creation (-b)(string Boolean) - Masukkantrueuntuk memotong menambahkan akun keaccounts-config.yamlfile dan melewati menjalankan pipeline.AWSAccelerator-PipelineArgumen ini biasanya digunakan untuk menguji proses alur kerja pembuatan akun atau untuk menjalankan langkah-langkah Step Functions lainnya jika terjadi kesalahan dalamLanding Zone Acceleratorpipeline.tags (-t)(string) — Tag tambahan yang ingin Anda tambahkan ke Akun AWS. Secara default, tag berikut ditambahkan:account-name,support-dl, danpurpose. Berikut ini adalah contoh bagaimana menggunakan argumen ini:--tags TEST1=VALUE1 TEST2=VALUE2