

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

# Memahami penggunaan AMI bersama di Amazon EC2
<a name="sharing-amis"></a>

*AMI bersama* adalah AMI yang dibuat oleh developer dan disediakan untuk digunakan oleh orang lain. Salah satu cara termudah untuk memulai Amazon EC2 adalah menggunakan AMI bersama yang memiliki komponen yang Anda butuhkan, lalu menambahkan konten kustom. Anda juga dapat membuat AMIs dan membagikannya kepada yang lain. 

Anda menggunakan AMI bersama dengan risiko Anda sendiri. Amazon tidak dapat menjamin integritas atau keamanan AMI yang dibagikan oleh pengguna Amazon EC2 lainnya. Oleh karena itu, Anda harus memperlakukan shared AMIs seperti halnya kode asing yang mungkin Anda pertimbangkan untuk diterapkan di pusat data Anda sendiri, dan melakukan uji tuntas yang sesuai. Kami menyarankan Anda mendapatkan AMI dari sumber tepercaya, seperti penyedia yang terverifikasi.

## Penyedia AMI terverifikasi
<a name="verified-ami-provider"></a>

Di konsol Amazon EC2, publik AMIs yang dimiliki oleh Amazon atau mitra Amazon **terverifikasi ditandai Penyedia terverifikasi**.

Anda juga dapat menggunakan [AWS CLI perintah deskripsi-gambar](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) untuk mengidentifikasi publik AMIs yang berasal dari penyedia terverifikasi. Gambar publik yang dimiliki oleh Amazon atau mitra terverifikasi memiliki pemilik alias, yaitu `amazon``aws-backup-vault`, atau`aws-marketplace`. Dalam output CLI, nilai-nilai ini muncul untuk `ImageOwnerAlias`. Pengguna lain tidak dapat membuat alias AMIs. Ini memungkinkan Anda untuk dengan mudah menemukan AMIs dari Amazon atau mitra terverifikasi.

