

• 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.

# 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 Nama Sumber Daya Amazon (ARN) untuk fungsi dan mesin status tertentu alih-alih menggunakan kualifikasi wildcard (\*).
   + Jika Anda tidak berencana untuk menjalankan AWS Step Functions tugas, Anda dapat menghapus `states` izin dan (ARN).
   + Jika Anda tidak berencana untuk menjalankan AWS Lambda tugas, Anda dapat menghapus `lambda` izin dan ARN.
   + 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.

   ```
   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}}"
   ```

------