Menerapkan “Kunci tag yang diperlukan” dengan IAc - AWS Organizations

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

Menerapkan “Kunci tag yang diperlukan” dengan IAc

Kebijakan tag membantu Anda mempertahankan penandaan yang konsisten di seluruh infrastruktur sebagai penerapan kode (IAc). Dengan “Kunci tag yang diperlukan”, Anda dapat memastikan bahwa semua sumber daya yang dibuat melalui alat IAc seperti CloudFormation, Terraform, dan Pulumi menyertakan tag wajib yang ditentukan oleh organisasi Anda.

Kemampuan ini memeriksa penerapan IAC Anda terhadap kebijakan tag organisasi Anda sebelum sumber daya dibuat. Jika penerapan tidak memiliki tag yang diperlukan, Anda dapat mengonfigurasi setelan IAC untuk memperingatkan tim pengembangan atau mencegah penyebaran sepenuhnya. Pendekatan proaktif ini mempertahankan kepatuhan penandaan sejak sumber daya dibuat, daripada membutuhkan remediasi manual nanti. Penegakan ini bekerja di beberapa alat IAC menggunakan definisi kebijakan tag tunggal, sehingga tidak perlu mengonfigurasi aturan penandaan terpisah untuk setiap alat yang digunakan organisasi Anda.

Menegakkan dengan CloudFormation

catatan

Untuk menerapkan kunci tag yang diperlukan CloudFormation, Anda harus menentukan tag yang diperlukan untuk jenis sumber daya Anda dalam kebijakan tag. Lihat Pelaporan untuk “Kunci tag yang diperlukan” bagian untuk detail lebih lanjut.

Pengaturan Peran Eksekusi untuk AWS:::TagPolicies: TaggingComplianceValidator Hook

Sebelum mengaktifkan AWS::TagPolicies::TaggingComplianceValidator hook, Anda harus membuat peran eksekusi yang digunakan hook untuk mengakses AWS layanan. Peran tersebut harus memiliki Kebijakan Kepercayaan berikut yang melekat padanya:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "resources.cloudformation.amazonaws.com", "hooks.cloudformation.amazonaws.com" ] }, "Action": [ "sts:AssumeRole" ] } ] }

Peran eksekusi juga harus memiliki Kebijakan Peran dengan setidaknya izin berikut:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "tag:ListRequiredTags" ], "Resource": "*" } ] }

Untuk informasi selengkapnya tentang menyiapkan peran eksekusi untuk ekstensi publik, lihat Mengonfigurasi peran eksekusi dengan izin IAM dan kebijakan kepercayaan untuk akses ekstensi publik di CloudFormation Panduan Pengguna.

Aktifkan AWS::TagPolicies: TaggingComplianceValidator Hook

penting

Sebelum melanjutkan, verifikasi bahwa Anda memiliki izin yang diperlukan untuk bekerja dengan Hooks dan melihat kontrol proaktif dari konsol. CloudFormation Untuk informasi selengkapnya, lihat Memberikan izin IAM untuk CloudFormation Hooks.

Setelah memperbarui kebijakan tag, Anda harus mengaktifkan AWS::TagPolicies::TaggingComplianceValidator hook di setiap AWS akun dan Wilayah tempat Anda ingin menerapkan kepatuhan penandaan yang diperlukan.

Hook AWS-managed ini dapat dikonfigurasi dalam dua mode:

  • Mode peringatan: Memungkinkan penerapan untuk melanjutkan tetapi menghasilkan peringatan ketika tag yang diperlukan tidak ada

  • Mode gagal: Memblokir penerapan yang tidak memiliki tag yang diperlukan

Untuk mengaktifkan hook menggunakan AWS CLI:

aws cloudformation activate-type \ --type HOOK \ --type-name AWS::TagPolicies::TaggingComplianceValidator \ --execution-role-arn arn:aws:iam::123456789012:role/MyHookExecutionRole \ --publisher-id aws-hooks \ --region us-east-1
aws cloudformation set-type-configuration \ --configuration '{"CloudFormationConfiguration":{"HookConfiguration":{"HookInvocationStatus": "ENABLED", "FailureMode": "WARN", "TargetOperations": ["STACK"], "Properties":{}}}}' \ --type-arn "arn:aws:cloudformation:us-east-1:123456789012:type/hook/AWS-TagPolicies-TaggingComplianceValidator" \ --region us-east-1

