

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

# Mengonfigurasi izin IAM
<a name="configure-iam-role-policy-credentials"></a>

Pekerjaan Lokasi Amazon memerlukan peran eksekusi IAM yang memberikan izin layanan untuk mengakses bucket Amazon S3 Anda. Saat Anda menjalankan pekerjaan, Amazon Location mengasumsikan peran ini untuk membaca file input dari bucket input dan menulis hasil output ke bucket keluaran Anda atas nama Anda. Anda memberikan izin ini dengan membuat kebijakan IAM dengan izin Amazon S3 yang diperlukan dan melampirkannya ke peran IAM dengan kebijakan kepercayaan yang memungkinkan layanan Lokasi Amazon untuk mengambil peran tersebut.

**catatan**  
Bucket input dan output Amazon S3 yang Anda buat harus ada di AWS Region tempat yang sama di mana Anda berencana untuk menjalankan pekerjaan Anda. Sumber daya IAM yang Anda buat harus dibuat di akun yang sama.

## Langkah 1: Buat kebijakan IAM
<a name="create-iam-policy-jobs"></a>

Buat kebijakan IAM yang memberikan izin yang diperlukan untuk pekerjaan Lokasi Amazon.

**Untuk membuat kebijakan IAM untuk pekerjaan Lokasi Amazon**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). 

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

1. Pilih **Buat kebijakan**. 

1. Pilih tab **JSON** dan masukkan dokumen kebijakan berikut, ganti {{INPUT\_BUCKET\_NAME}} dan {{OUTPUT\_BUCKET\_NAME}} dengan nama bucket Anda:

   ```
   {
     "Version": "2012-10-17", 		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket",
           "s3:GetObjectVersion",
           "s3:GetBucketVersioning"
         ],
         "Resource": [
           "arn:aws:s3:::{{INPUT_BUCKET_NAME}}",
           "arn:aws:s3:::{{INPUT_BUCKET_NAME}}/*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:AbortMultipartUpload"
         ],
         "Resource": [
           "arn:aws:s3:::{{OUTPUT_BUCKET_NAME}}/*"
         ]
       }
     ]
   }
   ```

1. Pilih **Berikutnya**. 

1. Untuk **nama Kebijakan**, masukkan nama deskriptif seperti`{{LocationJobsS3AccessPolicy}}`. 

1. Pilih **Buat kebijakan**. 

Tabel berikut menjelaskan izin yang diberikan oleh kebijakan ini:


| Izin | Deskripsi | 
| --- | --- | 
|  s3:GetObject  | Memungkinkan Lokasi Amazon membaca file input dari bucket input Anda. | 
|  s3:ListBucket  | Memungkinkan Lokasi Amazon untuk mencantumkan file di bucket input Anda untuk mengidentifikasi semua file input untuk diproses. | 
|  s3:GetObjectVersion  | Mengizinkan Lokasi Amazon mengakses versi file input tertentu. Diperlukan karena pembuatan versi harus diaktifkan di bucket Anda. | 
|  s3:GetBucketVersioning  | Memungkinkan Lokasi Amazon memverifikasi bahwa pembuatan versi diaktifkan di bucket input Anda. | 
|  s3:PutObject  | Memungkinkan Lokasi Amazon untuk menulis hasil keluaran ke bucket keluaran Anda. | 
|  s3:AbortMultipartUpload  | Mengizinkan Lokasi Amazon membersihkan unggahan multibagian yang gagal saat menulis file keluaran besar. | 

**catatan**  
Kebijakan ini mengikuti prinsip hak istimewa paling sedikit dengan hanya memberikan izin yang diperlukan agar Pekerjaan Lokasi Amazon berfungsi. Kebijakan ini membatasi izin baca ke bucket masukan dan izin tulis ke bucket keluaran Anda.

**Untuk membuat kebijakan IAM menggunakan AWS CLI**

1. Buat file bernama `location-jobs-policy.json` dengan konten berikut, ganti {{INPUT\_BUCKET\_NAME}} dan {{OUTPUT\_BUCKET\_NAME}} dengan nama bucket Anda:

   ```
   {
     "Version": "2012-10-17", 		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket",
           "s3:GetObjectVersion",
           "s3:GetBucketVersioning"
         ],
         "Resource": [
           "arn:aws:s3:::{{INPUT_BUCKET_NAME}}",
           "arn:aws:s3:::{{INPUT_BUCKET_NAME}}/*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:AbortMultipartUpload"
         ],
         "Resource": [
           "arn:aws:s3:::{{OUTPUT_BUCKET_NAME}}/*"
         ]
       }
     ]
   }
   ```

1. Buat kebijakan:

   ```
   aws iam create-policy \
       --policy-name {{LocationJobsS3AccessPolicy}} \
       --policy-document file://location-jobs-policy.json
   ```

