

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
<a name="enforce-required-tag-keys-iac"></a>

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.

**Topics**
+ [Menegakkan dengan CloudFormation](#enforce-with-cloudformation)
+ [Menegakkan dengan Terraform](#enforce-with-terraform)
+ [Menegakkan dengan Pulumi](#enforce-with-pulumi)

## Menegakkan dengan CloudFormation
<a name="enforce-with-cloudformation"></a>

**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”](orgs_manage_policies_tag-policies-report-tagging-compliance.md#reporting-required-tag-key) 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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html#registry-public-enable-execution-role) 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 ](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/grant-iam-permissions-for-hooks.html) 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

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

1. 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](https://aws.amazon.com/blogs/devops/deploy-cloudformation-hooks-to-an-organization-with-service-managed-stacksets/) 

 *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](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/proactive-controls-hooks-activate-hooks.html) di akun Anda. 

## Menegakkan dengan Terraform
<a name="enforce-with-terraform"></a>

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](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/guides/tag-policy-compliance). 

## Menegakkan dengan Pulumi
<a name="enforce-with-pulumi"></a>

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](https://www.pulumi.com/docs/insights/policy/integrations/aws-organizations-tag-policies/#aws-organizations-tag-policies). 