

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

# Peran Amazon ECS CodeDeploy IAM
<a name="codedeploy_IAM_role"></a>

Sebelum Anda dapat menggunakan jenis penyebaran CodeDeploy biru/hijau dengan Amazon ECS, layanan ini memerlukan izin untuk memperbarui CodeDeploy layanan Amazon ECS Anda atas nama Anda. Izin ini disediakan oleh peran CodeDeploy IAM ()`ecsCodeDeployRole`.

**catatan**  
Pengguna juga memerlukan izin untuk digunakan CodeDeploy; izin ini dijelaskan dalam. [Izin IAM yang diperlukan](deployment-type-bluegreen.md#deployment-type-bluegreen-IAM) 

Ada dua kebijakan terkelola yang disediakan. Untuk informasi selengkapnya, lihat salah satu hal berikut di *Panduan Referensi Kebijakan AWS Terkelola*:
+  [AWSCodeDeployRoleForECS](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCodeDeployRoleForECS.html) - memberikan CodeDeploy izin untuk memperbarui sumber daya apa pun menggunakan tindakan terkait. 
+ [AWSCodeDeployRoleForECSLimited](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCodeDeployRoleForECSLimited.html)- memberikan izin yang CodeDeploy lebih terbatas. 

## Menciptakan CodeDeploy peran
<a name="cd-iam-role-create"></a>

Anda dapat menggunakan prosedur berikut untuk membuat CodeDeploy peran untuk Amazon ECS

------
#### [ Konsol Manajemen AWS ]

**Untuk membuat peran layanan untuk CodeDeploy (konsol IAM)**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi konsol IAM, pilih **Peran**, dan lalu pilih **Buat peran**.

1. Untuk **jenis entitas Tepercaya**, pilih **Layanan AWS**.

1. Untuk **kasus Layanan atau penggunaan**, pilih **CodeDeploy**, lalu pilih kasus penggunaan **CodeDeploy - ECS**.

1. Pilih **Berikutnya**.

1. Di bagian **Lampirkan kebijakan izin**, pastikan bahwa kebijakan **AWSCodeDeployRoleForECS** dipilih.

1. Pilih **Berikutnya**.

1.  Untuk **nama Peran**, masukkan **ecsCodeDeployPeran**.

1. Tinjau peran lalu pilih **Buat peran**.

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

Ganti semua *user input* dengan informasi Anda sendiri.

1. Buat file bernama `codedeploy-trust-policy.json` yang berisi kebijakan kepercayaan yang akan digunakan untuk peran CodeDeploy IAM.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "",
               "Effect": "Allow",
               "Principal": {
                   "Service": ["codedeploy.amazonaws.com"]
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

1. Buat peran IAM bernama `ecsCodedeployRole` menggunakan kebijakan kepercayaan yang dibuat pada langkah sebelumnya.

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

1. Lampirkan kebijakan `AWSCodeDeployRoleForECS` atau yang `AWSCodeDeployRoleForECSLimited` dikelola ke `ecsTaskRole` peran.

   ```
   aws iam attach-role-policy \
         --role-name ecsCodedeployRole \
         --policy-arn arn:aws:iam::aws:policy/AWSCodeDeployRoleForECS
   ```

   ```
   aws iam attach-role-policy \
         --role-name ecsCodedeployRole \
         --policy-arn arn:aws:iam::aws:policy/AWSCodeDeployRoleForECSLimited
   ```

------

Jika tugas dalam layanan Anda memerlukan peran eksekusi tugas, Anda harus menambahkan `iam:PassRole` izin untuk setiap peran eksekusi tugas atau penggantian peran tugas ke CodeDeploy peran sebagai kebijakan. 

### Izin peran eksekusi tugas
<a name="cd-iam-role-attach-policy"></a>

Jika tugas dalam layanan Anda memerlukan peran eksekusi tugas, Anda harus menambahkan `iam:PassRole` izin untuk setiap peran eksekusi tugas atau penggantian peran tugas ke CodeDeploy peran sebagai kebijakan. Untuk informasi selengkapnya, lihat [Peran IAM pelaksanaan tugas Amazon ECS](task_execution_IAM_role.md) dan [Peran IAM tugas Amazon ECS](task-iam-roles.md). Kemudian, Anda melampirkan kebijakan itu ke CodeDeploy peran

Buat kebijakan

------
#### [ Konsol Manajemen AWS ]

**Cara menggunakan editor kebijakan JSON untuk membuat kebijakan**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Pada panel navigasi di sebelah kiri, pilih **Kebijakan**. 

   Jika ini pertama kalinya Anda memilih **Kebijakan**, akan muncul halaman **Selamat Datang di Kebijakan Terkelola**. Pilih **Memulai**.

1. Di bagian atas halaman, pilih **Buat kebijakan**.

1. Di bagian **Editor kebijakan**, pilih opsi **JSON**.

1. Masukkan dokumen kebijakan JSON berikut:

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "iam:PassRole",
               "Resource": ["arn:aws:iam::<aws_account_id>:role/<ecsCodeDeployRole>"]
           }
       ]
   }
   ```

1. Pilih **Berikutnya**.
**catatan**  
Anda dapat beralih antara opsi editor **Visual** dan **JSON** kapan saja. Namun, jika Anda melakukan perubahan atau memilih **Berikutnya** di editor **Visual**, IAM dapat merestrukturisasi kebijakan Anda untuk mengoptimalkannya bagi editor visual. Untuk informasi selengkapnya, lihat [Restrukturisasi kebijakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure) dalam *Panduan Pengguna IAM*.

1. Pada halaman **Tinjau dan buat**, masukkan **Nama kebijakan** dan **Deskripsi** (opsional) untuk kebijakan yang Anda buat. Tinjau **Izin yang ditentukan dalam kebijakan ini** untuk melihat izin yang diberikan oleh kebijakan Anda.

1. Pilih **Buat kebijakan** untuk menyimpan kebijakan baru Anda.

Setelah Anda membuat kebijakan, lampirkan kebijakan ke CodeDeploy peran tersebut. Untuk informasi tentang cara melampirkan kebijakan ke peran, lihat [Memperbarui izin untuk peran](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-permissions.html) dalam *Panduan AWS Identity and Access Management Pengguna*.

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

Ganti semua *user input* dengan informasi Anda sendiri.

1. Buat file bernama `blue-green-iam-passrole.json` dengan konten berikut.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "iam:PassRole",
               "Resource": ["arn:aws:iam::*:role/code-deploy-role"],
               "Condition": {
                       "StringEquals": {"iam:PassedToService": "ecs.amazonaws.com"}
               }
           }
       ]
   }
   ```

------

1. Gunakan perintah berikut untuk membuat kebijakan IAM menggunakan file dokumen kebijakan JSON.

   ```
   aws iam create-policy \
         --policy-name cdTaskExecutionPolicy \
         --policy-document file://blue-green-iam-passrole.json
   ```

1. Ambil ARN dari kebijakan IAM yang Anda buat menggunakan perintah berikut.

   ```
   aws iam list-policies --scope Local --query 'Policies[?PolicyName==`cdTaskExecutionPolicy`].Arn'
   ```

1. Gunakan perintah berikut untuk melampirkan kebijakan ke peran CodeDeploy IAM.

   ```
   aws iam attach-role-policy \
         --role-name ecsCodedeployRole \
         --policy-arn arn:aws:iam:111122223333:aws:policy/cdTaskExecutionPolicy
   ```

------