1. Perhatikan kebijakan ARN dari output. Anda membutuhkan ARN ini di langkah berikutnya.

## Langkah 2: Buat peran eksekusi
<a name="create-execution-role-jobs"></a>

Buat peran IAM yang diasumsikan Amazon Location untuk mengakses bucket Amazon S3 Anda selama eksekusi pekerjaan.

Kebijakan kepercayaan memungkinkan layanan Lokasi Amazon (`geo.amazonaws.com`) untuk mengambil peran ini. Hubungan kepercayaan ini diperlukan untuk Lokasi Amazon untuk mengakses bucket Amazon S3 Anda selama eksekusi pekerjaan.

**Untuk membuat peran eksekusi untuk pekerjaan Lokasi Amazon**

1. **Di panel navigasi konsol IAM, pilih Peran.** 

1. Pilih **Buat peran**. 

1. Untuk **jenis entitas Tepercaya**, pilih **Kebijakan kepercayaan khusus**. 

1. Masukkan kebijakan kepercayaan berikut, ganti {{ACCOUNT\_ID}} dengan ID AWS akun Anda:

   ```
   {
     "Version": "2012-10-17", 		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "geo.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {
           "StringEquals": {
             "aws:SourceAccount": "{{ACCOUNT_ID}}"
           }
         }
       }
     ]
   }
   ```

1. Pilih **Berikutnya**. 

1. Cari dan pilih kebijakan yang Anda buat di Langkah 1 (seperti`{{LocationJobsS3AccessPolicy}}`). 

1. Pilih **Berikutnya**. 

1. Untuk **nama Peran**, masukkan nama deskriptif seperti`LocationServiceJobExecutionRole`. 

1. Pilih **Buat peran**. 

**Untuk membuat peran eksekusi menggunakan AWS CLI**

1. Buat file bernama `trust-policy.json` dengan konten berikut, ganti {{ACCOUNT\_ID}} dengan ID AWS akun Anda:

   ```
   {
     "Version": "2012-10-17", 		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "geo.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {
           "StringEquals": {
             "aws:SourceAccount": "{{ACCOUNT_ID}}"
           }
         }
       }
     ]
   }
   ```

1. Buat peran:

   ```
   aws iam create-role \
       --role-name LocationServiceJobExecutionRole \
       --assume-role-policy-document file://trust-policy.json
   ```

1. Lampirkan kebijakan yang Anda buat di Langkah 1 (ganti {{ACCOUNT\_ID}} dengan ID AWS akun Anda dan {{LocationJobsS3AccessPolicy}} dengan nama kebijakan Anda jika berbeda):

   ```
   aws iam attach-role-policy \
       --role-name LocationServiceJobExecutionRole \
       --policy-arn arn:aws:iam::{{ACCOUNT_ID}}:policy/{{LocationJobsS3AccessPolicy}}
   ```

1. Dapatkan peran ARN:

   ```
   aws iam get-role \
       --role-name LocationServiceJobExecutionRole \
       --query 'Role.Arn' \
       --output text
   ```

1. Perhatikan peran ARN dari output. Anda memerlukan ARN ini saat memulai pekerjaan menggunakan parameter. `ExecutionRoleArn`

Setelah membuat peran, perhatikan peran ARN. Anda memerlukan ARN ini saat memulai pekerjaan menggunakan parameter. `ExecutionRoleArn` Untuk informasi selengkapnya, lihat [Mempersiapkan data input](preparing-input-data.md).

## Praktik terbaik keamanan
<a name="iam-security-best-practices"></a>

Ikuti praktik terbaik keamanan ini saat mengonfigurasi izin IAM untuk Lowongan Lokasi Amazon:
+  **Gunakan bucket tertentu ARNs:** Ganti nama bucket placeholder dalam kebijakan dengan nama bucket Anda yang sebenarnya untuk membatasi akses hanya ke bucket yang ingin Anda gunakan.
+  **Bucket input dan output terpisah: Gunakan bucket** yang berbeda untuk input dan output guna mempertahankan pemisahan izin baca dan tulis yang jelas.
+  **Aktifkan pembuatan versi bucket Amazon S3: Pembuatan versi** harus diaktifkan di bucket Anda. Ini diperlukan agar Pekerjaan Lokasi Amazon berfungsi dengan baik.
+  **Gunakan kebijakan bucket Amazon S3: Tambahkan kebijakan bucket** ke bucket Amazon S3 Anda untuk kontrol akses tambahan di luar kebijakan IAM.
+  **Memantau penggunaan peran:** Gunakan untuk memantau kapan dan bagaimana peran eksekusi digunakan oleh Pekerjaan Lokasi Amazon.