Ganti region dengan AWS wilayah target Anda, dan ubah "FailureMode":"FAIL" ke "FailureMode":"WARN" jika Anda lebih suka mode peringatan.

Aktifkan AWS:TagPolicies:: TaggingComplianceValidator Hubungkan beberapa akun dan Wilayah dengan CloudFormation StackSets

Untuk organisasi dengan beberapa AWS akun, Anda dapat menggunakannya AWS CloudFormation StackSets untuk mengaktifkan hook kepatuhan penandaan di semua akun dan Wilayah Anda secara bersamaan.

CloudFormation StackSets memungkinkan Anda untuk menyebarkan CloudFormation template yang sama ke beberapa akun dan Wilayah dengan satu operasi. Pendekatan ini memastikan penegakan penandaan yang konsisten di seluruh AWS organisasi Anda tanpa memerlukan konfigurasi manual di setiap akun.

Untuk digunakan CloudFormation StackSets untuk tujuan ini:

  1. Buat CloudFormation template yang mengaktifkan hook kepatuhan penandaan

  2. Terapkan templat menggunakan CloudFormation StackSets untuk menargetkan unit organisasi atau akun tertentu Anda

  3. Tentukan semua Wilayah di mana Anda ingin penegakan hukum diaktifkan

CloudFormation StackSets Penerapan akan secara otomatis menangani proses aktivasi di semua akun dan Wilayah yang ditentukan, memastikan kepatuhan penandaan yang seragam di seluruh organisasi Anda. Untuk mempelajari cara menerapkan CloudFormation Hooks ke Organisasi yang dikelola layanan CloudFormation StackSets, lihat blog ini.AWS

Terapkan CloudFormation templat di bawah ini CloudFormation StackSets untuk mengaktifkan AWS:::TagPolicies: TaggingComplianceValidator Hook untuk akun di organisasi Anda.

penting

Hook ini hanya berfungsi sebagai StackHook. Ini tidak berpengaruh ketika digunakan sebagai pengait sumber daya.

Resources: # Activate the AWS-managed hook type HookTypeActivation: Type: AWS::CloudFormation::TypeActivation Properties: AutoUpdate: True PublisherId: "AWS" TypeName: "AWS::TagPolicies::TaggingComplianceValidator" # Configure the hook HookTypeConfiguration: Type: AWS::CloudFormation::HookTypeConfig DependsOn: HookTypeActivation Properties: TypeName: "AWS::TagPolicies::TaggingComplianceValidator" TypeArn: !GetAtt HookTypeActivation.Arn Configuration: !Sub | { "CloudFormationConfiguration": { "HookConfiguration": { "TargetStacks": "ALL", "TargetOperations": ["STACK"], "Properties": {}, "FailureMode": "Warn", "TargetFilters": { "Actions": [ "CREATE", "UPDATE" ]} } } }
catatan

Untuk informasi selengkapnya tentang menjalankan CloudFormation hook, lihat Mengaktifkan Hook berbasis kontrol proaktif di akun Anda.

Menegakkan dengan Terraform

Untuk menerapkan kunci tag yang diperlukan dengan Terraform, Anda perlu memperbarui Penyedia Terraform Anda ke 6.22.0 atau lebih tinggi dan mengaktifkan validasi kebijakan tag dalam konfigurasi AWS penyedia Anda. Untuk detail implementasi dan contoh konfigurasi, lihat dokumentasi AWS Penyedia Terraform tentang penegakan kebijakan tag.

Menegakkan dengan Pulumi

Untuk menerapkan kunci tag yang diperlukan dengan Pulumi, Anda harus mengaktifkan paket kebijakan Pelaporan Kebijakan Tag di Pulumi Cloud dan mengonfigurasi peran IAM Anda dengan izin baca kebijakan tag. Untuk detail implementasi dan contoh konfigurasi, lihat dokumentasi Pulumi tentang penegakan kebijakan tag.