Untuk menjadi penyedia terverifikasi, Anda harus mendaftar sebagai penjual di AWS Marketplace. Setelah terdaftar, Anda dapat mendaftarkan AMI Anda di AWS Marketplace. Untuk informasi selengkapnya, lihat [Memulai sebagai penjual](https://docs.aws.amazon.com/marketplace/latest/userguide/user-guide-for-sellers.html) dan [produk berbasis AMI](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-products.html) di *Panduan Penjual AWS Marketplace *.

**Topics**
+ [Penyedia AMI terverifikasi](#verified-ami-provider)
+ [Temukan AMI bersama untuk digunakan untuk instans Amazon EC2](usingsharedamis-finding.md)
+ [Bersiaplah untuk menggunakan shared AMIs untuk Linux](usingsharedamis-confirm.md)
+ [Kontrol penemuan dan penggunaan AMI di Amazon EC2 dengan Diizinkan AMIs](ec2-allowed-amis.md)
+ [Jadikan AMI Anda tersedia untuk umum untuk digunakan di Amazon EC2](sharingamis-intro.md)
+ [Memahami memblokir akses publik untuk AMIs](block-public-access-to-amis.md)
+ [Bagikan AMI dengan organisasi dan unit organisasi](share-amis-with-organizations-and-OUs.md)
+ [Bagikan AMI dengan AWS akun tertentu](sharingamis-explicit.md)
+ [Batalkan memiliki AMI yang dibagikan dengan Anda Akun AWS](cancel-sharing-an-AMI.md)
+ [Rekomendasi untuk membuat Linux bersama AMIs](building-shared-amis.md)

**Jika Anda mencari informasi tentang topik lain**
+ Untuk informasi tentang membuat AMI, lihat [Buat AMI yang didukung Amazon S3](creating-an-ami-instance-store.md) atau[Buat AMI yang didukung Amazon EBS-Backed](creating-an-ami-ebs.md).
+ Untuk informasi tentang membangun, mengirim, dan memelihara aplikasi Anda di AWS Marketplace, lihat [Dokumentasi AWS Marketplace](https://docs.aws.amazon.com/marketplace/).

# Temukan AMI bersama untuk digunakan untuk instans Amazon EC2
<a name="usingsharedamis-finding"></a>

Anda dapat menggunakan konsol Amazon EC2 atau baris perintah untuk menemukan AMI bersama publik atau pribadi untuk digunakan dengan instans Amazon EC2 Anda.

AMIs adalah sumber daya regional. Saat Anda mencari AMI bersama (publik atau privat), Anda harus mencarinya dari Wilayah di mana AMI tersebut dibagikan. Agar AMI tersedia di Wilayah yang berbeda, salin AMI ke Wilayah, lalu bagikan. Untuk informasi selengkapnya, lihat [Salin Amazon EC2 AMI](CopyingAMIs.md).

------
#### [ Console ]

Konsol menyediakan bidang filter AMI. Anda juga dapat membuat cakupan pencarian menggunakan filter yang disediakan di kolom **Pencarian**.

**Untuk menemukan bersama atau AMI**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **AMIs**.

1. Di filter pertama, pilih salah satu opsi berikut:
   + **Gambar pribadi** - Daftar semua AMIs yang dibagikan dengan Anda.
   + **Gambar publik** - Daftar semua publik AMIs.

1. (Opsional) Untuk hanya menampilkan gambar publik dari Amazon, pilih bidang **Pencarian** dan kemudian, dari opsi menu, pilih **alias Pemilik**, lalu **=**, dan kemudian **amazon**.

1. (Opsional) Tambahkan filter untuk cakupan pencarian Anda AMIs yang memenuhi persyaratan Anda.

**Untuk menemukan AMI publik bersama dari [penyedia terverifikasi](sharing-amis.md#verified-ami-provider)**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Katalog AMI**.

1. Pilih **Komunitas AMIs**.

1. Di panel **Perbaiki hasil**, pilih Penyedia **terverifikasi**. Label **penyedia terverifikasi** menunjukkan bahwa itu AMIs berasal dari Amazon atau mitra terverifikasi.

------
#### [ AWS CLI ]

Gunakan [perintah deskripsi-gambar](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) untuk daftar. AMIs Anda dapat membuat cakupan daftar ke jenis AMIs yang Anda minati, seperti yang ditunjukkan pada contoh berikut.

**Untuk daftar semua publik AMIs**  
Perintah berikut mencantumkan semua publik AMIs, termasuk publik AMIs yang Anda miliki.

```
aws ec2 describe-images --executable-users all
```

**Untuk daftar AMIs dengan izin peluncuran eksplisit**  
Perintah berikut mencantumkan izin peluncuran eksplisit yang Anda miliki. AMIs Daftar ini tidak termasuk AMIs yang Anda miliki.

```
aws ec2 describe-images --executable-users self
```

**Untuk daftar yang AMIs dimiliki oleh penyedia terverifikasi**  
Perintah berikut mencantumkan yang AMIs dimiliki oleh [penyedia terverifikasi](sharing-amis.md#verified-ami-provider). Publik yang AMIs dimiliki oleh penyedia terverifikasi (baik Amazon atau mitra terverifikasi) memiliki pemilik alias, yang muncul sebagai `amazon``aws-backup-vault`,, atau `aws-marketplace` di bidang akun. Ini membantu Anda menemukan dengan mudah AMIs dari penyedia terverifikasi. Pengguna lain tidak dapat membuat alias AMIs.

```
aws ec2 describe-images \
    --owners amazon aws-marketplace \
    --query 'Images[*].[ImageId]' \
    --output text
```

**Untuk daftar AMIs yang dimiliki oleh akun**  
Perintah berikut mencantumkan yang AMIs dimiliki oleh yang ditentukan Akun AWS.

```
aws ec2 describe-images --owners 123456789012
```

**Untuk cakupan AMIs menggunakan filter**  
Untuk mengurangi jumlah yang ditampilkan AMIs, gunakan filter untuk mencantumkan hanya jenis AMIs yang menarik bagi Anda. Misalnya, gunakan filter berikut untuk menampilkan hanya didukung EBS AMIs.

```
--filters "Name=root-device-type,Values=ebs"
```

------
#### [ PowerShell ]

Gunakan [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html)cmdlet (Alat untuk Windows PowerShell) untuk daftar. AMIs Anda dapat membuat cakupan daftar ke jenis AMIs yang Anda minati, seperti yang ditunjukkan pada contoh berikut.

**Untuk daftar semua publik AMIs**  
Perintah berikut mencantumkan semua publik AMIs, termasuk publik AMIs yang Anda miliki.

```
Get-EC2Image -ExecutableUser all
```

**Untuk daftar AMIs dengan izin peluncuran eksplisit**  
Perintah berikut mencantumkan izin peluncuran eksplisit yang Anda miliki. AMIs Daftar ini tidak termasuk AMIs yang Anda miliki.

```
Get-EC2Image -ExecutableUser self
```

**Untuk daftar yang AMIs dimiliki oleh penyedia terverifikasi**  
Perintah berikut mencantumkan yang AMIs dimiliki oleh [penyedia terverifikasi](sharing-amis.md#verified-ami-provider). Publik yang AMIs dimiliki oleh penyedia terverifikasi (baik Amazon atau mitra terverifikasi) memiliki pemilik alias, yang muncul sebagai `amazon``aws-backup-vault`,, atau `aws-marketplace` di bidang akun. Ini membantu Anda menemukan dengan mudah AMIs dari penyedia terverifikasi. Pengguna lain tidak dapat membuat alias AMIs.

```
Get-EC2Image -Owner amazon aws-marketplace
```

**Untuk daftar AMIs yang dimiliki oleh akun**  
Perintah berikut mencantumkan yang AMIs dimiliki oleh yang ditentukan Akun AWS.

```
Get-EC2Image -Owner 123456789012
```

**Untuk cakupan AMIs menggunakan filter**  
Untuk mengurangi jumlah yang ditampilkan AMIs, gunakan filter untuk mencantumkan hanya jenis AMIs yang menarik bagi Anda. Misalnya, gunakan filter berikut untuk menampilkan hanya didukung EBS AMIs.

```
-Filter @{Name="root-device-type"; Values="ebs"}
```

------

# Bersiaplah untuk menggunakan shared AMIs untuk Linux
<a name="usingsharedamis-confirm"></a>

Sebelum Anda menggunakan AMI bersama untuk Linux, lakukan langkah-langkah berikut untuk mengonfirmasi bahwa tidak ada kredensil pra-instal yang memungkinkan akses yang tidak diinginkan ke instans Anda oleh pihak ketiga dan tidak ada pencatatan jarak jauh yang telah dikonfigurasi sebelumnya yang dapat mengirimkan data sensitif ke pihak ketiga. Periksa dokumentasi untuk distribusi Linux yang digunakan oleh AMI untuk informasi tentang meningkatkan keamanan sistem.

Untuk memastikan Anda tidak kehilangan akses ke instans Anda tanpa sengaja, kami sarankan Anda memulai dua sesi SSH dan membuka sesi kedua hingga Anda menghapus kredensial yang tidak Anda kenali dan mengonfirmasi bahwa Anda masih dapat masuk ke aplikasi menggunakan SSH.

1. Mengidentifikasi dan menonaktifkan kunci SSH publik yang tidak sah. Satu-satunya kunci dalam file harus menjadi kunci yang Anda gunakan untuk meluncurkan AMI. Perintah berikut mencari file `authorized_keys`:

   ```
   [ec2-user ~]$ sudo find / -name "authorized_keys" -print -exec cat {} \;
   ```

1. Menonaktifkan autentikasi berbasis kata sandi untuk pengguna root. Buka file `sshd_config` dan ubah baris `PermitRootLogin` sebagai berikut:

   ```
   PermitRootLogin without-password
   ```

   Atau, Anda dapat menonaktifkan kemampuan untuk masuk ke instans sebagai pengguna root:

   ```
   PermitRootLogin No
   ```

   Memulai ulang layanan sshd.

1. Periksa apakah ada pengguna lain yang dapat masuk ke instans Anda. Pengguna dengan hak istimewa superuser sangat berbahaya. Hapus atau kunci kata sandi akun yang tidak dikenal.

1. Periksa port terbuka yang tidak Anda gunakan dan layanan jaringan yang mendengarkan koneksi masuk.

1. Untuk mencegah logging jarak jauh terkonfigurasi, Anda harus menghapus file konfigurasi yang ada dan memulai ulang layanan `rsyslog`. Sebagai contoh:

   ```
   [ec2-user ~]$ sudo rm /etc/rsyslog.conf
   [ec2-user ~]$ sudo service rsyslog restart
   ```

1. Pastikan bahwa semua pekerjaan cron sah.

Jika Anda menemukan AMI publik yang Anda rasa menimbulkan risiko keamanan, kontak tim keamanan AWS . Untuk informasi selengkapnya, lihat [Pusat Keamanan AWS](https://aws.amazon.com/security/).

# Kontrol penemuan dan penggunaan AMI di Amazon EC2 dengan Diizinkan AMIs
<a name="ec2-allowed-amis"></a>

Untuk mengontrol penemuan dan penggunaan Amazon Machine Images (AMIs) oleh pengguna di Anda Akun AWS, Anda dapat menggunakan AMIs fitur *Diizinkan*. Anda menentukan kriteria yang AMIs harus dipenuhi agar terlihat dan tersedia dalam akun Anda. Ketika kriteria diaktifkan, pengguna yang meluncurkan instance hanya akan melihat dan memiliki akses ke AMIs yang sesuai dengan kriteria yang ditentukan. Misalnya, Anda dapat menentukan daftar penyedia AMI tepercaya sebagai kriteria, dan hanya AMIs dari penyedia ini yang akan terlihat dan tersedia untuk digunakan.

Sebelum mengaktifkan AMIs pengaturan Diizinkan, Anda dapat mengaktifkan *mode audit* untuk melihat pratinjau yang AMIs akan atau tidak akan terlihat dan tersedia untuk digunakan. Ini memungkinkan Anda menyempurnakan kriteria yang diperlukan untuk memastikan bahwa hanya yang dimaksudkan AMIs yang terlihat dan tersedia bagi pengguna di akun Anda. Selain itu, gunakan [describe-instance-image-metadata](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-image-metadata.html)perintah untuk menemukan instance yang diluncurkan dengan AMIs yang tidak memenuhi kriteria yang ditentukan. Informasi ini dapat memandu keputusan Anda untuk memperbarui konfigurasi peluncuran agar sesuai dengan penggunaan AMIs (misalnya, menentukan AMI yang berbeda dalam templat peluncuran) atau menyesuaikan kriteria Anda untuk mengizinkannya. AMIs

Anda menentukan AMIs pengaturan Diizinkan di tingkat akun, baik secara langsung di akun atau dengan menggunakan kebijakan deklaratif. Pengaturan ini harus dikonfigurasi di setiap Wilayah AWS tempat Anda ingin mengontrol penggunaan AMI. Menggunakan kebijakan deklaratif memungkinkan Anda menerapkan pengaturan di beberapa Wilayah secara bersamaan, serta di beberapa akun secara bersamaan. Saat kebijakan deklaratif sedang digunakan, Anda tidak dapat mengubah pengaturan secara langsung di dalam akun. Topik ini menjelaskan cara mengonfigurasi pengaturan secara langsung di dalam akun. Untuk informasi tentang penggunaan kebijakan deklaratif, lihat [Kebijakan deklaratif](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) di *AWS Organizations Panduan Pengguna*.

**catatan**  
 AMIs Fitur yang Diizinkan hanya mengontrol penemuan dan penggunaan publik AMIs atau AMIs dibagikan dengan akun Anda. Itu tidak membatasi yang AMIs dimiliki oleh akun Anda. Terlepas dari kriteria yang Anda tetapkan, yang AMIs dibuat oleh akun Anda selalu dapat ditemukan dan dapat digunakan oleh pengguna di akun Anda.

**Manfaat utama dari Diizinkan AMIs**
+ **Kepatuhan dan keamanan**: Pengguna hanya dapat menemukan dan menggunakan AMIs yang memenuhi kriteria yang ditentukan, sehingga mengurangi risiko penggunaan AMI yang tidak sesuai.
+ **Manajemen yang efisien**: Dengan mengurangi jumlah yang diizinkan AMIs, mengelola yang tersisa menjadi lebih mudah dan lebih efisien.
+ **Implementasi tingkat akun terpusat**: Konfigurasikan AMIs pengaturan yang Diizinkan di tingkat akun, baik secara langsung di dalam akun atau melalui kebijakan deklaratif. Ini memberikan cara terpusat dan efisien untuk mengontrol penggunaan AMI di seluruh akun.

**Topics**
+ [Cara AMIs kerja yang Diizinkan](#how-allowed-amis-works)
+ [Praktik terbaik untuk menerapkan Diizinkan AMIs](#best-practice-for-implementing-allowed-amis)
+ [Izin IAM yang diperlukan](#iam-permissions-for-allowed-amis)
+ [Mengelola pengaturan untuk Diizinkan AMIs](manage-settings-allowed-amis.md)

## Cara AMIs kerja yang Diizinkan
<a name="how-allowed-amis-works"></a>

Untuk mengontrol mana yang AMIs dapat ditemukan dan digunakan di akun Anda, Anda menentukan serangkaian kriteria yang digunakan untuk mengevaluasi akun Anda AMIs. Kriteria terdiri dari satu atau lebih `ImageCriterion` seperti yang ditunjukkan pada diagram berikut. Penjelasan mengikuti diagram.

![\[Hierarki AMIs ImageCriteria konfigurasi yang Diizinkan.\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/images/ami_allowed-amis-imagecriteria.png)


Konfigurasi memiliki tiga level:
+ **1** — Nilai parameter
  + Parameter multi-nilai:
    + `ImageProviders`
    + `ImageNames`
    + `MarketplaceProductCodes`

      AMI dapat mencocokkan nilai *apa pun* dalam parameter yang akan diizinkan.

      Contoh: `ImageProviders` = `amazon` **ATAU** akun `111122223333` **ATAU** akun `444455556666` (Logika evaluasi untuk nilai parameter tidak ditampilkan dalam diagram.)
  + Parameter nilai tunggal:
    + `CreationDateCondition`
    + `DeprecationTimeCondition`
+ **2** — `ImageCriterion`
  + Kelompokkan beberapa parameter dengan logika **AND**.
  + AMI harus cocok dengan *semua* parameter dalam a `ImageCriterion` untuk diizinkan.
  + Contoh: `ImageProviders` = `amazon` **AND** `CreationDateCondition` = 300 hari atau kurang
+ **3** — `ImageCriteria`
  + Kelompokkan beberapa `ImageCriterion` dengan logika **OR**.
  + AMI dapat mencocokkan *`ImageCriterion`apa pun* yang diizinkan.
  + Membentuk konfigurasi lengkap yang AMIs dievaluasi. 

**Topics**
+ [AMIs Parameter yang diizinkan](#allowed-amis-criteria)
+ [AMIs Konfigurasi yang diizinkan](#allowed-amis-json-configuration)
+ [Bagaimana kriteria dievaluasi](#how-allowed-amis-criteria-are-evaluated)
+ [Batas](#allowed-amis-json-configuration-limits)
+ [AMIs Operasi yang diizinkan](#allowed-amis-operations)

### AMIs Parameter yang diizinkan
<a name="allowed-amis-criteria"></a>

Parameter berikut dapat dikonfigurasi untuk membuat`ImageCriterion`:

`ImageProviders`  
Penyedia AMI AMIs yang diizinkan.  
Nilai yang valid adalah alias yang didefinisikan oleh AWS, dan Akun AWS IDs, sebagai berikut:  
+ `amazon`— Alias yang mengidentifikasi AMIs dibuat oleh Amazon atau penyedia terverifikasi
+ `aws-marketplace`— Alias yang mengidentifikasi AMIs dibuat oleh penyedia terverifikasi di AWS Marketplace
+ `aws-backup-vault`— Alias yang mengidentifikasi cadangan yang berada di akun AMIs brankas Backup yang memiliki celah udara secara logis. AWS Jika Anda menggunakan fitur AWS Backup air-gapped vault secara logis, pastikan alias ini disertakan sebagai penyedia AMI.
+ Akun AWS IDs — Satu atau lebih 12 digit Akun AWS IDs
+ `none`— Menunjukkan bahwa hanya AMIs dibuat oleh akun Anda yang dapat ditemukan dan digunakan. Publik atau dibagikan tidak AMIs dapat ditemukan dan digunakan. Ketika ditentukan, tidak ada kriteria lain yang dapat ditentukan.

`ImageNames`  
Nama-nama yang diizinkan AMIs, menggunakan kecocokan persis atau wildcard (`?`atau`*`).

`MarketplaceProductCodes`  
Kode AWS Marketplace produk untuk diizinkan AMIs.

`CreationDateCondition`  
Usia maksimum untuk diizinkan AMIs.

`DeprecationTimeCondition`  
Periode maksimum sejak penghentian untuk diizinkan. AMIs

*Untuk nilai dan batasan yang valid untuk setiap kriteria, lihat di Referensi API [ImageCriterionRequest](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImageCriterionRequest.html)Amazon EC2.*

### AMIs Konfigurasi yang diizinkan
<a name="allowed-amis-json-configuration"></a>

Konfigurasi inti untuk Diizinkan AMIs adalah `ImageCriteria` konfigurasi yang mendefinisikan kriteria untuk diizinkan AMIs. Struktur JSON berikut menunjukkan parameter yang dapat ditentukan:

```
{
    "State": "enabled" | "disabled" | "audit-mode",  
    "ImageCriteria" : [
        {
            "ImageProviders": ["string",...],
            "MarketplaceProductCodes": ["string",...],           
            "ImageNames":["string",...],
            "CreationDateCondition" : {
                "MaximumDaysSinceCreated": integer
            },
            "DeprecationTimeCondition" : {
                "MaximumDaysSinceDeprecated": integer
            }
         },
         ...
}
```

#### ImageCriteria contoh
<a name="allowed-amis-json-configuration-example"></a>

`ImageCriteria`Contoh berikut mengkonfigurasi empat`ImageCriterion`. AMI diperbolehkan jika cocok dengan salah satu dari ini`ImageCriterion`. Untuk informasi tentang bagaimana kriteria dievaluasi, lihat[Bagaimana kriteria dievaluasi](#how-allowed-amis-criteria-are-evaluated).

```
{
    "ImageCriteria": [
        // ImageCriterion 1: Allow AWS Marketplace AMIs with product code "abcdefg1234567890"
        {
            "MarketplaceProductCodes": [
                "abcdefg1234567890"
            ]
        },
        // ImageCriterion 2: Allow AMIs from providers whose accounts are
        // "123456789012" OR "123456789013" AND AMI age is less than 300 days
        {
            "ImageProviders": [
                "123456789012",
                "123456789013"
            ],
            "CreationDateCondition": {
                "MaximumDaysSinceCreated": 300
            }
        },
        // ImageCriterion 3: Allow AMIs from provider whose account is "123456789014" 
        // AND with names following the pattern "golden-ami-*"
        {
            "ImageProviders": [
                "123456789014"
            ],
            "ImageNames": [
                "golden-ami-*"
            ]
        },
        // ImageCriterion 4: Allow AMIs from Amazon or verified providers 
        // AND which aren't deprecated
        {
            "ImageProviders": [
                "amazon"
            ],
            "DeprecationTimeCondition": {
                "MaximumDaysSinceDeprecated": 0
            }
        }
    ]
}
```

### Bagaimana kriteria dievaluasi
<a name="how-allowed-amis-criteria-are-evaluated"></a>

Tabel berikut menjelaskan aturan evaluasi yang menentukan apakah AMI diizinkan, yang menunjukkan bagaimana `OR` operator `AND` atau diterapkan di setiap tingkat:


| Tingkat evaluasi | Operator | Persyaratan untuk menjadi AMI yang Diizinkan | 
| --- | --- | --- | 
| Nilai parameter untukImageProviders,ImageNames, dan MarketplaceProductCodes | OR | AMI harus mencocokkan setidaknya satu nilai di setiap daftar parameter | 
| ImageCriterion | AND | AMI harus mencocokkan semua parameter di masing-masing ImageCriterion | 
| ImageCriteria | OR | AMI harus cocok dengan salah satu ImageCriterion | 

Dengan menggunakan aturan evaluasi sebelumnya, mari kita lihat bagaimana menerapkannya pada: [ImageCriteria contoh](#allowed-amis-json-configuration-example)
+ `ImageCriterion`1: Memungkinkan AMIs yang memiliki kode AWS Marketplace produk `abcdefg1234567890`

  `OR`
+ `ImageCriterion`2: Memungkinkan AMIs yang memenuhi kedua kriteria ini:
  + Dimiliki oleh salah satu akun `123456789012` `OR` `123456789013`
    + `AND`
  + Dibuat dalam 300 hari terakhir

  `OR`
+ `ImageCriterion`3: Memungkinkan AMIs yang memenuhi kedua kriteria ini:
  + Dimiliki oleh akun `123456789014`
    + `AND`
  + Dinamakan dengan pola `golden-ami-*`

  `OR`
+ `ImageCriterion`4: Memungkinkan AMIs yang memenuhi kedua kriteria ini:
  + Diterbitkan oleh Amazon atau penyedia terverifikasi (ditentukan oleh `amazon` alias)
    + `AND`
  + Tidak usang (hari maksimum sejak penghentian) `0`

### Batas
<a name="allowed-amis-json-configuration-limits"></a>

`ImageCriteria`Dapat mencakup hingga:
+ 10 `ImageCriterion`

Masing-masing `ImageCriterion` dapat mencakup hingga:
+ 200 nilai untuk `ImageProviders`
+ 50 nilai untuk `ImageNames` 
+ 50 nilai untuk `MarketplaceProductCodes` 

**Contoh batas**

Menggunakan yang sebelumnya[ImageCriteria contoh](#allowed-amis-json-configuration-example):
+ Ada 4`ImageCriterion`. Hingga 6 lagi dapat ditambahkan ke permintaan untuk mencapai batas 10.
+ Yang pertama`ImageCriterion`, ada 1 nilai untuk`MarketplaceProductCodes`. Hingga 49 lebih dapat ditambahkan ke ini `ImageCriterion` untuk mencapai batas 50.
+ Yang kedua`ImageCriterion`, ada 2 nilai untuk`ImageProviders`. Hingga 198 lebih dapat ditambahkan ke ini `ImageCriterion` untuk mencapai batas 200.
+ Yang ketiga`ImageCriterion`, ada 1 nilai untuk`ImageNames`. Hingga 49 lebih dapat ditambahkan ke ini `ImageCriterion` untuk mencapai batas 50.

### AMIs Operasi yang diizinkan
<a name="allowed-amis-operations"></a>

 AMIs Fitur Diizinkan memiliki tiga status operasional untuk mengelola kriteria gambar: **mode **diaktifkan**, **dinonaktifkan**, dan audit**. Ini memungkinkan Anda untuk mengaktifkan atau menonaktifkan kriteria gambar, atau meninjaunya sesuai kebutuhan.

**Diaktifkan**

Saat Diizinkan AMIs diaktifkan: 
+ Itu `ImageCriteria` diterapkan.
+ Hanya AMI yang diizinkan yang dapat ditemukan di konsol EC2 dan dengan APIs itu menggunakan gambar (misalnya, yang menggambarkan, menyalin, menyimpan, atau melakukan tindakan lain yang menggunakan gambar).
+ Instans hanya dapat diluncurkan menggunakan diizinkan AMIs.

**Nonaktif**

Ketika Diizinkan AMIs dinonaktifkan: 
+ Itu `ImageCriteria` tidak diterapkan.
+ Tidak ada batasan yang ditempatkan pada kemampuan penemuan atau penggunaan AMI. 

**Modus audit**

 Dalam mode audit:
+ `ImageCriteria`Ini diterapkan, tetapi tidak ada batasan yang ditempatkan pada kemampuan penemuan atau penggunaan AMI.
+ Di konsol EC2, untuk setiap AMI, bidang **gambar yang Diizinkan** menampilkan **Ya** atau **Tidak** untuk menunjukkan apakah AMI akan dapat ditemukan dan tersedia bagi pengguna di akun saat Diizinkan AMIs diaktifkan.
+ Di baris perintah, respons untuk `describe-image` operasi mencakup `"ImageAllowed": true` atau `"ImageAllowed": false` untuk menunjukkan apakah AMI akan dapat ditemukan dan tersedia untuk pengguna di akun saat Diizinkan AMIs diaktifkan.
+ Di konsol EC2, Katalog AMI menampilkan **Tidak diizinkan** di samping AMIs yang tidak dapat ditemukan atau tersedia bagi pengguna di akun saat Diizinkan AMIs diaktifkan.

## Praktik terbaik untuk menerapkan Diizinkan AMIs
<a name="best-practice-for-implementing-allowed-amis"></a>

Saat menerapkan AMIs Allowed, pertimbangkan praktik terbaik ini untuk memastikan transisi yang lancar dan meminimalkan potensi gangguan pada AWS lingkungan Anda.

1. **Aktifkan mode audit**

   Mulailah dengan mengaktifkan Diizinkan AMIs dalam mode audit. Status ini memungkinkan Anda untuk melihat mana yang AMIs akan terpengaruh oleh kriteria Anda tanpa benar-benar membatasi akses, memberikan periode evaluasi bebas risiko.

1. **Tetapkan AMIs kriteria yang Diizinkan**

   Tetapkan dengan cermat penyedia AMI mana yang selaras dengan kebijakan keamanan, persyaratan kepatuhan, dan kebutuhan operasional organisasi Anda.
**catatan**  
Saat menggunakan layanan AWS terkelola, seperti Amazon ECS, Amazon EKS, atau Instans Terkelola AWS Lambda, sebaiknya tentukan alias yang akan diizinkan dibuat `amazon` oleh. AMIs AWS Layanan ini bergantung pada Amazon yang diterbitkan AMIs untuk meluncurkan instance.   
Berhati-hatilah saat menetapkan `CreationDateCondition` batasan untuk apa pun AMIs. Menyetel kondisi tanggal yang terlalu ketat (misalnya, AMIs harus berusia kurang dari 5 hari) dapat menyebabkan kegagalan peluncuran instance jika AMIs, baik dari AWS atau penyedia lain, tidak diperbarui dalam jangka waktu yang Anda tentukan.  
Kami merekomendasikan pemasangan `ImageNames` dengan `ImageProviders` untuk kontrol dan spesifisitas yang lebih baik. Menggunakan `ImageNames` sendiri mungkin tidak secara unik mengidentifikasi AMI.

1. **Periksa dampak pada proses bisnis yang diharapkan**

   Anda dapat menggunakan konsol atau CLI untuk mengidentifikasi instance apa pun yang diluncurkan dengan yang tidak memenuhi kriteria AMIs yang ditentukan. Informasi ini dapat memandu keputusan Anda untuk memperbarui konfigurasi peluncuran agar sesuai dengan penggunaan AMIs (misalnya, menentukan AMI yang berbeda dalam templat peluncuran) atau menyesuaikan kriteria Anda untuk mengizinkannya. AMIs

   Konsol: Gunakan AWS Config aturan [ec2- instance-launched-with-allowed -ami](https://docs.aws.amazon.com/config/latest/developerguide/ec2-instance-launched-with-allowed-ami.html) untuk memeriksa apakah instance yang sedang berjalan atau dihentikan diluncurkan dengan AMIs yang memenuhi kriteria Diizinkan Anda. AMIs Aturannya adalah **NON\$1COMPLIANT** jika AMI tidak memenuhi AMIs kriteria yang Diizinkan, dan **COMPLIANT** jika memang demikian. Aturan hanya beroperasi jika AMIs setelan Diizinkan disetel ke **mode **aktif** atau audit**.

   CLI: Jalankan [describe-instance-image-metadata](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-image-metadata.html)perintah dan filter respons untuk mengidentifikasi instance apa pun yang diluncurkan dengan AMIs yang tidak memenuhi kriteria yang ditentukan.

   Untuk instruksi konsol dan CLI, lihat. [Temukan instance yang diluncurkan dari AMIs yang tidak diizinkan](manage-settings-allowed-amis.md#identify-instances-with-allowed-AMIs)

1. **Aktifkan Diizinkan AMIs**

   Setelah Anda mengonfirmasi bahwa kriteria tidak akan mempengaruhi proses bisnis yang diharapkan, aktifkan Diizinkan AMIs.

1. **Monitor peluncuran instance**

   Terus memantau peluncuran instans dari AMIs seluruh aplikasi dan layanan AWS terkelola yang Anda gunakan, seperti Amazon EMR, Amazon ECR, Amazon EKS, dan. AWS Elastic Beanstalk Periksa masalah yang tidak terduga dan lakukan penyesuaian yang diperlukan pada AMIs kriteria yang Diizinkan.

1. **Pilot baru AMIs**

   Untuk menguji pihak ketiga AMIs yang tidak mematuhi AMIs pengaturan Diizinkan Anda saat ini, AWS rekomendasikan pendekatan berikut:
   + Gunakan yang terpisah Akun AWS: Buat akun tanpa akses ke sumber daya penting bisnis Anda. Pastikan AMIs pengaturan Diizinkan tidak diaktifkan di akun ini, atau yang ingin AMIs Anda uji diizinkan secara eksplisit, sehingga Anda dapat mengujinya. 
   + Uji di tempat lain Wilayah AWS: Gunakan Wilayah tempat pihak ketiga AMIs tersedia, tetapi di mana Anda belum mengaktifkan AMIs pengaturan yang Diizinkan. 

   Pendekatan ini membantu memastikan sumber daya penting bisnis Anda tetap aman saat Anda menguji yang baru. AMIs

## Izin IAM yang diperlukan
<a name="iam-permissions-for-allowed-amis"></a>

Untuk menggunakan AMIs fitur Diizinkan, Anda memerlukan izin IAM berikut:
+ `GetAllowedImagesSettings`
+ `EnableAllowedImagesSettings`
+ `DisableAllowedImagesSettings`
+ `ReplaceImageCriteriaInAllowedImagesSettings`

# Mengelola pengaturan untuk Diizinkan AMIs
<a name="manage-settings-allowed-amis"></a>

Anda dapat mengelola pengaturan untuk Diizinkan AMIs. Pengaturan ini adalah per Wilayah per akun.

**Topics**
+ [Aktifkan Diizinkan AMIs](#enable-allowed-amis-criteria)
+ [Tetapkan AMIs kriteria yang Diizinkan](#update-allowed-amis-criteria)
+ [Nonaktifkan Diizinkan AMIs](#disable-allowed-amis-criteria)
+ [Dapatkan AMIs kriteria yang Diizinkan](#identify-allowed-amis-state-and-criteria)
+ [Temukan AMIs yang diizinkan](#identify-amis-that-meet-allowed-amis-criteria)
+ [Temukan instance yang diluncurkan dari AMIs yang tidak diizinkan](#identify-instances-with-allowed-AMIs)

## Aktifkan Diizinkan AMIs
<a name="enable-allowed-amis-criteria"></a>

Anda dapat mengaktifkan Diizinkan AMIs dan tentukan AMIs Kriteria yang diizinkan. Kami menyarankan Anda memulai dalam mode audit, yang menunjukkan kepada Anda mana yang AMIs akan terpengaruh oleh kriteria tanpa benar-benar membatasi akses.

------
#### [ Console ]

**Untuk mengaktifkan Diizinkan AMIs**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Dasbor**.

1. Pada kartu **Atribut akun**, di bawah **Pengaturan**, pilih **Diizinkan AMIs**.

1. Pada AMIs tab **Diizinkan**, pilih **Kelola**.

1. Untuk ** AMIs Pengaturan yang Diizinkan**, pilih **Mode audit** atau **Diaktifkan**. Kami menyarankan Anda memulai dalam mode audit, menguji kriteria, dan kemudian kembali ke langkah ini untuk mengaktifkan Diizinkan AMIs.

1. (Opsional) Untuk **kriteria AMI**, masukkan kriteria dalam format JSON.

1. Pilih **Perbarui**.

------
#### [ AWS CLI ]

**Untuk mengaktifkan Diizinkan AMIs**  
Gunakan perintah [enable-allowed-images-settings](https://docs.aws.amazon.com/cli/latest/reference/ec2/enable-allowed-images-settings.html).

```
aws ec2 enable-allowed-images-settings --allowed-images-settings-state enabled
```

Untuk mengaktifkan mode audit sebagai gantinya, tentukan `audit-mode` sebagai gantinya`enabled`.

```
aws ec2 enable-allowed-images-settings --allowed-images-settings-state audit-mode
```

------
#### [ PowerShell ]

**Untuk mengaktifkan Diizinkan AMIs**  
Gunakan [Enable-EC2AllowedImagesSetting](https://docs.aws.amazon.com/powershell/latest/reference/items/Enable-EC2AllowedImagesSetting.html)cmdlet.

```
Enable-EC2AllowedImagesSetting -AllowedImagesSettingsState enabled
```

Untuk mengaktifkan mode audit sebagai gantinya, tentukan `audit-mode` sebagai gantinya`enabled`.

```
Enable-EC2AllowedImagesSetting -AllowedImagesSettingsState audit-mode
```

------

## Tetapkan AMIs kriteria yang Diizinkan
<a name="update-allowed-amis-criteria"></a>

Setelah mengaktifkan Diizinkan AMIs, Anda dapat mengatur atau mengganti AMIs kriteria yang Diizinkan.

Untuk konfigurasi yang benar dan nilai yang valid, lihat [AMIs Konfigurasi yang diizinkan](ec2-allowed-amis.md#allowed-amis-json-configuration) dan[AMIs Parameter yang diizinkan](ec2-allowed-amis.md#allowed-amis-criteria).

------
#### [ Console ]

**Untuk menetapkan AMIs kriteria yang Diizinkan**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Dasbor**.

1. Pada kartu **Atribut akun**, di bawah **Pengaturan**, pilih **Diizinkan AMIs**.

1. Pada AMIs tab **Diizinkan**, pilih **Kelola**.

1. Untuk **kriteria AMI**, masukkan kriteria dalam format JSON.

1. Pilih **Perbarui**.

------
#### [ AWS CLI ]

**Untuk menetapkan AMIs kriteria yang Diizinkan**  
Gunakan allowed-images-settings perintah [replace-image-criteria-in-](https://docs.aws.amazon.com/cli/latest/reference/ec2/replace-image-criteria-in-allowed-images-settings.html) dan tentukan file JSON yang berisi AMIs kriteria Diizinkan.

```
aws ec2 replace-image-criteria-in-allowed-images-settings --cli-input-json file://file_name.json
```

------
#### [ PowerShell ]

**Untuk menetapkan AMIs kriteria yang Diizinkan**  
Gunakan [Set-EC2ImageCriteriaInAllowedImagesSetting](https://docs.aws.amazon.com/powershell/latest/reference/items/Set-EC2ImageCriteriaInAllowedImagesSetting.html)cmdlet dan tentukan file JSON yang berisi kriteria Diizinkan. AMIs

```
$imageCriteria = Get-Content -Path .\file_name.json | ConvertFrom-Json
Set-EC2ImageCriteriaInAllowedImagesSetting -ImageCriterion $imageCriteria
```

------

## Nonaktifkan Diizinkan AMIs
<a name="disable-allowed-amis-criteria"></a>

Anda dapat menonaktifkan Diizinkan AMIs sebagai berikut.

------
#### [ Console ]

**Untuk menonaktifkan Diizinkan AMIs**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Dasbor**.

1. Pada kartu **Atribut akun**, di bawah **Pengaturan**, pilih **Diizinkan AMIs**.

1. Pada AMIs tab **Diizinkan**, pilih **Kelola**.

1. Untuk ** AMIs Pengaturan yang Diizinkan**, pilih **Dinonaktifkan**.

1. Pilih **Perbarui**.

------
#### [ AWS CLI ]

**Untuk menonaktifkan Diizinkan AMIs**  
Gunakan perintah [disable-allowed-images-settings](https://docs.aws.amazon.com/cli/latest/reference/ec2/disable-allowed-images-settings.html).

```
aws ec2 disable-allowed-images-settings
```

------
#### [ PowerShell ]

**Untuk menonaktifkan Diizinkan AMIs**  
Gunakan [Disable-EC2AllowedImagesSetting](https://docs.aws.amazon.com/powershell/latest/reference/items/Disable-EC2AllowedImagesSetting.html)cmdlet.

```
Disable-EC2AllowedImagesSetting
```

------

## Dapatkan AMIs kriteria yang Diizinkan
<a name="identify-allowed-amis-state-and-criteria"></a>

Anda bisa mendapatkan status saat ini dari AMIs pengaturan Diizinkan dan AMIs kriteria Diizinkan.

------
#### [ Console ]

**Untuk mendapatkan AMIs status dan kriteria yang Diizinkan**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Dasbor**.

1. Pada kartu **Atribut akun**, di bawah **Pengaturan**, pilih **Diizinkan AMIs**.

1. Pada AMIs tab **Diizinkan**, ** AMIs Pengaturan yang diizinkan** diatur ke **mode **Diaktifkan**, **Dinonaktifkan**, atau Audit**.

1. Jika status Diizinkan AMIs adalah **mode **Diaktifkan** atau Audit**, **kriteria AMI**, menampilkan kriteria AMI dalam format JSON.

------
#### [ AWS CLI ]

**Untuk mendapatkan AMIs status dan kriteria yang Diizinkan**  
Gunakan perintah [get-allowed-images-settings](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-allowed-images-settings.html).

```
aws ec2 get-allowed-images-settings
```

Dalam contoh output berikut, keadaan `audit-mode` dan kriteria gambar ditetapkan dalam akun.

```
{
    "State": "audit-mode",
    "ImageCriteria": [
        {
            "MarketplaceProductCodes": [
                "abcdefg1234567890"
            ]
        },
        {
            "ImageProviders": [
                "123456789012",
                "123456789013"
            ],
            "CreationDateCondition": {
                "MaximumDaysSinceCreated": 300
            }
        },
        {
            "ImageProviders": [
                "123456789014"
            ],
            "ImageNames": [
                "golden-ami-*"
            ]
        },
        {
            "ImageProviders": [
                "amazon"
            ],
            "DeprecationTimeCondition": {
                "MaximumDaysSinceDeprecated": 0
            }
        }
    ],
    "ManagedBy": "account"
}
```

------
#### [ PowerShell ]

**Untuk mendapatkan AMIs status dan kriteria yang Diizinkan**  
Gunakan [Get-EC2AllowedImagesSetting](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2AllowedImagesSetting.html)cmdlet.

```
Get-EC2AllowedImagesSetting | Select-Object `
    State, `
    ManagedBy, `
    @{Name='ImageProviders'; Expression={($_.ImageCriteria.ImageProviders)}}, `
    @{Name='MarketplaceProductCodes'; Expression={($_.ImageCriteria.MarketplaceProductCodes)}}, `
    @{Name='ImageNames'; Expression={($_.ImageCriteria.ImageNames)}}, `
    @{Name='MaximumDaysSinceCreated'; Expression={($_.ImageCriteria.CreationDateCondition.MaximumDaysSinceCreated)}}, `
    @{Name='MaximumDaysSinceDeprecated'; Expression={($_.ImageCriteria.DeprecationTimeCondition.MaximumDaysSinceDeprecated)}}
```

Dalam contoh output berikut, keadaan `audit-mode` dan kriteria gambar ditetapkan dalam akun.

```
State      : audit-mode
ManagedBy  : account
ImageProviders            : {123456789012, 123456789013, 123456789014, amazon}
MarketplaceProductCodes   : {abcdefg1234567890}
ImageNames                : {golden-ami-*}
MaximumDaysSinceCreated  : 300
MaximumDaysSinceDeprecated: 0
```

------

## Temukan AMIs yang diizinkan
<a name="identify-amis-that-meet-allowed-amis-criteria"></a>

Anda dapat menemukan AMIs yang diizinkan atau tidak diizinkan oleh AMIs kriteria Diizinkan saat ini.

**catatan**  
Diizinkan AMIs harus dalam mode audit.

------
#### [ Console ]

**Untuk memeriksa apakah AMI memenuhi AMIs kriteria yang Diizinkan**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **AMIs**.

1. Pilih AMI.

1. Pada tab **Detail** (jika Anda memilih kotak centang) atau di area ringkasan (jika Anda memilih ID AMI), cari bidang **Gambar yang Diizinkan**.
   + **Ya** - AMI memenuhi AMIs kriteria yang Diizinkan. AMI ini akan tersedia untuk pengguna di akun Anda setelah Anda mengaktifkan DiizinkanAMIs.
   + **Tidak** - AMI tidak memenuhi AMIs kriteria yang Diizinkan.

1. Di panel navigasi, pilih **Katalog AMI**.

   AMI bertanda **Tidak diizinkan** menunjukkan AMI yang tidak memenuhi AMIs kriteria yang Diizinkan. AMI ini tidak akan terlihat atau tersedia bagi pengguna di akun Anda saat Diizinkan AMIs diaktifkan.

------
#### [ AWS CLI ]

**Untuk memeriksa apakah AMI memenuhi AMIs kriteria yang Diizinkan**  
Gunakan perintah [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html).

```
aws ec2 describe-images \
    --image-id ami-0abcdef1234567890 \
    --query Images[].ImageAllowed \
    --output text
```

Berikut ini adalah output contoh.

```
True
```

**Untuk menemukan AMIs yang memenuhi AMIs kriteria yang Diizinkan**  
Gunakan perintah [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html).

```
aws ec2 describe-images \
    --filters "Name=image-allowed,Values=true" \
    --max-items 10 \
    --query Images[].ImageId
```

Berikut ini adalah output contoh.

```
ami-000eaaa8be2fd162a
ami-000f82db25e50de8e
ami-000fc21eb34c7a9a6
ami-0010b876f1287d7be
ami-0010b929226fe8eba
ami-0010957836340aead
ami-00112c992a47ba871
ami-00111759e194abcc1
ami-001112565ffcafa5e
ami-0011e45aaee9fba88
```

------
#### [ PowerShell ]

**Untuk memeriksa apakah AMI memenuhi AMIs kriteria yang Diizinkan**  
Gunakan [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html)cmdlet.

```
(Get-EC2Image -ImageId ami-0abcdef1234567890).ImageAllowed
```

Berikut ini adalah output contoh.

```
True
```

**Untuk menemukan AMIs yang memenuhi AMIs kriteria yang Diizinkan**  
Gunakan [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html)cmdlet.

```
Get-EC2Image `
    -Filter @{Name="image-allows";Values="true"} `
    -MaxResult 10 | `
    Select ImageId
```

Berikut ini adalah output contoh.

```
ami-000eaaa8be2fd162a
ami-000f82db25e50de8e
ami-000fc21eb34c7a9a6
ami-0010b876f1287d7be
ami-0010b929226fe8eba
ami-0010957836340aead
ami-00112c992a47ba871
ami-00111759e194abcc1
ami-001112565ffcafa5e
ami-0011e45aaee9fba88
```

------

## Temukan instance yang diluncurkan dari AMIs yang tidak diizinkan
<a name="identify-instances-with-allowed-AMIs"></a>

Anda dapat mengidentifikasi instans yang diluncurkan menggunakan AMI yang tidak memenuhi AMIs kriteria Diizinkan.

------
#### [ Console ]

**Untuk memeriksa apakah instance diluncurkan menggunakan AMI yang tidak diizinkan**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Instans**.

1. Pilih instans.

1. Pada tab **Detail**, di bawah **Detail instans**, temukan **gambar yang Diizinkan**.
   + **Ya** - AMI memenuhi AMIs kriteria yang Diizinkan.
   + **Tidak** - AMI tidak memenuhi AMIs kriteria yang Diizinkan.

------
#### [ AWS CLI ]

**Untuk menemukan instance yang diluncurkan menggunakan AMIs yang tidak diizinkan**  
Gunakan [describe-instance-image-metadata](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-image-metadata.html)perintah dengan `image-allowed` filter.

```
aws ec2 describe-instance-image-metadata \
    --filters "Name=image-allowed,Values=false" \
    --query "InstanceImageMetadata[*].[InstanceId,ImageMetadata.ImageId]" \
    --output table
```

Berikut ini adalah output contoh.

```
--------------------------------------------------
|          DescribeInstanceImageMetadata         |
+----------------------+-------------------------+
|  i-08fd74f3f1595fdbd |  ami-09245d5773578a1d6  |
|  i-0b1bf24fd4f297ab9 |  ami-07cccf2bd80ed467f  |
|  i-026a2eb590b4f7234 |  ami-0c0ec0a3a3a4c34c0  |
|  i-006a6a4e8870c828f |  ami-0a70b9d193ae8a799  |
|  i-0781e91cfeca3179d |  ami-00c257e12d6828491  |
|  i-02b631e2a6ae7c2d9 |  ami-0bfddf4206f1fa7b9  |
+----------------------+-------------------------+
```

------
#### [ PowerShell ]

**Untuk menemukan instance yang diluncurkan menggunakan AMIs yang tidak diizinkan**  
Gunakan [Get-EC2InstanceImageMetadata](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceImageMetadata.html)cmdlet.

```
Get-EC2InstanceImageMetadata `
    -Filter @{Name="image-allowed";Values="false"} | `
    Select InstanceId, @{Name='ImageId'; Expression={($_.ImageMetadata.ImageId)}}
```

Berikut ini adalah output contoh.

```
InstanceId          ImageId
----------          -------
i-08fd74f3f1595fdbd ami-09245d5773578a1d6
i-0b1bf24fd4f297ab9 ami-07cccf2bd80ed467f
i-026a2eb590b4f7234 ami-0c0ec0a3a3a4c34c0
i-006a6a4e8870c828f ami-0a70b9d193ae8a799
i-0781e91cfeca3179d ami-00c257e12d6828491
i-02b631e2a6ae7c2d9 ami-0bfddf4206f1fa7b9
```

------
#### [ AWS Config ]

Anda dapat menambahkan AWS Config aturan **ec2- instance-launched-with-allowed -ami**, mengonfigurasinya untuk kebutuhan Anda, dan kemudian menggunakannya untuk mengevaluasi instance Anda.

Untuk informasi selengkapnya, lihat [Menambahkan AWS Config aturan](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_add-rules.html) dan [ec2- instance-launched-with-allowed -ami](https://docs.aws.amazon.com/config/latest/developerguide/ec2-instance-launched-with-allowed-ami.html) di Panduan *AWS Config Pengembang*.

------

# Jadikan AMI Anda tersedia untuk umum untuk digunakan di Amazon EC2
<a name="sharingamis-intro"></a>

Anda dapat membuat AMI Anda tersedia untuk umum dengan membagikannya kepada semua Akun AWS.

Jika Anda ingin mencegah berbagi publik AMIs, Anda dapat mengaktifkan *blokir akses publik untuk AMIs*. Hal ini memblokir setiap upaya untuk membuat AMI publik, membantu mencegah akses tidak sah dan potensi penyalahgunaan data AMI. Perhatikan bahwa mengaktifkan blokir akses publik tidak memengaruhi akses Anda AMIs yang sudah tersedia untuk umum; mereka tetap tersedia untuk umum. Untuk informasi selengkapnya, lihat [Memahami memblokir akses publik untuk AMIs](block-public-access-to-amis.md).

Untuk mengizinkan hanya akun tertentu yang menggunakan AMI Anda untuk meluncurkan instans, lihat [Bagikan AMI dengan AWS akun tertentu](sharingamis-explicit.md).

**Topics**
+ [Pertimbangan-pertimbangan](#considerations-for-sharing-public-AMIs)
+ [Bagikan AMI dengan semua AWS akun (bagikan secara publik)](#share-an-ami-publicly)

## Pertimbangan-pertimbangan
<a name="considerations-for-sharing-public-AMIs"></a>

Pertimbangkan hal berikut sebelum menjadikan AMI publik.
+ **Kepemilikan** — Untuk membuat AMI publik, Anda Akun AWS harus memiliki AMI.
+ **Wilayah** — AMIs adalah sumber daya Regional. Saat Anda membagikan AMI, AMI hanya tersedia di Wilayah tempat Anda membagikannya. Agar AMI tersedia di Wilayah yang berbeda, salin AMI ke Wilayah, lalu bagikan. Untuk informasi selengkapnya, lihat [Salin Amazon EC2 AMI](CopyingAMIs.md).
+ **Blokir akses publik** — Untuk berbagi AMI secara publik, [blokir akses publik untuk AMIs](block-public-access-to-amis.md) harus dinonaktifkan di setiap Wilayah di mana AMI akan dibagikan secara publik. Setelah membagikan AMI secara publik, Anda dapat mengaktifkan kembali blokir akses publik AMIs untuk mencegah pembagian publik lebih lanjut dari AMI Anda. AMIs
+ **Beberapa tidak AMIs dapat dipublikasikan** - Jika AMI Anda menyertakan salah satu komponen berikut, Anda tidak dapat mempublikasikannya (tetapi Anda dapat [membagikan AMI dengan spesifik Akun AWS](sharingamis-explicit.md)):
  + Volume terenkripsi
  + Snapshot volume terenkripsi
  + Kode produk
+ **Hindari pemaparan data sensitif** – Untuk menghindari pemaparan data sensitif saat Anda membagikan AMI, baca pertimbangan keamanan di [Rekomendasi untuk membuat Linux bersama AMIs](building-shared-amis.md) dan ikuti tindakan yang direkomendasikan.
+ **Penggunaan** – Saat Anda membagikan AMI, pengguna hanya dapat meluncurkan instans dari AMI tersebut. Mereka tidak dapat menghapus, berbagi, atau memodifikasinya. Namun, setelah mereka meluncurkan instans menggunakan AMI Anda, mereka dapat membuat AMI dari instans yang mereka luncurkan.
+ **Pengakhiran otomatis** — Secara default, tanggal penghentian semua publik AMIs diatur ke dua tahun dari tanggal pembuatan AMI. Anda dapat mengatur tanggal pengusangan menjadi lebih awal dari dua tahun. [Untuk membatalkan tanggal penghentian, atau untuk memindahkan penghentian ke tanggal berikutnya, Anda harus menjadikan AMI pribadi dengan hanya membagikannya dengan spesifik. Akun AWS](sharingamis-explicit.md)
+ **Hapus usang AMIs** — Setelah AMI publik mencapai tanggal penghentian, jika tidak ada instans baru yang diluncurkan dari AMI selama enam bulan atau lebih, AWS akhirnya menghapus properti berbagi publik sehingga usang AMIs tidak muncul di daftar AMI publik.
+ **Penagihan** — Anda tidak ditagih ketika AMI Anda digunakan oleh orang lain Akun AWS untuk meluncurkan instans. Akun yang meluncurkan instans menggunakan AMI akan dikenai biaya untuk instans yang diluncurkan.

## Bagikan AMI dengan semua AWS akun (bagikan secara publik)
<a name="share-an-ami-publicly"></a>

Setelah Anda membuat AMI publik, AMI tersedia di **Komunitas AMIs** di konsol, yang dapat Anda akses dari **Katalog AMI** di navigator kiri di konsol EC2 atau saat meluncurkan instance menggunakan konsol. Harap diperhatikan bahwa diperlukan waktu hingga AMI muncul di **AMIs Komunitas** setelah Anda membuatnya publik. 

------
#### [ Console ]

**Untuk menjadikan AMI publik**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **AMIs**.

1. Pilih AMI Anda dari daftar, lalu pilih **Tindakan**, **Ubah izin AMI**.

1. Di bawah **Ketersediaan AMI**, pilih **Publik**.

1. Pilih **Simpan perubahan**.

------
#### [ AWS CLI ]

Setiap AMI memiliki `launchPermission` properti yang mengontrol yang Akun AWS, selain pemilik, diizinkan untuk menggunakan AMI itu untuk meluncurkan instance. Dengan memodifikasi `launchPermission` properti AMI, Anda dapat membuat AMI menjadi publik (yang memberikan izin peluncuran ke semua Akun AWS), atau membagikannya hanya dengan Akun AWS yang Anda tentukan.

Anda dapat menambah atau menghapus akun IDs dari daftar akun yang memiliki izin peluncuran untuk AMI. Untuk menjadikan AMI publik, tentukan kelompok `all`. Anda dapat menentukan izin peluncuran publik dan eksplisit.

**Untuk menjadikan AMI publik**

1. Gunakan perintah [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html) sebagai berikut untuk menambahkan grup `all` ke daftar `launchPermission` untuk AMI tertentu.

   ```
   aws ec2 modify-image-attribute \
       --image-id ami-0abcdef1234567890 \
       --launch-permission "Add=[{Group=all}]"
   ```

1. Untuk memverifikasi izin peluncuran AMI, gunakan perintah [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-attribute.html).

   ```
   aws ec2 describe-image-attribute \
       --image-id ami-0abcdef1234567890 \
       --attribute launchPermission
   ```

1. (Opsional) Untuk menjadikan AMI kembali privat, hapus grup `all` dari izin peluncurannya. Perhatikan bahwa pemilik AMI selalu memiliki izin peluncuran sehingga tidak terpengaruh oleh perintah ini.

   ```
   aws ec2 modify-image-attribute \
       --image-id ami-0abcdef1234567890 \
       --launch-permission "Remove=[{Group=all}]"
   ```

------
#### [ PowerShell ]

Setiap AMI memiliki `launchPermission` properti yang mengontrol yang Akun AWS, selain pemilik, diizinkan untuk menggunakan AMI itu untuk meluncurkan instance. Dengan memodifikasi `launchPermission` properti AMI, Anda dapat membuat AMI menjadi publik (yang memberikan izin peluncuran ke semua Akun AWS), atau membagikannya hanya dengan Akun AWS yang Anda tentukan.

Anda dapat menambah atau menghapus akun IDs dari daftar akun yang memiliki izin peluncuran untuk AMI. Untuk menjadikan AMI publik, tentukan kelompok `all`. Anda dapat menentukan izin peluncuran publik dan eksplisit.

**Untuk menjadikan AMI publik**

1. Gunakan perintah [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ImageAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ImageAttribute.html) sebagai berikut untuk menambahkan grup `all` ke daftar `launchPermission` untuk AMI tertentu.

   ```
   Edit-EC2ImageAttribute `
       -ImageId ami-0abcdef1234567890 `
       -Attribute launchPermission `
       -OperationType add `
       -UserGroup all
   ```

1. Untuk memverifikasi izin peluncuran AMI, gunakan perintah [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageAttribute.html) berikut.

   ```
   Get-EC2ImageAttribute `
       -ImageId ami-0abcdef1234567890 `
       -Attribute launchPermission
   ```

1. (Opsional) Untuk menjadikan AMI kembali privat, hapus grup `all` dari izin peluncurannya. Perhatikan bahwa pemilik AMI selalu memiliki izin peluncuran sehingga tidak terpengaruh oleh perintah ini.

   ```
   Edit-EC2ImageAttribute `
       -ImageId ami-0abcdef1234567890 `
       -Attribute launchPermission `
       -OperationType remove `
       -UserGroup all
   ```

------

# Memahami memblokir akses publik untuk AMIs
<a name="block-public-access-to-amis"></a>

Untuk mencegah berbagi publik Anda AMIs, Anda dapat mengaktifkan *blokir akses publik AMIs* di tingkat akun.

Ketika mengaktifkan memblokir akses publik, setiap upaya untuk menjadikan AMI publik secara otomatis diblokir. Namun, jika Anda sudah memiliki publik AMIs, mereka tetap tersedia untuk umum.

Untuk berbagi secara publik AMIs, Anda harus menonaktifkan blokir akses publik. Setelah selesai berbagi, praktik terbaik adalah mengaktifkan kembali blokir akses publik untuk mencegah berbagi publik yang tidak diinginkan dari Anda. AMIs

**catatan**  
Pengaturan ini dikonfigurasi di tingkat akun, baik secara langsung di akun atau dengan menggunakan kebijakan deklaratif. Itu harus dikonfigurasi di setiap Wilayah AWS tempat Anda ingin mencegah berbagi publik Anda AMIs. Menggunakan kebijakan deklaratif memungkinkan Anda menerapkan pengaturan di beberapa Wilayah secara bersamaan, serta di beberapa akun secara bersamaan. Saat kebijakan deklaratif sedang digunakan, Anda tidak dapat mengubah setelan secara langsung di dalam akun. Topik ini menjelaskan cara mengonfigurasi pengaturan secara langsung di dalam akun. Untuk informasi tentang penggunaan kebijakan deklaratif, lihat [Kebijakan deklaratif](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) di *AWS Organizations Panduan Pengguna*.

Anda dapat membatasi izin IAM untuk pengguna administrator sehingga hanya mereka yang dapat mengaktifkan atau menonaktifkan blokir akses publik. AMIs

**Topics**
+ [Pengaturan default](#block-public-access-to-amis-default-settings)
+ [Mengelola setelan blokir akses publik untuk AMIs](manage-block-public-access-for-amis.md)

## Pengaturan default
<a name="block-public-access-to-amis-default-settings"></a>

**Blokir akses publik untuk AMIs** pengaturan diaktifkan atau dinonaktifkan secara default tergantung pada apakah akun Anda baru atau sudah ada, dan apakah Anda memiliki publik AMIs. Tabel berikut menjelaskan pengaturan default:


| AWS akun | Memblokir akses publik untuk pengaturan AMIs default | 
| --- | --- | 
| Akun baru | Diaktifkan | 
|  Akun yang ada tanpa publik AMIs ¹  | Diaktifkan | 
|  Akun yang ada dengan satu atau lebih publik AMIs  | Nonaktif | 

¹ Jika akun Anda memiliki satu atau lebih publik AMIs pada atau setelah 15 Juli 2023, **Blokir akses publik untuk AMIs** dinonaktifkan secara default untuk akun Anda, bahkan jika Anda kemudian membuat semua AMIs pribadi.

# Mengelola setelan blokir akses publik untuk AMIs
<a name="manage-block-public-access-for-amis"></a>

Anda dapat mengelola pengaturan blokir akses publik untuk AMI Anda untuk mengontrol apakah mereka dapat dibagikan secara publik. Anda dapat mengaktifkan, menonaktifkan, atau melihat status akses publik blokir saat ini untuk AMI Anda menggunakan konsol Amazon EC2 atau. AWS CLI

## Lihat status blokir akses publik untuk AMIs
<a name="get-block-public-access-state-for-amis"></a>

Untuk melihat apakah pembagian publik Anda AMIs diblokir di akun Anda, Anda dapat melihat status untuk memblokir akses publik AMIs. Anda harus melihat status Wilayah AWS di masing-masing tempat Anda ingin melihat apakah berbagi publik Anda AMIs diblokir.

**Izin yang diperlukan**  
Untuk mendapatkan pengaturan akses publik blok saat ini AMIs, Anda harus memiliki izin `GetImageBlockPublicAccessState` IAM.

------
#### [ Console ]

**Untuk melihat status blokir akses publik AMIs di Wilayah yang ditentukan**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Dari bilah navigasi (di bagian atas layar), pilih Wilayah tempat untuk melihat status akses publik blok AMIs.

1. Di panel navigasi, pilih **Dasbor**.

1. Pada kartu **Atribut akun**, di bawah **Pengaturan**, pilih **Perlindungan dan keamanan data**.

1. Di bawah **Blokir akses publik untuk AMIs**, periksa bidang **Akses publik**. Nilainya adalah **Berbagi publik baru diblokir** atau **Berbagi publik baru diizinkan**.

------
#### [ AWS CLI ]

**Untuk mendapatkan status akses publik blok untuk AMIs**  
Gunakan perintah [get-image-block-public-access-state](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-image-block-public-access-state.html). Nilainya adalah `block-new-sharing` atau `unblocked`.

**Contoh: Untuk Wilayah tertentu**

```
aws ec2 get-image-block-public-access-state --region us-east-1
```

`ManagedBy`Bidang menunjukkan entitas yang mengkonfigurasi pengaturan. Dalam contoh ini, `account` menunjukkan bahwa pengaturan dikonfigurasi langsung di akun. Nilai `declarative-policy` berarti pengaturan dikonfigurasi oleh kebijakan deklaratif. Untuk informasi selengkapnya, lihat [Kebijakan deklaratif](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) di *Panduan AWS Organizations Pengguna*.

```
{
    "ImageBlockPublicAccessState": "block-new-sharing",
    "ManagedBy": "account"
}
```

**Contoh: Untuk semua Wilayah di akun Anda**

```
echo -e "Region   \t Public Access State" ; \
echo -e "-------------- \t ----------------------" ; \
for region in $(
    aws ec2 describe-regions \
        --region us-east-1 \
        --query "Regions[*].[RegionName]" \
        --output text
    ); 
    do (output=$(
        aws ec2 get-image-block-public-access-state \
            --region $region \
            --output text)
        echo -e "$region \t $output" 
    );
done
```

Berikut ini adalah output contoh.

```
Region           Public Access State
--------------   ----------------------
ap-south-1       block-new-sharing
eu-north-1       unblocked
eu-west-3        block-new-sharing
...
```

------
#### [ PowerShell ]

**Untuk mendapatkan status akses publik blok untuk AMIs**  
Gunakan [Get-EC2ImageBlockPublicAccessState](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageBlockPublicAccessState.html)cmdlet. Nilainya adalah `block-new-sharing` atau `unblocked`.

**Contoh: Untuk Wilayah tertentu**

```
Get-EC2ImageBlockPublicAccessState -Region us-east-1
```

Berikut ini adalah output contoh.

```
block-new-sharing
```

**Contoh: Untuk semua Wilayah di akun Anda**

```
(Get-EC2Region).RegionName | `
    ForEach-Object {
        [PSCustomObject]@{
            Region   = $_
            PublicAccessState = (Get-EC2ImageBlockPublicAccessState -Region $_)
        }
} | `
Format-Table -AutoSize
```

Berikut ini adalah output contoh.

```
Region         PublicAccessState
------         -----------------
ap-south-1     block-new-sharing
eu-north-1     block-new-sharing
eu-west-3      block-new-sharing
...
```

------

## Aktifkan blokir akses publik untuk AMIs
<a name="enable-block-public-access-for-amis"></a>

Untuk mencegah pembagian publik Anda AMIs, aktifkan blokir akses publik AMIs di tingkat akun. Anda harus mengaktifkan blokir akses publik untuk masing-masing AMIs Wilayah AWS di mana Anda ingin mencegah berbagi publik Anda AMIs. Jika Anda sudah memiliki publik AMIs, mereka akan tetap tersedia untuk umum.

**Izin yang diperlukan**  
Untuk mengaktifkan pengaturan blokir akses publik AMIs, Anda harus memiliki izin `EnableImageBlockPublicAccess` IAM.

**Pertimbangan-pertimbangan**
+ Diperlukan waktu hingga 10 menit untuk mengonfigurasi pengaturan ini. Selama waktu ini, jika Anda menggambarkan status akses publik, responsnya adalah`unblocked`. Ketika konfigurasi selesai, responsnya adalah`block-new-sharing`.

------
#### [ Console ]

**Untuk mengaktifkan blokir akses publik AMIs di Wilayah yang ditentukan**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Dari bilah navigasi (di bagian atas layar), pilih Wilayah tempat mengaktifkan blokir akses publik AMIs.

1. Di panel navigasi, pilih **Dasbor**.

1. Pada kartu **Atribut akun**, di bawah **Pengaturan**, pilih **Perlindungan dan keamanan data**.

1. Di bawah **Blokir akses publik untuk AMIs**, pilih **Kelola**.

1. Pilih kotak centang **Blokir berbagi publik baru**, lalu pilih **Perbarui**.

------
#### [ AWS CLI ]

**Untuk mengaktifkan blokir akses publik untuk AMIs**  
Gunakan perintah [enable-image-block-public-access](https://docs.aws.amazon.com/cli/latest/reference/ec2/enable-image-block-public-access.html).

**Contoh: Untuk Wilayah tertentu**

```
aws ec2 enable-image-block-public-access \
--region us-east-1 \
--image-block-public-access-state block-new-sharing
```

Berikut ini adalah output contoh.

```
{ 
    "ImageBlockPublicAccessState": "block-new-sharing"
}
```

**Contoh: Untuk semua Wilayah di akun Anda**

```
echo -e "Region   \t Public Access State" ; \
echo -e "-------------- \t ----------------------" ; \
for region in $(
    aws ec2 describe-regions \
        --region us-east-1 \
        --query "Regions[*].[RegionName]" \
        --output text
    ); 
    do (output=$(
        aws ec2 enable-image-block-public-access \
            --region $region \
            --image-block-public-access-state block-new-sharing \
            --output text)
        echo -e "$region \t $output" 
    );
done
```

Berikut ini adalah output contoh.

```
Region           Public Access State
--------------   ----------------------
ap-south-1       block-new-sharing
eu-north-1       block-new-sharing
eu-west-3        block-new-sharing
...
```

------
#### [ PowerShell ]

**Untuk mengaktifkan blokir akses publik untuk AMIs**  
Gunakan perintah [Enable-EC2ImageBlockPublicAccess](https://docs.aws.amazon.com/powershell/latest/reference/items/Enable-EC2ImageBlockPublicAccess.html).

**Contoh: Untuk Wilayah tertentu**

```
Enable-EC2ImageBlockPublicAccess `
    -Region us-east-1 `
    -ImageBlockPublicAccessState block-new-sharing
```

Berikut ini adalah output contoh.

```
Value
-----
block-new-sharing
```

**Contoh: Untuk semua Wilayah di akun Anda**

```
(Get-EC2Region).RegionName | `
    ForEach-Object {
    [PSCustomObject]@{
        Region            = $_
        PublicAccessState = (
        Enable-EC2ImageBlockPublicAccess `
         -Region $_ `
         -ImageBlockPublicAccessState block-new-sharing)
    }
} | `
Format-Table -AutoSize
```

Berikut ini adalah output contoh.

```
Region         PublicAccessState
------         -----------------
ap-south-1     block-new-sharing
eu-north-1     block-new-sharing
eu-west-3      block-new-sharing
...
```

------

## Nonaktifkan blokir akses publik untuk AMIs
<a name="disable-block-public-access-for-amis"></a>

Untuk memungkinkan pengguna di akun Anda berbagi secara publik AMIs, nonaktifkan blokir akses publik di tingkat akun. Anda harus menonaktifkan blokir akses publik untuk masing-masing AMIs Wilayah AWS di mana Anda ingin mengizinkan berbagi publik AndaAMIs.

**Izin yang diperlukan**  
Untuk menonaktifkan pengaturan blokir akses publik AMIs, Anda harus memiliki izin `DisableImageBlockPublicAccess` IAM.

**Pertimbangan-pertimbangan**
+ Diperlukan waktu hingga 10 menit untuk mengonfigurasi pengaturan ini. Selama waktu ini, jika Anda menggambarkan status akses publik, responsnya adalah`block-new-sharing`. Ketika konfigurasi selesai, responsnya adalah`unblocked`.

------
#### [ Console ]

**Untuk menonaktifkan blokir akses publik untuk AMIs di Wilayah yang ditentukan**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Dari bilah navigasi (di bagian atas layar), pilih Wilayah tempat menonaktifkan blokir akses publik AMIs.

1. Di panel navigasi, pilih **Dasbor**.

1. Pada kartu **Atribut akun**, di bawah **Pengaturan**, pilih **Perlindungan dan keamanan data**.

1. Di bawah **Blokir akses publik untuk AMIs**, pilih **Kelola**.

1. Kosongkan kotak centang **Blokir berbagi publik baru**, lalu pilih **Perbarui**.

1. Masukkan **confirm** saat diminta konfirmasi, lalu pilih **Izinkan berbagi publik**.

------
#### [ AWS CLI ]

**Untuk menonaktifkan blokir akses publik untuk AMIs**  
Gunakan perintah [disable-image-block-public-access](https://docs.aws.amazon.com/cli/latest/reference/ec2/disable-image-block-public-access.html).

**Contoh: Untuk Wilayah tertentu**

```
aws ec2 disable-image-block-public-access --region us-east-1
```

Berikut ini adalah output contoh.

```
{
   "ImageBlockPublicAccessState": "unblocked"
}
```

**Contoh: Untuk semua Wilayah di akun Anda**

```
echo -e "Region   \t Public Access State" ; \
echo -e "-------------- \t ----------------------" ; \
for region in $(
    aws ec2 describe-regions \
        --region us-east-1 \
        --query "Regions[*].[RegionName]" \
        --output text
    ); 
    do (output=$(
        aws ec2 disable-image-block-public-access \
            --region $region \
            --output text)
        echo -e "$region \t $output" 
    );
done
```

Berikut ini adalah output contoh.

```
Region           Public Access State
--------------   ----------------------
ap-south-1       unblocked
eu-north-1       unblocked
eu-west-3        unblocked
...
```

------
#### [ PowerShell ]

**Untuk menonaktifkan blokir akses publik untuk AMIs**  
Gunakan [Disable-EC2ImageBlockPublicAccess](https://docs.aws.amazon.com/powershell/latest/reference/items/Disable-EC2ImageBlockPublicAccess.html)cmdlet.

**Contoh: Untuk Wilayah tertentu**

```
Disable-EC2ImageBlockPublicAccess -Region us-east-1
```

Berikut ini adalah output contoh.

```
Value
-----
unblocked
```

**Contoh: Untuk semua Wilayah di akun Anda**

```
(Get-EC2Region).RegionName | `
    ForEach-Object {
    [PSCustomObject]@{
        Region            = $_
        PublicAccessState = (Disable-EC2ImageBlockPublicAccess -Region $_)
    }
} | `
Format-Table -AutoSize
```

Berikut ini adalah output contoh.

```
Region         PublicAccessState
------         -----------------
ap-south-1     unblocked
eu-north-1     unblocked
eu-west-3      unblocked
...
```

------

# Bagikan AMI dengan organisasi dan unit organisasi
<a name="share-amis-with-organizations-and-OUs"></a>

 [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services_list.html)adalah layanan manajemen akun yang memungkinkan Anda untuk mengkonsolidasikan beberapa Akun AWS ke dalam organisasi yang Anda buat dan kelola secara terpusat. Anda dapat berbagi AMI dengan organisasi atau unit organisasi (OU) yang telah Anda buat, selain [membagikannya dengan akun tertentu](sharingamis-explicit.md).

Organisasi adalah entitas yang Anda buat untuk mengkonsolidasikan dan mengelola Akun AWS Anda secara terpusat. Anda dapat mengorganisasi akun dalam struktur hierarkis seperti pohon, dengan [root](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#root) di bagian atas dan [unit-unit organisasi](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit) bersarang di bawah root organisasi. Setiap akun dapat ditambahkan langsung ke root, atau ditempatkan di salah satu OUs dalam hierarki. Untuk informasi selengkapnya, lihat [Terminologi dan konsep organisasi AWS](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html) di *Panduan Pengguna AWS Organizations *.

Saat Anda berbagi AMI dengan organisasi atau OU, semua akun turunan mendapatkan akses ke AMI. Misalnya, dalam diagram berikut, AMI dibagikan dengan OU tingkat atas (ditunjukkan oleh panah pada angka **1**). Semua OUs dan akun yang bersarang di bawah OU tingkat atas itu (ditunjukkan oleh garis putus-putus di nomor **2**) juga memiliki akses ke AMI. Akun di organisasi dan OU di luar garis putus-putus (ditunjukkan oleh angka **3**) tidak memiliki akses ke AMI karena mereka bukan turunan dari OU yang dibagikan AMI.

![\[AMI dibagikan dengan OU, dan semua anak OUs dan akun mendapatkan akses ke AMI.\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/images/ami-share-with-orgs-and-ous.png)


**Topics**
+ [Pertimbangan-pertimbangan](#considerations-org-ou)
+ [Dapatkan ARN dari organisasi atau unit organisasi](get-org-ou-ARN.md)
+ [Izinkan organisasi dan OUs menggunakan kunci KMS](allow-org-ou-to-use-key.md)
+ [Kelola berbagi AMI dengan organisasi atau OU](share-amis-org-ou-manage.md)

## Pertimbangan-pertimbangan
<a name="considerations-org-ou"></a>

Pertimbangkan hal berikut saat berbagi AMIs dengan organisasi atau unit organisasi tertentu.
+ **Kepemilikan** – Untuk berbagi AMI, Akun AWS Anda harus merupakan pemilik AMI.
+ **Batas berbagi** — Pemilik AMI dapat berbagi AMI dengan organisasi atau OU mana pun, termasuk organisasi dan OUs bahwa mereka bukan anggotanya.

  Untuk jumlah maksimum entitas yang dapat dibagikan AMI dalam satu Wilayah, lihat [Kuota layanan Amazon EC2](https://docs.aws.amazon.com//general/latest/gr/ec2-service.html#limits_ec2).
+ **Tag** – Anda tidak dapat membagikan tag buatan pengguna (tag yang Anda lampirkan ke AMI). Saat Anda membagikan AMI, tag yang ditentukan pengguna tidak tersedia untuk organisasi atau OU mana pun Akun AWS yang dengannya AMI dibagikan.
+ **Format ARN** – Saat Anda menentukan organisasi atau OU dalam sebuah perintah, pastikan menggunakan format ARN yang benar. Anda akan mendapatkan kesalahan jika Anda hanya menentukan ID, misalnya, jika Anda hanya menentukan `o-123example` atau `ou-1234-5example`.

  Format ARN yang benar:
  + ARN Organisasi: `arn:aws:organizations::111122223333:organization/organization-id`
  + ARN OU: `arn:aws:organizations::111122223333:ou/organization-id/ou-id`

  Di mana:
  + *`111122223333`*adalah contoh ID akun 12 digit untuk akun manajemen. Jika Anda tidak tahu nomor akun manajemen, Anda dapat menjelaskan organisasi atau unit organisasi untuk mendapatkan ARN, yang mencakup nomor akun manajemen. Untuk informasi selengkapnya, lihat [Dapatkan ARN dari organisasi atau unit organisasi](get-org-ou-ARN.md).
  + *`organization-id`* adalah ID organisasi, misalnya, `o-123example`.
  + *`ou-id`* adalah ID unit organisasi, misalnya, `ou-1234-5example`.

  Untuk informasi selengkapnya tentang format ARNs, lihat [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) di *Panduan Pengguna IAM*.
+ **Enkripsi dan kunci** — Anda dapat berbagi AMIs yang didukung oleh snapshot yang tidak terenkripsi dan terenkripsi.
  + Snapshot terenkripsi harus dienkripsi dengan kunci yang dikelola pelanggan. Anda tidak dapat berbagi AMIs yang didukung oleh snapshot yang dienkripsi dengan kunci terkelola default AWS .
  + Jika Anda membagikan AMI yang didukung oleh snapshot terenkripsi, Anda harus mengizinkan organisasi atau OUs menggunakan kunci terkelola pelanggan yang digunakan untuk mengenkripsi snapshot. Untuk informasi selengkapnya, lihat [Izinkan organisasi dan OUs menggunakan kunci KMS](allow-org-ou-to-use-key.md).
+ **Wilayah** — AMIs adalah sumber daya Regional. Saat Anda membagikan AMI, AMI hanya tersedia di Wilayah tempat Anda membagikannya. Agar AMI tersedia di Wilayah yang berbeda, salin AMI ke Wilayah, lalu bagikan. Untuk informasi selengkapnya, lihat [Salin Amazon EC2 AMI](CopyingAMIs.md).
+ **Penggunaan** – Saat Anda membagikan AMI, pengguna hanya dapat meluncurkan instans dari AMI tersebut. Mereka tidak dapat menghapus, berbagi, atau memodifikasinya. Namun, setelah mereka meluncurkan instans menggunakan AMI Anda, mereka dapat membuat AMI dari instans yang mereka luncurkan.
+ **Penagihan** — Anda tidak ditagih ketika AMI Anda digunakan oleh orang lain Akun AWS untuk meluncurkan instans. Akun yang meluncurkan instans menggunakan AMI akan dikenai biaya untuk instans yang diluncurkan.

# Dapatkan ARN dari organisasi atau unit organisasi
<a name="get-org-ou-ARN"></a>

Organisasi dan unit organisasi ARNs berisi nomor akun manajemen 12 digit. Jika Anda tidak tahu nomor akun manajemen, Anda dapat menjelaskan organisasi atau unit organisasi untuk mendapatkan ARN untuk keduanya. Dalam contoh berikut, `123456789012` adalah ID akun dari akun manajemen.

**Izin yang diperlukan**  
Sebelum Anda bisa mendapatkan ARNs, Anda harus memiliki izin untuk menggambarkan organisasi dan unit organisasi. Kebijakan berikut ini memberikan izin yang diperlukan.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "organizations:Describe*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

------
#### [ AWS CLI ]

**Untuk mendapatkan ARN suatu organisasi**  
Gunakan perintah [https://docs.aws.amazon.com/cli/latest/reference/organizations/describe-organization.html](https://docs.aws.amazon.com/cli/latest/reference/organizations/describe-organization.html). Tambahkan `--query` opsi untuk mengembalikan hanya ARN organisasi.

```
aws organizations describe-organization --query 'Organization.Arn'
```

Berikut ini adalah output contoh.

```
"arn:aws:organizations::123456789012:organization/o-1234567abc"
```

**Untuk mendapatkan ARN unit organisasi**  
Gunakan perintah [https://docs.aws.amazon.com/cli/latest/reference/organizations/describe-organizational-unit.html](https://docs.aws.amazon.com/cli/latest/reference/organizations/describe-organizational-unit.html). Gunakan `--query` parameter untuk mengembalikan hanya unit organisasi ARN.

```
aws organizations describe-organizational-unit \
    --organizational-unit-id ou-a123-b4567890 \
    --query 'OrganizationalUnit.Arn'
```

Berikut ini adalah output contoh.

```
"arn:aws:organizations::123456789012:ou/o-1234567abc/ou-a123-b4567890"
```

------
#### [ PowerShell ]

**Untuk mendapatkan ARN suatu organisasi**  
Gunakan [Get- ORGOrganization](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-ORGOrganization.html) cmdlet.

```
(Get-ORGOrganization).Arn
```

Berikut ini adalah output contoh.

```
arn:aws:organizations::123456789012:organization/o-1234567abc
```

**Untuk mendapatkan ARN unit organisasi**  
Gunakan cmdlet [Get- ORGOrganizational Unit](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-ORGOrganizationalUnit.html).

```
(Get-ORGOrganizationalUnit -OrganizationalUnitId "ou-a123-b4567890").Arn
```

Berikut ini adalah output contoh.

```
arn:aws:organizations::123456789012:ou/o-1234567abc/ou-a123-b4567890
```

------

# Izinkan organisasi dan OUs menggunakan kunci KMS
<a name="allow-org-ou-to-use-key"></a>

Jika Anda berbagi AMI yang didukung oleh snapshot terenkripsi, Anda juga harus mengizinkan organisasi atau unit organisasi (OUs) untuk menggunakan kunci KMS yang digunakan untuk mengenkripsi snapshot.

**catatan**  
*Snapshot terenkripsi harus dienkripsi dengan kunci yang dikelola pelanggan.* Anda tidak dapat berbagi AMIs yang didukung oleh snapshot yang dienkripsi dengan kunci terkelola default AWS .

Untuk mengontrol akses ke kunci KMS, dalam [kebijakan kunci](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) Anda dapat menggunakan kunci [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid)dan [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgpaths](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgpaths)kondisi untuk mengizinkan hanya izin prinsipal tertentu untuk tindakan yang ditentukan. Prinsipal dapat berupa pengguna, peran IAM, pengguna federasi, atau pengguna Akun AWS root.

Kunci kondisi digunakan sebagai berikut:
+ `aws:PrincipalOrgID`— Memungkinkan setiap prinsipal milik organisasi yang diwakili oleh ID yang ditentukan.
+ `aws:PrincipalOrgPaths`— Memungkinkan setiap prinsipal milik yang OUs diwakili oleh jalur yang ditentukan.

Untuk memberikan izin kepada organisasi (termasuk OUs dan akun miliknya) untuk menggunakan kunci KMS, tambahkan pernyataan berikut ke kebijakan kunci.

```
{
    "Sid": "Allow access for organization root",
    "Effect": "Allow",
    "Principal": "*",
    "Action": [
        "kms:Describe*",
        "kms:List*",
        "kms:Get*",
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:CreateGrant"
    ],
    "Resource": "*",
    "Condition": {
        "StringEquals": {
            "aws:PrincipalOrgID": "o-123example"
        }
    }
}
```

Untuk memberikan izin khusus OUs (dan akun miliknya) untuk menggunakan kunci KMS, Anda dapat menggunakan kebijakan yang mirip dengan contoh berikut.

```
{
        "Sid": "Allow access for specific OUs and their descendants",
        "Effect": "Allow",
        "Principal": "*",
        "Action": [
            "kms:Describe*",
            "kms:List*",
            "kms:Get*",
            "kms:Encrypt",
            "kms:Decrypt",
            "kms:ReEncrypt*",
            "kms:GenerateDataKey*",
            "kms:CreateGrant"
        ],
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "aws:PrincipalOrgID": "o-123example"
            },
            "ForAnyValue:StringLike": {
                "aws:PrincipalOrgPaths": [
                    "o-123example/r-ab12/ou-ab12-33333333/*",
                    "o-123example/r-ab12/ou-ab12-22222222/*"
                ]
            }
        }
}
```

Untuk contoh pernyataan kondisi lainnya, lihat [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid) dan [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgpaths](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgpaths) di *Panduan Pengguna IAM*. 

Untuk informasi tentang akses lintas akun, lihat [Mengizinkan pengguna di akun lain menggunakan kunci KMS di Panduan AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html) *Pengembang*.

# Kelola berbagi AMI dengan organisasi atau OU
<a name="share-amis-org-ou-manage"></a>

Anda dapat mengelola berbagi AMI dengan organisasi dan unit organisasi (OU) untuk mengontrol apakah mereka dapat meluncurkan instans Amazon EC2.

## Lihat organisasi dan OUs dengan mana AMI dibagikan
<a name="decribe-ami-launch-permissions"></a>

Anda dapat menemukan organisasi dan OUs dengan mana Anda telah berbagi AMI Anda.

------
#### [ Console ]

**Untuk memeriksa dengan organisasi mana dan OUs Anda telah membagikan AMI Anda**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **AMIs**.

1. Pilih AMI Anda dalam daftar, pilih tab **Izin**, dan gulir ke bawah ke **Organisasi OUs bersama/**.

   Untuk menemukan AMIs yang dibagikan dengan Anda, lihat[Temukan AMI bersama untuk digunakan untuk instans Amazon EC2](usingsharedamis-finding.md).

------
#### [ AWS CLI ]

**Untuk memeriksa dengan organisasi mana dan OUs Anda telah membagikan AMI Anda**  
Gunakan [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-attribute.html)perintah dengan `launchPermission` atribut.

```
aws ec2 describe-image-attribute \
    --image-id ami-0abcdef1234567890 \
    --attribute launchPermission
```

Berikut ini adalah contoh respons.

```
{
    "ImageId": "ami-0abcdef1234567890",
    "LaunchPermissions": [
        {
            "OrganizationalUnitArn": "arn:aws:organizations::111122223333:ou/o-123example/ou-1234-5example"
        }
    ]
}
```

------
#### [ PowerShell ]

**Untuk memeriksa dengan organisasi mana dan OUs Anda telah membagikan AMI Anda**  
Gunakan [Get-EC2ImageAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageAttribute.html)cmdlet.

```
Get-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -Attribute launchPermission
```

------

## Berbagi AMI dengan organisasi atau OU
<a name="share-amis-org-ou"></a>

Anda dapat berbagi AMI dengan organisasi atau OU.

**catatan**  
Anda tidak perlu membagikan snapshot Amazon EBS yang dirujuk oleh AMI untuk membagikan AMI. Hanya AMI itu sendiri yang perlu dibagikan, dan sistem secara otomatis menyediakan instance dengan akses ke snapshot EBS yang direferensikan untuk peluncuran. Namun, Anda perlu berbagi kunci KMS yang digunakan untuk mengenkripsi snapshot yang ditunjuk oleh AMI. Untuk informasi selengkapnya, lihat [Izinkan organisasi dan OUs menggunakan kunci KMS](allow-org-ou-to-use-key.md).

------
#### [ Console ]

**Untuk berbagi AMI dengan organisasi atau OU**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **AMIs**.

1. Pilih AMI Anda dalam daftar, lalu pilih **Tindakan**, **Ubah izin AMI**.

1. Di bawah **Ketersediaan AMI**, pilih **Privat**.

1. **Di samping **Organisasi bersama/OUs**, pilih Tambahkan ARN. organization/OU **

1. Untuk **ARN Organisasi/OU**, masukkan ARN organisasi atau ARN OU di mana Anda ingin berbagi AMI, lalu pilih **Bagikan AMI**. Perhatikan bahwa Anda harus menentukan ARN lengkap, bukan hanya ID-nya.

   Untuk berbagi AMI ini dengan beberapa organisasi atau OUs, ulangi langkah ini sampai Anda telah menambahkan semua organisasi yang diperlukan atau OUs.

1. Setelah selesai, pilih **Simpan perubahan**.

1. (Opsional) Untuk melihat organisasi atau OUs yang telah Anda bagikan AMI, pilih AMI dalam daftar, pilih tab **Izin**, dan gulir ke bawah ke **Organisasi OUs bersama/**. Untuk menemukan AMIs yang dibagikan dengan Anda, lihat[Temukan AMI bersama untuk digunakan untuk instans Amazon EC2](usingsharedamis-finding.md).

------
#### [ AWS CLI ]

**Untuk berbagi AMI dengan organisasi**  
Gunakan [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html)perintah untuk memberikan izin peluncuran untuk AMI yang ditentukan ke organisasi yang ditentukan.

```
aws ec2 modify-image-attribute \
    --image-id ami-0abcdef1234567890 \
    --launch-permission "Add=[{OrganizationArn=arn:aws:organizations::123456789012:organization/o-123example}]"
```

**Untuk berbagi AMI dengan OU**  
[modify-image-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html)Perintah memberikan izin peluncuran untuk AMI yang ditentukan ke OU yang ditentukan. Perhatikan bahwa Anda harus menentukan ARN lengkap, bukan hanya ID-nya.

```
aws ec2 modify-image-attribute \
    --image-id ami-0abcdef1234567890 \
    --launch-permission "Add=[{OrganizationalUnitArn=arn:aws:organizations::123456789012:ou/o-123example/ou-1234-5example}]"
```

------
#### [ PowerShell ]

Gunakan [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ImageAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ImageAttribute.html)perintah (Alat untuk Windows PowerShell) untuk berbagi AMI seperti yang ditunjukkan pada contoh berikut.

**Untuk berbagi AMI dengan organisasi atau OU**  
Perintah berikut memberikan izin peluncuran untuk AMI yang ditentukan ke organisasi tertentu.

```
Edit-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -Attribute launchPermission `
    -OperationType add `
    -OrganizationArn "arn:aws:organizations::123456789012:organization/o-123example"
```

**Untuk berhenti berbagi AMI dengan organisasi atau OU**  
Perintah berikut menghapus izin peluncuran untuk AMI yang ditentukan dari organisasi tertentu:

```
Edit-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -Attribute launchPermission `
    -OperationType remove `
    -OrganizationArn "arn:aws:organizations::123456789012:organization/o-123example"
```

**Untuk berhenti berbagi AMI dengan semua organisasi, OUs, dan Akun AWS**  
Perintah berikut ini menghapus semua izin peluncuran publik dan eksplisit dari AMI yang ditentukan. Perhatikan bahwa pemilik AMI selalu memiliki izin peluncuran sehingga tidak terpengaruh oleh perintah ini.

```
Reset-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -Attribute launchPermission
```

------

## Berhenti berbagi AMI dengan organisasi atau OU
<a name="stop-sharing-amis-org-ou"></a>

Anda dapat berhenti berbagi AMI dengan organisasi atau OU.

**catatan**  
Anda tidak dapat berhenti berbagi AMI dengan akun tertentu jika akun tersebut berada di organisasi atau OU yang dengannya AMI dibagikan. Jika Anda mencoba untuk berhenti berbagi AMI dengan menghapus izin peluncuran untuk akun tersebut, Amazon EC2 akan menampilkan pesan sukses. Namun, AMI terus dibagikan dengan akun tersebut.

------
#### [ Console ]

**Untuk berhenti berbagi AMI dengan organisasi atau OU**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **AMIs**.

1. Pilih AMI Anda dalam daftar, lalu pilih **Tindakan**, **Ubah izin AMI**.

1. **Di bawah **Organisasi bersama/ OUs**, pilih organisasi atau OUs yang ingin Anda hentikan berbagi AMI, lalu pilih Hapus yang dipilih.**

1. Setelah selesai, pilih **Simpan perubahan**.

1. (Opsional) Untuk mengonfirmasi bahwa Anda telah berhenti membagikan AMI dengan organisasi atauOUs, pilih AMI dalam daftar, pilih tab **Izin**, dan gulir ke bawah ke **Organisasi OUs bersama/**.

------
#### [ AWS CLI ]

**Untuk berhenti berbagi AMI dengan organisasi atau OU**  
Gunakan perintah [modify-image-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html). Contoh ini menghapus izin peluncuran untuk AMI yang ditentukan dari organisasi yang ditentukan.

```
aws ec2 modify-image-attribute \
    --image-id ami-0abcdef1234567890 \
    --launch-permission "Remove=[{OrganizationArn=arn:aws:organizations::123456789012:organization/o-123example}]"
```

**Untuk berhenti berbagi AMI dengan semua organisasi, OUs, dan Akun AWS**  
Gunakan perintah [https://docs.aws.amazon.com/cli/latest/reference/ec2/reset-image-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/reset-image-attribute.html). Contoh ini menghapus semua izin peluncuran publik dan eksplisit dari AMI yang ditentukan. Perhatikan bahwa pemilik AMI selalu memiliki izin peluncuran sehingga tidak terpengaruh oleh perintah ini.

```
aws ec2 reset-image-attribute \
    --image-id ami-0abcdef1234567890 \
    --attribute launchPermission
```

------
#### [ PowerShell ]

**Untuk berhenti berbagi AMI dengan organisasi atau OU**  
Gunakan [Edit-EC2ImageAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ImageAttribute.html)cmdlet. Contoh ini menghapus izin peluncuran untuk AMI yang ditentukan dari organisasi yang ditentukan.

```
Edit-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -Attribute launchPermission `
    -OperationType remove `
    -OrganizationArn "arn:aws:organizations::123456789012:organization/o-123example"
```

**Untuk berhenti berbagi AMI dengan semua organisasi, OUs, dan Akun AWS**  
Gunakan [Reset-EC2ImageAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Reset-EC2ImageAttribute.html)cmdlet. Contoh ini menghapus semua izin peluncuran publik dan eksplisit dari AMI yang ditentukan. Perhatikan bahwa pemilik AMI selalu memiliki izin peluncuran sehingga tidak terpengaruh oleh perintah ini.

```
Reset-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -Attribute LaunchPermission
```

------

# Bagikan AMI dengan AWS akun tertentu
<a name="sharingamis-explicit"></a>

Anda dapat berbagi AMI dengan spesifik Akun AWS tanpa membuat AMI publik. Yang Anda butuhkan adalah Akun AWS IDs.

 Akun AWS ID adalah angka 12 digit, seperti`012345678901`, yang secara unik mengidentifikasi sebuah. Akun AWS Untuk informasi selengkapnya, lihat [Melihat Akun AWS pengenal](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html) di *Panduan AWS Account Management Referensi*.



## Pertimbangan-pertimbangan
<a name="considerations-for-sharing-AMI-with-accounts"></a>

Pertimbangkan hal berikut saat berbagi AMIs dengan spesifik Akun AWS.
+ **Kepemilikan** – Untuk berbagi AMI, Akun AWS Anda harus merupakan pemilik AMI.
+ **Batas berbagi** – Untuk jumlah maksimum entitas yang dapat digunakan bersama AMI dalam suatu Wilayah, lihat [kuota layanan Amazon EC2](https://docs.aws.amazon.com//general/latest/gr/ec2-service.html#limits_ec2).
+ **Tag** – Anda tidak dapat membagikan tag buatan pengguna (tag yang Anda lampirkan ke AMI). Saat Anda membagikan AMI, tag yang ditentukan pengguna tidak tersedia untuk semua Akun AWS yang digunakan bersama AMI.
+ **Snapshots** — Anda tidak perlu membagikan snapshot Amazon EBS yang direferensikan AMI untuk membagikan AMI. Anda hanya dapat membagikan AMI itu sendiri; sistem menyediakan akses instans ke snapshot EBS yang direferensikan untuk peluncuran. Namun, Anda harus membagikan kunci KMS apa pun yang digunakan untuk mengenkripsi snapshot yang direferensikan AMI. Untuk informasi selengkapnya, lihat [Membagikan snapshot Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-modifying-snapshot-permissions.html) di Panduan Pengguna *Amazon EBS*.
+ **Enkripsi dan kunci** — Anda dapat berbagi AMIs yang didukung oleh snapshot yang tidak terenkripsi dan terenkripsi.
  + Snapshot terenkripsi harus dienkripsi dengan kunci KMS. Anda tidak dapat berbagi AMIs yang didukung oleh snapshot yang dienkripsi dengan kunci terkelola default AWS .
  + Jika Anda berbagi AMI yang didukung oleh snapshot terenkripsi, Anda harus mengizinkan Akun AWS untuk menggunakan kunci KMS yang digunakan untuk mengenkripsi snapshot. Untuk informasi selengkapnya, lihat [Izinkan organisasi dan OUs menggunakan kunci KMS](allow-org-ou-to-use-key.md). Untuk menyiapkan kebijakan utama yang Anda perlukan untuk meluncurkan instans Auto Scaling saat menggunakan kunci terkelola pelanggan untuk enkripsi, lihat [AWS KMS key Kebijakan yang diperlukan untuk digunakan dengan volume terenkripsi](https://docs.aws.amazon.com/autoscaling/ec2/userguide/key-policy-requirements-EBS-encryption.html) di Panduan Pengguna Amazon EC2 Auto *Scaling*. 
+ **Wilayah** — AMIs adalah sumber daya Regional. Saat Anda membagikan AMI, AMI hanya tersedia di Wilayah tersebut. Agar AMI tersedia di Wilayah yang berbeda, salin AMI ke Wilayah, lalu bagikan. Untuk informasi selengkapnya, lihat [Salin Amazon EC2 AMI](CopyingAMIs.md).
+ **Penggunaan** – Saat Anda membagikan AMI, pengguna hanya dapat meluncurkan instans dari AMI tersebut. Mereka tidak dapat menghapus, berbagi, atau memodifikasinya. Namun, setelah mereka meluncurkan instans menggunakan AMI Anda, mereka akan dapat membuat AMI dari instans mereka.
+ **Menyalin bersama AMIs** — Jika pengguna di akun lain ingin menyalin AMI bersama, Anda harus memberi mereka izin baca untuk penyimpanan yang mendukung AMI. Untuk informasi selengkapnya, lihat [Penyalinan lintas akun](how-ami-copy-works.md#copy-ami-across-accounts).
+ **Penagihan** — Anda tidak ditagih ketika AMI Anda digunakan oleh orang lain Akun AWS untuk meluncurkan instans. Akun yang meluncurkan instans menggunakan AMI akan dikenai biaya untuk instans yang diluncurkan.

------
#### [ Console ]

**Untuk memberikan izin peluncuran eksplisit**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **AMIs**.

1. Pilih AMI Anda dalam daftar, lalu pilih **Tindakan**, **Ubah izin AMI**.

1. Pilih **Privat**.

1. Di bawah **Akun bersama**, pilih **Tambahkan ID akun**.

1. Untuk **Akun AWS ID**, masukkan Akun AWS ID yang ingin Anda bagikan AMI, lalu pilih **Bagikan AMI**.

   Untuk membagikan AMI ini dengan beberapa akun, ulangi Langkah 5 dan 6 hingga Anda telah menambahkan semua akun yang diperlukan IDs.

1. Setelah selesai, pilih **Simpan perubahan**.

1. (Opsional) Untuk melihat AMI yang telah Anda bagikan, pilih AMI dalam daftar, dan pilih tab **Izin**. Akun AWS IDs Untuk menemukan AMIs yang dibagikan dengan Anda, lihat[Temukan AMI bersama untuk digunakan untuk instans Amazon EC2](usingsharedamis-finding.md).

------
#### [ AWS CLI ]

Gunakan [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html)perintah untuk berbagi AMI seperti yang ditunjukkan pada contoh berikut.

**Untuk memberikan izin peluncuran eksplisit**  
Contoh berikut memberikan izin peluncuran untuk AMI yang ditentukan ke yang ditentukan. Akun AWS

```
aws ec2 modify-image-attribute \
    --image-id ami-0abcdef1234567890 \
    --launch-permission "Add=[{UserId=123456789012}]"
```

**Untuk menghapus izin peluncuran bagi sebuah akun**  
Contoh berikut menghapus izin peluncuran untuk AMI yang ditentukan dari yang ditentukan Akun AWS.

```
aws ec2 modify-image-attribute \
    --image-id ami-0abcdef1234567890 \
    --launch-permission "Remove=[{UserId=123456789012}]"
```

**Untuk menghapus semua izin peluncuran**  
Contoh berikut menghapus semua izin peluncuran publik dan eksplisit dari AMI yang ditentukan. Perhatikan bahwa pemilik AMI selalu memiliki izin peluncuran sehingga tidak terpengaruh oleh perintah ini.

```
aws ec2 reset-image-attribute \
    --image-id ami-0abcdef1234567890 \
    --attribute launchPermission
```

------
#### [ PowerShell ]

Gunakan [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ImageAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ImageAttribute.html)perintah (Alat untuk Windows PowerShell) untuk berbagi AMI seperti yang ditunjukkan pada contoh berikut.

**Untuk memberikan izin peluncuran eksplisit**  
Contoh berikut memberikan izin peluncuran untuk AMI yang ditentukan ke yang ditentukan. Akun AWS

```
Edit-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 ` 
    -Attribute launchPermission `
    -OperationType add `
    -UserId "123456789012"
```

**Untuk menghapus izin peluncuran bagi sebuah akun**  
Contoh berikut menghapus izin peluncuran untuk AMI yang ditentukan dari yang ditentukan Akun AWS.

```
Edit-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -Attribute launchPermission -OperationType remove `
    -UserId "123456789012"
```

**Untuk menghapus semua izin peluncuran**  
Exaple berikut menghapus semua izin peluncuran publik dan eksplisit dari AMI yang ditentukan. Perhatikan bahwa pemilik AMI selalu memiliki izin peluncuran sehingga tidak terpengaruh oleh perintah ini.

```
Reset-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -Attribute launchPermission
```

------

# Batalkan memiliki AMI yang dibagikan dengan Anda Akun AWS
<a name="cancel-sharing-an-AMI"></a>

Amazon Machine Image (AMI) dapat [dibagikan dengan Akun AWS spesifik](sharingamis-explicit.md) dengan menambahkan akun ke izin peluncuran AMI. Jika AMI telah dibagikan dengan Anda Akun AWS dan Anda tidak ingin lagi dibagikan dengan akun Anda, Anda dapat menghapus akun Anda dari izin peluncuran AMI. Anda melakukan ini dengan menjalankan `cancel-image-launch-permission` AWS CLI perintah. Saat menjalankan perintah ini, Anda akan Akun AWS dihapus dari izin peluncuran untuk AMI yang ditentukan. Untuk menemukan AMIs yang dibagikan dengan Anda Akun AWS, lihat[Temukan AMI bersama untuk digunakan untuk instans Amazon EC2](usingsharedamis-finding.md).

Anda dapat membatalkan AMI dibagikan dengan akun Anda, misalnya, untuk mengurangi kemungkinan peluncuran instans dengan AMI yang tidak digunakan atau sudah usang yang dibagikan kepada Anda. Saat Anda membatalkan AMI yang dibagikan dengan akun Anda, AMI tidak lagi muncul di daftar AMI apa pun di konsol EC2 atau output [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html).

**Topics**
+ [Batasan](#cancel-sharing-an-AMI-limitations)
+ [Membatalkan berbagi AMI dengan akun Anda](#cancel-image-launch-permission)

## Batasan
<a name="cancel-sharing-an-AMI-limitations"></a>
+ Anda dapat menghapus akun Anda dari izin peluncuran AMI yang dibagikan Akun AWS hanya dengan Anda. Anda tidak dapat menggunakan `cancel-image-launch-permission` untuk menghapus akun Anda dari izin peluncuran [AMI yang dibagikan dengan organisasi atau unit organisasi (OU)](share-amis-with-organizations-and-OUs.md) atau untuk menghapus akses ke publik AMIs.
+ Anda tidak dapat menghapus akun secara permanen dari izin peluncuran AMI. Pemilik AMI dapat membagikan AMI kepada akun Anda lagi.
+ AMIs adalah sumber daya regional. Saat menjalankan `cancel-image-launch-permission`, Anda harus menentukan Wilayah tempat AMI berada. Entah menentukan Region dalam perintah, atau menggunakan [variabel AWS\$1DEFAULT\$1REGION lingkungan](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html).
+ Hanya SDK AWS CLI dan SDK yang mendukung penghapusan akun Anda dari izin peluncuran AMI. Konsol EC2 sekarang tidak mendukung tindakan ini.

## Membatalkan berbagi AMI dengan akun Anda
<a name="cancel-image-launch-permission"></a>

**catatan**  
Setelah membatalkan AMI yang dibagikan dengan akun Anda, Anda tidak dapat mengembalikannya. Untuk mendapatkan kembali akses ke AMI, pemilik AMI harus membagikannya dengan akun Anda.

------
#### [ AWS CLI ]

**Untuk membatalkan AMI yang dibagikan dengan akun Anda**  
Gunakan perintah [https://docs.aws.amazon.com/cli/latest/reference/ec2/cancel-image-launch-permission.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/cancel-image-launch-permission.html).

```
aws ec2 cancel-image-launch-permission \
    --image-id ami-0abcdef1234567890 \
    --region us-east-1
```

------
#### [ PowerShell ]

**Untuk membatalkan AMI yang dibagikan dengan akun Anda**  
Gunakan [https://docs.aws.amazon.com/powershell/latest/reference/index.html](https://docs.aws.amazon.com/powershell/latest/reference/index.html)cmdlet.

```
Stop-EC2ImageLaunchPermission `
    -ImageId ami-0abcdef1234567890 `
    -Region us-east-1
```

------

# Rekomendasi untuk membuat Linux bersama AMIs
<a name="building-shared-amis"></a>

Gunakan panduan berikut untuk mengurangi permukaan serangan dan meningkatkan keandalan yang AMIs Anda buat.

**penting**  
Tidak ada daftar pedoman keamanan yang lengkap. Bangun AMIs bersama Anda dengan cermat dan luangkan waktu untuk mempertimbangkan di mana Anda data sensitif Anda terekspos.

**Topics**
+ [Nonaktifkan login jarak jauh berbasis kata sandi untuk pengguna root](#public-amis-disable-password-logins-for-root)
+ [Nonaktifkan akses root lokal](#restrict-root-access)
+ [Hapus pasangan kunci host SSH](#remove-ssh-host-key-pairs)
+ [Instal kredensial kunci publik](#public-amis-install-credentials)
+ [Nonaktifkan pemeriksaan DNS sshd (opsional)](#public-amis-disable-ssh-dns-lookups)
+ [Hapus data sensitif](#public-amis-protect-yourself)

Jika Anda membangun AMIs AWS Marketplace, lihat [Praktik terbaik untuk membangun AMIs](https://docs.aws.amazon.com/marketplace/latest/userguide/best-practices-for-building-your-amis.html) di *Panduan AWS Marketplace Penjual* untuk pedoman, kebijakan, dan praktik terbaik.

## Nonaktifkan login jarak jauh berbasis kata sandi untuk pengguna root
<a name="public-amis-disable-password-logins-for-root"></a>

Menggunakan kata sandi root tetap untuk AMI publik adalah risiko keamanan yang segera diketahui. Bahkan mengandalkan pengguna untuk mengubah kata sandi setelah masuk pertama membuka jendela kesempatan kecil potensi penyalahgunaan. 

Untuk mengatasi masalah ini, nonaktifkan masuk jarak jauh berbasis kata sandi untuk pengguna root.

**Untuk menonaktifkan login jarak jauh berbasis kata sandi untuk pengguna root**

1. Buka file `/etc/ssh/sshd_config` dengan teks editor dan temukan baris berikut:

   ```
   #PermitRootLogin yes
   ```

1. Ubah baris menjadi:

   ```
   PermitRootLogin without-password
   ```

   Lokasi file konfigurasi ini mungkin berbeda untuk distribusi Anda, atau jika Anda tidak menjalankan OpenSSH. Jika demikian, berkonsultasilah dengan dokumentasi yang relevan. 

## Nonaktifkan akses root lokal
<a name="restrict-root-access"></a>

Saat Anda bekerja dengan shared AMIs, praktik terbaik adalah menonaktifkan login root langsung. Caranya, masuk ke instans yang sedang berjalan dan keluarkan perintah berikut:

```
[ec2-user ~]$ sudo passwd -l root
```

**catatan**  
Perintah ini tidak memengaruhi penggunaan `sudo`.

## Hapus pasangan kunci host SSH
<a name="remove-ssh-host-key-pairs"></a>

 Jika Anda berencana untuk berbagi AMI yang berasal dari AMI publik, hapus pasangan kunci host SSH yang ada terletak di `/etc/ssh`. Ini memaksa SSH untuk menghasilkan pasangan kunci SSH unik baru ketika seseorang meluncurkan instance menggunakan AMI Anda, meningkatkan keamanan dan mengurangi kemungkinan "" man-in-the-middle serangan. 

Hapus semua file kunci berikut yang ada di sistem Anda.
+  ssh\$1host\$1dsa\$1key 
+  ssh\$1host\$1dsa\$1key.pub 
+  ssh\$1host\$1key 
+  ssh\$1host\$1key.pub 
+  ssh\$1host\$1rsa\$1key 
+  ssh\$1host\$1rsa\$1key.pub 
+ ssh\$1host\$1ecdsa\$1key
+ ssh\$1host\$1ecdsa\$1key.pub
+ ssh\$1host\$1ed25519\$1key
+ ssh\$1host\$1ed25519\$1key.pub

Anda dapat menghapus semua file ini dengan aman dengan perintah berikut.

```
[ec2-user ~]$ sudo shred -u /etc/ssh/*_key /etc/ssh/*_key.pub
```

**Awas**  
Utilitas penghapusan aman seperti **shred** mungkin tidak menghapus semua salinan file dari media penyimpanan Anda. Salinan file tersembunyi dapat dibuat dengan penjurnalan sistem file (termasuk Amazon Linux default ext4), snapshot, pencadangan, RAID, dan cache sementara. Untuk informasi lebih lanjut, lihat [dokumentasi yang rusak](https://www.gnu.org/software/coreutils/manual/html_node/shred-invocation.html).

**penting**  
Jika Anda lupa menghapus pasangan kunci host SSH yang ada dari AMI publik, proses audit rutin kami memberi tahu Anda dan semua pelanggan yang menjalankan instans AMI Anda tentang potensi risiko keamanan. Setelah masa tenggang singkat, kami menandai AMI sebagai privat. 

## Instal kredensial kunci publik
<a name="public-amis-install-credentials"></a>

Setelah mengonfigurasi AMI untuk mencegah masuk menggunakan kata sandi, Anda harus memastikan pengguna dapat masuk menggunakan mekanisme lain. 

Amazon EC2 memungkinkan pengguna untuk menentukan nama pasangan kunci publik-privat saat meluncurkan sebuah instans. Saat nama pasangan kunci yang valid diberikan ke panggilan API `RunInstances` (atau melalui alat API baris perintah), kunci publik (bagian dari pasangan kunci yang dimiliki Amazon EC2 di server setelah panggilan `CreateKeyPair` atau `ImportKeyPair`) tersedia untuk instans melalui kueri HTTP terhadap metadata instans. 

Untuk masuk melalui SSH, AMI Anda harus mengambil nilai kunci saat boot dan menambahkannya ke `/root/.ssh/authorized_keys` (atau setara untuk akun pengguna lain di AMI). Pengguna dapat meluncurkan instans AMI Anda dengan pasangan kunci dan masuk tanpa yang memerlukan kata sandi root. 

Banyak distribusi, termasuk Amazon Linux dan Ubuntu, menggunakan paket `cloud-init` untuk menginjeksikan kredensial kunci publik untuk pengguna yang telah dikonfigurasi. Jika distribusi Anda tidak mendukung `cloud-init`, Anda dapat menambahkan kode berikut ke skrip penyalaan sistem (seperti `/etc/rc.local`) untuk menarik kunci publik yang Anda tentukan pada saat peluncuran untuk pengguna root.

**catatan**  
Dalam contoh berikut, alamat IP http://169.254.169.254/ adalah alamat tautan lokal dan hanya valid dari instans.

------
#### [ IMDSv2 ]

```
if [ ! -d /root/.ssh ] ; then
        mkdir -p /root/.ssh
        chmod 700 /root/.ssh
fi
# Fetch public key using HTTP
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
&& curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key > /tmp/my-key
if [ $? -eq 0 ] ; then
        cat /tmp/my-key >> /root/.ssh/authorized_keys
        chmod 700 /root/.ssh/authorized_keys
        rm /tmp/my-key
fi
```

------
#### [ IMDSv1 ]

```
if [ ! -d /root/.ssh ] ; then
        mkdir -p /root/.ssh
        chmod 700 /root/.ssh
fi
# Fetch public key using HTTP
curl http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key > /tmp/my-key
if [ $? -eq 0 ] ; then
        cat /tmp/my-key >> /root/.ssh/authorized_keys
        chmod 700 /root/.ssh/authorized_keys
        rm /tmp/my-key
fi
```

------

 Hal ini dapat diterapkan ke pengguna; Anda tidak perlu membatasinya ke pengguna `root`.

**catatan**  
Pemaketan ulang instans berdasarkan AMI ini mencakup kunci yang digunakan untuk meluncurkan. Untuk mencegah inklusi kunci, Anda harus membersihkan (atau menghapus) file `authorized_keys` atau mengecualikan file ini dari pemaketan ulang. 

## Nonaktifkan pemeriksaan DNS sshd (opsional)
<a name="public-amis-disable-ssh-dns-lookups"></a>

Menonaktifkan pemeriksaan DNS sshd akan sedikit melemahkan keamanan sshd. Namun, jika resolusi DNS gagal, login SSH masih berfungsi. Jika Anda tidak menonaktifkan pemeriksaan sshd, kegagalan resolusi DNS akan mencegah semua login. 

**Untuk menonaktifkan pemeriksaan DNS sshd**

1. Buka file `/etc/ssh/sshd_config` dengan editor teks dan cari baris berikut:

   ```
   #UseDNS yes
   ```

1. Ubah baris menjadi: 

   ```
   UseDNS no
   ```

**catatan**  
Lokasi file konfigurasi ini mungkin berbeda untuk distribusi Anda, atau jika Anda tidak menjalankan OpenSSH. Jika demikian, berkonsultasilah dengan dokumentasi yang relevan. 

## Hapus data sensitif
<a name="public-amis-protect-yourself"></a>

Kami tidak sarankan Anda menyimpan data atau perangkat lunak sensitif di AMI apa pun yang Anda bagikan. Pengguna yang meluncurkan AMI bersama mungkin dapat memaketkannya kembali dan mendaftarkannya sebagai milik mereka sendiri. Ikuti panduan ini untuk membantu Anda menghindari beberapa risiko keamanan yang mudah diabaikan: 
+ Kami menyarankan penggunaan opsi `--exclude directory` pada `ec2-bundle-vol` untuk melewati direktori dan subdirektori yang berisi informasi rahasia yang tidak ingin Anda sertakan dalam paketan Anda. Secara khusus, kecualikan semua pasangan public/private kunci SSH milik pengguna dan `authorized_keys` file SSH saat menggabungkan gambar. Publik Amazon AMIs menyimpan ini `/root/.ssh` untuk pengguna root, dan `/home/user_name/.ssh/` untuk pengguna biasa. Untuk informasi selengkapnya, lihat [ec2-bundle-vol](ami-tools-commands.md#ami-bundle-vol).
+ Selalu hapus riwayat shell sebelum pembuatan paketan. Jika Anda mencoba lebih dari satu unggahan paketan di AMI yang sama, riwayat shell berisi kunci akses Anda. Contoh berikut harus menjadi perintah terakhir yang Anda jalankan sebelum memaketkan dari dalam instans.

  ```
  [ec2-user ~]$ shred -u ~/.*history
  ```
**Awas**  
Batasan **shred** yang dijelaskan dalam peringatan di atas berlaku juga di sini.   
Perhatikan bahwa bash mencatat riwayat sesi saat ini ke disk saat keluar. Jika Anda keluar dari instans setelah menghapus `~/.bash_history`, lalu masuk kembali, Anda akan menemukan `~/.bash_history` telah dibuat ulang dan berisi semua perintah yang dijalankan selama sesi Anda sebelumnya.  
Program lain selain bash juga menulis riwayat ke disk, berhati-hatilah dan hapus atau kecualikan dot-file dan dot-directories yang tidak perlu.
+ Membuat paketan dari instans berjalan memerlukan kunci privat dan sertifikat X.509 Anda. Simpan kredensial ini dan kredensial lainnya di lokasi yang tidak dipaketkan (misalnya penyimpanan instans).