

• AWS Systems Manager CloudWatch Dasbor tidak akan lagi tersedia setelah 30 April 2026. Pelanggan dapat terus menggunakan CloudWatch konsol Amazon untuk melihat, membuat, dan mengelola CloudWatch dasbor Amazon mereka, seperti yang mereka lakukan hari ini. Untuk informasi selengkapnya, lihat [dokumentasi CloudWatch Dasbor Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

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

# Menyiapkan Maintenance Windows
<a name="setting-up-maintenance-windows"></a>

Sebelum pengguna di Anda Akun AWS dapat membuat dan menjadwalkan tugas jendela pemeliharaan menggunakan Maintenance Windows, alat di AWS Systems Manager, mereka harus diberikan izin yang diperlukan. Selain itu, Anda harus membuat peran layanan IAM untuk jendela pemeliharaan dan kebijakan IAM untuk melampirkannya.

**Sebelum Anda mulai**  
Selain izin yang Anda konfigurasikan di bagian ini, Entitas IAM (pengguna, peran, atau grup yang akan bekerja dengan jendela pemeliharaan harus sudah memiliki izin jendela pemeliharaan umum. Anda dapat memberikan izin ini dengan menetapkan kebijakan IAM `AmazonSSMFullAccess` ke Entitas, atau menetapkan kebijakan IAM khusus yang menyediakan sekumpulan izin akses yang lebih kecil untuk Systems Manager yang mencakup tugas jendela pemeliharaan.

**Topics**
+ [Kontrol akses ke jendela pemeliharaan menggunakan konsol](configuring-maintenance-window-permissions-console.md)
+ [Kontrol akses ke jendela pemeliharaan menggunakan AWS CLI](configuring-maintenance-window-permissions-cli.md)

# Kontrol akses ke jendela pemeliharaan menggunakan konsol
<a name="configuring-maintenance-window-permissions-console"></a>

Prosedur berikut menjelaskan cara menggunakan AWS Systems Manager konsol untuk membuat izin dan peran yang diperlukan untuk jendela pemeliharaan.

**Topics**
+ [Tugas 1: Membuat kebijakan khusus untuk peran layanan jendela pemeliharaan Anda menggunakan konsol](#create-custom-policy-console)
+ [Tugas 2: Buat peran layanan khusus untuk jendela pemeliharaan menggunakan konsol](#create-custom-role-console)
+ [Tugas 3: Berikan izin kepada pengguna tertentu untuk mendaftarkan tugas jendela pemeliharaan menggunakan konsol](#allow-maintenance-window-access-console)
+ [Tugas 4: Mencegah pengguna tertentu mendaftarkan tugas jendela pemeliharaan menggunakan konsol](#deny-maintenance-window-access-console)

## Tugas 1: Membuat kebijakan khusus untuk peran layanan jendela pemeliharaan Anda menggunakan konsol
<a name="create-custom-policy-console"></a>

Tugas jendela pemeliharaan memerlukan peran IAM untuk memberikan izin yang diperlukan untuk berjalan pada sumber daya target. Izin diberikan melalui kebijakan IAM yang dilampirkan pada peran. Jenis tugas yang Anda jalankan dan persyaratan operasional lainnya menentukan isi kebijakan ini. Kami menyediakan kebijakan dasar yang dapat Anda sesuaikan dengan kebutuhan Anda. Bergantung pada tugas dan jenis tugas yang dijalankan jendela pemeliharaan, Anda mungkin tidak memerlukan semua izin dalam kebijakan ini, dan Anda mungkin perlu menyertakan izin tambahan. Anda melampirkan kebijakan ini ke peran yang Anda buat nanti[Tugas 2: Buat peran layanan khusus untuk jendela pemeliharaan menggunakan konsol](#create-custom-role-console).

**Untuk membuat kebijakan khusus menggunakan konsol**

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

1. Di panel navigasi, pilih **Kebijakan** dan kemudian pilih **Buat kebijakan**.

1. Di area **Editor kebijakan**, pilih **JSON**.

1. Ganti konten default dengan yang berikut:

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssm:SendCommand",
                   "ssm:CancelCommand",
                   "ssm:ListCommands",
                   "ssm:ListCommandInvocations",
                   "ssm:GetCommandInvocation",
                   "ssm:GetAutomationExecution",
                   "ssm:StartAutomationExecution",
                   "ssm:ListTagsForResource",
                   "ssm:DescribeInstanceInformation",
                   "ssm:GetParameters"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "states:DescribeExecution",
                   "states:StartExecution"
               ],
               "Resource": [
                   "arn:aws:states:*:*:execution:*:*",
                   "arn:aws:states:*:*:stateMachine:*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "lambda:InvokeFunction"
               ],
               "Resource": [
                   "arn:aws:lambda:*:*:function:*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "resource-groups:ListGroups",
                   "resource-groups:ListGroupResources"
               ],
               "Resource": [
                   "*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "tag:GetResources"
               ],
               "Resource": [
                   "*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": "iam:PassRole",
               "Resource": "arn:aws:iam::111122223333:role/maintenance-window-role-name",
               "Condition": {
                   "StringEquals": {
                       "iam:PassedToService": [
                           "ssm.amazonaws.com"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. Ubah konten JSON sesuai kebutuhan untuk tugas pemeliharaan yang Anda jalankan di akun Anda. Perubahan yang Anda buat khusus untuk operasi yang Anda rencanakan. 

   Contoh:
   + Anda dapat memberikan Amazon Resource Names (ARNs) untuk fungsi dan mesin status tertentu alih-alih menggunakan kualifikasi wildcard (\$1).
   + Jika Anda tidak berencana untuk menjalankan AWS Step Functions tugas, Anda dapat menghapus `states` izin dan (ARNs).
   + Jika Anda tidak berencana untuk menjalankan AWS Lambda tugas, Anda dapat menghapus `lambda` izin dan ARNs.
   + Jika Anda tidak berencana untuk menjalankan tugas Otomasi, Anda dapat menghapus `ssm:GetAutomationExecution` dan `ssm:StartAutomationExecution` izin.
   + Tambahkan izin tambahan yang mungkin diperlukan untuk menjalankan tugas. Misalnya, beberapa tindakan Otomatisasi menggunakan tumpukan AWS CloudFormation . Oleh karena itu, izin `cloudformation:CreateStack`, `cloudformation:DescribeStacks`, dan `cloudformation:DeleteStack` diperlukan. 

     Untuk contoh lain, runbook Otomasi `AWS-CopySnapshot` memerlukan izin untuk membuat snapshot Amazon Elastic Block Store (Amazon EBS). Oleh karena itu, peran layanan memerlukan izin`ec2:CreateSnapshot`. 

     [Untuk informasi tentang izin peran yang diperlukan oleh runbook Otomasi, lihat deskripsi buku runbook di Referensi Buku Runbook Otomasi AWS Systems Manager .](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-runbook-reference.html)

1. Setelah menyelesaikan revisi kebijakan, pilih **Berikutnya**.

1. Untuk **nama Kebijakan**, masukkan nama yang mengidentifikasi ini sebagai kebijakan yang dilampirkan pada peran layanan yang Anda buat. Sebagai contoh: **my-maintenance-window-role-policy**.

1. (Opsional) Di area **Tambahkan tag**, tambahkan satu atau beberapa pasangan nilai kunci tag untuk mengatur, melacak, atau mengontrol akses kebijakan ini. 

1. Pilih **Buat kebijakan**.

   Catat nama yang Anda tentukan untuk kebijakan tersebut. Anda merujuknya di prosedur selanjutnya,[Tugas 2: Buat peran layanan khusus untuk jendela pemeliharaan menggunakan konsol](#create-custom-role-console).

## Tugas 2: Buat peran layanan khusus untuk jendela pemeliharaan menggunakan konsol
<a name="create-custom-role-console"></a>

Kebijakan yang Anda buat di tugas sebelumnya dilampirkan ke peran layanan jendela pemeliharaan yang Anda buat dalam tugas ini. Saat pengguna mendaftarkan tugas jendela pemeliharaan, mereka menentukan peran IAM ini sebagai bagian dari konfigurasi tugas. Izin dalam peran ini memungkinkan Systems Manager menjalankan tugas di jendela pemeliharaan atas nama Anda.

**penting**  
Sebelumnya, konsol Systems Manager memberi Anda kemampuan untuk memilih peran tertaut layanan IAM AWS terkelola yang akan digunakan sebagai peran `AWSServiceRoleForAmazonSSM` pemeliharaan untuk tugas Anda. Menggunakan peran ini dan kebijakan terkait,`AmazonSSMServiceRolePolicy`, untuk tugas jendela pemeliharaan tidak lagi disarankan. Jika Anda menggunakan peran ini untuk tugas jendela pemeliharaan sekarang, kami mendorong Anda untuk berhenti menggunakannya. Sebagai gantinya, buat peran IAM Anda sendiri yang memungkinkan komunikasi antara Systems Manager dan lainnya Layanan AWS saat tugas jendela pemeliharaan Anda berjalan.

Gunakan prosedur berikut untuk membuat peran layanan kustomMaintenance Windows, sehingga Systems Manager dapat menjalankan Maintenance Windows tugas atas nama Anda. Anda melampirkan kebijakan yang Anda buat di tugas sebelumnya ke peran layanan kustom yang Anda buat.

**Untuk membuat peran layanan kustom untuk jendela pemeliharaan menggunakan konsol**

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

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

1. Untuk **Pilih entitas tepercaya**, buat pilihan berikut:

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

   1. Untuk **kasus Penggunaan**, pilih **Systems Manager**

   1. Pilih **Systems Manager**.

      Gambar berikut menyoroti lokasi opsi Systems Manager.  
![\[Systems Manager adalah salah satu opsi untuk kasus Use.\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/images/iam_use_cases_for_MWs.png)

1. Pilih **Berikutnya**. 

1. Di area **Kebijakan izin**, di kotak pencarian, masukkan nama kebijakan yang Anda buat[Tugas 1: Membuat kebijakan khusus untuk peran layanan jendela pemeliharaan Anda menggunakan konsol](#create-custom-policy-console), pilih kotak di samping namanya, lalu pilih **Berikutnya**.

1. Untuk **nama Peran**, masukkan nama yang mengidentifikasi peran ini sebagai Maintenance Windows peran. Sebagai contoh: **my-maintenance-window-role**.

1. (Opsional) Ubah deskripsi peran default untuk mencerminkan tujuan dari peran ini. Sebagai contoh: **Performs maintenance window tasks on your behalf**.

1. Untuk **Langkah 1: Pilih entitas tepercaya**, verifikasi bahwa kebijakan berikut ditampilkan di kotak **Kebijakan tepercaya**.

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

****  

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

------

1. Untuk **Langkah 2: Tambahkan izin**, verifikasi bahwa kebijakan yang Anda buat [Tugas 1: Membuat kebijakan khusus untuk peran layanan jendela pemeliharaan Anda menggunakan konsol](#create-custom-policy-console) ada.

1. (Opsional) Pada **Langkah 3: Tambahkan tag**, tambahkan satu atau beberapa pasangan nilai kunci tag untuk mengatur, melacak, atau mengontrol akses untuk peran ini. 

1. Pilih **Buat peran**. Sistem mengembalikan Anda ke halaman **Peran**.

1. Pilih nama peran IAM yang baru saja Anda buat.

1. Salin atau catat nama peran dan nilai **ARN** di area **Ringkasan**. Pengguna di akun Anda menentukan informasi ini saat mereka membuat jendela pemeliharaan.

## Tugas 3: Berikan izin kepada pengguna tertentu untuk mendaftarkan tugas jendela pemeliharaan menggunakan konsol
<a name="allow-maintenance-window-access-console"></a>

Memberikan izin kepada pengguna untuk mengakses peran layanan khusus untuk jendela pemeliharaan memungkinkan mereka menggunakannya dengan tugas jendela pemeliharaan mereka. Ini merupakan tambahan dari izin yang telah Anda berikan kepada mereka untuk bekerja dengan perintah Systems Manager API untuk Maintenance Windows alat tersebut. Peran IAM ini menyampaikan izin yang diperlukan untuk menjalankan tugas jendela pemeliharaan. Akibatnya, pengguna tidak dapat mendaftarkan tugas dengan jendela pemeliharaan menggunakan peran layanan kustom Anda tanpa kemampuan untuk meneruskan izin IAM ini.

Saat Anda mendaftarkan tugas dengan jendela pemeliharaan, Anda menentukan peran layanan untuk menjalankan operasi tugas yang sebenarnya. Ini merupakan peran yang diasumsikan layanan saat menjalankan tugas atas nama Anda. Sebelum itu, untuk mendaftarkan tugas itu sendiri, tetapkan `PassRole` kebijakan IAM ke entitas IAM (seperti pengguna atau grup). Hal ini memungkinkan entitas IAM untuk menentukan, sebagai bagian dari mendaftarkan tugas-tugas tersebut dengan jendela pemeliharaan, peran yang harus digunakan saat menjalankan tugas. Untuk selengkapnya, lihat [Memberikan izin pengguna untuk meneruskan peran ke Layanan AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) dalam *Panduan Pengguna IAM*.

**Untuk mengonfigurasi izin agar pengguna dapat mendaftarkan tugas jendela pemeliharaan**

Jika entitas IAM (pengguna, peran, atau grup) diatur dengan izin administrator, maka pengguna atau peran IAM memiliki akses ke Windows Pemeliharaan. Untuk entitas IAM tanpa izin administrator, administrator harus memberikan izin berikut ke entitas IAM. Ini adalah izin minimum yang diperlukan untuk mendaftarkan tugas dengan jendela pemeliharaan:
+ Kebijakan `AmazonSSMFullAccess` terkelola, atau kebijakan yang memberikan izin yang sebanding.
+ Berikut `iam:PassRole` dan `iam:ListRoles` izin.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": "iam:PassRole",
              "Resource": "arn:aws:iam::111122223333:role/my-maintenance-window-role"
          },
          {
              "Effect": "Allow",
              "Action": "iam:ListRoles",
              "Resource": "arn:aws:iam::111122223333:role/"
          },
          {
              "Effect": "Allow",
              "Action": "iam:ListRoles",
              "Resource": "arn:aws:iam::111122223333:role/aws-service-role/ssm.amazonaws.com/"
          }
      ]
  }
  ```

------

  *my-maintenance-window-role*mewakili nama peran layanan jendela pemeliharaan kustom yang Anda buat sebelumnya.

  *account-id*mewakili ID Anda Akun AWS. Penambahan izin ini untuk `arn:aws:iam::account-id:role/` sumber daya memungkinkan pengguna untuk melihat dan memilih dari peran pelanggan di konsol saat membuat tugas jendela pemeliharaan. Penambahan izin ini untuk `arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/` memungkinkan pengguna untuk memilih peran terkait layanan Systems Manager di konsol saat membuat tugas jendela pemeliharaan. 

  Untuk memberikan akses dan menambahkan izin bagi pengguna, grup, atau peran Anda:
  + Pengguna dan grup di AWS IAM Identity Center:

    Buat rangkaian izin. Ikuti instruksi di [Buat rangkaian izin](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) dalam *Panduan Pengguna AWS IAM Identity Center *.
  + Pengguna yang dikelola di IAM melalui penyedia identitas:

    Buat peran untuk federasi identitas. Ikuti instruksi dalam [Buat peran untuk penyedia identitas pihak ketiga (federasi)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) dalam *Panduan Pengguna IAM*.
  + Pengguna IAM:
    + Buat peran yang dapat diambil pengguna Anda. Ikuti instruksi dalam [Buat peran untuk pengguna IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) dalam *Panduan Pengguna IAM*.
    + (Tidak disarankan) Lampirkan kebijakan langsung ke pengguna atau tambahkan pengguna ke grup pengguna. Ikuti petunjuk dalam [Menambahkan izin ke pengguna (konsol)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) dalam *Panduan Pengguna IAM*.

**Untuk mengonfigurasi izin untuk grup yang diizinkan untuk mendaftarkan tugas jendela pemeliharaan menggunakan konsol**

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

1. Pada panel navigasi, pilih **User groups** (Grup pengguna).

1. Dalam daftar grup, pilih nama grup yang ingin Anda tetapkan `iam:PassRole` izinnya, atau buat grup baru terlebih dahulu jika perlu 

1. Pada tab **Izin**, pilih **Tambahkan izin, Buat kebijakan sebaris**.

1. Di area **Editor kebijakan**, pilih **JSON**, dan ganti isi default kotak dengan yang berikut ini.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "iam:PassRole",
               "Resource": "arn:aws:iam::111122223333:role/my-maintenance-window-role"
           },
           {
               "Effect": "Allow",
               "Action": "iam:ListRoles",
               "Resource": "arn:aws:iam::111122223333:role/"
           },
           {
               "Effect": "Allow",
               "Action": "iam:ListRoles",
               "Resource": "arn:aws:iam::111122223333:role/aws-service-role/ssm.amazonaws.com/"
           }
       ]
   }
   ```

------

   *my-maintenance-window-role*mewakili nama peran jendela pemeliharaan kustom yang Anda buat sebelumnya.

   *account-id*mewakili ID Anda Akun AWS. Penambahan izin ini untuk `arn:aws:iam::account-id:role/` sumber daya memungkinkan pengguna untuk melihat dan memilih dari peran pelanggan di konsol saat membuat tugas jendela pemeliharaan. Penambahan izin ini untuk `arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/` memungkinkan pengguna untuk memilih peran terkait layanan Systems Manager di konsol saat membuat tugas jendela pemeliharaan. 

1. Pilih **Berikutnya**.

1. Pada halaman **Tinjau dan buat**, masukkan nama di kotak **Nama kebijakan** untuk mengidentifikasi `PassRole` kebijakan ini, seperti**my-group-iam-passrole-policy**, lalu pilih **Buat kebijakan**.

## Tugas 4: Mencegah pengguna tertentu mendaftarkan tugas jendela pemeliharaan menggunakan konsol
<a name="deny-maintenance-window-access-console"></a>

Anda dapat menolak `ssm:RegisterTaskWithMaintenanceWindow` izin untuk pengguna di Anda Akun AWS yang Anda tidak ingin mendaftarkan tugas dengan jendela pemeliharaan. Ini memberikan lapisan pencegahan ekstra bagi pengguna yang tidak boleh mendaftarkan tugas jendela pemeliharaan.

**Untuk mengonfigurasi izin untuk grup yang tidak diizinkan mendaftarkan tugas jendela pemeliharaan menggunakan konsol**

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

1. Pada panel navigasi, pilih **User groups** (Grup pengguna).

1. Dalam daftar grup, pilih nama grup yang ingin Anda tolak `ssm:RegisterTaskWithMaintenanceWindow` izinnya, atau buat grup baru terlebih dahulu jika perlu.

1. Pada tab **Izin**, pilih **Tambahkan izin, Buat kebijakan sebaris**.

1. Di area **Editor kebijakan**, pilih **JSON**, lalu ganti isi default kotak dengan yang berikut ini.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Deny",
               "Action": "ssm:RegisterTaskWithMaintenanceWindow",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Pilih **Berikutnya**.

1. Pada halaman **Tinjau dan buat**, untuk **nama Kebijakan**, masukkan nama untuk mengidentifikasi kebijakan ini, seperti**my-groups-deny-mw-tasks-policy**, lalu pilih **Buat kebijakan**.

# Kontrol akses ke jendela pemeliharaan menggunakan AWS CLI
<a name="configuring-maintenance-window-permissions-cli"></a>

Prosedur berikut menjelaskan cara menggunakan AWS Command Line Interface (AWS CLI) untuk membuat izin dan peran yang diperlukan untukMaintenance Windows, alat di AWS Systems Manager.

**Topics**
+ [Tugas 1: Membuat kebijakan kepercayaan dan file kebijakan yang dikelola pelanggan dalam format JSON](#create-custom-policy-json-files-cli)
+ [Tugas 2: Membuat dan memverifikasi peran layanan khusus untuk jendela pemeliharaan menggunakan AWS CLI](#create-custom-role-cli)
+ [Tugas 3: Berikan izin kepada pengguna tertentu untuk mendaftarkan tugas jendela pemeliharaan menggunakan AWS CLI](#allow-maintenance-window-access-cli)
+ [Tugas 4: Mencegah pengguna tertentu dari mendaftarkan tugas jendela pemeliharaan menggunakan AWS CLI](#deny-maintenance-window-access-cli)

## Tugas 1: Membuat kebijakan kepercayaan dan file kebijakan yang dikelola pelanggan dalam format JSON
<a name="create-custom-policy-json-files-cli"></a>

Tugas jendela pemeliharaan memerlukan peran IAM untuk memberikan izin yang diperlukan untuk berjalan pada sumber daya target. Izin diberikan melalui kebijakan IAM yang dilampirkan pada peran. Jenis tugas yang Anda jalankan dan persyaratan operasional lainnya menentukan isi kebijakan ini. Kami menyediakan kebijakan dasar yang dapat Anda sesuaikan dengan kebutuhan Anda. Bergantung pada tugas dan jenis tugas yang dijalankan jendela pemeliharaan, Anda mungkin tidak memerlukan semua izin dalam kebijakan ini, dan Anda mungkin perlu menyertakan izin tambahan. 

Dalam tugas ini, Anda menentukan izin yang diperlukan untuk peran jendela pemeliharaan kustom Anda dalam sepasang file JSON. Anda melampirkan kebijakan ini ke peran yang Anda buat nanti[Tugas 2: Membuat dan memverifikasi peran layanan khusus untuk jendela pemeliharaan menggunakan AWS CLI](#create-custom-role-cli). 

**Untuk membuat kebijakan kepercayaan dan file kebijakan yang dikelola pelanggan**

1. Salin dan tempelkan kebijakan kepercayaan berikut ke dalam file teks. Simpan file ini dengan nama dan ekstensi file berikut:**mw-role-trust-policy.json**.

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

****  

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

------

1. Salin dan tempel kebijakan JSON berikut ke file teks yang berbeda. Di direktori yang sama tempat Anda membuat file pertama, simpan file ini dengan nama dan ekstensi file berikut:**mw-role-custom-policy.json**.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssm:SendCommand",
                   "ssm:CancelCommand",
                   "ssm:ListCommands",
                   "ssm:ListCommandInvocations",
                   "ssm:GetCommandInvocation",
                   "ssm:GetAutomationExecution",
                   "ssm:StartAutomationExecution",
                   "ssm:ListTagsForResource",
                   "ssm:GetParameters"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "states:DescribeExecution",
                   "states:StartExecution"
               ],
               "Resource": [
                   "arn:aws:states:*:*:execution:*:*",
                   "arn:aws:states:*:*:stateMachine:*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "lambda:InvokeFunction"
               ],
               "Resource": [
                   "arn:aws:lambda:*:*:function:*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "resource-groups:ListGroups",
                   "resource-groups:ListGroupResources"
               ],
               "Resource": [
                   "*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "tag:GetResources"
               ],
               "Resource": [
                   "*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": "iam:PassRole",
               "Resource": "arn:aws:iam::111122223333:role/maintenance-window-role-name",
               "Condition": {
                   "StringEquals": {
                       "iam:PassedToService": [
                           "ssm.amazonaws.com"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. Ubah konten sesuai `mw-role-custom-policy.json` kebutuhan untuk tugas pemeliharaan yang Anda jalankan di akun Anda. Perubahan yang Anda buat khusus untuk operasi yang Anda rencanakan. 

   Contoh:
   + Anda dapat memberikan Amazon Resource Names (ARNs) untuk fungsi dan mesin status tertentu alih-alih menggunakan kualifikasi wildcard (\$1).
   + Jika Anda tidak berencana untuk menjalankan AWS Step Functions tugas, Anda dapat menghapus `states` izin dan (ARNs).
   + Jika Anda tidak berencana untuk menjalankan AWS Lambda tugas, Anda dapat menghapus `lambda` izin dan ARNs.
   + Jika Anda tidak berencana untuk menjalankan tugas Otomasi, Anda dapat menghapus `ssm:GetAutomationExecution` dan `ssm:StartAutomationExecution` izin.
   + Tambahkan izin tambahan yang mungkin diperlukan untuk menjalankan tugas. Misalnya, beberapa tindakan Otomatisasi menggunakan tumpukan AWS CloudFormation . Oleh karena itu, izin `cloudformation:CreateStack`, `cloudformation:DescribeStacks`, dan `cloudformation:DeleteStack` diperlukan. 

     Untuk contoh lain, runbook Otomasi `AWS-CopySnapshot` memerlukan izin untuk membuat snapshot Amazon Elastic Block Store (Amazon EBS). Oleh karena itu, peran layanan memerlukan izin`ec2:CreateSnapshot`. 

     [Untuk informasi tentang izin peran yang diperlukan oleh runbook Otomasi, lihat deskripsi buku runbook di Referensi Buku Runbook Otomasi AWS Systems Manager .](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-runbook-reference.html)

   Simpan file lagi setelah melakukan perubahan yang diperlukan.

## Tugas 2: Membuat dan memverifikasi peran layanan khusus untuk jendela pemeliharaan menggunakan AWS CLI
<a name="create-custom-role-cli"></a>

Kebijakan yang Anda buat di tugas sebelumnya dilampirkan ke peran layanan jendela pemeliharaan yang Anda buat dalam tugas ini. Saat pengguna mendaftarkan tugas jendela pemeliharaan, mereka menentukan peran IAM ini sebagai bagian dari konfigurasi tugas. Izin dalam peran ini memungkinkan Systems Manager menjalankan tugas di jendela pemeliharaan atas nama Anda.

**penting**  
Sebelumnya, konsol Systems Manager memberi Anda kemampuan untuk memilih peran tertaut layanan IAM AWS terkelola yang akan digunakan sebagai peran `AWSServiceRoleForAmazonSSM` pemeliharaan untuk tugas Anda. Menggunakan peran ini dan kebijakan terkait,`AmazonSSMServiceRolePolicy`, untuk tugas jendela pemeliharaan tidak lagi disarankan. Jika Anda menggunakan peran ini untuk tugas jendela pemeliharaan sekarang, kami mendorong Anda untuk berhenti menggunakannya. Sebagai gantinya, buat peran IAM Anda sendiri yang memungkinkan komunikasi antara Systems Manager dan lainnya Layanan AWS saat tugas jendela pemeliharaan Anda berjalan.

Dalam tugas ini, Anda menjalankan perintah CLI untuk membuat peran layanan windows pemeliharaan, menambahkan konten kebijakan dari file JSON yang Anda buat. 

**Buat peran layanan khusus untuk jendela pemeliharaan menggunakan AWS CLI**

1. Buka AWS CLI dan jalankan perintah berikut di direktori tempat Anda ditempatkan `mw-role-custom-policy.json` dan`mw-role-trust-policy.json`. Perintah membuat peran layanan jendela pemeliharaan yang dipanggil `my-maintenance-window-role` dan melampirkan *kebijakan kepercayaan* padanya.

------
#### [ Linux & macOS ]

   ```
   aws iam create-role \
       --role-name "my-maintenance-window-role" \
       --assume-role-policy-document file://mw-role-trust-policy.json
   ```

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

   ```
   aws iam create-role ^
       --role-name "my-maintenance-window-role" ^
       --assume-role-policy-document file://mw-role-trust-policy.json
   ```

------

   Sistem mengembalikan informasi seperti berikut ini.

   ```
   {
       "Role": {
           "AssumeRolePolicyDocument": {
               "Version": "2012-10-17", 		 	 	 		 	 	 
               "Statement": [
                   {
                       "Action": "sts:AssumeRole",
                       "Effect": "Allow",
                       "Principal": {
                           "Service": "ssm.amazonaws.com"
                       }
                   }
               ]
           },
           "RoleId": "AROAIIZKPBKS2LEXAMPLE",
           "CreateDate": "2024-08-19T03:40:17.373Z",
           "RoleName": "my-maintenance-window-role",
           "Path": "/",
           "Arn": "arn:aws:iam::123456789012:role/my-maintenance-window-role"
       }
   }
   ```
**catatan**  
Catat nilai `RoleName` dan `Arn`. Anda memasukkannya ke dalam perintah berikutnya.

1. Jalankan perintah berikut untuk melampirkan *kebijakan yang dikelola pelanggan* ke peran. Ganti *account-id* placeholder dengan ID Anda sendiri Akun AWS 

------
#### [ Linux & macOS ]

   ```
   aws iam attach-role-policy \
       --role-name "my-maintenance-window-role" \
       --policy-arn "arn:aws:iam::account-id:policy/mw-role-custom-policy.json"
   ```

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

   ```
   aws iam attach-role-policy ^
       --role-name "my-maintenance-window-role" ^
       --policy-arn "arn:aws:iam::account-id:policy/mw-role-custom-policy.json"
   ```

------

1. Jalankan perintah berikut untuk memverifikasi bahwa peran Anda telah dibuat, dan bahwa kebijakan kepercayaan telah dilampirkan.

   ```
   aws iam get-role --role-name my-maintenance-window-role
   ```

   Perintah mengembalikan informasi yang mirip dengan berikut ini:

   ```
   {
       "Role": {
           "Path": "/",
           "RoleName": "my-maintenance-window-role",
           "RoleId": "AROA123456789EXAMPLE",
           "Arn": "arn:aws:iam::123456789012:role/my-maintenance-window-role",
           "CreateDate": "2024-08-19T14:13:32+00:00",
           "AssumeRolePolicyDocument": {
               "Version": "2012-10-17", 		 	 	 		 	 	 
               "Statement": [
                   {
                       "Effect": "Allow",
                       "Principal": {
                           "Service": "ssm.amazonaws.com"
                       },
                       "Action": "sts:AssumeRole"
                   }
               ]
           },
           "MaxSessionDuration": 3600,
           "RoleLastUsed": {
               "LastUsedDate": "2024-08-19T14:30:44+00:00",
               "Region": "us-east-2"
           }
       }
   }
   ```

1. Jalankan perintah berikut untuk memverifikasi bahwa kebijakan yang dikelola pelanggan telah dilampirkan ke peran tersebut.

   ```
   aws iam list-attached-role-policies --role-name my-maintenance-window-role
   ```

   Perintah mengembalikan informasi yang mirip dengan berikut ini:

   ```
   {
       "AttachedPolicies": [
           {
               "PolicyName": "mw-role-custom-policy",
               "PolicyArn": "arn:aws:iam::123456789012:policy/mw-role-custom-policy"
           }
       ]
   }
   ```

## Tugas 3: Berikan izin kepada pengguna tertentu untuk mendaftarkan tugas jendela pemeliharaan menggunakan AWS CLI
<a name="allow-maintenance-window-access-cli"></a>

Memberikan izin kepada pengguna untuk mengakses peran layanan khusus untuk jendela pemeliharaan memungkinkan mereka menggunakannya dengan tugas jendela pemeliharaan mereka. Ini merupakan tambahan dari izin yang telah Anda berikan kepada mereka untuk bekerja dengan perintah Systems Manager API untuk Maintenance Windows alat tersebut. Peran IAM ini menyampaikan izin yang diperlukan untuk menjalankan tugas jendela pemeliharaan. Akibatnya, pengguna tidak dapat mendaftarkan tugas dengan jendela pemeliharaan menggunakan peran layanan kustom Anda tanpa kemampuan untuk meneruskan izin IAM ini.

Saat Anda mendaftarkan tugas dengan jendela pemeliharaan, Anda menentukan peran layanan untuk menjalankan operasi tugas yang sebenarnya. Ini merupakan peran yang diasumsikan layanan saat menjalankan tugas atas nama Anda. Sebelum itu, untuk mendaftarkan tugas itu sendiri, tetapkan `PassRole` kebijakan IAM ke entitas IAM (seperti pengguna atau grup). Hal ini memungkinkan entitas IAM untuk menentukan, sebagai bagian dari mendaftarkan tugas-tugas tersebut dengan jendela pemeliharaan, peran yang harus digunakan saat menjalankan tugas. Untuk selengkapnya, lihat [Memberikan izin pengguna untuk meneruskan peran ke Layanan AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) dalam *Panduan Pengguna IAM*.

**Untuk mengonfigurasi izin bagi pengguna yang diizinkan untuk mendaftarkan tugas jendela pemeliharaan menggunakan AWS CLI**

1. Salin dan tempel kebijakan AWS Identity and Access Management (IAM) berikut ke editor teks dan simpan dengan nama dan ekstensi file berikut:`mw-passrole-policy.json`.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "iam:PassRole",
               "Resource": "arn:aws:iam::111122223333:role/my-maintenance-window-role"
           },
           {
               "Effect": "Allow",
               "Action": "iam:ListRoles",
               "Resource": "arn:aws:iam::111122223333:role/"
           },
           {
               "Effect": "Allow",
               "Action": "iam:ListRoles",
               "Resource": "arn:aws:iam::111122223333:role/aws-service-role/ssm.amazonaws.com/"
           }
       ]
   }
   ```

------

   Ganti *my-maintenance-window-role* dengan nama peran jendela pemeliharaan kustom yang Anda buat sebelumnya.

   Ganti *account-id* dengan ID Anda Akun AWS. Penambahan izin ini untuk `arn:aws:iam::account-id:role/` sumber daya memungkinkan pengguna dalam grup untuk melihat dan memilih dari peran pelanggan di konsol saat membuat tugas jendela pemeliharaan. Penambahan izin ini untuk `arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/` memungkinkan pengguna di grup untuk memilih peran terkait layanan Systems Manager di konsol saat membuat tugas jendela pemeliharaan. 

1. Buka AWS CLI.

1. Bergantung pada apakah Anda menetapkan izin ke entitas IAM (pengguna atau grup), jalankan salah satu perintah berikut.
   + **Untuk entitas IAM:**

------
#### [ Linux & macOS ]

     ```
     aws iam put-user-policy \
         --user-name "user-name" \
         --policy-name "policy-name" \
         --policy-document file://path-to-document
     ```

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

     ```
     aws iam put-user-policy ^
         --user-name "user-name" ^
         --policy-name "policy-name" ^
         --policy-document file://path-to-document
     ```

------

     Untuk*user-name*, tentukan pengguna yang memberikan tugas ke jendela pemeliharaan. Untuk*policy-name*, tentukan nama yang ingin Anda gunakan untuk mengidentifikasi kebijakan, seperti**my-iam-passrole-policy**. Untuk*path-to-document*, tentukan jalur ke file yang Anda simpan di langkah 1. Misalnya: `file://C:\Temp\mw-passrole-policy.json`
**catatan**  
Untuk memberikan akses bagi pengguna untuk mendaftarkan tugas untuk jendela pemeliharaan menggunakan konsol Systems Manager, Anda juga harus menetapkan `AmazonSSMFullAccess` kebijakan tersebut kepada pengguna Anda (atau kebijakan IAM yang menyediakan sekumpulan izin akses yang lebih kecil untuk Systems Manager yang mencakup tugas jendela pemeliharaan). Jalankan perintah berikut untuk menetapkan `AmazonSSMFullAccess` kebijakan kepada pengguna Anda.  

     ```
     aws iam attach-user-policy \
         --policy-arn "arn:aws:iam::aws:policy/AmazonSSMFullAccess" \
         --user-name "user-name"
     ```

     ```
     aws iam attach-user-policy ^
         --policy-arn "arn:aws:iam::aws:policy/AmazonSSMFullAccess" ^
         --user-name "user-name"
     ```
   + **Untuk grup IAM**:

------
#### [ Linux & macOS ]

     ```
     aws iam put-group-policy \
         --group-name "group-name" \
         --policy-name "policy-name" \
         --policy-document file://path-to-document
     ```

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

     ```
     aws iam put-group-policy ^
         --group-name "group-name" ^
         --policy-name "policy-name" ^
         --policy-document file://path-to-document
     ```

------

     Untuk*group-name*, tentukan grup yang anggotanya menetapkan tugas ke jendela pemeliharaan. Untuk*policy-name*, tentukan nama yang ingin Anda gunakan untuk mengidentifikasi kebijakan, seperti**my-iam-passrole-policy**. Untuk*path-to-document*, tentukan jalur ke file yang Anda simpan di langkah 1. Sebagai contoh: `file://C:\Temp\mw-passrole-policy.json`
**catatan**  
Untuk memberikan akses kepada anggota grup untuk mendaftarkan tugas untuk windows pemeliharaan menggunakan konsol Systems Manager, Anda juga harus menetapkan kebijakan `AmazonSSMFullAccess` ke grup Anda. Jalankan perintah berikut untuk menetapkan kebijakan ini ke grup Anda.  

     ```
     aws iam attach-group-policy \
         --policy-arn "arn:aws:iam::aws:policy/AmazonSSMFullAccess" \
         --group-name "group-name"
     ```

     ```
     aws iam attach-group-policy ^
         --policy-arn "arn:aws:iam::aws:policy/AmazonSSMFullAccess" ^
         --group-name "group-name"
     ```

1. Jalankan perintah berikut untuk memastikan kebijakan telah ditetapkan ke grup.

------
#### [ Linux & macOS ]

   ```
   aws iam list-group-policies \
       --group-name "group-name"
   ```

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

   ```
   aws iam list-group-policies ^
       --group-name "group-name"
   ```

------

## Tugas 4: Mencegah pengguna tertentu dari mendaftarkan tugas jendela pemeliharaan menggunakan AWS CLI
<a name="deny-maintenance-window-access-cli"></a>

Anda dapat menolak `ssm:RegisterTaskWithMaintenanceWindow` izin untuk pengguna di Anda Akun AWS yang Anda tidak ingin mendaftarkan tugas dengan jendela pemeliharaan. Ini memberikan lapisan pencegahan ekstra bagi pengguna yang tidak boleh mendaftarkan tugas jendela pemeliharaan.

Tergantung dari apakah Anda menolak izin `ssm:RegisterTaskWithMaintenanceWindow` untuk pengguna individu atau grup, gunakan salah satu dari prosedur berikut ini untuk mencegah pengguna dari mendaftarkan tugas dengan jendela pemeliharaan. 

**Untuk mengonfigurasi izin bagi pengguna yang tidak diizinkan mendaftarkan tugas jendela pemeliharaan menggunakan AWS CLI**

1. Salin dan tempelkan kebijakan IAM berikut ke editor teks dan simpan dengan nama dan ekstensi file berikut: **deny-mw-tasks-policy.json**.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Deny",
               "Action": "ssm:RegisterTaskWithMaintenanceWindow",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Buka AWS CLI.

1. Bergantung pada apakah Anda menetapkan izin ke entitas IAM (pengguna atau grup), jalankan salah satu perintah berikut.
   + **Untuk pengguna:**

------
#### [ Linux & macOS ]

     ```
     aws iam put-user-policy \
         --user-name "user-name" \
         --policy-name "policy-name" \
         --policy-document file://path-to-document
     ```

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

     ```
     aws iam put-user-policy ^
         --user-name "user-name" ^
         --policy-name "policy-name" ^
         --policy-document file://path-to-document
     ```

------

     Untuk*user-name*, tentukan pengguna untuk mencegah dari menetapkan tugas ke jendela pemeliharaan. Untuk*policy-name*, tentukan nama yang ingin Anda gunakan untuk mengidentifikasi kebijakan, seperti**my-deny-mw-tasks-policy**. Untuk*path-to-document*, tentukan jalur ke file yang Anda simpan di langkah 1. Misalnya: `file://C:\Temp\deny-mw-tasks-policy.json`
   + **Untuk grup:**

------
#### [ Linux & macOS ]

     ```
     aws iam put-group-policy \
         --group-name "group-name" \
         --policy-name "policy-name" \
         --policy-document file://path-to-document
     ```

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

     ```
     aws iam put-group-policy ^
         --group-name "group-name" ^
         --policy-name "policy-name" ^
         --policy-document file://path-to-document
     ```

------

     Untuk*group-name*, tentukan grup yang mencegah dari menetapkan tugas ke jendela pemeliharaan. Untuk*policy-name*, tentukan nama yang ingin Anda gunakan untuk mengidentifikasi kebijakan, seperti**my-deny-mw-tasks-policy**. Untuk*path-to-document*, tentukan jalur ke file yang Anda simpan di langkah 1. Sebagai contoh: `file://C:\Temp\deny-mw-tasks-policy.json`

1. Jalankan perintah berikut untuk memastikan kebijakan telah ditetapkan ke grup.

------
#### [ Linux & macOS ]

   ```
   aws iam list-group-policies \
       --group-name "group-name"
   ```

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

   ```
   aws iam list-group-policies ^
       --group-name "group-name"
   ```

------