

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

# Keamanan di Image Builder
<a name="image-builder-security"></a>

Keamanan cloud di AWS adalah prioritas tertinggi. Sebagai AWS pelanggan, Anda mendapat manfaat dari pusat data dan arsitektur jaringan yang dibangun untuk memenuhi persyaratan organisasi yang paling sensitif terhadap keamanan.

Keamanan adalah tanggung jawab bersama antara Anda AWS dan Anda. [Model tanggung jawab bersama](https://aws.amazon.com/compliance/shared-responsibility-model/) menjelaskan hal ini sebagai keamanan *dari* cloud dan keamanan *dalam* cloud:
+ **Keamanan cloud** — AWS bertanggung jawab untuk melindungi infrastruktur yang berjalan Layanan AWS di AWS Cloud. AWS juga memberi Anda layanan yang dapat Anda gunakan dengan aman. Auditor pihak ketiga secara teratur menguji dan memverifikasi efektivitas keamanan kami sebagai bagian dari [Program AWS Kepatuhan Program AWS Kepatuhan](https://aws.amazon.com/compliance/programs/) . Untuk mempelajari tentang program kepatuhan yang berlaku untuk EC2 Image Builder, [Layanan AWS lihat di Cakupan oleh Layanan AWS Program Kepatuhan](https://aws.amazon.com/compliance/services-in-scope/) .
+ **Keamanan di cloud** — Tanggung jawab Anda ditentukan oleh AWS layanan yang Anda gunakan. Anda juga bertanggung jawab atas faktor lain, yang mencakup sensitivitas data Anda, persyaratan perusahaan Anda, serta undang-undang dan peraturan yang berlaku. 

Dokumentasi ini membantu Anda memahami cara menerapkan model tanggung jawab bersama saat menggunakan Image Builder. Topik berikut menunjukkan cara mengonfigurasi Image Builder untuk memenuhi tujuan keamanan dan kepatuhan Anda. Anda juga mempelajari cara menggunakan Layanan AWS yang lain yang membantu Anda memantau dan mengamankan sumber daya Image Builder Anda. 

**Topics**
+ [Perlindungan data dan model tanggung jawab AWS bersama di Image Builder](data-protection.md)
+ [Integrasi Identity and Access Management untuk Image Builder](security-iam.md)
+ [Validasi kepatuhan untuk Image Builder](compliance.md)
+ [Redundansi dan ketahanan data di Image Builder](disaster-recovery-resiliency.md)
+ [Keamanan infrastruktur di Image Builder](infrastructure-security.md)
+ [Manajemen Patch untuk gambar Image Builder](security-patch-management.md)
+ [Praktik keamanan terbaik untuk Image Builder](security-best-practices.md)

# Perlindungan data dan model tanggung jawab AWS bersama di Image Builder
<a name="data-protection"></a>

[Model tanggung jawab AWS bersama model](https://aws.amazon.com/compliance/shared-responsibility-model/) berlaku untuk perlindungan data di EC2 Image Builder. Seperti yang dijelaskan dalam model AWS ini, bertanggung jawab untuk melindungi infrastruktur global yang menjalankan semua AWS Cloud. Anda bertanggung jawab untuk mempertahankan kendali atas konten yang di-host pada infrastruktur ini. Anda juga bertanggung jawab atas tugas-tugas konfigurasi dan manajemen keamanan untuk Layanan AWS yang Anda gunakan. Lihat informasi yang lebih lengkap tentang privasi data dalam [Pertanyaan Umum Privasi Data](https://aws.amazon.com/compliance/data-privacy-faq/). Lihat informasi tentang perlindungan data di Eropa di pos blog [Model Tanggung Jawab Bersama dan GDPR AWS](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) di *Blog Keamanan AWS *.

Untuk tujuan perlindungan data, kami menyarankan Anda melindungi Akun AWS kredensil dan mengatur pengguna individu dengan AWS IAM Identity Center atau AWS Identity and Access Management (IAM). Dengan cara itu, setiap pengguna hanya diberi izin yang diperlukan untuk memenuhi tanggung jawab tugasnya. Kami juga menyarankan supaya Anda mengamankan data dengan cara-cara berikut:
+ Gunakan autentikasi multi-faktor (MFA) pada setiap akun.
+ Gunakan SSL/TLS untuk berkomunikasi dengan AWS sumber daya. Kami mensyaratkan TLS 1.2 dan menganjurkan TLS 1.3.
+ Siapkan API dan pencatatan aktivitas pengguna dengan AWS CloudTrail. Untuk informasi tentang penggunaan CloudTrail jejak untuk menangkap AWS aktivitas, lihat [Bekerja dengan CloudTrail jejak](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html) di *AWS CloudTrail Panduan Pengguna*.
+ Gunakan solusi AWS enkripsi, bersama dengan semua kontrol keamanan default di dalamnya Layanan AWS.
+ Gunakan layanan keamanan terkelola tingkat lanjut seperti Amazon Macie, yang membantu menemukan dan mengamankan data sensitif yang disimpan di Amazon S3.
+ Jika Anda memerlukan modul kriptografi tervalidasi FIPS 140-3 saat mengakses AWS melalui antarmuka baris perintah atau API, gunakan titik akhir FIPS. Lihat informasi selengkapnya tentang titik akhir FIPS yang tersedia di [Standar Pemrosesan Informasi Federal (FIPS) 140-3](https://aws.amazon.com/compliance/fips/).

Kami sangat merekomendasikan agar Anda tidak pernah memasukkan informasi identifikasi yang sensitif, seperti nomor rekening pelanggan Anda, ke dalam tanda atau bidang isian bebas seperti bidang **Nama**. Ini termasuk saat Anda bekerja dengan Image Builder atau lainnya Layanan AWS menggunakan konsol, API AWS CLI, atau AWS SDKs. Data apa pun yang Anda masukkan ke dalam tanda atau bidang isian bebas yang digunakan untuk nama dapat digunakan untuk log penagihan atau log diagnostik. Saat Anda memberikan URL ke server eksternal, kami sangat menganjurkan supaya Anda tidak menyertakan informasi kredensial di dalam URL untuk memvalidasi permintaan Anda ke server itu.

## Enkripsi dan manajemen kunci di Image Builder
<a name="ib-encryption"></a>

Image Builder mengenkripsi data saat transit dan diam secara default dengan kunci KMS milik layanan, kecuali untuk yang berikut ini:
+ **Komponen khusus** - Image Builder mengenkripsi komponen kustom dengan kunci KMS default Anda, atau kunci KMS milik layanan.
+ **Alur kerja gambar** - Image Builder dapat mengenkripsi alur kerja gambar Anda dengan kunci yang dikelola pelanggan jika Anda menentukan kunci selama pembuatan alur kerja. Image Builder menangani enkripsi dan dekripsi dengan kunci Anda untuk menjalankan alur kerja yang telah Anda konfigurasi untuk gambar Anda.

Anda dapat mengelola kunci Anda sendiri melalui AWS KMS. Namun, Anda tidak memiliki izin untuk mengelola kunci KMS Image Builder yang dimiliki oleh Image Builder. Untuk informasi selengkapnya tentang mengelola kunci KMS AWS Key Management Service, lihat [Memulai](https://docs.aws.amazon.com/kms/latest/developerguide/getting-started.html) di Panduan AWS Key Management Service Pengembang.

**Konteks enkripsi**  
Untuk memberikan pemeriksaan integritas dan keaslian tambahan pada data terenkripsi Anda, Anda memiliki opsi untuk menyertakan [konteks enkripsi](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) saat mengenkripsi data. Ketika sumber daya dienkripsi dengan konteks enkripsi, secara AWS KMS kriptografis mengikat konteks ke ciphertext. Sumber daya hanya dapat didekripsi jika pemohon memberikan kecocokan yang tepat dan peka huruf besar/kecil untuk konteksnya.

Contoh kebijakan di bagian ini menggunakan konteks enkripsi yang menyerupai Amazon Resource Name (ARN) sumber daya alur kerja Image Builder.

### Enkripsi alur kerja gambar dengan kunci terkelola pelanggan
<a name="ib-workflow-encrypt-cmk"></a>

Untuk menambahkan lapisan perlindungan, Anda dapat mengenkripsi sumber daya alur kerja Image Builder dengan kunci terkelola pelanggan Anda sendiri. Jika Anda menggunakan kunci terkelola pelanggan untuk mengenkripsi alur kerja Image Builder yang Anda buat, Anda harus memberikan akses dalam kebijakan kunci agar Image Builder menggunakan kunci Anda saat mengenkripsi dan mendekripsi sumber daya alur kerja. Anda dapat mencabut akses kapan saja. Namun, Image Builder tidak akan memiliki akses ke alur kerja apa pun yang sudah dienkripsi jika Anda mencabut akses ke kunci.

Proses untuk memberikan akses Image Builder untuk menggunakan kunci terkelola pelanggan Anda memiliki dua langkah, sebagai berikut:

**Langkah 1: Tambahkan izin kebijakan utama untuk alur kerja Image Builder**  
Untuk mengaktifkan Image Builder mengenkripsi dan mendekripsi sumber daya alur kerja saat membuat atau menggunakan alur kerja tersebut, Anda harus menentukan izin dalam kebijakan kunci KMS.

Contoh kebijakan kunci ini memberikan akses ke pipeline Image Builder untuk mengenkripsi sumber daya alur kerja selama proses pembuatan, dan mendekripsi sumber daya alur kerja untuk menggunakannya. Kebijakan ini juga memberikan akses kepada administrator kunci. Konteks enkripsi dan spesifikasi sumber daya menggunakan wildcard untuk mencakup semua Wilayah tempat Anda memiliki sumber daya alur kerja.

Sebagai prasyarat untuk menggunakan alur kerja gambar, Anda membuat peran eksekusi alur kerja IAM yang memberikan izin bagi Image Builder untuk menjalankan tindakan alur kerja. Prinsipal untuk pernyataan pertama yang ditampilkan dalam contoh kebijakan kunci di sini harus menentukan peran eksekusi alur kerja IAM Anda.

Untuk informasi selengkapnya tentang kunci yang dikelola pelanggan, lihat [Mengelola akses ke kunci yang dikelola pelanggan](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) di *Panduan AWS Key Management Service Pengembang*.

------
#### [ JSON ]

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "Allow access to build images with encrypted workflow",
			"Effect": "Allow",
			"Principal": {
				"AWS": "arn:aws:iam::111122223333:role/YourImageBuilderExecutionRole"
			},
			"Action": [
				"kms:Decrypt",
				"kms:GenerateDataKey"
			],
			"Resource": "*",
			"Condition": {
				"StringLike": {
					"kms:EncryptionContext:aws:imagebuilder:arn": "arn:aws:imagebuilder:*:111122223333:workflow/*"
				}
			}
		},
		{
			"Sid": "Allow access for key administrators",
			"Effect": "Allow",
			"Principal": {
				"AWS": "arn:aws:iam::111122223333:root"
			},
			"Action": [
				"kms:*"
			],
			"Resource": "arn:aws:kms:*:111122223333:key/*"
		}
	]
}
```

------

**Langkah 2: Berikan akses kunci ke peran eksekusi alur kerja Anda**  
Peran IAM yang Image Builder asumsikan untuk menjalankan alur kerja Anda memerlukan izin untuk menggunakan kunci terkelola pelanggan Anda. Tanpa akses ke kunci Anda, Image Builder tidak akan dapat mengenkripsi atau mendekripsi sumber daya alur kerja Anda dengannya.

Edit kebijakan untuk peran eksekusi alur kerja Anda untuk menambahkan pernyataan kebijakan berikut.

------
#### [ JSON ]

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "AllowAccessToWorkflowKey",
			"Effect": "Allow",
			"Action": [
				"kms:Decrypt",
				"kms:GenerateDataKey"
			],
			"Resource": "arn:aws:kms:us-west-2:111122223333:key/key_ID",
			"Condition": {
				"StringLike": {
					"kms:EncryptionContext:aws:imagebuilder:arn": "arn:aws:imagebuilder:*:111122223333:workflow/*"
				}
			}
		}
	]
}
```

------

### AWS CloudTrail acara untuk alur kerja gambar
<a name="ib-workflow-cloudtrail-examples"></a>

Contoh berikut menunjukkan AWS CloudTrail entri tipikal untuk mengenkripsi dan mendekripsi alur kerja gambar yang disimpan dengan kunci yang dikelola pelanggan.

**Contoh: GenerateDataKey**  
Contoh ini menunjukkan seperti apa CloudTrail peristiwa saat Image Builder memanggil aksi AWS KMS **GenerateDataKey** API dari tindakan Image Builder **CreateWorkflow** API. Image Builder harus mengenkripsi alur kerja baru sebelum membuat sumber daya alur kerja.

```
{
	"eventVersion": "1.08",
	"userIdentity": {
		"type": "AssumedRole",
		"principalId": "PRINCIPALID1234567890:workflow-role-name",
		"arn": "arn:aws:sts::111122223333:assumed-role/Admin/workflow-role-name",
		"accountId": "111122223333",
		"accessKeyId": "AKIAIOSFODNN7EXAMPLE",
		"sessionContext": {
			"sessionIssuer": {
				"type": "Role",
				"principalId": "PRINCIPALID1234567890",
				"arn": "arn:aws:iam::111122223333:role/Admin",
				"accountId": "111122223333",
				"userName": "Admin"
			},
			"webIdFederationData": {},
			"attributes": {
				"creationDate": "2023-11-21T20:29:31Z",
				"mfaAuthenticated": "false"
			}
		},
		"invokedBy": "imagebuilder.amazonaws.com"
	},
	"eventTime": "2023-11-21T20:31:03Z",
	"eventSource": "kms.amazonaws.com",
	"eventName": "GenerateDataKey",
	"awsRegion": "us-west-2",
	"sourceIPAddress": "imagebuilder.amazonaws.com",
	"userAgent": "imagebuilder.amazonaws.com",
	"requestParameters": {
		"encryptionContext": {
			"aws:imagebuilder:arn": "arn:aws:imagebuilder:us-west-2:111122223333:workflow/build/sample-encrypted-workflow/1.0.0/*",
			"aws-crypto-public-key": "key value"
		},
		"keyId": "arn:aws:kms:us-west-2:111122223333:alias/ExampleKMSKey",
		"numberOfBytes": 32
	},
	"responseElements": null,
	"requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa",
	"eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
	"readOnly": true,
	"resources": [
		{
			"accountId": "111122223333",
			"type": "AWS::KMS::Key",
			"ARN": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLEzzzzz"
		}
	],
	"eventType": "AwsApiCall",
	"managementEvent": true,
	"recipientAccountId": "111122223333",
	"eventCategory": "Management"
}
```

**Contoh: Dekripsi**  
Contoh ini menunjukkan seperti apa CloudTrail peristiwa saat Image Builder memanggil aksi AWS KMS **Decrypt** API dari tindakan Image Builder **GetWorkflow** API. Pipeline Image Builder perlu mendekripsi sumber daya alur kerja sebelum mereka dapat menggunakannya.

```
{
	"eventVersion": "1.08",
	"userIdentity": {
		"type": "AssumedRole",
		"principalId": "PRINCIPALID1234567890:workflow-role-name",
		"arn": "arn:aws:sts::111122223333:assumed-role/Admin/workflow-role-name",
		"accountId": "111122223333",
		"accessKeyId": "AKIAIOSFODNN7EXAMPLE",
		"sessionContext": {
			"sessionIssuer": {
				"type": "Role",
				"principalId": "PRINCIPALID1234567890",
				"arn": "arn:aws:iam::111122223333:role/Admin",
				"accountId": "111122223333",
				"userName": "Admin"
			},
			"webIdFederationData": {},
			"attributes": {
				"creationDate": "2023-11-21T20:29:31Z",
				"mfaAuthenticated": "false"
			}
		},
		"invokedBy": "imagebuilder.amazonaws.com"
	},
	"eventTime": "2023-11-21T20:34:25Z",
	"eventSource": "kms.amazonaws.com",
	"eventName": "Decrypt",
	"awsRegion": "us-west-2",
	"sourceIPAddress": "imagebuilder.amazonaws.com",
	"userAgent": "imagebuilder.amazonaws.com",
	"requestParameters": {
		"keyId": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLEzzzzz",
		"encryptionAlgorithm": "SYMMETRIC_DEFAULT",
		"encryptionContext": {
			"aws:imagebuilder:arn": "arn:aws:imagebuilder:us-west-2:111122223333:workflow/build/sample-encrypted-workflow/1.0.0/*",
			"aws-crypto-public-key": "ABC123def4567890abc12345678/90dE/F123abcDEF+4567890abc123D+ef1=="
		}
	},
	"responseElements": null,
	"requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb",
	"eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
	"readOnly": true,
	"resources": [
		{
			"accountId": "111122223333",
			"type": "AWS::KMS::Key",
			"ARN": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLEzzzzz"
		}
	],
	"eventType": "AwsApiCall",
	"managementEvent": true,
	"recipientAccountId": "111122223333",
	"eventCategory": "Management"
}
```

## Penyimpanan data di Image Builder
<a name="ib-data-storage"></a>

Image Builder tidak menyimpan log Anda di layanan. Semua log disimpan di instans Amazon EC2 Anda yang digunakan untuk membuat gambar, atau di log otomatisasi Systems Manager Anda.

## Privasi Lalu Lintas Antar Jaringan di Image Builder
<a name="image-builder-internetwork"></a>

Koneksi diamankan antara Image Builder dan lokasi lokal, antara AZs dalam AWS Wilayah, dan antar AWS Wilayah melalui HTTPS. Tidak ada koneksi langsung antar akun.

# Integrasi Identity and Access Management untuk Image Builder
<a name="security-iam"></a>

**Topics**
+ [Audiens](#security-iam-audience)
+ [Mengautentikasi dengan identitas](#security-iam-authentication)
+ [Cara Image Builder bekerja dengan kebijakan dan peran IAM](security_iam_service-with-iam.md)
+ [Kelola perimeter data untuk akses unduhan bucket S3 di Image Builder](security-iam-data-perimeter.md)
+ [Kebijakan berbasis identitas Image Builder](security-iam-identity-based-policies.md)
+ [Izin IAM untuk alur kerja khusus](#security-iam-custom-workflows)
+ [Kebijakan berbasis sumber daya Image Builder](#security-iam-resource-based-policies)
+ [Menggunakan kebijakan AWS terkelola untuk EC2 Image Builder](security-iam-awsmanpol.md)
+ [Menggunakan peran terkait layanan IAM untuk Image Builder](image-builder-service-linked-role.md)
+ [Memecahkan masalah IAM di Image Builder](security_iam_troubleshoot.md)

## Audiens
<a name="security-iam-audience"></a>

Cara Anda menggunakan AWS Identity and Access Management (IAM) berbeda berdasarkan peran Anda:
+ **Pengguna layanan** - minta izin dari administrator Anda jika Anda tidak dapat mengakses fitur (lihat [Memecahkan masalah IAM di Image Builder](security_iam_troubleshoot.md))
+ **Administrator layanan** - tentukan akses pengguna dan mengirimkan permintaan izin (lihat [Cara Image Builder bekerja dengan kebijakan dan peran IAM](security_iam_service-with-iam.md))
+ **Administrator IAM** - tulis kebijakan untuk mengelola akses (lihat [Kebijakan berbasis identitas Image Builder](security_iam_service-with-iam.md#security_iam_id-based-policy-examples))

## Mengautentikasi dengan identitas
<a name="security-iam-authentication"></a>

Untuk informasi terperinci tentang cara menyediakan otentikasi bagi orang dan proses di dalam Anda Akun AWS, lihat [Identitas](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) di Panduan Pengguna *IAM*. 

# Cara Image Builder bekerja dengan kebijakan dan peran IAM
<a name="security_iam_service-with-iam"></a>

Sebelum Anda menggunakan IAM untuk mengelola akses ke Image Builder, pelajari fitur IAM yang tersedia untuk digunakan dengan Image Builder.

Untuk mendapatkan tampilan tingkat tinggi tentang cara kerja Image Builder dan AWS layanan lainnya dengan sebagian besar fitur IAM, lihat [AWS layanan yang bekerja dengan IAM di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) *IAM*.

## Kebijakan berbasis identitas untuk Image Builder
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Mendukung kebijakan berbasis identitas**: Ya

Kebijakan berbasis identitas adalah dokumen kebijakan izin JSON yang dapat Anda lampirkan ke sebuah identitas, seperti pengguna IAM, grup pengguna IAM, atau peran IAM. Kebijakan ini mengontrol jenis tindakan yang dapat dilakukan oleh pengguna dan peran, di sumber daya mana, dan berdasarkan kondisi seperti apa. Untuk mempelajari cara membuat kebijakan berbasis identitas, lihat [Tentukan izin IAM kustom dengan kebijakan terkelola pelanggan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dalam *Panduan Pengguna IAM*.

Dengan kebijakan berbasis identitas IAM, Anda dapat menentukan secara spesifik apakah tindakan dan sumber daya diizinkan atau ditolak, serta kondisi yang menjadi dasar dikabulkan atau ditolaknya tindakan tersebut. Untuk mempelajari semua elemen yang dapat Anda gunakan dalam kebijakan JSON, lihat [Referensi elemen kebijakan JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) dalam *Panduan Pengguna IAM*.

### Contoh kebijakan berbasis identitas untuk Image Builder
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Untuk melihat contoh kebijakan berbasis identitas Image Builder, lihat. [Kebijakan berbasis identitas Image Builder](#security_iam_id-based-policy-examples)

## Kebijakan berbasis sumber daya dalam Image Builder
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Mendukung kebijakan berbasis sumber daya**: Ya

Kebijakan berbasis sumber daya adalah dokumen kebijakan JSON yang Anda lampirkan ke sumber daya. Contoh kebijakan berbasis sumber daya adalah *kebijakan kepercayaan peran* IAM dan *kebijakan bucket* Amazon S3. Dalam layanan yang mendukung kebijakan berbasis sumber daya, administrator layanan dapat menggunakannya untuk mengontrol akses ke sumber daya tertentu. Untuk sumber daya tempat kebijakan dilampirkan, kebijakan menentukan tindakan apa yang dapat dilakukan oleh principal tertentu pada sumber daya tersebut dan dalam kondisi apa. Anda harus [menentukan principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dalam kebijakan berbasis sumber daya. Prinsipal dapat mencakup akun, pengguna, peran, pengguna federasi, atau. Layanan AWS

Untuk mengaktifkan akses lintas akun, Anda dapat menentukan secara spesifik seluruh akun atau entitas IAM di akun lain sebagai principal dalam kebijakan berbasis sumber daya. Untuk informasi selengkapnya, lihat [Akses sumber daya lintas akun di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dalam *Panduan Pengguna IAM*.

## Tindakan kebijakan untuk Image Builder
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Mendukung tindakan kebijakan:** Ya

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana **utama** dapat melakukan **tindakan** pada **sumber daya**, dan dalam **kondisi apa**.

Elemen `Action` dari kebijakan JSON menjelaskan tindakan yang dapat Anda gunakan untuk mengizinkan atau menolak akses dalam sebuah kebijakan. Sertakan tindakan dalam kebijakan untuk memberikan izin untuk melakukan operasi terkait.



Untuk melihat daftar tindakan Image Builder, lihat [Tindakan yang ditentukan oleh EC2 Image](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2imagebuilder.html#amazonec2imagebuilder-actions-as-permissions) Builder di Referensi *Otorisasi Layanan*.

Tindakan kebijakan di Image Builder menggunakan awalan berikut sebelum tindakan:

```
imagebuilder
```

Untuk menetapkan secara spesifik beberapa tindakan dalam satu pernyataan, pisahkan tindakan tersebut dengan koma.

```
"Action": [
	"imagebuilder:action1",
	"imagebuilder:action2"
	]
```





Untuk melihat contoh kebijakan berbasis identitas Image Builder, lihat. [Kebijakan berbasis identitas Image Builder](#security_iam_id-based-policy-examples)

## Sumber daya kebijakan untuk Image Builder
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Mendukung sumber daya kebijakan:** Ya

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana **utama** dapat melakukan **tindakan** pada **sumber daya**, dan dalam **kondisi apa**.

Elemen kebijakan JSON `Resource` menentukan objek yang menjadi target penerapan tindakan. Praktik terbaiknya, tentukan sumber daya menggunakan [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Untuk tindakan yang tidak mendukung izin di tingkat sumber daya, gunakan wildcard (\$1) untuk menunjukkan bahwa pernyataan tersebut berlaku untuk semua sumber daya.

```
"Resource": "*"
```

Untuk melihat daftar jenis sumber daya Image Builder dan jenisnya ARNs, lihat Sumber [daya yang ditentukan oleh EC2 Image](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2imagebuilder.html#amazonec2imagebuilder-resources-for-iam-policies) Builder di Referensi *Otorisasi Layanan*. Untuk mempelajari tindakan mana yang dapat Anda tentukan ARN dari setiap sumber daya, lihat [Tindakan yang ditentukan oleh EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2imagebuilder.html#amazonec2imagebuilder-actions-as-permissions) Image Builder.

Untuk melihat contoh kebijakan berbasis identitas Image Builder, lihat. [Kebijakan berbasis identitas Image Builder](#security_iam_id-based-policy-examples)

## Kunci kondisi kebijakan untuk Image Builder
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Mendukung kunci kondisi kebijakan khusus layanan:** Yes

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, **principal** dapat melakukan **tindakan** pada suatu **sumber daya**, dan dalam suatu **syarat**.

Elemen `Condition` menentukan ketika pernyataan dieksekusi berdasarkan kriteria yang ditetapkan. Anda dapat membuat ekspresi bersyarat yang menggunakan [operator kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), misalnya sama dengan atau kurang dari, untuk mencocokkan kondisi dalam kebijakan dengan nilai-nilai yang diminta. Untuk melihat semua kunci kondisi AWS global, lihat [kunci konteks kondisi AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) di *Panduan Pengguna IAM*.

Untuk melihat daftar kunci kondisi Image Builder, lihat [Kunci kondisi untuk EC2 Image](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2imagebuilder.html#amazonec2imagebuilder-policy-keys) Builder di Referensi *Otorisasi Layanan*. Untuk mempelajari tindakan dan sumber daya yang dapat Anda gunakan kunci kondisi, lihat [Tindakan yang ditentukan oleh EC2 Image Builder](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2imagebuilder.html#amazonec2imagebuilder-actions-as-permissions).

Untuk melihat contoh kebijakan berbasis identitas Image Builder, lihat. [Kebijakan berbasis identitas Image Builder](#security_iam_id-based-policy-examples)

## ACLs di Image Builder
<a name="security_iam_service-with-iam-acls"></a>

**Mendukung ACLs:** Tidak 

Access control lists (ACLs) mengontrol prinsipal mana (anggota akun, pengguna, atau peran) yang memiliki izin untuk mengakses sumber daya. ACLs mirip dengan kebijakan berbasis sumber daya, meskipun mereka tidak menggunakan format dokumen kebijakan JSON.

## ABAC dengan Image Builder
<a name="security_iam_service-with-iam-tags"></a>

**Mendukung ABAC (tag dalam kebijakan): Sebagian**

Kontrol akses berbasis atribut (ABAC) adalah strategi otorisasi yang menentukan izin berdasarkan atribut tanda. Anda dapat melampirkan tag ke entitas dan AWS sumber daya IAM, lalu merancang kebijakan ABAC untuk mengizinkan operasi saat tag prinsipal cocok dengan tag pada sumber daya.

Untuk mengendalikan akses berdasarkan tanda, berikan informasi tentang tanda di [elemen kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dari kebijakan menggunakan kunci kondisi `aws:ResourceTag/key-name`, `aws:RequestTag/key-name`, atau `aws:TagKeys`.

Jika sebuah layanan mendukung ketiga kunci kondisi untuk setiap jenis sumber daya, nilainya adalah **Ya** untuk layanan tersebut. Jika suatu layanan mendukung ketiga kunci kondisi untuk hanya beberapa jenis sumber daya, nilainya adalah **Parsial**.

Untuk informasi selengkapnya tentang ABAC, lihat [Tentukan izin dengan otorisasi ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) dalam *Panduan Pengguna IAM.* Untuk melihat tutorial yang menguraikan langkah-langkah pengaturan ABAC, lihat [Menggunakan kontrol akses berbasis atribut (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) dalam *Panduan Pengguna IAM*.

## Menggunakan kredensi sementara dengan Image Builder
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Mendukung kredensial sementara:** Ya

Kredensi sementara menyediakan akses jangka pendek ke AWS sumber daya dan secara otomatis dibuat saat Anda menggunakan federasi atau beralih peran. AWS merekomendasikan agar Anda secara dinamis menghasilkan kredensi sementara alih-alih menggunakan kunci akses jangka panjang. Untuk informasi selengkapnya, lihat [Kredensial keamanan sementara di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) dan [Layanan AWS yang berfungsi dengan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) dalam *Panduan Pengguna IAM*.

## Izin utama lintas layanan untuk Image Builder
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Mendukung sesi akses terusan (FAS):** Ya

 Sesi akses teruskan (FAS) menggunakan izin dari pemanggilan utama Layanan AWS, dikombinasikan dengan permintaan Layanan AWS untuk membuat permintaan ke layanan hilir. Untuk detail kebijakan ketika mengajukan permintaan FAS, lihat [Sesi akses terusan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 

## Peran layanan untuk Image Builder
<a name="security_iam_service-with-iam-roles-service"></a>

**Mendukung peran layanan:** Ya

 Peran layanan adalah [peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) yang diambil oleh sebuah layanan untuk melakukan tindakan atas nama Anda. Administrator IAM dapat membuat, mengubah, dan menghapus peran layanan dari dalam IAM. Untuk informasi selengkapnya, lihat [Buat sebuah peran untuk mendelegasikan izin ke Layanan AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dalam *Panduan pengguna IAM*. 

**Awas**  
Mengubah izin untuk peran layanan dapat merusak fungsionalitas Image Builder. Edit peran layanan hanya jika Image Builder memberikan panduan untuk melakukannya.

## Peran terkait layanan untuk Image Builder
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Mendukung peran terkait layanan**: Ya

 Peran terkait layanan adalah jenis peran layanan yang ditautkan ke. Layanan AWS Layanan tersebut dapat menjalankan peran untuk melakukan tindakan atas nama Anda. Peran terkait layanan muncul di Anda Akun AWS dan dimiliki oleh layanan. Administrator IAM dapat melihat, tetapi tidak dapat mengedit izin untuk peran terkait layanan. 

Untuk detail tentang peran terkait layanan Image Builder, lihat. [Menggunakan peran terkait layanan IAM untuk Image Builder](image-builder-service-linked-role.md)

## Kebijakan berbasis identitas Image Builder
<a name="security_iam_id-based-policy-examples"></a>

Dengan kebijakan berbasis identitas IAM, Anda dapat menentukan tindakan dan sumber daya yang diizinkan atau ditolak, dan juga kondisi di mana tindakan diizinkan atau ditolak. Image Builder mendukung tindakan, sumber daya, dan kunci kondisi tertentu. Untuk informasi tentang semua elemen yang Anda gunakan dalam kebijakan JSON, lihat [Tindakan, Sumber Daya, dan Kunci Kondisi untuk Image Builder Amazon EC2](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonec2imagebuilder.html) di Panduan Pengguna *IAM*.

### Tindakan
<a name="sec-iam-ib-id-based-policies-actions"></a>

Tindakan kebijakan di Image Builder menggunakan awalan berikut sebelum tindakan:`imagebuilder:`. Pernyataan kebijakan harus memuat elemen `Action` atau `NotAction`. Image Builder mendefinisikan serangkaian tindakannya sendiri yang menjelaskan tugas yang dapat Anda lakukan dengan layanan ini.

Untuk menetapkan beberapa tindakan dalam satu pernyataan, pisahkan dengan koma seperti berikut:

```
"Action": [
	"imagebuilder:action1",
	"imagebuilder:action2"
]
```

Anda dapat menentukan beberapa tindakan menggunakan wildcard (\$1). Sebagai contoh, untuk menentukan semua tindakan yang dimulai dengan kata `List`, sertakan tindakan berikut:

```
"Action": "imagebuilder:List*"
```

Untuk melihat daftar tindakan Image Builder, lihat [Tindakan, Sumber Daya, dan Kunci Kondisi Layanan AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html) di *Panduan Pengguna IAM*.

### Mengelola akses menggunakan kebijakan
<a name="security-iam-manage-access"></a>

*Untuk informasi terperinci tentang cara mengelola akses AWS dengan membuat kebijakan dan melampirkannya ke identitas atau AWS sumber daya IAM, lihat [Kebijakan dan Izin di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) IAM.* 

Peran IAM yang Anda kaitkan dengan profil instans harus memiliki izin untuk menjalankan komponen build dan test yang disertakan dalam image Anda. Kebijakan peran IAM berikut harus dilampirkan ke peran IAM yang terkait dengan profil instance:
+ EC2InstanceProfileForImageBuilder
+ EC2InstanceProfileForImageBuilderECRContainerBuilds
+ AmazonSSMManagedInstanceCore

### Sumber daya
<a name="sec-iam-ib-id-based-policies-resources"></a>

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana **utama** dapat melakukan **tindakan** pada **sumber daya**, dan dalam **kondisi apa**.

Elemen kebijakan JSON `Resource` menentukan objek yang menjadi target penerapan tindakan. Praktik terbaiknya, tentukan sumber daya menggunakan [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Untuk tindakan yang tidak mendukung izin di tingkat sumber daya, gunakan wildcard (\$1) untuk menunjukkan bahwa pernyataan tersebut berlaku untuk semua sumber daya.

```
"Resource": "*"
```

ARN terdiri dari beberapa node yang membantu mengidentifikasi sumber daya dan memastikan bahwa nama itu unik. Node terakhir dalam nama mencakup beberapa variasi dalam pemformatan untuk jenis sumber daya, nama, dan ID. Saat Image Builder membuat sumber daya, ia menggunakan format berikut:

`arn:aws:imagebuilder:region:owner:resource-type/resource-name/version/build-version`

**catatan**  
Versi build tidak selalu disertakan dalam ARN sumber daya. Namun, beberapa operasi API, seperti [GetComponent](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_GetComponent.html), memerlukan versi build untuk mengidentifikasi sumber daya secara unik untuk diambil.

Untuk sumber daya yang digunakan Image Builder dalam resepnya, seperti image dasar atau komponen, node pemilik dapat berupa salah satu dari berikut ini:
+ Nomor akun pemilik sumber daya
+ Untuk sumber daya yang dikelola Amazon: `aws`
+ Untuk AWS Marketplace sumber daya: `aws-marketplace`

Contoh berikut menunjukkan ARN untuk komponen terkelola untuk menginstal CloudWatch agen Amazon di Linux:

```
arn:aws:imagebuilder:us-east-1:aws:component/amazon-cloudwatch-agent-linux/1.0.1/1
```

Contoh ini menunjukkan ARN untuk komponen terkelola fiktif dari: AWS Marketplace

```
arn:aws:imagebuilder:us-east-1:aws-marketplace:component/example-linux-software-component/1.0.1
```

Untuk informasi selengkapnya tentang mendapatkan daftar komponen, termasuk penggunaan filter kepemilikan, lihat[Daftar komponen Image Builder](component-details.md#list-components).

**Contoh ARNs**  
Berikut ini adalah beberapa contoh sumber daya ARNs yang mungkin Anda tentukan dalam kebijakan IAM:
+ Contoh ARN

  ```
  "Resource": "arn:aws:imagebuilder:us-east-1:111122223333:instance/i-1234567890abcdef0"
  ```
+ Wildcard (\$1) contoh untuk menentukan semua instance untuk akun tertentu

  ```
  "Resource": "arn:aws:imagebuilder:us-east-1:111122223333:instance/*"
  ```
+ Wildcard (\$1) contoh untuk menentukan semua versi alur kerja gambar terkelola

  ```
  "Resource": "arn:aws:imagebuilder:us-east-1:aws:workflow/build/build-image/*"
  ```
+ Gambar terkelola ARN

  ```
  "Resource": "arn:aws:imagebuilder:us-east-1:aws:image/amazon-linux-2-arm64/2024.12.17/1"
  ```
+ Wildcard (\$1) contoh untuk menentukan semua versi dari gambar terkelola

  ```
  "Resource": "arn:aws:imagebuilder:us-east-1:aws:image/amazon-linux-2-arm64/x.x.x"
  ```

Banyak tindakan EC2 Image Builder API melibatkan banyak sumber daya. Untuk menentukan beberapa sumber daya dalam satu pernyataan, pisahkan ARNs dengan koma. 

```
"Resource": [
	  "resource1",
	  "resource2"
]
```

### Kunci syarat
<a name="sec-iam-ib-id-based-policies-conditionkeys"></a>

Image Builder menyediakan kunci kondisi khusus layanan dan dukungan menggunakan beberapa kunci kondisi global. Untuk melihat semua kunci kondisi AWS global, lihat [Kunci Konteks Kondisi AWS Global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) di *Panduan Pengguna IAM*. Kunci kondisi khusus layanan berikut disediakan.

#### imagebuilder: CreatedResourceTagKeys
<a name="image-builder-security-createdresourcetagkeys"></a>

Bekerja dengan [operator string](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String).

Gunakan kunci ini untuk memfilter akses dengan adanya kunci tag dalam permintaan. Ini memungkinkan Anda mengelola sumber daya yang dibuat Image Builder.

**Ketersediaan** — Kunci ini hanya tersedia untuk `CreateInfrastrucutreConfiguration` dan `UpdateInfrastructureConfiguration` APIs.

#### imagebuilder:/CreatedResourceTag<key>
<a name="image-builder-security-createdresourcetag"></a>

Bekerja dengan [operator string](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String).

Gunakan kunci ini untuk memfilter akses dengan pasangan nilai kunci tag yang dilampirkan ke sumber daya yang dibuat Image Builder. Ini memungkinkan Anda mengelola sumber daya Image Builder melalui tag yang ditentukan.

**Ketersediaan** — Kunci ini hanya tersedia untuk `CreateInfrastrucutreConfiguration` dan `UpdateInfrastructureConfiguration` APIs.

#### imagebuilder: LifecyclePolicyResourceType
<a name="image-builder-security-lifecyclepolicyresourcetype"></a>

Bekerja dengan [operator string](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String).

Gunakan kunci ini untuk memfilter akses menurut jenis sumber daya Siklus Hidup yang ditentukan dalam permintaan.

Nilai untuk kunci ini dapat berupa `AMI_IMAGE` atau`CONTAINER_IMAGE`.

**Ketersediaan** — Kunci ini hanya tersedia untuk `CreateLifecyclePolicy` dan `UpdateLifecyclePolicy`APIs.

#### ImageBuilder: EC2 MetadataHttpTokens
<a name="image-builder-security-ec2metadatatokens"></a>

Bekerja dengan [operator string](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String).

Gunakan kunci ini untuk memfilter akses dengan Persyaratan Token HTTP Metadata Instans EC2 yang ditentukan dalam permintaan.

Nilai untuk kunci ini dapat berupa `optional` atau`required`.

**Ketersediaan** — Kunci ini hanya tersedia untuk `CreateInfrastrucutreConfiguration` dan `UpdateInfrastructureConfiguration` APIs.

#### imagebuilder: StatusTopicArn
<a name="image-builder-security-statustopicarn"></a>

Bekerja dengan [operator string](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String).

Gunakan kunci ini untuk memfilter akses oleh ARN Topik SNS dalam permintaan pemberitahuan status terminal mana yang akan dipublikasikan.

**Ketersediaan** — Kunci ini hanya tersedia untuk `CreateInfrastrucutreConfiguration` dan `UpdateInfrastructureConfiguration` APIs.

### Contoh
<a name="sec-iam-ib-id-based-policies-examples"></a>



Untuk melihat contoh kebijakan berbasis identitas Image Builder, lihat. [Kebijakan berbasis identitas Image Builder](security-iam-identity-based-policies.md)

## Kebijakan berbasis sumber daya Image Builder
<a name="security-iam-service-with-ib-resource-based-policies"></a>

Kebijakan berbasis sumber daya menentukan tindakan apa yang dapat dilakukan oleh prinsipal tertentu pada sumber daya Image Builder dan dalam kondisi apa. Image Builder mendukung kebijakan izin berbasis sumber daya untuk komponen, gambar, dan resep gambar. Kebijakan berbasis sumber daya mengizinkan Anda memberikan izin penggunaan ke akun lain berdasarkan penggunaan sumber daya. Anda juga dapat menggunakan kebijakan berbasis sumber daya untuk mengizinkan AWS layanan mengakses komponen, gambar, dan resep gambar Anda.

Untuk informasi tentang cara melampirkan kebijakan berbasis sumber daya ke komponen, gambar, atau resep gambar, lihat. [Bagikan sumber daya Image Builder dengan AWS RAM](manage-shared-resources.md)

**catatan**  
Saat Anda memperbarui kebijakan sumber daya menggunakan Image Builder, pembaruan akan muncul di konsol RAM.

## Otorisasi berdasarkan tag Image Builder
<a name="security-iam-service-with-ib-tags"></a>

Anda dapat melampirkan tag ke sumber daya Image Builder atau meneruskan tag dalam permintaan ke Image Builder. Untuk mengendalikan akses berdasarkan tanda, berikan informasi tentang tanda di [elemen kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dari kebijakan menggunakan kunci kondisi `imagebuilder:ResourceTag/key-name`, `aws:RequestTag/key-name`, atau `aws:TagKeys`. Untuk informasi selengkapnya tentang menandai resource Image Builder, lihat[Menandai sumber daya dari AWS CLI](tag-resources.md#cli-tag-resource).

## Peran IAM Image Builder
<a name="security-iam-service-with-ib-roles"></a>

[Peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) adalah entitas di dalam Anda Akun AWS yang memiliki izin khusus.

### Menggunakan kredensi sementara dengan Image Builder
<a name="security-iam-service-with-ib-roles-tempcreds"></a>

Anda dapat menggunakan kredensial sementara untuk masuk dengan gabungan, menjalankan IAM role, atau menjalankan peran lintas akun. Anda memperoleh kredensil keamanan sementara dengan memanggil operasi AWS STS API seperti [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)atau. [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html) 

### Peran terkait layanan
<a name="sec-iam-ib-service-linked-roles"></a>

[Peran terkait layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) memungkinkan Layanan AWS untuk mengakses sumber daya di layanan lain untuk menyelesaikan tindakan atas nama Anda. Peran tertaut layanan muncul di akun IAM Anda dan dimiliki oleh layanan tersebut. Pengguna dengan akses administratif dapat melihat tetapi tidak mengedit izin untuk peran terkait layanan.

Image Builder mendukung peran terkait layanan. Untuk informasi tentang membuat atau mengelola peran terkait layanan Image Builder, lihat. [Menggunakan peran terkait layanan IAM untuk Image Builder](image-builder-service-linked-role.md)

### Peran layanan
<a name="sec-iam-ib-service-roles"></a>

Fitur ini memungkinkan layanan untuk menerima [peran layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) atas nama Anda. Peran ini mengizinkan layanan untuk mengakses sumber daya di layanan lain untuk menyelesaikan tindakan atas nama Anda. Peran layanan muncul di akun IAM Anda dan dimiliki oleh akun tersebut. Ini berarti bahwa pengguna dengan akses administratif dapat mengubah izin untuk peran ini. Namun, melakukan hal itu dapat merusak fungsionalitas layanan.

# Kelola perimeter data untuk akses unduhan bucket S3 di Image Builder
<a name="security-iam-data-perimeter"></a>

EC2 Image Builder mengelola dua kelas bucket S3 milik layanan AWS yang berisi sumber daya yang dapat diunduh yang diperlukan untuk menjalankan beban kerja Image Builder di akun Anda. Jika Anda menggunakan perimeter data untuk mengontrol akses ke Amazon S3 di lingkungan Anda, Anda mungkin perlu secara eksplisit mengizinkan akses ke bucket ini. Anda dapat menggunakan bucket ARN atau URL bucket untuk mengizinkan daftar bucket ini, tergantung pada cara Anda mengontrol akses ke Amazon S3.

**Skrip bootstrap manajemen komponen (Diperlukan)**  
Bucket S3 ini berisi skrip bootstrap untuk mengatur AWSTOE aplikasi pada instance EC2 yang digunakan untuk membuat gambar. Image Builder memerlukan akses untuk mengunduh skrip untuk mendukung pembuatan dan pengujian gambar baru.  
+ **Ember S3 ARN:** `arn:<AWS partition>:s3:::ec2imagebuilder-managed-resources-<AWS Region>-prod`
+ **URL ember S3:** `https://ec2imagebuilder-managed-resources-<AWS Region>.s3.<AWS Region>.<AWS partition-specific domain name>`

**Komponen terkelola**  
Bucket S3 ini berisi muatan paket untuk komponen yang dikelola Amazon. Image Builder memerlukan akses untuk mengunduh komponen terkelola apa pun yang dikonfigurasi dalam resep Anda.  
+ **Ember S3 ARN:** `arn:<AWS partition>:s3:::ec2imagebuilder-toe-<AWS Region>-prod`
+ **URL ember S3:** `https://ec2imagebuilder-toe-<AWS Region>.s3.<AWS Region>.<AWS partition-specific domain name>`

# Kebijakan berbasis identitas Image Builder
<a name="security-iam-identity-based-policies"></a>

**Topics**
+ [Praktik terbaik kebijakan berbasis identitas](#security-iam-service-policy-best-practices)
+ [Menggunakan konsol Image Builder](#sec-iam-id-based-policies-using-console)

## Praktik terbaik kebijakan berbasis identitas
<a name="security-iam-service-policy-best-practices"></a>

Kebijakan berbasis identitas menentukan apakah seseorang dapat membuat, mengakses, atau menghapus sumber daya Image Builder di akun Anda. Tindakan ini membuat Akun AWS Anda dikenai biaya. Ketika Anda membuat atau mengedit kebijakan berbasis identitas, ikuti panduan dan rekomendasi ini:
+ **Mulailah dengan kebijakan AWS terkelola dan beralih ke izin hak istimewa paling sedikit — Untuk mulai memberikan izin** kepada pengguna dan beban kerja Anda, gunakan *kebijakan AWS terkelola* yang memberikan izin untuk banyak kasus penggunaan umum. Mereka tersedia di Anda Akun AWS. Kami menyarankan Anda mengurangi izin lebih lanjut dengan menentukan kebijakan yang dikelola AWS pelanggan yang khusus untuk kasus penggunaan Anda. Untuk informasi selengkapnya, lihat [Kebijakan yang dikelola AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) atau [Kebijakan yang dikelola AWS untuk fungsi tugas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) dalam *Panduan Pengguna IAM*.
+ **Menerapkan izin dengan hak akses paling rendah** – Ketika Anda menetapkan izin dengan kebijakan IAM, hanya berikan izin yang diperlukan untuk melakukan tugas. Anda melakukannya dengan mendefinisikan tindakan yang dapat diambil pada sumber daya tertentu dalam kondisi tertentu, yang juga dikenal sebagai *izin dengan hak akses paling rendah*. Untuk informasi selengkapnya tentang cara menggunakan IAM untuk mengajukan izin, lihat [Kebijakan dan izin dalam IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) dalam *Panduan Pengguna IAM*.
+ **Gunakan kondisi dalam kebijakan IAM untuk membatasi akses lebih lanjut** – Anda dapat menambahkan suatu kondisi ke kebijakan Anda untuk membatasi akses ke tindakan dan sumber daya. Sebagai contoh, Anda dapat menulis kondisi kebijakan untuk menentukan bahwa semua permintaan harus dikirim menggunakan SSL. Anda juga dapat menggunakan ketentuan untuk memberikan akses ke tindakan layanan jika digunakan melalui yang spesifik Layanan AWS, seperti CloudFormation. Untuk informasi selengkapnya, lihat [Elemen kebijakan JSON IAM: Kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dalam *Panduan Pengguna IAM*.
+ **Gunakan IAM Access Analyzer untuk memvalidasi kebijakan IAM Anda untuk memastikan izin yang aman dan fungsional** – IAM Access Analyzer memvalidasi kebijakan baru dan yang sudah ada sehingga kebijakan tersebut mematuhi bahasa kebijakan IAM (JSON) dan praktik terbaik IAM. IAM Access Analyzer menyediakan lebih dari 100 pemeriksaan kebijakan dan rekomendasi yang dapat ditindaklanjuti untuk membantu Anda membuat kebijakan yang aman dan fungsional. Untuk informasi selengkapnya, lihat [Validasi kebijakan dengan IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) dalam *Panduan Pengguna IAM*.
+ **Memerlukan otentikasi multi-faktor (MFA)** - Jika Anda memiliki skenario yang mengharuskan pengguna IAM atau pengguna root di Anda, Akun AWS aktifkan MFA untuk keamanan tambahan. Untuk meminta MFA ketika operasi API dipanggil, tambahkan kondisi MFA pada kebijakan Anda. Untuk informasi selengkapnya, lihat [Amankan akses API dengan MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) dalam *Panduan Pengguna IAM*.

Untuk informasi selengkapnya tentang praktik terbaik dalam IAM, lihat [Praktik terbaik keamanan di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dalam *Panduan Pengguna IAM*.

## Menggunakan konsol Image Builder
<a name="sec-iam-id-based-policies-using-console"></a>

Untuk mengakses konsol EC2 Image Builder, Anda harus memiliki set izin minimum. Izin ini memungkinkan Anda untuk membuat daftar dan melihat detail tentang sumber daya Image Builder di. Akun AWS Jika Anda membuat kebijakan berbasis identitas yang lebih ketat daripada izin minimum yang diperlukan, konsol tersebut tidak akan berfungsi sebagaimana mestinya untuk entitas (pengguna IAM atau peran) dengan kebijakan tersebut.

Untuk memastikan bahwa entitas IAM Anda dapat menggunakan konsol Image Builder, Anda harus melampirkan salah satu kebijakan AWS terkelola berikut kepada mereka:
+ [AWSImageBuilderReadOnlyAccesskebijakan](security-iam-awsmanpol.md#sec-iam-manpol-AWSImageBuilderReadOnlyAccess)
+ [AWSImageBuilderFullAccesskebijakan](security-iam-awsmanpol.md#sec-iam-manpol-AWSImageBuilderFullAccess)

Untuk informasi selengkapnya tentang kebijakan terkelola Image Builder, lihat[Menggunakan kebijakan AWS terkelola untuk EC2 Image Builder](security-iam-awsmanpol.md).

**penting**  
**AWSImageBuilderFullAccess**Kebijakan ini diperlukan untuk membuat peran terkait layanan Image Builder. Ketika Anda melampirkan kebijakan ini ke entitas IAM, Anda juga harus melampirkan kebijakan kustom berikut dan menyertakan sumber daya yang ingin Anda gunakan yang tidak ada `imagebuilder` dalam nama sumber daya:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sns:Publish"
            ],
            "Resource": "arn:aws:sns:*:*:*imagebuilder*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:GetInstanceProfile"
            ],
            "Resource": "arn:aws:iam::*:instance-profile/*imagebuilder*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::*:instance-profile/*imagebuilder*",
                "arn:aws:iam::*:role/*imagebuilder*"
            ],
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "ec2.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3::*:*imagebuilder*"
        }
    ]
}
```

------

Anda tidak perlu mengizinkan izin konsol minimum untuk pengguna yang melakukan panggilan hanya ke AWS CLI atau AWS API. Sebagai alternatif, hanya izinkan akses ke tindakan yang cocok dengan operasi API yang sedang Anda coba lakukan.

## Izin IAM untuk alur kerja khusus
<a name="security-iam-custom-workflows"></a>

Saat menggunakan alur kerja khusus dengan tindakan langkah tertentu seperti[RegisterImage](wfdoc-step-actions.md#wfdoc-step-action-register-image), izin IAM tambahan mungkin diperlukan di luar kebijakan terkelola Image Builder standar. Bagian ini menjelaskan izin tambahan yang diperlukan untuk tindakan langkah alur kerja kustom.

### RegisterImage izin tindakan langkah
<a name="security-iam-registerimage-permissions"></a>

Tindakan `RegisterImage` langkah memerlukan izin Amazon EC2 tertentu untuk mendaftar AMIs dan secara opsional mengambil tag snapshot. Saat menggunakan `includeSnapshotTags` parameter, izin tambahan diperlukan untuk menggambarkan snapshot.

**Izin yang diperlukan untuk tindakan RegisterImage langkah:**

Untuk semua sumber daya, izinkan tindakan berikut:
+ `ec2:RegisterImage`
+ `ec2:DescribeSnapshots`

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:RegisterImage",
                "ec2:DescribeSnapshots"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": "arn:aws:ec2:*::image/*",
            "Condition": {
                "StringEquals": {
                    "ec2:CreateAction": "RegisterImage"
                }
            }
        }
    ]
}
```

**Rincian izin:**
+ `ec2:RegisterImage`- Diperlukan untuk mendaftar baru AMIs dari snapshot
+ `ec2:DescribeSnapshots`- Diperlukan saat menggunakan `includeSnapshotTags: true` untuk mengambil tag snapshot untuk digabungkan dengan tag AMI
+ `ec2:CreateTags`- Diperlukan untuk menerapkan tag ke AMI terdaftar, termasuk tag default Image Builder dan tag snapshot gabungan

**catatan**  
`ec2:DescribeSnapshots`Izin hanya digunakan ketika `includeSnapshotTags` parameter diatur ke`true`. Jika Anda tidak menggunakan fitur ini, Anda dapat menghilangkan izin ini.

**Perilaku penggabungan tag:**

Ketika `includeSnapshotTags` diaktifkan, tindakan RegisterImage langkah akan:
+ Ambil tag dari snapshot pertama yang ditentukan dalam pemetaan perangkat blok
+ Kecualikan tag yang AWS dicadangkan (tag dengan kunci yang dimulai dengan “aws:”)
+ Gabungkan tag snapshot dengan tag registrasi AMI default Image Builder
+ Berikan prioritas pada tag Image Builder saat kunci tag bertentangan

## Kebijakan berbasis sumber daya Image Builder
<a name="security-iam-resource-based-policies"></a>

Untuk informasi tentang cara membuat komponen, lihat[Gunakan komponen untuk menyesuaikan image Image Builder](manage-components.md).

### Membatasi akses komponen Image Builder ke alamat IP tertentu
<a name="sec-iam-resourcepol-restrict-component-by-ip"></a>

Contoh berikut memberikan izin kepada setiap pengguna untuk melakukan operasi Image Builder pada komponen. Namun, permintaan harus berasal dari rentang alamat IP yang ditentukan dalam syarat.

Kondisi dalam pernyataan ini mengidentifikasi rentang 54.240.143.\$1 alamat IP Internet Protocol versi 4 (IPv4) yang diizinkan, dengan satu pengecualian: 54.240.143.188.

`Condition`Blok menggunakan `IpAddress` dan `NotIpAddress` kondisi dan kunci `aws:SourceIp` kondisi, yang merupakan kunci kondisi AWS-wide. Untuk informasi selengkapnya tentang kunci kondisi ini, lihat [Menentukan Ketentuan dalam Kebijakan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html). `aws:sourceIp` IPv4 Nilai-nilai menggunakan notasi CIDR standar. Untuk informasi lebih lanjut, lihat [Operator Syarat Alamat IP](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_IPAddress) dalam *Panduan Pengguna IAM*.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Id": "IBPolicyId1",
  "Statement": [
    {
      "Sid": "IPAllow",
      "Effect": "Allow",
      "Action": "imagebuilder:GetComponent",
      "Resource": "arn:aws:imagebuilder:*::examplecomponent/*",
      "Condition": {
         "IpAddress": {"aws:SourceIp": "54.240.143.0/24"},
         "NotIpAddress": {"aws:SourceIp": "54.240.143.188/32"} 
      } 
    } 
  ]
}
```

------

# Menggunakan kebijakan AWS terkelola untuk EC2 Image Builder
<a name="security-iam-awsmanpol"></a>

Kebijakan AWS terkelola adalah kebijakan mandiri yang dibuat dan dikelola oleh AWS. AWS Kebijakan terkelola dirancang untuk memberikan izin bagi banyak kasus penggunaan umum sehingga Anda dapat mulai menetapkan izin kepada pengguna, grup, dan peran.

Perlu diingat bahwa kebijakan AWS terkelola mungkin tidak memberikan izin hak istimewa paling sedikit untuk kasus penggunaan spesifik Anda karena tersedia untuk digunakan semua pelanggan. AWS Kami menyarankan Anda untuk mengurangi izin lebih lanjut dengan menentukan [kebijakan yang dikelola pelanggan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) yang khusus untuk kasus penggunaan Anda.

Anda tidak dapat mengubah izin yang ditentukan dalam kebijakan AWS terkelola. Jika AWS memperbarui izin yang ditentukan dalam kebijakan AWS terkelola, pembaruan akan memengaruhi semua identitas utama (pengguna, grup, dan peran) yang dilampirkan kebijakan tersebut. AWS kemungkinan besar akan memperbarui kebijakan AWS terkelola saat baru Layanan AWS diluncurkan atau operasi API baru tersedia untuk layanan yang ada.

Untuk informasi selengkapnya, lihat [Kebijakan terkelola AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) dalam *Panduan Pengguna IAM*.

## AWSImageBuilderFullAccesskebijakan
<a name="sec-iam-manpol-AWSImageBuilderFullAccess"></a>

**AWSImageBuilderFullAccess**Kebijakan ini memberikan akses penuh ke resource Image Builder untuk peran yang dilampirkan, memungkinkan peran untuk mencantumkan, mendeskripsikan, membuat, memperbarui, dan menghapus resource Image Builder. Kebijakan ini juga memberikan izin yang ditargetkan untuk terkait Layanan AWS yang diperlukan, misalnya, untuk memverifikasi sumber daya, atau untuk menampilkan sumber daya saat ini untuk akun di. Konsol Manajemen AWS

### Detail izin
<a name="sec-iam-manpol-AWSImageBuilderFullAccess-details"></a>

Kebijakan ini mencakup izin berikut:
+ **Image Builder** — Akses administratif diberikan, sehingga peran dapat mencantumkan, mendeskripsikan, membuat, memperbarui, dan menghapus sumber daya Image Builder.
+ **Amazon EC2** — Akses diberikan untuk Amazon EC2 Jelaskan tindakan yang diperlukan untuk memverifikasi keberadaan sumber daya atau mendapatkan daftar sumber daya milik akun.
+ **IAM** — Akses diberikan untuk mendapatkan dan menggunakan profil instance yang namanya berisi “imagebuilder”, untuk memverifikasi keberadaan peran terkait layanan Image Builder melalui aksi `iam:GetRole` API, dan untuk membuat peran terkait layanan Image Builder.
+ **License Manager** — Akses diberikan untuk membuat daftar konfigurasi lisensi atau lisensi untuk sumber daya.
+ **Amazon S3** - Akses diberikan untuk daftar bucket milik akun, dan juga bucket Image Builder dengan “imagebuilder” dalam nama mereka. 
+ **Amazon SNS** - Izin tulis diberikan kepada Amazon SNS untuk memverifikasi kepemilikan topik untuk topik yang berisi “imagebuilder”.

Untuk melihat izin kebijakan ini, lihat [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSImageBuilderFullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSImageBuilderFullAccess.html)di *Referensi Kebijakan AWS Terkelola*.

## AWSImageBuilderReadOnlyAccesskebijakan
<a name="sec-iam-manpol-AWSImageBuilderReadOnlyAccess"></a>

**AWSImageBuilderReadOnlyAccess**Kebijakan ini menyediakan akses hanya-baca ke semua resource Image Builder. Izin diberikan untuk memverifikasi bahwa peran terkait layanan Image Builder ada melalui tindakan API. `iam:GetRole`

### Detail izin
<a name="sec-iam-manpol-AWSImageBuilderReadOnlyAccess-details"></a>

Kebijakan ini mencakup izin berikut:
+ **Image Builder** - Akses diberikan untuk akses hanya-baca ke sumber daya Image Builder.
+ **IAM** — Akses diberikan untuk memverifikasi keberadaan peran terkait layanan Image Builder melalui tindakan API. `iam:GetRole`

Untuk melihat izin kebijakan ini, lihat [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSImageBuilderReadOnlyAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSImageBuilderReadOnlyAccess.html)di *Referensi Kebijakan AWS Terkelola*.

## AWSServiceRoleForImageBuilderkebijakan
<a name="sec-iam-manpol-AWSServiceRoleForImageBuilder"></a>

**AWSServiceRoleForImageBuilder**Kebijakan ini memungkinkan Image Builder menelepon Layanan AWS atas nama Anda.

### Detail izin
<a name="sec-iam-manpol-AWSServiceRoleForImageBuilder-details"></a>

Kebijakan ini dilampirkan ke peran terkait layanan Image Builder saat peran dibuat melalui Systems Manager. Untuk informasi selengkapnya tentang peran terkait layanan Image Builder, lihat. [Menggunakan peran terkait layanan IAM untuk Image Builder](image-builder-service-linked-role.md)

Kebijakan ini mencakup izin berikut:
+ **CloudWatch Log** — Akses diberikan untuk membuat dan mengunggah CloudWatch Log ke grup log mana pun yang namanya dimulai dengan`/aws/imagebuilder/`.
+ **Amazon EC2** — Akses diberikan kepada Image Builder untuk membuat, mengambil snapshot, dan mendaftarkan gambar (AMI) yang dibuat, dan meluncurkan instans EC2 di akun Anda. Image Builder menggunakan snapshot terkait, volume, antarmuka jaringan, subnet, grup keamanan, konfigurasi lisensi, dan pasangan kunci sesuai kebutuhan, selama gambar, instance, dan volume yang sedang dibuat atau digunakan ditandai dengan atau. `CreatedBy: EC2 Image Builder` `CreatedBy: EC2 Fast Launch`

  Image Builder dapat memperoleh informasi tentang gambar Amazon EC2, atribut instans, status instans, jenis instans yang tersedia untuk akun Anda, templat peluncuran, subnet, host, dan tag di sumber daya Amazon EC2 Anda.

  Image Builder dapat memperbarui pengaturan gambar untuk mengaktifkan atau menonaktifkan peluncuran instance Windows yang lebih cepat di akun Anda, di mana gambar ditandai. `CreatedBy: EC2 Image Builder`

  Selain itu, Image Builder dapat memulai, menghentikan, dan menghentikan instance yang berjalan di akun Anda, membagikan snapshot Amazon EBS, membuat dan memperbarui gambar dan meluncurkan templat, membatalkan pendaftaran gambar yang ada, menambahkan tag, dan mereplikasi gambar di seluruh akun yang telah Anda berikan izin melalui kebijakan. **Ec2ImageBuilderCrossAccountDistributionAccess** Penandaan Image Builder diperlukan untuk semua tindakan ini, seperti yang dijelaskan sebelumnya.
+ **Amazon ECR** — Akses diberikan kepada Image Builder untuk membuat repositori jika diperlukan untuk pemindaian kerentanan gambar kontainer, dan menandai sumber daya yang dibuatnya untuk membatasi ruang lingkup operasinya. Akses juga diberikan kepada Image Builder untuk menghapus gambar kontainer yang dibuat untuk pemindaian setelah mengambil snapshot dari kerentanan.
+ **EventBridge**— Akses diberikan kepada Image Builder untuk membuat dan mengelola EventBridge aturan.
+ **IAM** - Akses diberikan kepada Image Builder untuk meneruskan peran apa pun di akun Anda ke Amazon EC2, dan ke Impor/Ekspor VM.
+ **Amazon Inspector** — Akses diberikan kepada Image Builder untuk menentukan kapan Amazon Inspector menyelesaikan pemindaian instans build, dan mengumpulkan temuan untuk gambar yang dikonfigurasi untuk mengizinkannya.
+ **AWS KMS**— Akses diberikan kepada Amazon EBS untuk mengenkripsi, mendekripsi, atau mengenkripsi ulang volume Amazon EBS. Ini penting untuk memastikan bahwa volume terenkripsi berfungsi saat Image Builder membuat gambar.
+ **License Manager** — Akses diberikan kepada Image Builder untuk memperbarui spesifikasi License Manager melalui`license-manager:UpdateLicenseSpecificationsForResource`.
+ **Amazon SNS** - Izin tulis diberikan untuk topik Amazon SNS apa pun di akun Anda.
+ **Systems Manager** — Akses diberikan kepada Image Builder untuk mencantumkan perintah Systems Manager dan pemanggilannya, entri inventaris, menjelaskan informasi instance dan status eksekusi otomatisasi, menjelaskan host sebagai dukungan penempatan instance, dan mendapatkan detail pemanggilan perintah. Image Builder juga dapat mengirim sinyal otomatisasi, dan menghentikan eksekusi otomatisasi untuk sumber daya apa pun di akun Anda.

  Image Builder dapat mengeluarkan pemanggilan perintah run ke instance apa pun yang diberi tag `"CreatedBy": "EC2 Image Builder"` untuk file skrip berikut:`AWS-RunPowerShellScript`,, `AWS-RunShellScript` atau. `AWSEC2-RunSysprep` Image Builder dapat memulai eksekusi otomatisasi Systems Manager di akun Anda untuk dokumen otomatisasi tempat nama dimulai`ImageBuilder`.

  Image Builder juga dapat membuat atau menghapus asosiasi State Manager untuk instans apa pun di akun Anda, selama dokumen asosiasi tersebut`AWS-GatherSoftwareInventory`, dan untuk membuat peran terkait layanan Systems Manager di akun Anda.

  Image Builder dapat membaca Parameter Penyimpanan Parameter publik, dan membaca serta memperbarui Parameter pribadi yang diawali `/imagebuilder/` sehingga dapat memperbarui nilai Parameter dengan keluaran AMI IDs yang dibuat Image Builder dari build baru.
+ **AWS STS**— Akses diberikan kepada Image Builder untuk mengambil peran yang disebutkan **EC2ImageBuilderDistributionCrossAccountRole**dari akun Anda ke akun mana pun yang diizinkan oleh kebijakan Trust tentang peran tersebut. Ini digunakan untuk distribusi gambar lintas akun.

Untuk melihat izin kebijakan ini, lihat [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSServiceRoleForImageBuilder.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSServiceRoleForImageBuilder.html)di *Referensi Kebijakan AWS Terkelola*.

## Ec2ImageBuilderCrossAccountDistributionAccesskebijakan
<a name="sec-iam-manpol-Ec2ImageBuilderCrossAccountDistributionAccess"></a>

**Ec2ImageBuilderCrossAccountDistributionAccess**Kebijakan ini memberikan izin bagi Image Builder untuk mendistribusikan gambar di seluruh akun di Wilayah target. Selain itu, Image Builder dapat mendeskripsikan, menyalin, dan menerapkan tag ke gambar Amazon EC2 apa pun di akun. Kebijakan ini juga memberikan kemampuan untuk memodifikasi izin AMI melalui tindakan `ec2:ModifyImageAttribute` API.

### Detail izin
<a name="sec-iam-manpol-Ec2ImageBuilderCrossAccountDistributionAccess-details"></a>

Kebijakan ini mencakup izin berikut:
+ **Amazon EC2** — Akses diberikan kepada Amazon EC2 untuk mendeskripsikan, menyalin, dan memodifikasi atribut untuk gambar, dan untuk membuat tag untuk gambar Amazon EC2 apa pun di akun.

Untuk melihat izin kebijakan ini, lihat [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/Ec2ImageBuilderCrossAccountDistributionAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/Ec2ImageBuilderCrossAccountDistributionAccess.html)di *Referensi Kebijakan AWS Terkelola*.

## EC2ImageBuilderLifecycleExecutionPolicykebijakan
<a name="sec-iam-manpol-EC2ImageBuilderLifecycleExecutionPolicy"></a>

**EC2ImageBuilderLifecycleExecutionPolicy**Kebijakan ini memberikan izin bagi Image Builder untuk melakukan tindakan seperti menghentikan, menonaktifkan, atau menghapus sumber daya gambar Image Builder dan sumber daya dasarnya (AMIssnapshot) guna mendukung aturan otomatis untuk tugas pengelolaan siklus hidup gambar.

### Detail izin
<a name="sec-iam-manpol-EC2ImageBuilderLifecycleExecutionPolicy-details"></a>

Kebijakan ini mencakup izin berikut:
+ **Amazon EC2** — Akses diberikan kepada Amazon EC2 untuk melakukan tindakan berikut untuk Amazon Machine Images AMIs () di akun yang diberi tag. `CreatedBy: EC2 Image Builder`
  + Aktifkan dan nonaktifkan AMI.
  + Aktifkan dan nonaktifkan penghentian gambar.
  + Jelaskan dan deregister AMI.
  + Menjelaskan dan memodifikasi atribut gambar AMI.
  + Hapus snapshot volume yang terkait dengan AMI.
  + Ambil tag untuk sumber daya.
  + Menambahkan atau menghapus tag dari AMI untuk penghentian.
+ **Amazon ECR** — Akses diberikan kepada Amazon ECR untuk melakukan tindakan batch berikut pada repositori ECR dengan tag. `LifecycleExecutionAccess: EC2 Image Builder` Tindakan Batch mendukung aturan siklus hidup gambar kontainer otomatis.
  + `ecr:BatchGetImage`
  + `ecr:BatchDeleteImage`

  Akses diberikan pada tingkat repositori untuk repositori ECR yang ditandai dengan. `LifecycleExecutionAccess: EC2 Image Builder`
+ **AWS Grup sumber daya** - Akses diberikan kepada Image Builder untuk mendapatkan sumber daya berdasarkan tag.
+ **EC2 Image** Builder — Akses diberikan kepada Image Builder untuk menghapus sumber daya gambar Image Builder.

Untuk melihat izin kebijakan ini, lihat [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2ImageBuilderLifecycleExecutionPolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2ImageBuilderLifecycleExecutionPolicy.html)di *Referensi Kebijakan AWS Terkelola*.

## EC2InstanceProfileForImageBuilderkebijakan
<a name="sec-iam-manpol-EC2InstanceProfileForImageBuilder"></a>

**EC2InstanceProfileForImageBuilder**Kebijakan ini memberikan izin minimum yang diperlukan untuk instans EC2 agar dapat bekerja dengan Image Builder. Ini tidak termasuk izin yang diperlukan untuk menggunakan Agen Systems Manager.

### Detail izin
<a name="sec-iam-manpol-EC2InstanceProfileForImageBuilder-details"></a>

Kebijakan ini mencakup izin berikut:
+ **CloudWatch Log** — Akses diberikan untuk membuat dan mengunggah CloudWatch Log ke grup log mana pun yang namanya dimulai dengan`/aws/imagebuilder/`.
+ **Amazon EC2** — Akses diberikan untuk mendeskripsikan volume dan snapshot, untuk membuat snapshot volume atau sumber daya snapshot yang dibuat Image Builder, dan untuk membuat tag untuk sumber daya Image Builder.
+ **Image Builder** - Akses diberikan untuk mendapatkan Image Builder atau AWS Marketplace komponen apa pun.
+ **AWS KMS**— Akses diberikan untuk mendekripsi komponen Image Builder, jika dienkripsi melalui. AWS KMS
+ **Amazon S3** — Akses diberikan untuk mendapatkan objek yang disimpan dalam bucket Amazon S3 yang namanya dimulai `ec2imagebuilder-` dengan, atau sumber daya yang memiliki ekstensi file ISO.

Untuk melihat izin kebijakan ini, lihat [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2InstanceProfileForImageBuilder.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2InstanceProfileForImageBuilder.html)di *Referensi Kebijakan AWS Terkelola*.

## EC2InstanceProfileForImageBuilderECRContainerBuildskebijakan
<a name="sec-iam-manpol-EC2InstanceProfileForImageBuilderECRContainerBuilds"></a>

**EC2InstanceProfileForImageBuilderECRContainerBuilds**Kebijakan ini memberikan izin minimum yang diperlukan untuk instans EC2 saat bekerja dengan Image Builder untuk membuat image Docker, lalu mendaftarkan dan menyimpan gambar di repositori container Amazon ECR. Ini tidak termasuk izin yang diperlukan untuk menggunakan Agen Systems Manager.

### Detail izin
<a name="sec-iam-manpol-EC2InstanceProfileForImageBuilderECRContainerBuilds-details"></a>

Kebijakan ini mencakup izin berikut:
+ **CloudWatch Log** — Akses diberikan untuk membuat dan mengunggah CloudWatch Log ke grup log mana pun yang namanya dimulai dengan`/aws/imagebuilder/`.
+ **Amazon ECR** — Akses diberikan kepada Amazon ECR untuk mendapatkan, mendaftar, dan menyimpan gambar kontainer, dan untuk mendapatkan token otorisasi.
+ **Image Builder** - Akses diberikan untuk mendapatkan komponen Image Builder atau resep wadah.
+ **AWS KMS**— Akses diberikan untuk mendekripsi komponen Image Builder atau resep wadah, jika dienkripsi melalui. AWS KMS
+ **Amazon S3** — Akses diberikan untuk mendapatkan objek yang disimpan dalam bucket Amazon S3 yang namanya dimulai dengan. `ec2imagebuilder-`

Untuk melihat izin kebijakan ini, lihat [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2InstanceProfileForImageBuilderECRContainerBuilds.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2InstanceProfileForImageBuilderECRContainerBuilds.html)di *Referensi Kebijakan AWS Terkelola*.

## Image Builder memperbarui kebijakan AWS terkelola
<a name="security-iam-awsmanpol-updates"></a>

Bagian ini memberikan informasi tentang pembaruan kebijakan AWS terkelola untuk Image Builder sejak layanan ini mulai melacak perubahan ini. Untuk peringatan otomatis tentang perubahan pada halaman ini, berlangganan umpan RSS di halaman [riwayat dokumen](doc-history.md) Image Builder.




| Ubah | Deskripsi | Tanggal | 
| --- | --- | --- | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) — Permbaruan ke kebijakan yang sudah ada  |  Image Builder membuat perubahan berikut pada peran layanan: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | Februari 26, 2026 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) – Pembaruan ke kebijakan yang ada  |  Image Builder membuat perubahan berikut pada peran layanan untuk mendukung penggunaan Parameter Penyimpanan Parameter AWS Systems Manager (SSM) dalam resep dan selama distribusi gambar. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | Juli 23, 2025 | 
|  [EC2InstanceProfileForImageBuilder](#sec-iam-manpol-EC2InstanceProfileForImageBuilder) – Pembaruan ke kebijakan yang ada  |  Image Builder membuat perubahan berikut pada kebijakan profil instance untuk mendukung lebih banyak ekstensi file untuk unduhan file ISO. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 19 Mei 2025 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) – Pembaruan ke kebijakan yang ada  |  Image Builder membuat perubahan berikut pada peran layanan untuk mendukung impor file ISO OS klien Microsoft sebagai image dasar. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | Desember 30, 2024 | 
|  [EC2InstanceProfileForImageBuilder](#sec-iam-manpol-EC2InstanceProfileForImageBuilder) – Pembaruan ke kebijakan yang ada  |  Image Builder membuat perubahan berikut pada kebijakan profil instance untuk mendukung pembuatan gambar dari file image disk. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | Desember 30, 2024 | 
|  [EC2InstanceProfileForImageBuilder](#sec-iam-manpol-EC2InstanceProfileForImageBuilder)— Kebijakan yang diperbarui  |  Image Builder memperbarui `EC2InstanceProfileForImageBuilder` kebijakan untuk memungkinkan Image Builder mendapatkan AWS Marketplace komponen.  | Desember 2, 2024 | 
|  [EC2ImageBuilderLifecycleExecutionPolicy](#sec-iam-manpol-EC2ImageBuilderLifecycleExecutionPolicy) – Kebijakan baru  |  Image Builder menambahkan `EC2ImageBuilderLifecycleExecutionPolicy` kebijakan baru yang berisi izin untuk manajemen siklus hidup gambar.  | 17 November 2023 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) – Pembaruan ke kebijakan yang ada  |  Image Builder membuat perubahan berikut pada peran layanan untuk memberikan dukungan penempatan instance. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 19 Oktober 2023 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) – Pembaruan ke kebijakan yang ada  |  Image Builder membuat perubahan berikut pada peran layanan untuk memberikan dukungan penempatan instance. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 28 September 2023 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) – Pembaruan ke kebijakan yang ada  |  Image Builder membuat perubahan berikut pada peran layanan untuk memungkinkan alur kerja Image Builder mengumpulkan temuan kerentanan untuk build image container AMI dan ECR. Izin baru mendukung fitur deteksi dan pelaporan CVE. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 30 Maret 2023 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) – Pembaruan ke kebijakan yang ada  |  Image Builder membuat perubahan berikut pada peran layanan: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 22 Maret 2022 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) – Pembaruan ke kebijakan yang ada  |  Image Builder membuat perubahan berikut pada peran layanan: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | Februari 21, 2022 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) – Pembaruan ke kebijakan yang ada  |  Image Builder membuat perubahan berikut pada peran layanan: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 20 November 2021 | 
|  [AWSServiceRoleForImageBuilder](#sec-iam-manpol-AWSServiceRoleForImageBuilder) – Pembaruan ke kebijakan yang ada  |  Image Builder menambahkan izin baru untuk memperbaiki masalah di mana lebih dari satu asosiasi inventaris menyebabkan pembuatan gambar macet.  | Agustus 11, 2021 | 
|  [AWSImageBuilderFullAccess](#sec-iam-manpol-AWSImageBuilderFullAccess) – Pembaruan ke kebijakan yang ada  |  Image Builder membuat perubahan berikut pada peran akses penuh: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/imagebuilder/latest/userguide/security-iam-awsmanpol.html)  | 13 April, 2021 | 
|  Image Builder mulai melacak perubahan  |  Image Builder mulai melacak perubahan untuk kebijakan yang AWS dikelola.  | April 02, 2021 | 

# Menggunakan peran terkait layanan IAM untuk Image Builder
<a name="image-builder-service-linked-role"></a>

EC2 Image Builder AWS Identity and Access Management menggunakan peran terkait layanan (IAM[)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role). Peran terkait layanan adalah jenis unik peran IAM yang ditautkan langsung ke Image Builder. Peran terkait layanan telah ditentukan sebelumnya oleh Image Builder dan menyertakan semua izin yang diperlukan layanan untuk memanggil orang lain Layanan AWS atas nama Anda. 

Peran terkait layanan membuat pengaturan Image Builder lebih efisien, karena Anda tidak perlu menambahkan izin yang diperlukan secara manual. Image Builder mendefinisikan izin peran terkait layanan, dan kecuali ditentukan lain, hanya Image Builder yang dapat mengambil perannya. Izin yang ditentukan mencakup kebijakan kepercayaan dan kebijakan izin. Kebijakan izin tidak dapat dilampirkan ke entitas IAM lainnya. 

Untuk informasi tentang layanan lain yang mendukung peran terkait layanan, lihat [Layanan AWS yang berfungsi dengan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) dan cari layanan yang memiliki **Ya** di kolom Peran Tertaut **Layanan**. Pilih **Ya** dengan sebuah tautan untuk melihat dokumentasi peran terkait layanan untuk layanan tersebut.

## Izin peran terkait layanan untuk Image Builder
<a name="image-builder-slr-permissions"></a>

Image Builder menggunakan peran **AWSServiceRoleForImageBuilder**terkait layanan untuk memungkinkan EC2 Image Builder mengakses AWS sumber daya atas nama Anda. Peran terkait layanan mempercayai layanan *imagebuilder.amazonaws.com* untuk mengambil peran tersebut.

Anda tidak perlu membuat peran tertaut layanan secara manual. Saat Anda membuat image Image Builder pertama Anda di AWS Management Console, Management Console AWS CLI, atau AWS API, Image Builder akan membuat peran terkait layanan untuk Anda.

Tindakan berikut membuat gambar baru:
+ Jalankan wizard pipeline di konsol Image Builder untuk membuat gambar kustom.
+ Gunakan salah satu tindakan API berikut, atau AWS CLI perintahnya yang sesuai:
  + Tindakan **[CreateImage](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateImage.html)** API (**[create-image](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/create-image.html)**dalam AWS CLI).
  + Tindakan **[ImportVmImage](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_ImportVmImage.html)** API (**[import-vm-image](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/import-vm-image.html)**dalam AWS CLI).
  + Tindakan **[StartImagePipelineExecution](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_StartImagePipelineExecution.html)** API (**[start-image-pipeline-execution](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/start-image-pipeline-execution.html)**dalam AWS CLI).

**penting**  
Jika peran terkait layanan dihapus dari akun Anda, Anda dapat menggunakan proses yang sama untuk membuatnya lagi. Saat Anda membuat sumber daya EC2 Image Builder pertama Anda, Image Builder akan membuat peran terkait layanan untuk Anda lagi.

Untuk melihat izin untuk **AWSServiceRoleForImageBuilder**, lihat [AWSServiceRoleForImageBuilderkebijakan](security-iam-awsmanpol.md#sec-iam-manpol-AWSServiceRoleForImageBuilder) halaman. *Untuk mempelajari lebih lanjut tentang mengonfigurasi izin untuk peran terkait layanan, lihat Izin Peran Tertaut [Layanan di Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions).*

## Menghapus peran terkait layanan Image Builder dari akun Anda
<a name="image-builder-slr-deleting"></a>

Anda dapat menggunakan konsol IAM, the AWS CLI, atau AWS API untuk menghapus peran terkait layanan untuk Image Builder secara manual dari akun Anda. Namun, sebelum Anda melakukan ini, Anda harus memastikan bahwa tidak ada sumber daya Image Builder diaktifkan yang merujuknya.

**catatan**  
Jika layanan Image Builder menggunakan peran saat Anda mencoba menghapus sumber daya, penghapusan mungkin gagal. Jika hal itu terjadi, tunggu beberapa menit dan coba mengoperasikannya lagi.

**Bersihkan sumber daya Image Builder yang digunakan oleh `AWSServiceRoleForImageBuilder` peran**

1. Verifikasi bahwa tidak ada build pipeline yang berjalan sebelum Anda mulai. Untuk membatalkan build yang sedang berjalan, gunakan `cancel-image-creation` perintah dari file AWS CLI.

   ```
   aws imagebuilder cancel-image-creation --image-build-version-arn arn:aws:imagebuilder:us-east-1:123456789012:image-pipeline/sample-pipeline
   ```

1. Ubah semua jadwal pipeline untuk menggunakan proses pembuatan manual, atau hapus jika Anda tidak akan menggunakannya lagi. Untuk informasi selengkapnya tentang menghapus sumber daya, lihat[Hapus sumber daya Image Builder yang sudah usang atau tidak digunakan](delete-resources.md).

**Hapus peran terkait layanan menggunakan IAM**  
Anda dapat menggunakan konsol IAM, the AWS CLI, atau AWS API untuk menghapus `AWSServiceRoleForImageBuilder` peran dari akun Anda. Untuk informasi selengkapnya, silakan lihat [Menghapus Peran Tertaut Layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) di *Panduan Pengguna IAM*.

## Wilayah yang Didukung untuk peran terkait layanan Image Builder
<a name="image-builder-slr-regions"></a>

Image Builder mendukung penggunaan peran terkait layanan di semua AWS Wilayah tempat layanan tersedia. Untuk daftar AWS Wilayah yang didukung, lihat[AWS Wilayah dan Titik Akhir](what-is-image-builder.md#image-builder-regions).

# Memecahkan masalah IAM di Image Builder
<a name="security_iam_troubleshoot"></a>

**Topics**
+ [Saya tidak berwenang untuk melakukan tindakan di Image Builder](#security_iam_troubleshoot-no-permissions)
+ [Saya tidak berwenang untuk melakukan iam: PassRole](#security_iam_troubleshoot-passrole)
+ [Saya ingin mengizinkan orang di luar saya Akun AWS untuk mengakses sumber daya Image Builder saya](#security_iam_troubleshoot-cross-account-access)

## Saya tidak berwenang untuk melakukan tindakan di Image Builder
<a name="security_iam_troubleshoot-no-permissions"></a>

Jika Anda menerima pesan kesalahan bahwa Anda tidak memiliki otorisasi untuk melakukan tindakan, kebijakan Anda harus diperbarui agar Anda dapat melakukan tindakan tersebut.

Contoh kesalahan berikut terjadi ketika pengguna IAM `mateojackson` mencoba menggunakan konsol untuk melihat detail tentang suatu sumber daya `my-example-widget` rekaan, tetapi tidak memiliki izin `imagebuilder:GetWidget` rekaan.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: imagebuilder:GetWidget on resource: my-example-widget
```

Dalam hal ini, kebijakan untuk pengguna `mateojackson` harus diperbarui untuk mengizinkan akses ke sumber daya `my-example-widget` dengan menggunakan tindakan `imagebuilder:GetWidget`.

Jika Anda memerlukan bantuan, hubungi AWS administrator Anda. Administrator Anda adalah orang yang memberi Anda kredensial masuk.

## Saya tidak berwenang untuk melakukan iam: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Jika Anda menerima kesalahan yang tidak diizinkan untuk melakukan `iam:PassRole` tindakan, kebijakan Anda harus diperbarui agar Anda dapat meneruskan peran ke Image Builder.

Beberapa Layanan AWS memungkinkan Anda untuk meneruskan peran yang ada ke layanan tersebut alih-alih membuat peran layanan baru atau peran terkait layanan. Untuk melakukannya, Anda harus memiliki izin untuk meneruskan peran ke layanan.

Contoh kesalahan berikut terjadi ketika pengguna IAM bernama `marymajor` mencoba menggunakan konsol untuk melakukan tindakan di Image Builder. Namun, tindakan tersebut memerlukan layanan untuk mendapatkan izin yang diberikan oleh peran layanan. Mary tidak memiliki izin untuk meneruskan peran tersebut pada layanan.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

Dalam kasus ini, kebijakan Mary harus diperbarui agar dia mendapatkan izin untuk melakukan tindakan `iam:PassRole` tersebut.

Jika Anda memerlukan bantuan, hubungi AWS administrator Anda. Administrator Anda adalah orang yang memberi Anda kredensial masuk.

## Saya ingin mengizinkan orang di luar saya Akun AWS untuk mengakses sumber daya Image Builder saya
<a name="security_iam_troubleshoot-cross-account-access"></a>

Anda dapat membuat peran yang dapat digunakan pengguna di akun lain atau orang-orang di luar organisasi Anda untuk mengakses sumber daya Anda. Anda dapat menentukan siapa saja yang dipercaya untuk mengambil peran tersebut. Untuk layanan yang mendukung kebijakan berbasis sumber daya atau daftar kontrol akses (ACLs), Anda dapat menggunakan kebijakan tersebut untuk memberi orang akses ke sumber daya Anda.

Untuk mempelajari selengkapnya, periksa referensi berikut:
+ Untuk mengetahui apakah Image Builder mendukung fitur ini, lihat[Cara Image Builder bekerja dengan kebijakan dan peran IAM](security_iam_service-with-iam.md).
+ Untuk mempelajari cara menyediakan akses ke sumber daya Anda di seluruh sumber daya Akun AWS yang Anda miliki, lihat [Menyediakan akses ke pengguna IAM di pengguna lain Akun AWS yang Anda miliki](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) di *Panduan Pengguna IAM*.
+ Untuk mempelajari cara menyediakan akses ke sumber daya Anda kepada pihak ketiga Akun AWS, lihat [Menyediakan akses yang Akun AWS dimiliki oleh pihak ketiga](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) dalam *Panduan Pengguna IAM*.
+ Untuk mempelajari cara memberikan akses melalui federasi identitas, lihat [Menyediakan akses ke pengguna terautentikasi eksternal (federasi identitas)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) dalam *Panduan Pengguna IAM*.
+ *Untuk mempelajari perbedaan antara menggunakan peran dan kebijakan berbasis sumber daya untuk akses lintas akun, lihat [Akses sumber daya lintas akun di IAM di Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html).*

# Validasi kepatuhan untuk Image Builder
<a name="compliance"></a>

EC2 Image Builder tidak dalam lingkup program kepatuhan AWS apa pun.

Untuk mengetahui apakah an Layanan AWS berada dalam lingkup program kepatuhan tertentu, lihat [Layanan AWS di Lingkup oleh Program Kepatuhan Layanan AWS](https://aws.amazon.com/compliance/services-in-scope/) dan pilih program kepatuhan yang Anda minati. Untuk informasi umum, lihat [Program AWS Kepatuhan Program AWS](https://aws.amazon.com/compliance/programs/) .

Anda dapat mengunduh laporan audit pihak ketiga menggunakan AWS Artifact. Untuk informasi selengkapnya, lihat [Mengunduh Laporan di AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html) .

Tanggung jawab kepatuhan Anda saat menggunakan Layanan AWS ditentukan oleh sensitivitas data Anda, tujuan kepatuhan perusahaan Anda, dan hukum dan peraturan yang berlaku. Untuk informasi selengkapnya tentang tanggung jawab kepatuhan Anda saat menggunakan Layanan AWS, lihat [Dokumentasi AWS Keamanan](https://docs.aws.amazon.com/security/).

Anda dapat menggabungkan produk kepatuhan dari AWS Marketplace atau komponen dari AWS Task Orchestrator and Executor (AWSTOE) ke dalam gambar Image Builder untuk membantu memastikan bahwa gambar Anda sesuai. Untuk informasi selengkapnya, lihat [Produk kepatuhan untuk gambar Image Builder](integ-compliance-products.md).

# Redundansi dan ketahanan data di Image Builder
<a name="disaster-recovery-resiliency"></a>

Infrastruktur AWS global dibangun di sekitar AWS Wilayah dan Zona Ketersediaan. AWS Wilayah menyediakan beberapa Availability Zone yang terpisah secara fisik dan terisolasi, yang terhubung dengan latensi rendah, throughput tinggi, dan jaringan yang sangat redundan. Dengan Availability Zone, Anda dapat mendesain dan mengoperasikan aplikasi dan basis data yang secara otomatis mengalami kegagalan di antara zona tanpa gangguan. Zona Ketersediaan memiliki ketersediaan dan toleransi kesalahan yang lebih baik, dan dapat diskalakan dibandingkan infrastruktur pusat data tunggal atau multi tradisional. 

Layanan EC2 Image Builder memungkinkan Anda mendistribusikan gambar yang dibangun di satu Wilayah dengan Wilayah lain, memberi mereka ketahanan Multi-wilayah. AMIs Tidak ada mekanisme untuk “mencadangkan” pipa gambar, resep, atau komponen. Anda dapat menyimpan resep dan dokumen komponen di luar layanan Image Builder, seperti di bucket Amazon S3. 

EC2 Image Builder tidak dapat dikonfigurasi untuk Ketersediaan Tinggi (HA). Anda dapat mendistribusikan gambar ke beberapa Wilayah untuk membuat gambar lebih tersedia. 

Untuk informasi selengkapnya tentang AWS Wilayah dan Availability Zone, lihat [Infrastruktur AWS Global](https://aws.amazon.com/about-aws/global-infrastructure/).

# Keamanan infrastruktur di Image Builder
<a name="infrastructure-security"></a>

Jaringan AWS global menyediakan kemampuan keamanan dan mengontrol akses jaringan untuk layanan seperti EC2 Image Builder. Untuk informasi selengkapnya tentang keamanan infrastruktur yang AWS menyediakan layanannya, lihat bagian [Keamanan Infrastruktur](https://docs.aws.amazon.com/whitepapers/latest/introduction-aws-security/infrastructure-security.html) di *whitepaper Pengantar AWS Keamanan*.

Untuk mengirim permintaan melalui jaringan AWS global untuk tindakan Image Builder API, perangkat lunak klien Anda harus mematuhi pedoman keamanan berikut:
+ Untuk mengirim permintaan tindakan Image Builder API, perangkat lunak klien harus menggunakan versi Transport Layer Security (TLS) yang didukung.
**catatan**  
AWS menghapus dukungan untuk TLS versi 1.0 dan 1.1 secara bertahap. Kami sangat menyarankan agar Anda memperbarui perangkat lunak klien Anda untuk menggunakan TLS versi 1.2 atau yang lebih baru sehingga Anda masih dapat terhubung. Untuk informasi lebih lanjut, lihat [posting Blog AWS Keamanan](https://aws.amazon.com/blogs/security/tls-1-2-required-for-aws-endpoints/) ini.
+ Perangkat lunak klien harus mendukung cipher suite dengan perfect forward secrecy (PFS), seperti Ephemeral Diffie-Hellman (DHE) atau Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). Sebagian besar sistem saat ini, seperti Java 7 dan yang lebih baru, mendukung mode ini.
+ Anda harus menandatangani permintaan API Anda dengan ID kunci akses dan kunci akses rahasia yang terkait dengan prinsipal AWS Identity and Access Management (IAM). Atau Anda dapat menggunakan [AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html)(AWS STS) untuk menghasilkan kredensyal keamanan sementara untuk permintaan Anda.

Selain itu, instans EC2 yang digunakan Image Builder untuk membuat dan menguji gambar harus memiliki akses ke. AWS Systems Manager

# Manajemen Patch untuk gambar Image Builder
<a name="security-patch-management"></a>

AWS menyediakan dikelola diperbarui AMIs setiap bulan yang memiliki pembaruan terbaru dan patch keamanan diterapkan untuk sistem operasi berikut. Anda dapat menggunakan ini AMIs sebagai gambar dasar untuk penyesuaian Anda. Untuk informasi selengkapnya, lihat [Sistem operasi yang didukung](what-is-image-builder.md#image-builder-os).
+ Distribusi Linux termasuk Amazon Linux 2, AL2023, Red Hat Enterprise Linux (RHEL), CentOS, Ubuntu, SUSE Linux Enterprise Server
+ Windows Server 2016 dan setelahnya
+ macOS 10.14.x dan yang lebih baru

Setelah Anda membuat gambar khusus, Anda bertanggung jawab atas penambalan sistem Amazon EC2, sesuai model tanggung jawab [bersama](https://aws.amazon.com/compliance/shared-responsibility-model/). Jika instans EC2 dalam beban kerja aplikasi Anda dapat dengan mudah diganti, maka mungkin paling efisien untuk memperbarui AMI dasar dan menerapkan ulang semua node komputasi berdasarkan gambar ini.

**catatan**  
Untuk patch macOS, kami sarankan Anda membuat versi baru resep Anda yang menggunakan AMI terkelola terbaru untuk gambar dasar, lalu buat gambar kustom yang diperbarui dari resep dan sumber daya pembuatan gambar Anda yang lain. Jika instans Mac Anda tidak mudah diganti, lihat halaman [Perbarui sistem operasi dan perangkat lunak pada instans Mac di](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mac-instance-updates.html) Panduan *Pengguna Amazon EC2* untuk informasi selengkapnya.

Berikut ini adalah dua cara agar Image Builder tetap AMIs up to date.
+ **AWS-komponen patching yang disediakan** - EC2 Image Builder menyediakan komponen build berikut yang menginstal semua pembaruan sistem operasi yang tertunda:
  + `update-linux`
  + `update-windows`

  Komponen-komponen ini menggunakan modul `UpdateOS` tindakan. Untuk informasi selengkapnya, lihat [UpdateOS](toe-action-modules.md#action-modules-updateos). Komponen dapat ditambahkan ke pipeline build image Anda dengan memilihnya dari daftar komponen AWS yang disediakan.
+ **Komponen build kustom dengan operasi patching** — Untuk menginstal atau memperbarui tambalan secara selektif pada sistem operasi yang didukung AMIs, Anda dapat membuat komponen Image Builder untuk menginstal tambalan yang diperlukan. Komponen khusus dapat menginstal tambalan menggunakan skrip shell (Bash atau PowerShell), atau dapat menggunakan modul `UpdateOS` tindakan untuk menentukan tambalan untuk instalasi atau pengecualian. Untuk informasi selengkapnya, lihat [Modul aksi yang didukung oleh manajer AWSTOE komponen](toe-action-modules.md).

  Komponen yang menggunakan modul `UpdateOS` tindakan (Linux dan Windows saja. Modul `UpdateOS` tindakan tidak didukung untuk macOS.)

  ```
  schemaVersion: 1.0
  phases:
    - name: build
  	steps:
  	  - name: UpdateOS
  		action: UpdateOS
  ```

  Komponen yang menggunakan Bash untuk menginstal pembaruan yum

  ```
  schemaVersion: 1.0
  phases:
    - name: build
  	steps:
  	  - name: InstallYumUpdates
  		action: ExecuteBash
  		inputs:
  		  commands:
  			- sudo yum update -y
  ```

# Praktik keamanan terbaik untuk Image Builder
<a name="security-best-practices"></a>

EC2 Image Builder menyediakan sejumlah fitur keamanan untuk dipertimbangkan saat Anda mengembangkan dan menerapkan kebijakan keamanan Anda sendiri. Praktik terbaik berikut adalah pedoman umum dan tidak mewakili solusi keamanan yang lengkap. Karena praktik terbaik ini mungkin tidak sesuai atau tidak memadai untuk lingkungan Anda, perlakukan itu sebagai pertimbangan yang bermanfaat, bukan sebagai resep.
+ Jangan gunakan grup keamanan yang terlalu permisif dalam resep Image Builder.
+ Jangan berbagi gambar dengan akun yang tidak Anda percayai.
+ Jangan membuat gambar publik yang memiliki data pribadi atau sensitif.
+ Terapkan semua patch keamanan Windows atau Linux yang tersedia selama pembuatan gambar.
+ Terapkan pembaruan AMI terkelola secara berkala ke resep macOS Anda dan buat gambar baru untuk meluncurkan instance yang memiliki tambalan keamanan terbaru.

Kami sangat menyarankan Anda menguji gambar Anda untuk memvalidasi postur keamanan dan tingkat kepatuhan keamanan yang berlaku.  Solusi seperti [Amazon Inspector](https://aws.amazon.com/inspector/) dapat membantu memvalidasi postur keamanan dan kepatuhan gambar.

**IMDSv2 untuk saluran pipa Image Builder**  
Saat pipeline Image Builder Anda berjalan, ia mengirimkan permintaan HTTP untuk meluncurkan instans EC2 yang digunakan Image Builder untuk membangun dan menguji gambar Anda. Untuk mengonfigurasi versi IMDS yang digunakan pipeline Anda untuk permintaan peluncuran, setel `httpTokens` parameter dalam setelan metadata instans konfigurasi infrastruktur Image Builder.

**catatan**  
Sebaiknya Anda mengonfigurasi semua instans EC2 yang diluncurkan Image Builder dari build pipeline untuk digunakan IMDSv2 sehingga permintaan pengambilan metadata instance memerlukan header token yang ditandatangani.

Untuk informasi selengkapnya tentang konfigurasi infrastruktur Image Builder, lihat[Kelola konfigurasi infrastruktur Image Builder](manage-infra-config.md). Untuk informasi selengkapnya tentang opsi metadata instans EC2 untuk image Linux, lihat [Mengonfigurasi opsi metadata instans di](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html) Panduan Pengguna Amazon EC2. Untuk gambar Windows, lihat [Mengonfigurasi opsi metadata instans](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html) di Panduan Pengguna Amazon EC2.

## Diperlukan pembersihan pasca-build
<a name="post-build-cleanup"></a>

Setelah Image Builder menyelesaikan semua langkah pembuatan untuk image kustom Anda, Image Builder menyiapkan instance build untuk pengujian dan pembuatan gambar. Sebelum mematikan instance build untuk membuat snapshot, Image Builder melakukan pembersihan berikut untuk memastikan keamanan gambar Anda:

------
#### [ Linux ]

Pipeline Image Builder menjalankan skrip pembersihan untuk membantu memastikan bahwa gambar akhir mengikuti praktik terbaik keamanan, dan untuk menghapus artefak atau pengaturan build apa pun yang tidak boleh terbawa ke snapshot Anda. Namun, Anda dapat melewati bagian skrip, atau mengganti data pengguna sepenuhnya. Oleh karena itu, gambar yang dihasilkan oleh pipeline Image Builder belum tentu sesuai dengan kriteria peraturan tertentu.

Saat pipeline menyelesaikan tahap pembuatan dan pengujiannya, Image Builder secara otomatis menjalankan skrip pembersihan berikut sebelum membuat gambar keluaran.

**penting**  
Jika Anda mengganti **data Pengguna** dalam resep Anda, skrip tidak berjalan. Dalam hal ini, pastikan bahwa Anda menyertakan perintah dalam data pengguna Anda yang membuat file kosong bernama`perform_cleanup`. Image Builder mendeteksi file ini dan menjalankan skrip pembersihan sebelum membuat gambar baru.

```
#!/bin/bash
if [[ ! -f {{workingDirectory}}/perform_cleanup ]]; then
    echo "Skipping cleanup"
    exit 0
else
    sudo rm -f {{workingDirectory}}/perform_cleanup
fi

function cleanup() {
    FILES=("$@")
    for FILE in "${FILES[@]}"; do
        if [[ -f "$FILE" ]]; then
            echo "Deleting $FILE";
            sudo shred -zuf $FILE;
        fi;
        if [[ -f $FILE ]]; then
            echo "Failed to delete '$FILE'. Failing."
            exit 1
        fi;
    done
};


# Clean up for cloud-init files
CLOUD_INIT_FILES=(
    "/etc/sudoers.d/90-cloud-init-users"
    "/etc/locale.conf"
    "/var/log/cloud-init.log"
    "/var/log/cloud-init-output.log"
)
if [[ -f {{workingDirectory}}/skip_cleanup_cloudinit_files ]]; then
    echo "Skipping cleanup of cloud init files"
else
    echo "Cleaning up cloud init files"
    cleanup "${CLOUD_INIT_FILES[@]}"
    if [[ $( sudo find /var/lib/cloud -type f | sudo wc -l ) -gt 0 ]]; then
        echo "Deleting files within /var/lib/cloud/*"
        sudo find /var/lib/cloud -type f -exec shred -zuf {} \;
    fi;

    if [[ $( sudo ls /var/lib/cloud | sudo wc -l ) -gt 0 ]]; then
        echo "Deleting /var/lib/cloud/*"
        sudo rm -rf /var/lib/cloud/* || true
    fi;
fi;


# Clean up for temporary instance files
INSTANCE_FILES=(
    "/etc/.updated"
    "/etc/aliases.db"
    "/etc/hostname"
    "/var/lib/misc/postfix.aliasesdb-stamp"
    "/var/lib/postfix/master.lock"
    "/var/spool/postfix/pid/master.pid"
    "/var/.updated"
    "/var/cache/yum/x86_64/2/.gpgkeyschecked.yum"
)
if [[ -f {{workingDirectory}}/skip_cleanup_instance_files ]]; then
    echo "Skipping cleanup of instance files"
else
    echo "Cleaning up instance files"
    cleanup "${INSTANCE_FILES[@]}"
fi;


# Clean up for ssh files
SSH_FILES=(
    "/etc/ssh/ssh_host_rsa_key"
    "/etc/ssh/ssh_host_rsa_key.pub"
    "/etc/ssh/ssh_host_ecdsa_key"
    "/etc/ssh/ssh_host_ecdsa_key.pub"
    "/etc/ssh/ssh_host_ed25519_key"
    "/etc/ssh/ssh_host_ed25519_key.pub"
    "/root/.ssh/authorized_keys"
)
if [[ -f {{workingDirectory}}/skip_cleanup_ssh_files ]]; then
    echo "Skipping cleanup of ssh files"
else
    echo "Cleaning up ssh files"
    cleanup "${SSH_FILES[@]}"
    USERS=$(ls /home/)
    for user in $USERS; do
        echo Deleting /home/"$user"/.ssh/authorized_keys;
        sudo find /home/"$user"/.ssh/authorized_keys -type f -exec shred -zuf {} \;
    done
    for user in $USERS; do
        if [[ -f /home/"$user"/.ssh/authorized_keys ]]; then
            echo Failed to delete /home/"$user"/.ssh/authorized_keys;
            exit 1
        fi;
    done;
fi;


# Clean up for instance log files
INSTANCE_LOG_FILES=(
    "/var/log/audit/audit.log"
    "/var/log/boot.log"
    "/var/log/dmesg"
    "/var/log/cron"
)
if [[ -f {{workingDirectory}}/skip_cleanup_instance_log_files ]]; then
    echo "Skipping cleanup of instance log files"
else
    echo "Cleaning up instance log files"
    cleanup "${INSTANCE_LOG_FILES[@]}"
fi;

# Clean up for TOE files
if [[ -f {{workingDirectory}}/skip_cleanup_toe_files ]]; then
    echo "Skipping cleanup of TOE files"
else
    echo "Cleaning TOE files"
    if [[ $( sudo find {{workingDirectory}}/TOE_* -type f | sudo wc -l) -gt 0 ]]; then
        echo "Deleting files within {{workingDirectory}}/TOE_*"
        sudo find {{workingDirectory}}/TOE_* -type f -exec shred -zuf {} \;
    fi
    if [[ $( sudo find {{workingDirectory}}/TOE_* -type f | sudo wc -l) -gt 0 ]]; then
        echo "Failed to delete {{workingDirectory}}/TOE_*"
        exit 1
    fi
    if [[ $( sudo find {{workingDirectory}}/TOE_* -type d | sudo wc -l) -gt 0 ]]; then
        echo "Deleting {{workingDirectory}}/TOE_*"
        sudo rm -rf {{workingDirectory}}/TOE_*
    fi
    if [[ $( sudo find {{workingDirectory}}/TOE_* -type d | sudo wc -l) -gt 0 ]]; then
        echo "Failed to delete {{workingDirectory}}/TOE_*"
        exit 1
    fi
fi

# Clean up for ssm log files
if [[ -f {{workingDirectory}}/skip_cleanup_ssm_log_files ]]; then
    echo "Skipping cleanup of ssm log files"
else
    echo "Cleaning up ssm log files"
    if [[ $( sudo find /var/log/amazon/ssm -type f | sudo wc -l) -gt 0 ]]; then
        echo "Deleting files within /var/log/amazon/ssm/*"
        sudo find /var/log/amazon/ssm -type f -exec shred -zuf {} \;
    fi
    if [[ $( sudo find /var/log/amazon/ssm -type f | sudo wc -l) -gt 0 ]]; then
        echo "Failed to delete /var/log/amazon/ssm"
        exit 1
    fi
    if [[ -d "/var/log/amazon/ssm" ]]; then
        echo "Deleting /var/log/amazon/ssm/*"
        sudo rm -rf /var/log/amazon/ssm
    fi
    if [[ -d "/var/log/amazon/ssm" ]]; then
        echo "Failed to delete /var/log/amazon/ssm"
        exit 1
    fi
fi


if [[ $( sudo find /var/log/sa/sa* -type f | sudo wc -l ) -gt 0 ]]; then
    echo "Deleting /var/log/sa/sa*"
    sudo shred -zuf /var/log/sa/sa*
fi
if [[ $( sudo find /var/log/sa/sa* -type f | sudo wc -l ) -gt 0 ]]; then
    echo "Failed to delete /var/log/sa/sa*"
    exit 1
fi

if [[ $( sudo find /var/lib/dhclient/dhclient*.lease -type f | sudo wc -l ) -gt 0 ]]; then
        echo "Deleting /var/lib/dhclient/dhclient*.lease"
        sudo shred -zuf /var/lib/dhclient/dhclient*.lease
fi
if [[ $( sudo find /var/lib/dhclient/dhclient*.lease -type f | sudo wc -l ) -gt 0 ]]; then
        echo "Failed to delete /var/lib/dhclient/dhclient*.lease"
        exit 1
fi

if [[ $( sudo find /var/tmp -type f | sudo wc -l) -gt 0 ]]; then
        echo "Deleting files within /var/tmp/*"
        sudo find /var/tmp -type f -exec shred -zuf {} \;
fi
if [[ $( sudo find /var/tmp -type f | sudo wc -l) -gt 0 ]]; then
        echo "Failed to delete /var/tmp"
        exit 1
fi
if [[ $( sudo ls /var/tmp | sudo wc -l ) -gt 0 ]]; then
        echo "Deleting /var/tmp/*"
        sudo rm -rf /var/tmp/*
fi

# Shredding is not guaranteed to work well on rolling logs

if [[ -f "/var/lib/rsyslog/imjournal.state" ]]; then
        echo "Deleting /var/lib/rsyslog/imjournal.state"
        sudo shred -zuf /var/lib/rsyslog/imjournal.state
        sudo rm -f /var/lib/rsyslog/imjournal.state
fi

if [[ $( sudo ls /var/log/journal/ | sudo wc -l ) -gt 0 ]]; then
        echo "Deleting /var/log/journal/*"
        sudo find /var/log/journal/ -type f -exec shred -zuf {} \;
        sudo rm -rf /var/log/journal/*
fi

sudo touch /etc/machine-id
```

------
#### [ Windows ]

Setelah pipeline Image Builder menyesuaikan gambar Windows, ia menjalankan utilitas Microsoft [Sysprep](https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/sysprep--generalize--a-windows-installation?view=windows-11). Tindakan ini mengikuti [praktik AWS terbaik untuk pengerasan dan pembersihan gambar](https://aws.amazon.com/articles/public-ami-publishing-hardening-and-clean-up-requirements/).

------
#### [ macOS ]

Pipeline Image Builder menjalankan skrip pembersihan untuk membantu memastikan bahwa gambar akhir mengikuti praktik terbaik keamanan, dan untuk menghapus artefak atau pengaturan build apa pun yang tidak boleh terbawa ke snapshot Anda. Namun, Anda dapat melewati bagian skrip, atau mengganti data pengguna sepenuhnya. Oleh karena itu, gambar yang dihasilkan oleh pipeline Image Builder belum tentu sesuai dengan kriteria peraturan tertentu.

Saat pipeline menyelesaikan tahap pembuatan dan pengujiannya, Image Builder secara otomatis menjalankan skrip pembersihan berikut sebelum membuat gambar keluaran.

**penting**  
Jika Anda mengganti **data Pengguna** dalam resep Anda, skrip tidak berjalan. Dalam hal ini, pastikan bahwa Anda menyertakan perintah dalam data pengguna Anda yang membuat file kosong bernama`perform_cleanup`. Image Builder mendeteksi file ini dan menjalankan skrip pembersihan sebelum membuat gambar baru.

```
#!/bin/bash
if [[ ! -f {{workingDirectory}}/perform_cleanup ]]; then
  echo "Skipping cleanup"
  exit 0
else
  sudo rm -f {{workingDirectory}}/perform_cleanup
fi

function cleanup() {
  FILES=("$@")
  for FILE in "${FILES[@]}"; do
      if [[ -f "$FILE" ]]; then
          echo "Deleting $FILE";
          sudo rm -f $FILE;
      fi;
      if [[ -f $FILE ]]; then
          echo "Failed to delete '$FILE'. Failing."
          exit 1
      fi;
  done
};

# Clean up for cloud-init files
CLOUD_INIT_FILES=(
  "/etc/sudoers.d/90-cloud-init-users"
  "/etc/locale.conf"
  "/var/log/cloud-init.log"
  "/var/log/cloud-init-output.log"
)
if [[ -f {{workingDirectory}}/skip_cleanup_cloudinit_files ]]; then
  echo "Skipping cleanup of cloud init files"
else
  echo "Cleaning up cloud init files"
  cleanup "${CLOUD_INIT_FILES[@]}"
  if [[ $( sudo find /var/lib/cloud -type f | sudo wc -l ) -gt 0 ]]; then
      echo "Deleting files within /var/lib/cloud/*"
      sudo find /var/lib/cloud -type f -exec rm -f {} \;
  fi;

  if [[ $( sudo ls /var/lib/cloud | sudo wc -l ) -gt 0 ]]; then
      echo "Deleting /var/lib/cloud/*"
      sudo rm -rf /var/lib/cloud/* || true
  fi;
fi;


# Clean up for temporary instance files
INSTANCE_FILES=(
  "/etc/.updated"
  "/etc/aliases.db"
  "/etc/hostname"
  "/var/lib/misc/postfix.aliasesdb-stamp"
  "/var/lib/postfix/master.lock"
  "/var/spool/postfix/pid/master.pid"
  "/var/.updated"
  "/var/cache/yum/x86_64/2/.gpgkeyschecked.yum"
)
if [[ -f {{workingDirectory}}/skip_cleanup_instance_files ]]; then
  echo "Skipping cleanup of instance files"
else
  echo "Cleaning up instance files"
  cleanup "${INSTANCE_FILES[@]}"
fi;


# Clean up for ssh files
SSH_FILES=(
  "/etc/ssh/ssh_host_rsa_key"
  "/etc/ssh/ssh_host_rsa_key.pub"
  "/etc/ssh/ssh_host_ecdsa_key"
  "/etc/ssh/ssh_host_ecdsa_key.pub"
  "/etc/ssh/ssh_host_ed25519_key"
  "/etc/ssh/ssh_host_ed25519_key.pub"
  "/root/.ssh/authorized_keys"
)
if [[ -f {{workingDirectory}}/skip_cleanup_ssh_files ]]; then
  echo "Skipping cleanup of ssh files"
else
  echo "Cleaning up ssh files"
  cleanup "${SSH_FILES[@]}"
  USERS=$(ls /home/)
  for user in $USERS; do
      echo Deleting /home/"$user"/.ssh/authorized_keys;
      sudo find /home/"$user"/.ssh/authorized_keys -type f -exec rm -f {} \;
  done
  for user in $USERS; do
      if [[ -f /home/"$user"/.ssh/authorized_keys ]]; then
          echo Failed to delete /home/"$user"/.ssh/authorized_keys;
          exit 1
      fi;
  done;
fi;


# Clean up for instance log files
INSTANCE_LOG_FILES=(
  "/var/log/audit/audit.log"
  "/var/log/boot.log"
  "/var/log/dmesg"
  "/var/log/cron"
  "/var/log/amazon/ec2/ec2-macos-init.log"
  "/var/log/amazon/ec2/ena-ethernet.log"
  "/var/log/amazon/ec2/system-monitoring.log"
)
if [[ -f {{workingDirectory}}/skip_cleanup_instance_log_files ]]; then
  echo "Skipping cleanup of instance log files"
else
  echo "Cleaning up instance log files"
  cleanup "${INSTANCE_LOG_FILES[@]}"
fi;

# Clean up for TOE files
if [[ -f {{workingDirectory}}/skip_cleanup_toe_files ]]; then
  echo "Skipping cleanup of TOE files"
else
  echo "Cleaning TOE files"
  if [[ $( sudo find {{workingDirectory}}/TOE_* -type f | sudo wc -l) -gt 0 ]]; then
      echo "Deleting files within {{workingDirectory}}/TOE_*"
      sudo find {{workingDirectory}}/TOE_* -type f -exec rm -f {} \;
  fi
  if [[ $( sudo find {{workingDirectory}}/TOE_* -type f | sudo wc -l) -gt 0 ]]; then
      echo "Failed to delete {{workingDirectory}}/TOE_*"
      exit 1
  fi
  if [[ $( sudo find {{workingDirectory}}/TOE_* -type d | sudo wc -l) -gt 0 ]]; then
      echo "Deleting {{workingDirectory}}/TOE_*"
      sudo rm -rf {{workingDirectory}}/TOE_*
  fi
  if [[ $( sudo find {{workingDirectory}}/TOE_* -type d | sudo wc -l) -gt 0 ]]; then
      echo "Failed to delete {{workingDirectory}}/TOE_*"
      exit 1
  fi
fi

# Clean up for ssm log files
if [[ -f {{workingDirectory}}/skip_cleanup_ssm_log_files ]]; then
  echo "Skipping cleanup of ssm log files"
else
  echo "Cleaning up ssm log files"
  if [[ $( sudo find /var/log/amazon/ssm -type f | sudo wc -l) -gt 0 ]]; then
      echo "Deleting files within /var/log/amazon/ssm/*"
      sudo find /var/log/amazon/ssm -type f -exec rm -f {} \;
  fi
  if [[ $( sudo find /var/log/amazon/ssm -type f | sudo wc -l) -gt 0 ]]; then
      echo "Failed to delete /var/log/amazon/ssm"
      exit 1
  fi
  if [[ -d "/var/log/amazon/ssm" ]]; then
      echo "Deleting /var/log/amazon/ssm/*"
      sudo rm -rf /var/log/amazon/ssm
  fi
  if [[ -d "/var/log/amazon/ssm" ]]; then
      echo "Failed to delete /var/log/amazon/ssm"
      exit 1
  fi
fi


if [[ $( sudo find /var/log/sa/sa* -type f | sudo wc -l ) -gt 0 ]]; then
  echo "Deleting /var/log/sa/sa*"
  sudo rm -f /var/log/sa/sa*
fi
if [[ $( sudo find /var/log/sa/sa* -type f | sudo wc -l ) -gt 0 ]]; then
  echo "Failed to delete /var/log/sa/sa*"
  exit 1
fi

if [[ $( sudo find /var/lib/dhclient/dhclient*.lease -type f | sudo wc -l ) -gt 0 ]]; then
      echo "Deleting /var/lib/dhclient/dhclient*.lease"
      sudo rm -f /var/lib/dhclient/dhclient*.lease
fi
if [[ $( sudo find /var/lib/dhclient/dhclient*.lease -type f | sudo wc -l ) -gt 0 ]]; then
      echo "Failed to delete /var/lib/dhclient/dhclient*.lease"
      exit 1
fi

if [[ $( sudo find /var/tmp -type f | sudo wc -l) -gt 0 ]]; then
      echo "Deleting files within /var/tmp/*"
      sudo find /var/tmp -type f -exec rm -f {} \;
fi
if [[ $( sudo find /var/tmp -type f | sudo wc -l) -gt 0 ]]; then
      echo "Failed to delete /var/tmp"
      exit 1
fi
if [[ $( sudo ls /var/tmp | sudo wc -l ) -gt 0 ]]; then
      echo "Deleting /var/tmp/*"
      sudo rm -rf /var/tmp/*
fi

# Shredding is not guaranteed to work well on rolling logs

if [[ -f "/var/lib/rsyslog/imjournal.state" ]]; then
      echo "Deleting /var/lib/rsyslog/imjournal.state"
      sudo rm -f /var/lib/rsyslog/imjournal.state
      sudo rm -f /var/lib/rsyslog/imjournal.state
fi

if [[ $( sudo ls /var/log/journal/ | sudo wc -l ) -gt 0 ]]; then
      echo "Deleting /var/log/journal/*"
      sudo find /var/log/journal/ -type f -exec rm -f {} \;
      sudo rm -rf /var/log/journal/*
fi

sudo touch /etc/machine-id
```

------

## Ganti skrip pembersihan Linux
<a name="override-linux-cleanup-script"></a>

Image Builder membuat gambar yang aman secara default dan mengikuti praktik terbaik keamanan kami. Namun, beberapa kasus penggunaan yang lebih canggih mungkin mengharuskan Anda untuk melewati satu atau lebih bagian dari skrip pembersihan bawaan. Jika Anda perlu melewatkan beberapa pembersihan, kami sangat menyarankan Anda menguji AMI keluaran Anda untuk memastikan keamanan gambar Anda.

**penting**  
Melewatkan bagian dalam skrip pembersihan dapat menghasilkan informasi sensitif, seperti detail akun pemilik atau kunci SSH yang disertakan dalam gambar akhir, dan dalam hal apa pun diluncurkan dari gambar itu. Anda mungkin juga mengalami masalah dengan peluncuran di Availability Zone, Region, atau akun yang berbeda.

Tabel berikut menguraikan bagian skrip pembersihan, file yang dihapus di bagian itu, dan nama file yang dapat Anda gunakan untuk menandai bagian yang harus dilewati oleh Image Builder. Untuk melewati bagian tertentu dari skrip pembersihan, Anda dapat menggunakan modul tindakan [CreateFile](toe-action-modules.md#action-modules-createfile) komponen atau perintah dalam data pengguna Anda (jika diganti) untuk membuat file kosong dengan nama yang ditentukan dalam kolom **Nama file bagian Lewati**.

**catatan**  
File yang Anda buat untuk melewati bagian skrip pembersihan tidak boleh menyertakan ekstensi file. Misalnya, jika Anda ingin melewati `CLOUD_INIT_FILES` bagian skrip, tetapi Anda membuat file bernama`skip_cleanup_cloudinit_files.txt`, Image Builder tidak akan mengenali file skip.


**Input**  

| Bersihkan bagian | File dihapus | Lewati nama file bagian | 
| --- | --- | --- | 
| `CLOUD_INIT_FILES` | `/etc/sudoers.d/90-cloud-init-users` `/etc/locale.conf` `/var/log/cloud-init.log` `/var/log/cloud-init-output.log`  | `skip_cleanup_cloudinit_files` | 
| `INSTANCE_FILES` | `/etc/.updated` `/etc/aliases.db` `/etc/hostname` `/var/lib/misc/postfix.aliasesdb-stamp` `/var/lib/postfix/master.lock` `/var/spool/postfix/pid/master.pid` `/var/.updated` `/var/cache/yum/x86_64/2/.gpgkeyschecked.yum`  | `skip_cleanup_instance_files` | 
| `SSH_FILES` | `/etc/ssh/ssh_host_rsa_key` `/etc/ssh/ssh_host_rsa_key.pub` `/etc/ssh/ssh_host_ecdsa_key` `/etc/ssh/ssh_host_ecdsa_key.pub` `/etc/ssh/ssh_host_ed25519_key` `/etc/ssh/ssh_host_ed25519_key.pub` `/root/.ssh/authorized_keys` `/home/<all users>/.ssh/authorized_keys;`  | `skip_cleanup_ssh_files` | 
| `INSTANCE_LOG_FILES` | `/var/log/audit/audit.log` `/var/log/boot.log` `/var/log/dmesg` `/var/log/cron`  | `skip_cleanup_instance_log_files` | 
| `TOE_FILES` | `{{workingDirectory}}/TOE_*` | `skip_cleanup_toe_files` | 
| `SSM_LOG_FILES` | `/var/log/amazon/ssm/*` | `skip_cleanup_ssm_log_files` | 