Mengotomatiskan pembuatan akun dengan menggunakan Akselerator Zona Landing di AWS - AWS Prescriptive Guidance

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 solusi untuk secara otomatis menerapkan baru Akun AWS ketika pengguna yang berwenang mengirimkan permintaan. Ini digunakan AWS Step Functions untuk mengatur sejumlah fungsi. AWS Lambda Fungsi Lambda menambahkan informasi akun ke repositori Git, memulai AWS CodePipeline pipeline, dan memvalidasi bahwa sumber daya yang diperlukan disediakan. AWS Ketika proses selesai, pengguna menerima pemberitahuan bahwa akun telah dibuat.

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

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.

Alur kerja untuk mengotomatiskan pembuatan akun baru dengan menggunakan Landing Zone Accelerator di AWS.

Diagram menunjukkan alur kerja berikut:

  1. Pengguna meminta akun dengan menjalankan skrip Python atau dengan menggunakan Amazon API Gateway.

  2. Alur kerja Orkestrator Pembuatan Akun dimulai pada. AWS Step Functions

  3. Alur kerja memperbarui account-config.yaml file 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

  4. (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.

  5. Alur kerja melakukan langkah-langkah tambahan yang tidak dapat dilakukan oleh Landing Zone Accelerator pada AWS solusi. Langkah-langkah default meliputi:

  6. (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.

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

  8. 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 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 menjadiFailed,, Timed-out atau. Aborted

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

  • 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-workflowrepositori.

Direktori lambda_layer berisi lapisan berikut, yang direferensikan dalam lebih dari satu fungsi Lambda:

Direktori lambda_src berisi fungsi Lambda berikut:

  • 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-Pipeline pipeline 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.

  • GetAccountStatusFungsi 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 p awalan.

  • Mulai semua kondisi dengan c awalan.

  • Mulai semua sumber daya dengan r awalan.

  • Mulai semua output dengan o awalan.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Siapkan Akselerator Zona Pendaratan AWS untuk penyesuaian.

  1. Di Landing Zone Accelerator pada repositori AWS kode, buat file bernama. customizations-config.yaml Anda menggunakan file ini untuk menentukan kustomisasi untuk solusi inti. Untuk informasi selengkapnya, lihat Menyesuaikan solusinya.

  2. Dalam customizations-config.yaml file, buat bagian yang disebutcloudFormationStacks.

AWS DevOps

Bersiaplah untuk menyebarkan lza-account-creation-validation peran.

Sekarang, Anda menyesuaikan solusi untuk menerapkan peran lza-account-creation-validation IAM di semua akun selain akun manajemen. Peran ini menyediakan fungsi ValidateResources Lambda dengan akses hanya-baca ke akun baru.

  1. Unduh account-creation-validation-rolefile.yaml dari file. GitHub

  2. Simpan file ke lokasi yang ditunjukkan di bagian templat customizations-config.yaml file.

  3. Buka file customizations-config.yaml.

  4. Di cloudFormationStacks bagian ini, tambahkan kode berikut. Perbarui target Wilayah AWS sesuai kebutuhan untuk landing zone Anda:

    - deploymentTargets: organizationalUnits: - Root excludedAccounts: - Management description: IAM Role to allow Account Validation name: lza-account-creation-validation regions: - us-east-1 template: cloudformation/account-creation-validation-role.yaml runOrder: 1 terminationProtection: true parameters: - name: pManagementAccountId value: "{{ account Management }}"
  5. Simpan dan tutup file customizations-config.yaml.

AWS DevOps

Bersiaplah untuk menyebarkan account-tagging-to-ssm-parameter-role peran.

Sekarang, Anda menyesuaikan solusi untuk menerapkan peran account-tagging-to-ssm-parameter-role IAM di semua akun selain akun manajemen. Peran ini digunakan untuk membuat parameter di AWS Systems Manager Parameter Store.

  1. Unduh file account-tagging-to-ssm-parameter-role.yaml dari. GitHub

  2. Simpan file ke lokasi yang ditunjukkan di bagian templat customizations-config.yaml file.

  3. Buka file customizations-config.yaml.

  4. Di cloudFormationStacks bagian ini, tambahkan kode berikut. Perbarui target Wilayah AWS sesuai kebutuhan untuk landing zone Anda:

    - deploymentTargets: organizationalUnits: - Root excludedAccounts: - Management description: IAM Role to create SSM Parameters based on Account Tagging name: lza-account-tagging-to-ssm-parameter regions: - us-east-1 template: cloudformation/account-tagging-to-ssm-parameter-role.yaml runOrder: 1 terminationProtection: true parameters: - name: pManagementAccountId value: "{{ account Management }}"
  5. Simpan dan tutup file customizations-config.yaml.

AWS DevOps

Bersiaplah untuk menyebarkan config-log-validation-role peran.

Sekarang, Anda menyesuaikan solusi untuk menerapkan peran config-log-validation-role IAM di akun arsip log. Peran ini memungkinkan fungsi ValidateResources Lambda mengakses bucket Amazon S3 untuk aturan logging dan akses. AWS Config

  1. Unduh config-log-validation-rolefile.yaml dari file. GitHub

  2. Simpan file ke lokasi yang ditunjukkan di bagian templat customizations-config.yaml file.

  3. Buka file customizations-config.yaml.

  4. Di cloudFormationStacks bagian ini, tambahkan kode berikut. Perbarui target Wilayah AWS sesuai kebutuhan untuk landing zone Anda:

    - deploymentTargets: accounts: - LogArchive description: IAM Role to validate Config and Logs name: lza-config-log-validation-role regions: - us-east-1 template: cloudformation/config-log-validation-role.yaml runOrder: 1 terminationProtection: true parameters: - name: pManagementAccountId value: "{{ account Management }}"
  5. Simpan, tutup, dan komit perubahan yang dibuat pada customizations-config.yaml file.

AWS DevOps
TugasDeskripsiKeterampilan yang dibutuhkan

Buat aplikasi yang memungkinkan fungsi Lambda untuk berkomunikasi dengan Microsoft Entra ID.

  1. Di pusat admin Microsoft Entra ID, daftarkan create_aws_account aplikasi. Untuk petunjuk, lihat Mendaftarkan aplikasi di dokumentasi Microsoft.

  2. Ikuti petunjuk di Perbarui izin yang diminta aplikasi dalam dokumentasi Microsoft untuk mengonfigurasi izin Microsoft Graph berikut untuk aplikasi: create_aws_account

ID Microsoft Entra

Ambil nilai untuk create_aws_account aplikasi.

Sekarang, Anda mengambil nilai-nilai yang Anda butuhkan untuk create_aws_account aplikasi.

  1. Di pusat admin Microsoft Entra ID, navigasikan ke Pendaftaran aplikasi, lalu pilih. create_aws_account

  2. Di panel kiri, pilih Ikhtisar.

  3. Pada halaman Ikhtisar, catat nilai-nilai berikut:

    • ID Aplikasi (klien)

    • ID Direktori (penyewa)

  4. Di panel kiri, di bawah Kelola, pilih Sertifikat & rahasia.

  5. Pada halaman Sertifikat & Rahasia, pilih tab Rahasia klien, lalu catat nilai-nilai berikut:

    • Nilai rahasia klien

    • ID rahasia klien

ID Microsoft Entra

Buat aplikasi yang mengintegrasikan Microsoft Entra ID dengan IAM Identity Center.

Di pusat admin Microsoft Entra ID, daftarkan LZA2 aplikasi. Untuk petunjuk, lihat Mendaftarkan aplikasi di dokumentasi Microsoft.

ID Microsoft Entra

Ambil nilai untuk LZA2 aplikasi.

Sekarang, Anda mengambil nilai-nilai yang Anda butuhkan untuk LZA2 aplikasi.

  1. Di pusat admin Microsoft Entra ID, navigasikan ke aplikasi Enterprise, lalu pilihLZA2.

  2. Di panel kiri, pilih Ikhtisar.

  3. Pada halaman Ikhtisar, catat nilai-nilai berikut:

    • Nama

    • ID Objek

  4. Di panel kiri, di bawah Kelola, pilih Manifest.

  5. Di file JSON, di appRoles bagian ini, cari peran aplikasi bernamaUser.

  6. Catat id nilai untuk peran aplikasi ini.

ID Microsoft Entra

Buat rahasia.

  1. Dalam AWS CLI, masukkan perintah berikut untuk membuat variabel. Gunakan nilai yang Anda ambil untuk LZA2 aplikasi create_aws_account dan:

    # Variables for create_aws_account app TENANT_ID='<Directory ID>' CLIENT_ID='<Application ID>' SECRET_ID='<Client secret ID>' SECRET_VALUE='<Client secret value>' # Variables for LZA2 app OBJECT_ID='<Object ID>' APP_ROLE_ID='<App role ID>' ENTERPRISE_APP_NAME='<Name>'
  2. Masukkan perintah berikut untuk membuat rahasia bernama GraphApiSecret AWS Secrets Manager:

    aws secretsmanager create-secret \ --name GraphApiSecret \ --secret-string "{\"client_id\": \"${CLIENT_ID}\", \"tenant_id\": \"${TENANT_ID}\", \"object_id\": \"${OBJECT_ID}\", \"app_role_id\": \"${APP_ROLE_ID}\", \"secret_value\": \"${SECRET_VALUE}\", \"secret_id\": \"${SECRET_ID}\"}"

    Jika Anda perlu memperbarui rahasia di masa depan, Anda dapat memperbarui variabel dan menjalankan perintah berikut:

    aws secretsmanager update-secret \ --secret-id GraphApiSecret \ --secret-string "{\"client_id\": \"${CLIENT_ID}\", \"tenant_id\": \"${TENANT_ID}\", \"object_id\": \"${OBJECT_ID}\", \"app_role_id\": \"${APP_ROLE_ID}\", \"secret_value\": \"${SECRET_VALUE}\", \"secret_id\": \"${SECRET_ID}\"}"
AWS DevOps
TugasDeskripsiKeterampilan yang dibutuhkan

Kloning kode sumber.

  1. Masukkan perintah berikut untuk mengkloning lza-account-creation-workflowrepositori:

    git clone https://github.com/aws-samples/lza-account-creation-workflow
  2. Masukkan perintah berikut untuk menavigasi ke config direktori repositori kloning:

    cd lza-account-creation-workflow/config
DevOps insinyur

Perbarui deploy-config.yaml file.

  1. Buka file deploy-config.yaml.

  2. Tinjau template dan perbarui nilai yang diperlukan untuk penerapan di AWS lingkungan Anda. Misalnya, perbarui nilai untuk yang berikut ini:

    • accountCreationFailure

    • accountCompletionFromEmail

    • ssoLoginUrl

    • rootEmailPrefix

    • rootEmailDomain

  3. Jika Anda berintegrasi dengan Microsoft Entra ID, lakukan hal berikut:

    • Atur enableAzureADIntegration ke true.

    • Untuk graphApiSecretName nilai, masukkan rahasia yang Anda buat sebelumnya (GraphApiSecret).

  4. Simpan dan tutup file deploy-config.yaml.

AWS DevOps

Terapkan solusi di AWS lingkungan Anda.

  1. Masukkan perintah berikut:

    cdk bootstrap <account-number>/<Region>

    Untuk informasi selengkapnya, lihat Bootstrapping di dokumentasi. AWS CDK

  2. Masukkan perintah berikut untuk mensintesis CloudFormation template:

    cdk synth

    Untuk informasi selengkapnya, lihat Mengkonfigurasi dan melakukan sintesis AWS CDK tumpukan dalam AWS CDK dokumentasi.

  3. Masukkan perintah berikut untuk menyebarkan solusi.

    cdk deploy

    Untuk informasi selengkapnya, lihat Menerapkan AWS CDK aplikasi dalam AWS CDK dokumentasi.

catatan

Solusi ini menggunakan bucket Amazon S3 untuk menyimpan kode sumber untuk solusi ini. Anda dapat menggunakan skrip upload_to_source_bucket.py untuk membuat arsip kode sumber dan mengunggah versi yang diperbarui.

AWS DevOps
TugasDeskripsiKeterampilan 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.

  1. Masukkan perintah berikut untuk menavigasi ke repositori kloning:

    cd lza-account-creation-workflow
  2. Jalankan skrip Python yang memulai alur kerja Step Functions. Berikut ini adalah contoh perintah yang mencakup contoh argumen dan nilai-nilai:

    python ./run-stepfunction.py \ --account-name "lza-test-01" \ --support-dl "johnsmith@example.com" \ --managed-org-unit "Workloads/Workload-1" \ --purpose "Testing new micro service" \ --force-update true \ --ad-integration "{\"CustomerAccountAdmin\": \"platform-admin\", \"CustomerAccountDev\": \"workload1-app1\"}" \ --bypass-creation true \ --tags APPLICATION=TestingMicroService
  3. Tunggu hingga Anda menerima pemberitahuan bahwa akun telah berhasil dibuat.

    catatan

    Jika proses pembuatan akun gagal, Amazon SNS mengirimkan pemberitahuan ke alamat email yang Anda tentukan accountCreationFailure dalam file. deploy-config.yaml Pemohon akun tidak diberitahu.

DevOps insinyur, Python
TugasDeskripsiKeterampilan yang dibutuhkan

Siapkan variabel untuk awscurl.

  1. Masukkan perintah berikut untuk menavigasi ke direktori kode sumber:

    cd lza-account-creation-workflow
  2. Masukkan perintah berikut untuk mengatur variabel kunci AWS akses. Anda dapat menyalin variabel dari portal AWS akses dan kemudian menempelkannya ke dalam shell. Berikut ini adalah contohnya:

    export AWS_ACCESS_KEY_ID="<id>" export AWS_SECRET_ACCESS_KEY="<key>" export AWS_SESSION_TOKEN="<token>"
  3. Masukkan perintah berikut untuk mengatur panggilan API Wilayah AWS untuk:

    export AWS_REGION=$(aws configure get region)
  4. Masukkan perintah berikut untuk mengambil titik akhir API Gateway dari output: lza-account-creation-workflow-application CloudFormation

    export API_GATEWAY_ENDPOINT=$(aws cloudformation describe-stacks --stack-name "lza-account-creation-workflow-application" --query 'Stacks[*].Outputs[?OutputKey==`oApiGatewayCreateAccountEndpoint`].OutputValue' --output text)
AWS DevOps

Periksa ketersediaan nama.

Masukkan perintah berikut untuk memverifikasi bahwa nama tersebut tersedia untuk Akun AWS. Ganti <AWS_ACCOUNT_NAME> dengan nama akun target:

awscurl --service execute-api \ --region ${AWS_REGION} \ --access_key ${AWS_ACCESS_KEY_ID} \ --secret_key ${AWS_SECRET_ACCESS_KEY} \ --security_token ${AWS_SESSION_TOKEN} \ -X POST ${API_GATEWAY_ENDPOINT}check_name?account_name=<AWS_ACCOUNT_NAME>
AWS DevOps

Jalankan alur kerja pembuatan akun.

  1. Di folder root repositori kloning, buka file. api_example.json

  2. Perbarui parameter dengan nilai konfigurasi Anda:

    { "account_name": "lza-test-01", "account_email": "johnsmith+lzatest01@example.com", "support_dl": "johnsmith@example.com", "managed_org_unit": "Workloads/Workload-1", "ad_integration": [ { "PermissionSetName": "CustomerAccountAdmin", "ActiveDirectoryGroupName": "platform-admin" }, { "PermissionSetName": "CustomerAccountDev", "ActiveDirectoryGroupName": "workload1-app1" } ], "force_update": "true", "bypass_creation": "false", "account_tags": [ { "Key": "Environment", "Value": "Dev" }, { "Key": "DeploymentMethod", "Value": "ApiGateway" } ] }
  3. Simpan dan tutup file api_example.json.

  4. Masukkan perintah berikut untuk memulai alur kerja Step Functions:

    awscurl --service execute-api \ --data @api-example.json \ --region ${AWS_REGION} \ --access_key ${AWS_ACCESS_KEY_ID} \ --secret_key ${AWS_SECRET_ACCESS_KEY} \ --security_token ${AWS_SESSION_TOKEN} \ -X POST ${API_GATEWAY_ENDPOINT}execute
  5. Pada output dari perintah sebelumnya, catat eksekusi Step Functions Amazon Resource Name (ARN).

  6. Jika Anda ingin memeriksa status alur kerja Step Functions, masukkan perintah berikut. Ganti <STEP_FUNCTION_EXECUTION_NAME> dengan eksekusi Step Functions ARN atau nama:

    awscurl --service execute-api \ --region ${AWS_REGION} \ --access_key ${AWS_ACCESS_KEY_ID} \ --secret_key ${AWS_SECRET_ACCESS_KEY} \ --security_token ${AWS_SESSION_TOKEN} \ -X GET ${API_GATEWAY_ENDPOINT}get_execution_status?execution=<STEP_FUNCTION_EXECUTION_NAME>
  7. Tunggu hingga Anda menerima pemberitahuan bahwa akun telah berhasil dibuat.

    catatan

    Jika proses pembuatan akun gagal, Amazon SNS mengirimkan pemberitahuan ke alamat email yang Anda tentukan accountCreationFailure dalam file. deploy-config.yaml Pemohon akun tidak diberitahu.

AWS DevOps
TugasDeskripsiKeterampilan yang dibutuhkan

Hapus objek dari ember Amazon S3.

Hapus objek apa pun di bucket Amazon S3 berikut:

  • lza-account-creation-work-<CDK_UNIQUE_ID>

  • lza-account-creation-workflow-src-<AWS_REGION>-<AWS_ACCOUNT>

  • lza-account-creation-workflow-<AWS_REGION>-<AWS_ACCOUNT>

AWS DevOps

Hapus CloudFormation tumpukan.

Masukkan perintah berikut untuk menghapus CloudFormation tumpukan:

aws cloudformation delete-stack \ --stack-name lza-account-creation-workflow-application aws cloudformation wait stack-delete-complete \ --stack-name lza-account-creation-workflow-application
AWS DevOps

Hapus pipa.

Masukkan perintah berikut untuk menghapus lza-account-creation-workflow-pipeline pipeline:

cdk destroy lza-account-creation-workflow-pipeline --force
AWS DevOps

Sumber daya terkait

Informasi tambahan

Diagram alur kerja Step Functions

Gambar berikut menunjukkan status dalam alur kerja Step Functions.

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 rootEmailPrefix dan rootEmailDomain dari configs/deploy-config.yaml file. Jika alamat email tidak diberikan, alamat email dibuat dengan menggunakan format berikut: rootEmailPrefix+accountName@rootEmailDomain

  • region (-r)(string) - Wilayah AWS Tempat alur kerja Step Functions digunakan. Nilai default-nya adalah us-east-1.

  • force-update (-f)(string Boolean) - Masukkan true AWS Service Catalog untuk memaksa memperbarui produk yang disediakan.

  • bypass-creation (-b)(string Boolean) - Masukkan true untuk memotong menambahkan akun ke accounts-config.yaml file dan melewati menjalankan pipeline. AWSAccelerator-Pipeline Argumen ini biasanya digunakan untuk menguji proses alur kerja pembuatan akun atau untuk menjalankan langkah-langkah Step Functions lainnya jika terjadi kesalahan dalam Landing Zone Accelerator pipeline.

  • 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