

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

# Mengatur Session Manager
<a name="session-manager-getting-started"></a>

Sebelum Anda menggunakan AWS Systems Manager Session Manager untuk terhubung ke node terkelola di akun Anda, selesaikan langkah-langkah dalam topik berikut.

**Topics**
+ [Langkah 1: Session Manager Prasyarat lengkap](session-manager-prerequisites.md)
+ [Langkah 2: Verifikasi atau tambahkan izin instance untuk Session Manager](session-manager-getting-started-instance-profile.md)
+ [Langkah 3: Kontrol akses sesi ke node yang dikelola](session-manager-getting-started-restrict-access.md)
+ [Langkah 4: Konfigurasi preferensi sesi](session-manager-getting-started-configure-preferences.md)
+ [Langkah 5: (Opsional) Batasi akses ke perintah dalam sesi](session-manager-restrict-command-access.md)
+ [Langkah 6: (Opsional) Gunakan AWS PrivateLink untuk mengatur titik akhir VPC untuk Session Manager](session-manager-getting-started-privatelink.md)
+ [Langkah 7: (Opsional) Aktifkan atau nonaktifkan izin administratif akun ssm-user](session-manager-getting-started-ssm-user-permissions.md)
+ [Langkah 8: (Opsional) Izinkan dan kontrol izin untuk koneksi SSH melalui Session Manager](session-manager-getting-started-enable-ssh-connections.md)

# Langkah 1: Session Manager Prasyarat lengkap
<a name="session-manager-prerequisites"></a>

Sebelum menggunakanSession Manager, pastikan lingkungan Anda memenuhi persyaratan berikut.


**Prasyarat Session Manager**  

| Persyaratan | Deskripsi | 
| --- | --- | 
|  Sistem operasi yang didukung  |  Session Manager*mendukung koneksi ke instans Amazon Elastic Compute Cloud (Amazon EC2), selain mesin non-EC2 di lingkungan [hybrid dan multicloud Anda](operating-systems-and-machine-types.md#supported-machine-types) yang menggunakan tingkat instans lanjutan.* Session Managermendukung versi sistem operasi berikut:  Session Manager*mendukung instans EC2, perangkat edge, dan server lokal serta mesin virtual (VMs) di lingkungan [hybrid dan multicloud](operating-systems-and-machine-types.md#supported-machine-types) Anda yang menggunakan tingkat instans lanjutan.* Untuk informasi selengkapnya tentang instans lanjutan, lihat [Mengonfigurasi tingkat instans](fleet-manager-configure-instance-tiers.md).   **Linux dan **macOS****  Session Managermendukung semua versi Linux dan macOS yang didukung oleh AWS Systems Manager. Untuk informasi, lihat [Sistem operasi dan jenis mesin yang didukung](operating-systems-and-machine-types.md).  ** Windows **  Session Managermendukung Windows Server 2012 dan versi yang lebih baru.  Tidak mendukung Microsoft Windows Server 2016 Nano.   | 
|  SSM Agent  |  Minimal, AWS Systems Manager SSM Agent versi 2.3.68.0 atau yang lebih baru harus diinstal pada node terkelola yang ingin Anda sambungkan melalui sesi.  Untuk menggunakan opsi untuk mengenkripsi data sesi menggunakan kunci yang dibuat di AWS Key Management Service (AWS KMS), versi 2.3.539.0 atau yang lebih baru SSM Agent harus diinstal pada node terkelola.  Untuk menggunakan profil shell dalam sesi, SSM Agent versi 3.0.161.0 atau yang lebih baru harus diinstal pada node terkelola. Untuk memulai Session Manager port forwarding atau sesi SSH, SSM Agent versi 3.0.222.0 atau yang lebih baru harus diinstal pada node terkelola. Untuk melakukan streaming data sesi menggunakan Amazon CloudWatch Logs, SSM Agent versi 3.0.284.0 atau yang lebih baru harus diinstal pada node terkelola. Untuk informasi tentang cara menentukan nomor versi yang berjalan pada sebuah instance, lihat[Memeriksa nomor SSM Agent versi](ssm-agent-get-version.md). Untuk informasi tentang menginstal secara manual atau memperbarui secara otomatisSSM Agent, lihat[Bekerja dengan SSM Agent](ssm-agent.md).  Tentang akun ssm-user Dimulai dengan versi 2.3.50.0 dariSSM Agent, agen membuat akun pengguna pada node terkelola, dengan izin root atau administrator, dipanggil. `ssm-user` (Pada versi sebelum 2.3.612.0, akun dibuat saat SSM Agent memulai atau memulai ulang. Pada versi 2.3.612.0 dan yang lebih baru, `ssm-user` dibuat pertama kali sesi dimulai pada node terkelola.) Sesi diluncurkan menggunakan kredensial administratif akun pengguna ini. Untuk informasi tentang membatasi kontrol administratif untuk akun ini, lihat [Menonaktifkan atau mengaktifkan izin administratif akun ssm-user](session-manager-getting-started-ssm-user-permissions.md).   ssm-user pada pengendali domain Windows Server Dimulai dengan SSM Agent versi 2.3.612.0, `ssm-user` akun tidak dibuat secara otomatis pada node terkelola yang digunakan sebagai pengontrol domain. Windows Server Untuk digunakan Session Manager pada Windows Server mesin yang digunakan sebagai pengontrol domain, Anda harus membuat `ssm-user` akun secara manual jika belum ada, dan menetapkan izin Administrator Domain kepada pengguna. Windows ServerAktif, SSM Agent tetapkan kata sandi baru untuk `ssm-user` akun setiap kali sesi dimulai, jadi Anda tidak perlu menentukan kata sandi saat membuat akun.   | 
|  Konektivitas ke titik akhir  |  Node terkelola yang Anda sambungkan juga harus mengizinkan lalu lintas keluar HTTPS (port 443) ke titik akhir berikut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/session-manager-prerequisites.html) Untuk informasi selengkapnya, lihat topik berikut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/session-manager-prerequisites.html) Atau, Anda dapat terhubung ke titik akhir yang diperlukan dengan menggunakan titik akhir antarmuka. Untuk informasi selengkapnya, lihat [Langkah 6: (Opsional) Gunakan AWS PrivateLink untuk mengatur titik akhir VPC untuk Session Manager](session-manager-getting-started-privatelink.md).  | 
|  AWS CLI  |  (Opsional) Jika Anda menggunakan AWS Command Line Interface (AWS CLI) untuk memulai sesi (alih-alih menggunakan AWS Systems Manager konsol atau konsol Amazon EC2), versi 1.16.12 atau yang lebih baru dari CLI harus diinstal pada mesin lokal Anda. Anda dapat menghubungi `aws --version` untuk memeriksa versi. Jika Anda perlu menginstal atau memutakhirkan CLI, lihat [Menginstal AWS Command Line Interface di](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) AWS Command Line Interface Panduan Pengguna. Versi terbaru dirilis setiap kali alat baru ditambahkan ke Systems Manager atau pembaruan dibuat ke alat yang ada. SSM Agent Gagal menggunakan agen versi terbaru dapat mencegah node terkelola Anda menggunakan berbagai alat dan fitur Systems Manager. Untuk alasan itu, kami menyarankan Anda mengotomatiskan proses menjaga agar tetap SSM Agent up to date pada mesin Anda. Untuk informasi, lihat [Mengotomatiskan pembaruan ke SSM Agent](ssm-agent-automatic-updates.md). Berlangganan halaman [Catatan SSM Agent Rilis](https://github.com/aws/amazon-ssm-agent/blob/mainline/RELEASENOTES.md) GitHub untuk mendapatkan pemberitahuan tentang SSM Agent pembaruan. Selain itu, untuk menggunakan CLI untuk mengelola node AndaSession Manager, Anda harus terlebih dahulu menginstal Session Manager plugin di mesin lokal Anda. Untuk informasi, lihat [Instal Session Manager plugin untuk AWS CLI](session-manager-working-with-install-plugin.md).  | 
|  Aktifkan tingkat instance lanjutan (lingkungan [hybrid](operating-systems-and-machine-types.md#supported-machine-types) dan multicloud)  |  Untuk terhubung ke mesin non-EC2 menggunakanSession Manager, Anda harus mengaktifkan tingkat instance lanjutan di Akun AWS dan di Wilayah AWS mana Anda membuat aktivasi hibrida untuk mendaftarkan mesin non-EC2 sebagai node terkelola. Biaya dikenakan untuk menggunakan tingkat instans lanjutan. Untuk informasi selengkapnya tentang tingkat instance lanjutan, lihat. [Mengonfigurasi tingkat instans](fleet-manager-configure-instance-tiers.md)  | 
|  Verifikasi izin peran layanan IAM (lingkungan [hybrid dan multicloud](operating-systems-and-machine-types.md#supported-machine-types))  |  Node yang diaktifkan hibrida menggunakan peran layanan AWS Identity and Access Management (IAM) yang ditentukan dalam aktivasi hibrida untuk berkomunikasi dengan operasi Systems Manager API. Peran layanan ini harus berisi izin yang diperlukan untuk terhubung ke mesin [hybrid dan multicloud](operating-systems-and-machine-types.md#supported-machine-types) Anda menggunakan. Session Manager Jika peran layanan Anda berisi kebijakan AWS terkelola`AmazonSSMManagedInstanceCore`, izin yang diperlukan untuk sudah Session Manager disediakan. Jika Anda menemukan bahwa peran layanan tidak berisi izin yang diperlukan, Anda harus membatalkan pendaftaran instance terkelola dan mendaftarkannya dengan aktivasi hibrida baru yang menggunakan peran layanan IAM dengan izin yang diperlukan. Untuk informasi selengkapnya tentang membatalkan pendaftaran instans terkelola, lihat. [Menderegistrasi node terkelola dalam lingkungan hybrid dan multicloud](fleet-manager-deregister-hybrid-nodes.md) Untuk informasi selengkapnya tentang membuat kebijakan IAM dengan Session Manager izin, lihat [Langkah 2: Verifikasi atau tambahkan izin instans](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started-instance-profile.html) untuk. Session Manager  | 

# Langkah 2: Verifikasi atau tambahkan izin instance untuk Session Manager
<a name="session-manager-getting-started-instance-profile"></a>

Secara default, AWS Systems Manager tidak memiliki izin untuk melakukan tindakan pada instance Anda. Anda dapat memberikan izin instans di tingkat akun menggunakan peran AWS Identity and Access Management (IAM), atau di tingkat instans menggunakan profil instance. Jika kasus penggunaan Anda memungkinkan, kami sarankan untuk memberikan akses di tingkat akun menggunakan Konfigurasi Manajemen Host Default. Jika Anda telah menyiapkan Konfigurasi Manajemen Host Default untuk akun menggunakan `AmazonSSMManagedEC2InstanceDefaultPolicy` kebijakan, Anda dapat melanjutkan ke langkah berikutnya. Untuk informasi selengkapnya tentang Konfigurasi Manajemen Host Default, lihat[Mengelola instans EC2 secara otomatis dengan Konfigurasi Manajemen Host Default](fleet-manager-default-host-management-configuration.md).

Atau, Anda dapat menggunakan profil instans untuk memberikan izin yang diperlukan untuk instance Anda. Profil instans meneruskan peran IAM ke instans Amazon EC2. Anda dapat melampirkan profil instans IAM ke instans Amazon EC2 saat meluncurkannya atau ke instans yang diluncurkan sebelumnya. Untuk informasi selengkapnya, lihat [Menggunakan profil instans](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-usingrole-instanceprofile.html).

Untuk server lokal atau mesin virtual (VMs), izin disediakan oleh peran layanan IAM yang terkait dengan aktivasi hibrid yang digunakan untuk mendaftarkan server lokal Anda dan dengan Systems VMs Manager. Server lokal dan VMs tidak menggunakan profil instans.

Jika Anda sudah menggunakan alat Systems Manager lainnya, seperti Run Command atauParameter Store, profil instans dengan izin dasar yang diperlukan untuk Session Manager mungkin sudah dilampirkan ke instans Amazon EC2 Anda. Jika profil instans yang berisi kebijakan AWS terkelola `AmazonSSMManagedInstanceCore` sudah dilampirkan ke instans Anda, izin yang diperlukan untuk sudah Session Manager disediakan. Ini juga berlaku jika peran layanan IAM yang digunakan dalam aktivasi hibrid Anda berisi kebijakan `AmazonSSMManagedInstanceCore` terkelola.

Namun, dalam beberapa kasus, Anda mungkin perlu memodifikasi izin yang terlampir ke profil instans Anda. Misalnya, Anda ingin memberikan kumpulan izin instans yang lebih sempit, Anda telah membuat kebijakan khusus untuk profil instans, atau Anda ingin menggunakan enkripsi Amazon Simple Storage Service (Amazon S3) AWS Key Management Service atau enkripsi AWS KMS() untuk mengamankan data sesi. Untuk kasus ini, lakukan salah satu hal berikut untuk memungkinkan Session Manager tindakan dilakukan pada instans Anda:
+  **Menyematkan izin untuk Session Manager tindakan dalam peran IAM kustom** 

  Untuk menambahkan izin Session Manager tindakan ke peran IAM yang ada yang tidak bergantung pada kebijakan default yang AWS disediakan`AmazonSSMManagedInstanceCore`, ikuti langkah-langkahnya. [Menambahkan Session Manager izin ke peran IAM yang ada](getting-started-add-permissions-to-existing-profile.md)
+  **Buat peran IAM khusus dengan Session Manager izin saja** 

  Untuk membuat peran IAM yang berisi izin hanya untuk Session Manager tindakan, ikuti langkah-langkahnya. [Buat peran IAM khusus untuk Session Manager](getting-started-create-iam-instance-profile.md)
+  **Membuat dan menggunakan peran IAM baru dengan izin untuk semua tindakan Systems Manager** 

  Untuk membuat peran IAM untuk instans terkelola Systems Manager yang menggunakan kebijakan default yang disediakan oleh AWS untuk memberikan semua izin Systems Manager, ikuti langkah-langkah dalam [Mengonfigurasi izin instans yang diperlukan untuk Systems](setup-instance-permissions.md) Manager.

**Topics**
+ [Menambahkan Session Manager izin ke peran IAM yang ada](getting-started-add-permissions-to-existing-profile.md)
+ [Buat peran IAM khusus untuk Session Manager](getting-started-create-iam-instance-profile.md)

# Menambahkan Session Manager izin ke peran IAM yang ada
<a name="getting-started-add-permissions-to-existing-profile"></a>

Gunakan prosedur berikut untuk menambahkan Session Manager izin ke peran AWS Identity and Access Management (IAM) yang ada. Dengan menambahkan izin ke peran yang ada, Anda dapat meningkatkan keamanan lingkungan komputasi tanpa harus menggunakan AWS `AmazonSSMManagedInstanceCore` kebijakan, misalnya izin.

**catatan**  
Perhatikan informasi berikut:  
Prosedur ini mengasumsikan bahwa peran Anda yang ada sudah menyertakan `ssm` izin Systems Manager lainnya untuk tindakan yang ingin Anda izinkan akses. Kebijakan ini saja tidak cukup untuk digunakanSession Manager.
Contoh kebijakan berikut mencakup `s3:GetEncryptionConfiguration` tindakan. Tindakan ini diperlukan jika Anda memilih opsi **enkripsi log Enforce S3** di preferensi Session Manager logging.
Jika `ssmmessages:OpenControlChannel` izin dihapus dari kebijakan yang dilampirkan ke profil instans IAM atau peran layanan IAM Anda, SSM Agent pada node terkelola akan kehilangan konektivitas ke layanan Systems Manager di cloud. Namun, diperlukan waktu hingga 1 jam untuk koneksi dihentikan setelah izin dihapus. Ini adalah perilaku yang sama seperti ketika peran instans IAM atau peran layanan IAM dihapus.

**Untuk menambahkan Session Manager izin ke peran yang ada (konsol)**

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, pilih **Peran**.

1. Pilih nama peran yang Anda tambahkan izin.

1. Pilih tab **Izin**.

1. Pilih **Tambahkan izin**, lalu pilih **Buat kebijakan sebaris**.

1. Pilih tab **JSON**.

1. Ganti konten kebijakan default dengan konten berikut. Ganti *key-name* dengan Amazon Resource Name (ARN) dari AWS Key Management Service key (AWS KMS key) yang ingin Anda gunakan.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssmmessages:CreateControlChannel",
                   "ssmmessages:CreateDataChannel",
                   "ssmmessages:OpenControlChannel",
                   "ssmmessages:OpenDataChannel"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetEncryptionConfiguration"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-name"
           }
       ]
   }
   ```

------

   Untuk informasi tentang menggunakan kunci KMS untuk mengenkripsi data sesi, lihat [Aktifkan enkripsi kunci KMS data sesi (konsol)](session-preferences-enable-encryption.md).

   Jika Anda tidak akan menggunakan AWS KMS enkripsi untuk data sesi, Anda dapat menghapus konten berikut dari kebijakan.

   ```
   ,
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "key-name"
           }
   ```

1. Pilih **Berikutnya: Tanda**.

1. (Opsional) Tambahkan tag dengan memilih **Tambah tag**, dan masukkan tag pilihan untuk kebijakan tersebut.

1. Pilih **Berikutnya: Tinjauan**.

1. Pada halaman **Tinjau kebijakan**, untuk **Nama**, masukkan nama untuk kebijakan selaras, seperti **SessionManagerPermissions**.

1. (Opsional) Untuk **Deskripsi**, masukkan deskripsi untuk kebijakan. 

   Pilih **Buat kebijakan**.

Untuk informasi tentang `ssmmessages` tindakan, lihat[Referensi: ec2messages, ssmmessages, dan operasi API lainnya](systems-manager-setting-up-messageAPIs.md).

# Buat peran IAM khusus untuk Session Manager
<a name="getting-started-create-iam-instance-profile"></a>

Anda dapat membuat peran AWS Identity and Access Management (IAM) yang memberikan Session Manager izin untuk melakukan tindakan pada instans terkelola Amazon EC2 Anda. Anda juga dapat menyertakan kebijakan untuk memberikan izin yang diperlukan agar log sesi dikirim ke Amazon Simple Storage Service (Amazon S3) dan Amazon Logs. CloudWatch 

Setelah Anda membuat peran IAM, untuk informasi tentang cara melampirkan peran ke instance, lihat [Melampirkan atau Mengganti Profil Instance](https://aws.amazon.com/premiumsupport/knowledge-center/attach-replace-ec2-instance-profile/) di AWS re:Post situs web. Untuk informasi selengkapnya tentang profil dan peran instans IAM, lihat [Menggunakan profil instans](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) di *Panduan Pengguna IAM* dan [peran IAM untuk Amazon EC2 di Panduan Pengguna Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) *Elastic Compute Cloud* untuk Instans Linux. Untuk informasi selengkapnya tentang membuat peran layanan IAM untuk mesin lokal, lihat [Membuat peran layanan IAM yang diperlukan untuk Systems Manager di lingkungan hybrid dan](https://docs.aws.amazon.com/systems-manager/latest/userguide/hybrid-multicloud-service-role.html) multicloud.

**Topics**
+ [Membuat peran IAM dengan Session Manager izin minimal (konsol)](#create-iam-instance-profile-ssn-only)
+ [Membuat peran IAM dengan izin untuk Session Manager dan Amazon S3 CloudWatch dan Log (konsol)](#create-iam-instance-profile-ssn-logging)

## Membuat peran IAM dengan Session Manager izin minimal (konsol)
<a name="create-iam-instance-profile-ssn-only"></a>

Gunakan prosedur berikut untuk membuat peran IAM kustom dengan kebijakan yang memberikan izin hanya untuk Session Manager tindakan pada instans Anda.

**Untuk membuat profil instance dengan Session Manager izin minimal (konsol)**

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

1. Dalam panel navigasi, pilih **Kebijakan**, dan kemudian pilih **Buat kebijakan**. (Jika tombol **Memulai** ditampilkan, pilih tombol tersebut, dan kemudian pilih **Buat kebijakan**.)

1. Pilih tab **JSON**.

1. Ganti konten default dengan kebijakan berikut. Untuk mengenkripsi data sesi menggunakan AWS Key Management Service (AWS KMS), ganti *key-name* dengan Amazon Resource Name (ARN) dari AWS KMS key yang ingin Anda gunakan.
**catatan**  
Jika `ssmmessages:OpenControlChannel` izin dihapus dari kebijakan yang dilampirkan ke profil instans IAM atau peran layanan IAM Anda, SSM Agent pada node terkelola akan kehilangan konektivitas ke layanan Systems Manager di cloud. Namun, diperlukan waktu hingga 1 jam untuk koneksi dihentikan setelah izin dihapus. Ini adalah perilaku yang sama seperti ketika peran instans IAM atau peran layanan IAM dihapus.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssm:UpdateInstanceInformation",
                   "ssmmessages:CreateControlChannel",
                   "ssmmessages:CreateDataChannel",
                   "ssmmessages:OpenControlChannel",
                   "ssmmessages:OpenDataChannel"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-name"
           }
       ]
   }
   ```

------

   Untuk informasi tentang menggunakan kunci KMS untuk mengenkripsi data sesi, lihat [Aktifkan enkripsi kunci KMS data sesi (konsol)](session-preferences-enable-encryption.md).

   Jika Anda tidak akan menggunakan AWS KMS enkripsi untuk data sesi, Anda dapat menghapus konten berikut dari kebijakan.

   ```
   ,
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "key-name"
           }
   ```

1. Pilih **Berikutnya: Tanda**.

1. (Opsional) Tambahkan tag dengan memilih **Tambah tag**, dan masukkan tag pilihan untuk kebijakan tersebut.

1. Pilih **Berikutnya: Tinjauan**.

1. Pada halaman **Tinjau kebijakan**, untuk **Nama**, masukkan nama untuk kebijakan selaras, seperti **SessionManagerPermissions**.

1. (Opsional) Untuk **Deskripsi**, masukkan deskripsi untuk kebijakan. 

1. Pilih **Buat kebijakan**.

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

1. Pada halaman **Buat peran**, pilih **AWS layanan**, dan untuk **kasus penggunaan**, pilih **EC2**.

1. Pilih **Berikutnya**.

1. Pada halaman **Tambahkan izin**, pilih kotak centang di sebelah kiri nama kebijakan yang baru saja Anda buat, seperti**SessionManagerPermissions**.

1. Pilih **Berikutnya**.

1. Pada halaman **Nama, tinjau, dan buat**, untuk **nama Peran**, masukkan nama untuk peran IAM, seperti**MySessionManagerRole**.

1. (Opsional) Untuk **Deskripsi peran**, masukkan deskripsi untuk profil instans. 

1. (Opsional) Tambahkan tag dengan memilih **Tambahkan tag**, dan masukkan tag pilihan untuk peran tersebut.

   Pilih **Buat peran**.

Untuk informasi tentang `ssmmessages` tindakan, lihat[Referensi: ec2messages, ssmmessages, dan operasi API lainnya](systems-manager-setting-up-messageAPIs.md).

## Membuat peran IAM dengan izin untuk Session Manager dan Amazon S3 CloudWatch dan Log (konsol)
<a name="create-iam-instance-profile-ssn-logging"></a>

Gunakan prosedur berikut untuk membuat peran IAM kustom dengan kebijakan yang memberikan izin untuk Session Manager tindakan pada instans Anda. Kebijakan ini juga menyediakan izin yang diperlukan agar log sesi disimpan di bucket Amazon Simple Storage Service (Amazon S3) dan grup log Amazon Logs. CloudWatch 

**penting**  
Untuk menampilkan log sesi ke bucket Amazon S3 yang dimiliki oleh yang lain Akun AWS, Anda harus menambahkan `s3:PutObjectAcl` izin ke kebijakan peran IAM. Selain itu, Anda harus memastikan bahwa kebijakan bucket memberikan akses lintas akun ke peran IAM yang digunakan oleh akun pemilik untuk memberikan izin Systems Manager untuk instans terkelola. Jika bucket menggunakan enkripsi Key Management Service (KMS), maka kebijakan KMS bucket juga harus memberikan akses lintas akun ini. *Untuk informasi selengkapnya tentang mengonfigurasi izin bucket lintas akun di Amazon S3, lihat [Memberikan izin bucket lintas akun di](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example2.html) Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.* Jika izin lintas akun tidak ditambahkan, akun yang memiliki bucket Amazon S3 tidak dapat mengakses log keluaran sesi.

Untuk informasi tentang menentukan preferensi untuk menyimpan log sesi, lihat [Mengaktifkan dan menonaktifkan pencatatan sesi](session-manager-logging.md).

**Untuk membuat peran IAM dengan izin untuk Session Manager dan Amazon S3 CloudWatch dan Log (konsol)**

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

1. Dalam panel navigasi, pilih **Kebijakan**, dan kemudian pilih **Buat kebijakan**. (Jika tombol **Memulai** ditampilkan, pilih tombol tersebut, dan kemudian pilih **Buat kebijakan**.)

1. Pilih tab **JSON**.

1. Ganti konten default dengan kebijakan berikut. Ganti masing-masing *example resource placeholder* dengan informasi Anda sendiri.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssmmessages:CreateControlChannel",
                   "ssmmessages:CreateDataChannel",
                   "ssmmessages:OpenControlChannel",
                   "ssmmessages:OpenDataChannel",
                   "ssm:UpdateInstanceInformation"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "logs:CreateLogStream",
                   "logs:PutLogEvents",
                   "logs:DescribeLogGroups",
                   "logs:DescribeLogStreams"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/s3-prefix/*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetEncryptionConfiguration"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-name"
           },
           {
               "Effect": "Allow",
               "Action": "kms:GenerateDataKey",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Pilih **Berikutnya: Tanda**.

1. (Opsional) Tambahkan tag dengan memilih **Tambah tag**, dan masukkan tag pilihan untuk kebijakan tersebut.

1. Pilih **Berikutnya: Tinjauan**.

1. Pada halaman **Tinjau kebijakan**, untuk **Nama**, masukkan nama untuk kebijakan selaras, seperti **SessionManagerPermissions**.

1. (Opsional) Untuk **Deskripsi**, masukkan deskripsi untuk kebijakan. 

1. Pilih **Buat kebijakan**.

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

1. Pada halaman **Buat peran**, pilih **AWS layanan**, dan untuk **kasus penggunaan**, pilih **EC2**.

1. Pilih **Berikutnya**.

1. Pada halaman **Tambahkan izin**, pilih kotak centang di sebelah kiri nama kebijakan yang baru saja Anda buat, seperti**SessionManagerPermissions**.

1. Pilih **Berikutnya**.

1. Pada halaman **Nama, tinjau, dan buat**, untuk **nama Peran**, masukkan nama untuk peran IAM, seperti**MySessionManagerRole**.

1. (Opsional) Untuk **Deskripsi peran**, masukkan deskripsi untuk peran tersebut. 

1. (Opsional) Tambahkan tag dengan memilih **Tambahkan tag**, dan masukkan tag pilihan untuk peran tersebut.

1. Pilih **Buat peran**.

# Langkah 3: Kontrol akses sesi ke node yang dikelola
<a name="session-manager-getting-started-restrict-access"></a>

Anda memberikan atau mencabut Session Manager akses ke node terkelola dengan menggunakan kebijakan AWS Identity and Access Management (IAM). Anda dapat membuat kebijakan dan melampirkannya ke pengguna IAM atau grup yang menentukan node terkelola yang dapat disambungkan oleh pengguna atau grup. Anda juga dapat menentukan operasi Session Manager API yang dapat dilakukan pengguna atau grup pada node yang dikelola tersebut. 

Untuk membantu Anda memulai dengan kebijakan izin IAMSession Manager, kami telah membuat contoh kebijakan untuk pengguna akhir dan pengguna administrator. Anda dapat menggunakan kebijakan ini hanya dengan perubahan kecil. Atau, gunakan sebagai panduan untuk membuat kebijakan IAM khusus. Untuk informasi selengkapnya, lihat [Contoh kebijakan IAM untuk Session Manager](getting-started-restrict-access-quickstart.md). Untuk informasi tentang cara membuat kebijakan IAM dan melampirkannya ke pengguna atau grup, lihat [Membuat Kebijakan IAM dan Menambahkan dan Menghapus Kebijakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) [IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) di Panduan Pengguna *IAM*.

**Tentang format ARN ID sesi**  
Saat membuat kebijakan IAM untuk Session Manager akses, Anda menentukan ID sesi sebagai bagian dari Nama Sumber Daya Amazon (ARN). ID sesi menyertakan nama pengguna sebagai variabel. Untuk membantu mengilustrasikan hal ini, berikut adalah format Session Manager ARN dan contohnya: 

```
arn:aws:ssm:region-id:account-id:session/session-id
```

Contoh:

```
arn:aws:ssm:us-east-2:123456789012:session/JohnDoe-1a2b3c4d5eEXAMPLE
```

Untuk informasi selengkapnya tentang penggunaan variabel dalam kebijakan IAM, lihat [Elemen Kebijakan IAM: Variabel](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html). 

**Topics**
+ [Mulai sesi shell default dengan menentukan dokumen sesi default dalam kebijakan IAM](getting-started-default-session-document.md)
+ [Memulai sesi dengan dokumen dengan menentukan dokumen sesi dalam kebijakan IAM](getting-started-specify-session-document.md)
+ [Contoh kebijakan IAM untuk Session Manager](getting-started-restrict-access-quickstart.md)
+ [Contoh tambahan kebijakan IAM untuk Session Manager](getting-started-restrict-access-examples.md)

# Mulai sesi shell default dengan menentukan dokumen sesi default dalam kebijakan IAM
<a name="getting-started-default-session-document"></a>

Saat Anda mengonfigurasi Session Manager untuk Akun AWS atau ketika Anda mengubah preferensi sesi di konsol Systems Manager, sistem akan membuat dokumen sesi SSM yang disebut`SSM-SessionManagerRunShell`. Ini adalah dokumen sesi default. Session Managermenggunakan dokumen ini untuk menyimpan preferensi sesi Anda, yang mencakup informasi seperti berikut:
+ Lokasi tempat Anda ingin menyimpan data sesi, seperti bucket Amazon Simple Storage Service (Amazon S3) atau grup log CloudWatch Amazon Logs.
+ ID kunci AWS Key Management Service (AWS KMS) untuk mengenkripsi data sesi.
+ Apakah dukungan Run As diizinkan untuk sesi Anda.

Berikut adalah contoh informasi yang terkandung dalam dokumen preferensi `SSM-SessionManagerRunShell` sesi.

```
{
  "schemaVersion": "1.0",
  "description": "Document to hold regional settings for Session Manager",
  "sessionType": "Standard_Stream",
  "inputs": {
    "s3BucketName": "amzn-s3-demo-bucket",
    "s3KeyPrefix": "MyS3Prefix",
    "s3EncryptionEnabled": true,
    "cloudWatchLogGroupName": "MyCWLogGroup",
    "cloudWatchEncryptionEnabled": false,
    "kmsKeyId": "1a2b3c4d",
    "runAsEnabled": true,
    "runAsDefaultUser": "RunAsUser"
  }
}
```

Secara default, Session Manager menggunakan dokumen sesi default ketika pengguna memulai sesi dari Konsol Manajemen AWS. Ini berlaku untuk salah satu Fleet Manager atau Session Manager di konsol Systems Manager, atau EC2 Connect di konsol Amazon EC2. Session Managerjuga menggunakan dokumen sesi default ketika pengguna memulai sesi dengan menggunakan AWS CLI perintah seperti contoh berikut:

```
aws ssm start-session \
    --target i-02573cafcfEXAMPLE
```

Untuk memulai sesi shell default, Anda harus menentukan dokumen sesi default dalam kebijakan IAM, seperti yang ditunjukkan pada contoh berikut.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "EnableSSMSession",
      "Effect": "Allow",
      "Action": [
        "ssm:StartSession"
      ],
      "Resource": [
        "arn:aws:ec2:us-east-1:111122223333:instance/instance-id",
        "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "ssmmessages:OpenDataChannel"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

# Memulai sesi dengan dokumen dengan menentukan dokumen sesi dalam kebijakan IAM
<a name="getting-started-specify-session-document"></a>

Jika Anda menggunakan AWS CLI perintah [start-session](https://docs.aws.amazon.com/cli/latest/reference/ssm/start-session.html) menggunakan dokumen sesi default, Anda dapat menghilangkan nama dokumen. Sistem secara otomatis memanggil dokumen `SSM-SessionManagerRunShell` sesi.

Dalam semua kasus lain, Anda harus menentukan nilai untuk `document-name` parameter. Ketika pengguna menentukan nama dokumen sesi dalam sebuah perintah, sistem memeriksa kebijakan IAM mereka untuk memverifikasi bahwa mereka memiliki izin untuk mengakses dokumen. Jika mereka tidak memiliki izin, permintaan koneksi gagal. Contoh berikut mencakup `document-name` parameter dengan dokumen `AWS-StartPortForwardingSession` sesi.

```
aws ssm start-session \
    --target i-02573cafcfEXAMPLE \
    --document-name AWS-StartPortForwardingSession \
    --parameters '{"portNumber":["80"], "localPortNumber":["56789"]}'
```

Untuk contoh cara menentukan dokumen Session Manager sesi dalam kebijakan IAM, lihat[Kebijakan pengguna akhir Quickstart untuk Session Manager](getting-started-restrict-access-quickstart.md#restrict-access-quickstart-end-user).

**catatan**  
Untuk memulai sesi menggunakan SSH, Anda harus menyelesaikan langkah-langkah konfigurasi pada node terkelola target *dan* mesin lokal pengguna. Untuk selengkapnya, lihat [(Opsional) Mengizinkan dan mengontrol izin untuk koneksi SSH melalui](session-manager-getting-started-enable-ssh-connections.md). Session Manager

# Contoh kebijakan IAM untuk Session Manager
<a name="getting-started-restrict-access-quickstart"></a>

Gunakan sampel di bagian ini untuk membantu Anda membuat kebijakan AWS Identity and Access Management (IAM) yang memberikan izin akses yang paling umum diperlukan. Session Manager 

**catatan**  
Anda juga dapat menggunakan AWS KMS key kebijakan untuk mengontrol entitas IAM (pengguna atau peran) mana dan Akun AWS diberi akses ke kunci KMS Anda. Untuk selengkapnya, lihat [Ikhtisar Mengelola Akses ke AWS KMS Sumber Daya Anda](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html) dan [Menggunakan Kebijakan Utama AWS KMS di](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) *Panduan AWS Key Management Service Pengembang*.

**Topics**
+ [Kebijakan pengguna akhir Quickstart untuk Session Manager](#restrict-access-quickstart-end-user)
+ [Kebijakan administrator Quickstart untuk Session Manager](#restrict-access-quickstart-admin)

## Kebijakan pengguna akhir Quickstart untuk Session Manager
<a name="restrict-access-quickstart-end-user"></a>

Gunakan contoh berikut untuk membuat kebijakan pengguna akhir IAM untukSession Manager. 

Anda dapat membuat kebijakan yang memungkinkan pengguna memulai sesi hanya dari Session Manager konsol dan AWS Command Line Interface (AWS CLI), hanya dari konsol Amazon Elastic Compute Cloud (Amazon EC2), atau dari ketiganya.

Kebijakan ini memberi pengguna akhir kemampuan untuk memulai sesi ke node terkelola tertentu dan kemampuan untuk mengakhiri hanya sesi mereka sendiri. Lihat [Contoh tambahan kebijakan IAM untuk Session Manager](getting-started-restrict-access-examples.md) untuk contoh kustomisasi yang mungkin ingin Anda buat pada kebijakan.

Dalam contoh kebijakan berikut, ganti masing-masing *example resource placeholder* dengan informasi Anda sendiri. 

Pilih dari tab berikut untuk melihat kebijakan sampel untuk berbagai akses sesi yang ingin Anda berikan.

------
#### [ Manajer Sesi and Fleet Manager ]

Gunakan kebijakan sampel ini untuk memberi pengguna kemampuan untuk memulai dan melanjutkan sesi hanya dari konsol Session Manager dan Fleet Manager konsol. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/i-02573cafcfEXAMPLE",
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeSessions",
                "ssm:GetConnectionStatus",
                "ssm:DescribeInstanceProperties",
                "ec2:DescribeInstances"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-name"
        }
    ]
}
```

------

------
#### [ Amazon EC2 ]

Gunakan kebijakan contoh ini untuk memberi pengguna kemampuan untuk memulai dan melanjutkan sesi hanya dari konsol Amazon EC2. Kebijakan ini tidak menyediakan semua izin yang diperlukan untuk memulai sesi dari Session Manager konsol dan. AWS CLI

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/i-02573cafcfEXAMPLE",
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetConnectionStatus",
                "ssm:DescribeInstanceInformation"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:username}-*"
            ]
        }
    ]
}
```

------

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

Gunakan kebijakan sampel ini untuk memberi pengguna kemampuan untuk memulai dan melanjutkan sesi dari AWS CLI.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/i-02573cafcfEXAMPLE",
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-name"
        }
    ]
}
```

------

------

**catatan**  
`SSM-SessionManagerRunShell`adalah nama default dari dokumen SSM yang Session Manager dibuat untuk menyimpan preferensi konfigurasi sesi Anda. Anda dapat membuat dokumen Sesi khusus dan menetapkannya dalam kebijakan ini sebagai gantinya. Anda juga dapat menentukan yang diberikan AWS pada dokumen `AWS-StartSSHSession` untuk pengguna yang memulai sesi menggunakan SSH. Untuk informasi tentang langkah-langkah konfigurasi yang diperlukan untuk mendukung sesi menggunakan SSH, lihat [(Opsional) Mengizinkan dan mengontrol izin untuk koneksi SSH melalui](session-manager-getting-started-enable-ssh-connections.md). Session Manager  
`kms:GenerateDataKey`Izin memungkinkan pembuatan kunci enkripsi data yang akan digunakan untuk mengenkripsi data sesi. Jika Anda akan menggunakan enkripsi AWS Key Management Service (AWS KMS) untuk data sesi Anda, ganti *key-name* dengan Amazon Resource Name (ARN) dari kunci KMS yang ingin Anda gunakan, dalam format. `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE` Jika Anda tidak akan menggunakan enkripsi kunci KMS untuk data sesi Anda, hapus konten berikut dari kebijakan.  

```
{
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey"
            ],
            "Resource": "key-name"
        }
```
Untuk informasi tentang penggunaan AWS KMS untuk mengenkripsi data sesi, lihat. [Aktifkan enkripsi kunci KMS data sesi (konsol)](session-preferences-enable-encryption.md)  
Izin untuk [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html)diperlukan untuk kasus di mana pengguna mencoba memulai sesi dari konsol Amazon EC2, tetapi SSM Agent harus diperbarui ke versi minimum yang diperlukan untuk Session Manager pertama. Run Commanddigunakan untuk mengirim perintah ke instance untuk memperbarui agen.

## Kebijakan administrator Quickstart untuk Session Manager
<a name="restrict-access-quickstart-admin"></a>

Gunakan contoh berikut untuk membuat kebijakan administrator IAM untukSession Manager. 

Kebijakan ini memberi administrator kemampuan untuk memulai sesi ke node terkelola yang ditandai dengan`Key=Finance,Value=WebServers`, izin untuk membuat, memperbarui, dan menghapus preferensi, dan izin untuk mengakhiri hanya sesi mereka sendiri. Lihat [Contoh tambahan kebijakan IAM untuk Session Manager](getting-started-restrict-access-examples.md) untuk contoh kustomisasi yang mungkin ingin Anda buat pada kebijakan.

Anda dapat membuat kebijakan yang memungkinkan administrator menjalankan tugas ini hanya dari Session Manager konsol dan AWS CLI, hanya dari konsol Amazon EC2, atau dari ketiganya.

Dalam contoh kebijakan berikut, ganti masing-masing *example resource placeholder* dengan informasi Anda sendiri. 

Pilih dari tab berikut untuk melihat kebijakan sampel untuk skenario akses yang ingin Anda dukung.

------
#### [ Manajer Sesi and CLI ]

Gunakan kebijakan contoh ini untuk memberi administrator kemampuan untuk melakukan tugas terkait sesi hanya dari Session Manager konsol dan perangkat. AWS CLI Kebijakan ini tidak memberikan semua izin yang diperlukan untuk melakukan tugas terkait sesi dari konsol Amazon EC2.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ec2:*:111122223333:instance/*"
            ],
            "Condition": {
                "StringLike": {
                    "ssm:resourceTag/Finance": [
                        "WebServers"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssmmessages:OpenDataChannel"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeSessions",
                "ssm:GetConnectionStatus",
                "ssm:DescribeInstanceProperties",
                "ec2:DescribeInstances"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:CreateDocument",
                "ssm:UpdateDocument",
                "ssm:GetDocument",
                "ssm:StartSession"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssmmessages:OpenDataChannel"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        }
    ]
}
```

------

------
#### [ Amazon EC2 ]

Gunakan kebijakan contoh ini untuk memberi administrator kemampuan untuk melakukan tugas terkait sesi hanya dari konsol Amazon EC2. Kebijakan ini tidak menyediakan semua izin yang diperlukan untuk melakukan tugas terkait sesi dari Session Manager konsol dan. AWS CLI

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/*"
            ],
            "Condition": {
                "StringLike": {
                    "ssm:resourceTag/tag-key": [
                        "tag-value"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetConnectionStatus",
                "ssm:DescribeInstanceInformation"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        }
    ]
}
```

------

------
#### [ Manajer Sesi, CLI, and Amazon EC2 ]

Gunakan kebijakan contoh ini untuk memberi administrator kemampuan untuk melakukan tugas terkait sesi dari Session Manager konsol, konsol AWS CLI, dan konsol Amazon EC2.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession",
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/*"
            ],
            "Condition": {
                "StringLike": {
                    "ssm:resourceTag/tag-key": [
                        "tag-value"
                    ]
                }
            }
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeSessions",
                "ssm:GetConnectionStatus",
                "ssm:DescribeInstanceInformation",
                "ssm:DescribeInstanceProperties",
                "ec2:DescribeInstances"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:CreateDocument",
                "ssm:UpdateDocument",
                "ssm:GetDocument",
                "ssm:StartSession"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        }
    ]
}
```

------

------

**catatan**  
Izin untuk [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html)diperlukan untuk kasus di mana pengguna mencoba memulai sesi dari konsol Amazon EC2, tetapi perintah harus dikirim untuk memperbarui SSM Agent terlebih dahulu.

# Contoh tambahan kebijakan IAM untuk Session Manager
<a name="getting-started-restrict-access-examples"></a>

Lihat contoh kebijakan berikut untuk membantu Anda membuat kebijakan kustom AWS Identity and Access Management (IAM) untuk setiap skenario akses Session Manager pengguna yang ingin Anda dukung.

**Topics**
+ [Contoh 1: Berikan akses ke dokumen di konsol](#grant-access-documents-console-example)
+ [Contoh 2: Batasi akses ke node terkelola tertentu](#restrict-access-example-instances)
+ [Contoh 3: Batasi akses berdasarkan tag](#restrict-access-example-instance-tags)
+ [Contoh 4: Izinkan pengguna untuk mengakhiri hanya sesi yang mereka mulai](#restrict-access-example-user-sessions)
+ [Contoh 5: Izinkan akses penuh (administratif) ke semua sesi](#restrict-access-example-full-access)

## Contoh 1: Berikan akses ke dokumen di konsol
<a name="grant-access-documents-console-example"></a>

Anda dapat mengizinkan pengguna menentukan dokumen kustom saat mereka meluncurkan sesi menggunakan konsol Pengelola Sesi. Contoh berikut kebijakan IAM memberikan izin untuk mengakses dokumen dengan nama yang dimulai dengan **SessionDocument-** yang ditentukan Wilayah AWS dan. Akun AWS

Untuk menggunakan kebijakan ini, ganti masing-masing *example resource placeholder* dengan informasi Anda sendiri.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetDocument",
                "ssm:ListDocuments"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SessionDocument-*"
            ]
        }
    ]
}
```

------

**catatan**  
Konsol Session Manager hanya mendukung dokumen Session `sessionType` yang memiliki `Standard_Stream` yang digunakan untuk menentukan preferensi sesi. Untuk informasi selengkapnya, lihat [Skema dokumen sesi](session-manager-schema.md).

## Contoh 2: Batasi akses ke node terkelola tertentu
<a name="restrict-access-example-instances"></a>

Anda dapat membuat kebijakan IAM yang menentukan node terkelola mana yang diizinkan untuk disambungkan oleh pengguna menggunakan Session Manager. Misalnya, kebijakan berikut memberi pengguna izin untuk memulai, mengakhiri, dan melanjutkan sesi mereka pada tiga node tertentu. Kebijakan membatasi pengguna untuk menyambung ke node selain yang ditentukan.

**catatan**  
Untuk pengguna federasi, lihat[Contoh 4: Izinkan pengguna untuk mengakhiri hanya sesi yang mereka mulai](#restrict-access-example-user-sessions).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/i-1234567890EXAMPLE",
                "arn:aws:ec2:us-east-1:111122223333:instance/i-abcdefghijEXAMPLE",
                "arn:aws:ec2:us-east-1:111122223333:instance/i-0e9d8c7b6aEXAMPLE",
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       }
    ]
}
```

------

## Contoh 3: Batasi akses berdasarkan tag
<a name="restrict-access-example-instance-tags"></a>

Anda dapat membatasi akses ke node terkelola berdasarkan tag tertentu. Dalam contoh berikut, pengguna diizinkan untuk memulai dan melanjutkan sesi (`Effect: Allow, Action: ssm:StartSession, ssm:ResumeSession`) pada setiap node terkelola (`Resource: arn:aws:ec2:region:987654321098:instance/*`) dengan syarat bahwa node tersebut adalah Finance WebServer (`ssm:resourceTag/Finance: WebServer`). Jika pengguna mengirim perintah ke node terkelola yang tidak diberi tag atau yang memiliki tag selain`Finance: WebServer`, hasil perintah akan disertakan`AccessDenied`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/*"
            ],
            "Condition": {
                "StringLike": {
                    "ssm:resourceTag/Finance": [
                        "WebServers"
                    ]
                }
            }
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:TerminateSession",
                "ssm:ResumeSession"
            ],
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:userid}-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        }
    ]
}
```

------

Anda dapat membuat kebijakan IAM yang memungkinkan pengguna memulai sesi ke node terkelola yang ditandai dengan beberapa tag. Kebijakan berikut memungkinkan pengguna untuk memulai sesi ke node terkelola yang memiliki kedua tag yang ditentukan diterapkan padanya. Jika pengguna mengirim perintah ke node terkelola yang tidak ditandai dengan kedua tag ini, hasil perintah akan disertakan`AccessDenied`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "ssm:StartSession"
         ],
         "Resource":"*",
         "Condition":{
            "StringLike":{
               "ssm:resourceTag/tag-key1":[
                  "tag-value1"
               ],
               "ssm:resourceTag/tag-key2":[
                  "tag-value2"
               ]
            }
         }
      },
      {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       },
      {
            "Effect": "Allow",
            "Action": [
                "ssm:StartSession"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
      }
   ]
}
```

------

Untuk informasi selengkapnya tentang membuat kebijakan IAM, lihat Kebijakan [Terkelola dan Kebijakan Inline](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html) di Panduan Pengguna *IAM*. Untuk informasi selengkapnya tentang menandai node terkelola, lihat [Menandai resource Amazon EC2 Anda](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) di Panduan *Pengguna Amazon EC2* (konten berlaku Windows untuk dan node terkelola). Linux Untuk informasi selengkapnya tentang meningkatkan postur keamanan terhadap perintah tingkat root yang tidak sah pada node terkelola, lihat [Membatasi akses ke perintah tingkat root melalui SSM Agent](ssm-agent-restrict-root-level-commands.md)

## Contoh 4: Izinkan pengguna untuk mengakhiri hanya sesi yang mereka mulai
<a name="restrict-access-example-user-sessions"></a>

Session Managermenyediakan dua metode untuk mengontrol sesi mana pengguna federasi di Anda Akun AWS diizinkan untuk mengakhiri.
+ Gunakan variabel `{aws:userid}` dalam kebijakan izin AWS Identity and Access Management (IAM). Pengguna federasi hanya dapat mengakhiri sesi yang mereka mulai. Untuk pengguna yang tidak terfederasi, gunakan Metode 1. Untuk pengguna federasi, gunakan Metode 2.
+ Gunakan tag yang disediakan oleh AWS tag dalam kebijakan izin IAM. Dalam kebijakan, Anda memasukkan ketentuan yang mengizinkan pengguna untuk mengakhiri hanya sesi yang ditandai dengan tanda tertentu yang telah diberikan oleh AWS. Metode ini berfungsi untuk semua akun, termasuk yang menggunakan federasi IDs untuk memberikan akses ke AWS.

### Metode 1: Berikan TerminateSession hak istimewa menggunakan variabel `{aws:username}`
<a name="restrict-access-example-user-sessions-username"></a>

Kebijakan IAM berikut memungkinkan pengguna untuk melihat semua sesi di akun Anda. IDs Namun, pengguna dapat berinteraksi dengan node terkelola hanya melalui sesi yang mereka mulai. Pengguna yang ditetapkan kebijakan berikut tidak dapat terhubung ke atau mengakhiri sesi pengguna lain. Kebijakan menggunakan `{aws:username}` variabel untuk mencapai hal ini.

**catatan**  
Metode ini tidak berfungsi untuk akun yang memberikan akses untuk AWS menggunakan federasi. IDs

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ssm:DescribeSessions"
            ],
            "Effect": "Allow",
            "Resource": [
                "*"
            ]
        },
        {
            "Action": [
                "ssm:TerminateSession"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:ssm:*:*:session/${aws:username}-*"
            ]
        }
    ]
}
```

------

### Metode 2: Berikan TerminateSession hak istimewa menggunakan tag yang disediakan oleh AWS
<a name="restrict-access-example-user-sessions-tags"></a>

Anda dapat mengontrol sesi mana yang dapat diakhiri pengguna dengan menyertakan variabel kunci tag bersyarat dalam kebijakan IAM. Ketentuan menetapkan bahwa pengguna hanya dapat mengakhiri sesi yang ditandai dengan salah satu atau kedua variabel kunci tanda tertentu dan nilai tertentu ini.

Saat pengguna Akun AWS memulai sesi, Session Manager terapkan dua tag sumber daya ke sesi tersebut. Tanda sumber daya pertama adalah `aws:ssmmessages:target-id`, yang dengannya Anda menentukan ID target yang diizinkan untuk diakhiri oleh pengguna. Tag sumber daya lainnya adalah `aws:ssmmessages:session-id`, dengan nilai dalam format `role-id:caller-specified-role-name`.

**catatan**  
Session Managertidak mendukung tag khusus untuk kebijakan kontrol akses IAM ini. Anda harus menggunakan tag sumber daya yang disediakan oleh AWS, dijelaskan di bawah ini. 

 ** `aws:ssmmessages:target-id` **   
Dengan kunci tag ini, Anda menyertakan ID node terkelola sebagai nilai dalam kebijakan. Dalam blok kebijakan berikut, pernyataan kondisi memungkinkan pengguna untuk mengakhiri hanya node I-02573CAFCFExample.    
****  

```
{
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [
                "ssm:TerminateSession"
             ],
             "Resource": "*",
             "Condition": {
                 "StringLike": {
                     "ssm:resourceTag/aws:ssmmessages:target-id": [
                        "i-02573cafcfEXAMPLE"
                     ]
                 }
             }
         }
     ]
}
```
Jika pengguna mencoba untuk mengakhiri sesi yang belum diberi izin `TerminateSession` ini, mereka menerima kesalahan `AccessDeniedException`.

 ** `aws:ssmmessages:session-id` **   
Kunci tanda ini mencakup variabel untuk ID sesi sebagai nilai dalam permintaan untuk memulai sesi.  
Contoh berikut menunjukkan kebijakan untuk kasus di mana tipe pemanggil adalah `User`. Nilai yang Anda sediakan untuk `aws:ssmmessages:session-id` adalah ID pengguna. Dalam contoh ini, `AIDIODR4TAW7CSEXAMPLE` mewakili ID pengguna di Akun AWS Anda. Untuk mengambil ID untuk pengguna di Anda Akun AWS, gunakan perintah IAM,. `get-user` Untuk selengkapnya[, lihat mendapatkan pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/get-user.html) di AWS Identity and Access Management bagian Panduan Pengguna *IAM*.     
****  

```
{
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [
                "ssm:TerminateSession"
             ],
             "Resource": "*",
             "Condition": {
                 "StringLike": {
                     "ssm:resourceTag/aws:ssmmessages:session-id": [
                        "AIDIODR4TAW7CSEXAMPLE"
                     ]
                 }
             }
         }
     ]
}
```
Contoh berikut menunjukkan kebijakan untuk kasus di mana tipe pemanggil adalah `AssumedRole`. Anda dapat menggunakan variabel `{aws:userid}` untuk nilai yang Anda sediakan untuk `aws:ssmmessages:session-id`. Atau, Anda dapat hardcode ID peran untuk nilai yang Anda sediakan untuk `aws:ssmmessages:session-id`. Jika Anda hardcode ID peran, Anda harus memberi nilai dalam format `role-id:caller-specified-role-name`. Misalnya, `AIDIODR4TAW7CSEXAMPLE:MyRole`.  
Agar tanda sistem diterapkan, ID peran yang Anda sediakan hanya dapat berisi karakter berikut: huruf Unicode, 0-9, spasi, `_`, `.`, `:`, `/`, `=`, `+`, `-`, `@`, dan `\`.
Untuk mengambil ID peran untuk peran dalam Anda Akun AWS, gunakan `get-caller-identity` perintah. Untuk informasi, lihat [get-caller-identity](https://docs.aws.amazon.com/cli/latest/reference/sts/get-caller-identity.html)di Referensi AWS CLI Perintah.     
****  

```
{
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [
                "ssm:TerminateSession"
             ],
             "Resource": "*",
             "Condition": {
                 "StringLike": {
                     "ssm:resourceTag/aws:ssmmessages:session-id": [
                        "${aws:userid}*"
                     ]
                 }
             }
         }
     ]
}
```
Jika pengguna mencoba mengakhiri sesi yang belum diberi izin `TerminateSession` ini, mereka menerima kesalahan `AccessDeniedException`.

**`aws:ssmmessages:target-id`** dan **`aws:ssmmessages:session-id`**  
Anda juga dapat membuat kebijakan IAM yang mengizinkan pengguna untuk mengakhiri sesi yang ditandai dengan kedua tanda sistem, seperti yang ditunjukkan dalam contoh ini.    
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "ssm:TerminateSession"
         ],
         "Resource":"*",
         "Condition":{
            "StringLike":{
               "ssm:resourceTag/aws:ssmmessages:target-id":[
                  "i-02573cafcfEXAMPLE"
               ],
               "ssm:resourceTag/aws:ssmmessages:session-id":[
                  "${aws:userid}*"
               ]
            }
         }
      }
   ]
}
```

## Contoh 5: Izinkan akses penuh (administratif) ke semua sesi
<a name="restrict-access-example-full-access"></a>

Kebijakan IAM berikut memungkinkan pengguna untuk sepenuhnya berinteraksi dengan semua node terkelola dan semua sesi yang dibuat oleh semua pengguna untuk semua node. Ini harus diberikan hanya kepada Administrator yang membutuhkan kontrol penuh atas Session Manager aktivitas organisasi Anda.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ssm:StartSession",
                "ssm:TerminateSession",
                "ssm:ResumeSession",
                "ssm:DescribeSessions",
                "ssm:GetConnectionStatus"
            ],
            "Effect": "Allow",
            "Resource": [
                "*"
            ]
        },
        {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
       }
    ]
}
```

------

# Langkah 4: Konfigurasi preferensi sesi
<a name="session-manager-getting-started-configure-preferences"></a>

Pengguna yang telah diberikan izin administratif dalam kebijakan AWS Identity and Access Management (IAM) mereka dapat mengonfigurasi preferensi sesi, termasuk yang berikut:
+ Aktifkan dukungan Run As untuk node Linux terkelola. Hal ini memungkinkan untuk memulai sesi menggunakan kredensional dari pengguna sistem operasi tertentu, bukan kredensi `ssm-user` akun yang dihasilkan sistem yang AWS Systems Manager Session Manager dapat dibuat pada node terkelola.
+ Konfigurasikan Session Manager untuk menggunakan AWS KMS key enkripsi untuk memberikan perlindungan tambahan pada data yang dikirimkan antara mesin klien dan node terkelola.
+ Konfigurasikan Session Manager untuk membuat dan mengirim log riwayat sesi ke bucket Amazon Simple Storage Service (Amazon S3) atau grup log CloudWatch Amazon Logs. Data log yang disimpan kemudian dapat digunakan untuk melaporkan koneksi sesi yang dibuat ke node terkelola Anda dan perintah berjalan pada mereka selama sesi.
+ Konfigurasi batas waktu sesi. Anda dapat menggunakan pengaturan ini untuk menentukan kapan untuk mengakhiri sesi setelah periode tidak aktif.
+ Konfigurasikan Session Manager untuk menggunakan profil shell yang dapat dikonfigurasi. Profil yang dapat dikustomisasi ini mengizinkan Anda untuk menentukan preferensi dalam sesi seperti preferensi shell, variabel lingkungan, direktori kerja, dan menjalankan beberapa perintah ketika sesi dimulai.

Untuk informasi selengkapnya tentang izin yang diperlukan untuk mengonfigurasi Session Manager preferensi, lihat. [Berikan atau tolak izin pengguna untuk memperbarui preferensi Session Manager](preference-setting-permissions.md)

**Topics**
+ [Berikan atau tolak izin pengguna untuk memperbarui preferensi Session Manager](preference-setting-permissions.md)
+ [Tentukan nilai waktu habis sesi idle](session-preferences-timeout.md)
+ [Tentukan durasi sesi maksimum](session-preferences-max-timeout.md)
+ [Izinkan profil shell yang dapat dikonfigurasi](session-preferences-shell-config.md)
+ [Aktifkan dukungan Run As untuk Linux dan node macOS terkelola](session-preferences-run-as.md)
+ [Aktifkan enkripsi kunci KMS data sesi (konsol)](session-preferences-enable-encryption.md)
+ [Buat dokumen Session Manager preferensi (baris perintah)](getting-started-create-preferences-cli.md)
+ [Perbarui Session Manager preferensi (baris perintah)](getting-started-configure-preferences-cli.md)

Untuk informasi tentang menggunakan konsol Systems Manager untuk mengkonfigurasi opsi data sesi log, lihat topik berikut:
+  [Log data sesi menggunakan Amazon S3 (konsol)](session-manager-logging-s3.md) 
+  [Streaming data sesi menggunakan Amazon CloudWatch Logs (konsol)](session-manager-logging-cwl-streaming.md) 
+  [Data sesi logging menggunakan Amazon CloudWatch Logs (konsol)](session-manager-logging-cloudwatch-logs.md) 

# Berikan atau tolak izin pengguna untuk memperbarui preferensi Session Manager
<a name="preference-setting-permissions"></a>

Preferensi akun disimpan sebagai dokumen AWS Systems Manager (SSM) untuk masing-masing Wilayah AWS dokumen. Sebelum pengguna dapat memperbarui preferensi akun untuk sesi di akun Anda, mereka harus diberikan izin yang diperlukan untuk mengakses tipe dokumen SSM tempat preferensi ini disimpan. Izin ini diberikan melalui kebijakan AWS Identity and Access Management (IAM).

**Kebijakan administrator untuk mengizinkan preferensi akan dibuat dan diperbarui**  
Administrator dapat memiliki kebijakan berikut untuk membuat dan memperbarui preferensi kapan saja. Kebijakan berikut mengizinkan izin untuk mengakses dan memperbarui dokumen `SSM-SessionManagerRunShell` dalam akun us-east-2 123456789012. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ssm:CreateDocument",
                "ssm:GetDocument",
                "ssm:UpdateDocument",
                "ssm:DeleteDocument"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        }
    ]
}
```

------

**Kebijakan pengguna untuk mencegah preferensi diperbarui**  
Gunakan kebijakan berikut untuk mencegah pengguna akhir di akun Anda memperbarui atau mengesampingkan Session Manager preferensi apa pun. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ssm:CreateDocument",
                "ssm:GetDocument",
                "ssm:UpdateDocument",
                "ssm:DeleteDocument"
            ],
            "Effect": "Deny",
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell"
            ]
        }
    ]
}
```

------

# Tentukan nilai waktu habis sesi idle
<a name="session-preferences-timeout"></a>

Session Manager, alat di AWS Systems Manager, memungkinkan Anda untuk menentukan jumlah waktu untuk memungkinkan pengguna menjadi tidak aktif sebelum sistem mengakhiri sesi. Secara default, waktu habis sesi setelah 20 menit tidak aktif. Anda dapat memodifikasi pengaturan ini untuk menentukan bahwa waktu habis sesi antara 1 dan 60 menit tidak aktif. Beberapa agen keamanan komputasi profesional merekomendasikan pengaturan batas waktu sesi idle hingga maksimum 15 menit. 

Timer batas waktu sesi idle akan disetel ulang saat Session Manager menerima input sisi klien. Masukan ini termasuk, tetapi tidak terbatas pada:
+ Masukan keyboard di terminal
+ Acara mengubah ukuran jendela terminal atau browser
+ Session reconnection (ResumeSession), yang dapat terjadi karena gangguan jaringan, manajemen tab browser, atau pemutusan WebSocket 

Karena peristiwa ini mengatur ulang pengatur waktu idle, sesi mungkin tetap aktif lebih lama daripada periode batas waktu yang dikonfigurasi bahkan tanpa perintah terminal langsung.

Jika persyaratan keamanan Anda mengamanatkan batas durasi sesi yang ketat terlepas dari aktivitas, gunakan pengaturan *Durasi sesi maksimum* selain batas waktu idle. Untuk informasi selengkapnya, lihat [Tentukan durasi sesi maksimum](session-preferences-max-timeout.md).

**Untuk mengizinkan waktu habis sesi idle (konsol)**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Di panel navigasi, pilih **Session Manager**.

1. Pilih tab **Preferensi**, dan kemudian pilih **Edit**.

1. Tentukan jumlah waktu untuk mengizinkan pengguna menjadi tidak aktif sebelum sesi berakhir di bidang **menit** di bawah **Waktu habis sesi idle**.

1. Pilih **Simpan**.

# Tentukan durasi sesi maksimum
<a name="session-preferences-max-timeout"></a>

Session Manager, alat di AWS Systems Manager, memungkinkan Anda untuk menentukan durasi maksimum sesi sebelum berakhir. Secara default, sesi tidak memiliki durasi maksimum. Nilai yang Anda tentukan untuk durasi sesi maksimum harus antara 1 dan 1.440 menit.

**Untuk menentukan durasi sesi maksimum (konsol)**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Di panel navigasi, pilih **Session Manager**.

1. Pilih tab **Preferensi**, dan kemudian pilih **Edit**.

1. Pilih kotak centang di samping **Aktifkan durasi sesi maksimum**.

1. Tentukan durasi maksimum sesi sebelum berakhir di bidang **menit** di bawah **Durasi sesi maksimum**.

1. Pilih **Simpan**.

# Izinkan profil shell yang dapat dikonfigurasi
<a name="session-preferences-shell-config"></a>

Secara default, sesi pada instans EC2 untuk Linux mulai menggunakan shell Bourne (sh). Namun, Anda mungkin lebih suka menggunakan shell lain seperti bash. Dengan mengizinkan profil shell yang dapat dikonfigurasi, Anda dapat mengustomisasikan preferensi dalam sesi seperti preferensi shell, variabel lingkungan, direktori kerja, dan menjalankan beberapa perintah ketika sesi dimulai.

**penting**  
Systems Manager tidak memeriksa perintah atau skrip di profil shell Anda untuk melihat perubahan apa yang akan dibuat untuk instans sebelum dijalankan. Untuk membatasi kemampuan pengguna memodifikasi perintah atau skrip yang dimasukkan dalam profil shell mereka, kami merekomendasikan hal berikut:  
Buat dokumen tipe sesi yang dikustomisasi untuk pengguna dan peran AWS Identity and Access Management (IAM) . Kemudian modifikasi kebijakan IAM untuk pengguna dan peran ini sehingga operasi API `StartSession` hanya dapat menggunakan dokumen tipe Sesi yang telah Anda buat untuk mereka. Untuk informasi, lihat [Buat dokumen Session Manager preferensi (baris perintah)](getting-started-create-preferences-cli.md) dan [Kebijakan pengguna akhir Quickstart untuk Session Manager](getting-started-restrict-access-quickstart.md#restrict-access-quickstart-end-user).
Modifikasi kebijakan IAM untuk pengguna dan peran IAM Anda untuk menolak akses ke operasi API `UpdateDocument` untuk sumber dokumen tipe Sesi yang Anda buat. Hal ini mengizinkan pengguna dan peran Anda untuk menggunakan dokumen yang Anda buat untuk preferensi sesi mereka tanpa mengizinkan mereka untuk memodifikasi salah satu pengaturan.

**Untuk mengaktifkan profil shell yang dapat dikonfigurasi**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Di panel navigasi, pilih **Session Manager**.

1. Pilih tab **Preferensi**, dan kemudian pilih **Edit**.

1. Tentukan variabel lingkungan, preferensi shell, atau perintah yang ingin Anda jalankan ketika sesi Anda dimulai di bidang untuk sistem operasi yang berlaku.

1. Pilih **Simpan**.

Berikut ini adalah beberapa perintah contoh yang dapat ditambahkan ke profil shell Anda.

Ubah ke shell bash dan ubah ke direktori /usr pada instance. Linux

```
exec /bin/bash
cd /usr
```

Keluarkan stempel waktu dan pesan selamat datang pada awal sesi.

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

```
timestamp=$(date '+%Y-%m-%dT%H:%M:%SZ')
user=$(whoami)
echo $timestamp && echo "Welcome $user"'!'
echo "You have logged in to a production instance. Note that all session activity is being logged."
```

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

```
$timestamp = (Get-Date).ToString("yyyy-MM-ddTH:mm:ssZ")
$splitName = (whoami).Split("\")
$user = $splitName[1]
Write-Host $timestamp
Write-Host "Welcome $user!"
Write-Host "You have logged in to a production instance. Note that all session activity is being logged."
```

------

Lihat aktivitas sistem dinamis pada awal sesi.

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

```
top
```

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

```
while ($true) { Get-Process | Sort-Object -Descending CPU | Select-Object -First 30; `
Start-Sleep -Seconds 2; cls
Write-Host "Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName"; 
Write-Host "-------  ------    -----      ----- -----   ------     -- -----------"}
```

------

# Aktifkan dukungan Run As untuk Linux dan node macOS terkelola
<a name="session-preferences-run-as"></a>

Secara default, Session Manager mengautentikasi koneksi menggunakan kredensi `ssm-user` akun yang dihasilkan sistem yang dibuat pada node terkelola. (Di Linux dan mesin macOS, akun ini ditambahkan ke `/etc/sudoers/`.) Jika Anda memilih, Anda dapat mengautentikasi sesi menggunakan kredensi akun pengguna sistem operasi (OS), atau pengguna domain untuk instance yang bergabung ke Direktori Aktif. Dalam hal ini, Session Manager memverifikasi bahwa akun OS yang Anda tentukan ada di node, atau di domain, sebelum memulai sesi. Jika Anda mencoba memulai sesi menggunakan akun OS yang tidak ada di node, atau di domain, koneksi gagal.

**catatan**  
Session Manager tidak mendukung penggunaan akun `root` pengguna sistem operasi untuk mengautentikasi koneksi. Untuk sesi yang diautentikasi menggunakan akun pengguna OS, kebijakan tingkat OS dan direktori node, seperti pembatasan login atau pembatasan penggunaan sumber daya sistem, mungkin tidak berlaku. 

**Cara kerjanya**  
Jika Anda mengaktifkan dukungan Run As untuk sesi, sistem memeriksa izin akses sebagai berikut:

1. Untuk pengguna yang memulai sesi, apakah entitas IAM mereka (pengguna atau peran) telah ditandai? `SSMSessionRunAs = os user account name`

   Jika Ya, apakah nama pengguna OS ada di node terkelola? Jika ya, mulai sesi. Jika tidak, jangan izinkan sesi dimulai.

   Jika entitas IAM *belum* diberi tag`SSMSessionRunAs = os user account name`, lanjutkan ke langkah 2.

1. Jika entitas IAM belum diberi tag`SSMSessionRunAs = os user account name`, apakah nama pengguna OS telah ditentukan dalam preferensi Akun AWS? Session Manager

   Jika Ya, apakah nama pengguna OS ada di node terkelola? Jika ya, mulai sesi. Jika tidak, jangan izinkan sesi dimulai. 

**catatan**  
Saat Anda mengaktifkan dukungan Run As, ini mencegah Session Manager memulai sesi menggunakan `ssm-user` akun pada node terkelola. Ini berarti bahwa jika Session Manager gagal terhubung menggunakan akun pengguna OS yang ditentukan, itu tidak akan kembali ke koneksi menggunakan metode default.   
Jika Anda mengaktifkan Run As tanpa menentukan akun OS atau menandai entitas IAM, dan Anda belum menentukan akun OS dalam preferensi Session Manager, upaya koneksi sesi akan gagal.

**Untuk mengaktifkan dukungan Run As untuk Linux dan node macOS terkelola**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Di panel navigasi, pilih **Session Manager**.

1. Pilih tab **Preferensi**, dan kemudian pilih **Edit**.

1. Pilih kotak centang di samping **Aktifkan dukungan Run As untuk Linux instance.**

1. Lakukan salah satu tindakan berikut:
   + **Opsi 1**: Di bidang **Nama pengguna sistem operasi**, masukkan nama akun pengguna OS yang ingin Anda gunakan untuk memulai sesi. Menggunakan opsi ini, semua sesi dijalankan oleh pengguna OS yang sama untuk semua pengguna di Anda Akun AWS yang terhubung menggunakanSession Manager.
   + **Opsi 2** (Disarankan): Pilih tautan **Buka konsol IAM**. Di panel navigasi, pilih **Pengguna** atau **Peran**. Pilih entitas (pengguna atau peran) untuk menambahkan tanda, dan kemudian pilih tab **Tanda**. Masukkan `SSMSessionRunAs` untuk nama kunci. Masukkan nama akun pengguna OS untuk nilai kunci. Pilih **Simpan perubahan**.

     Dengan menggunakan opsi ini, Anda dapat menentukan pengguna OS unik untuk entitas IAM yang berbeda jika Anda memilih. *Untuk informasi selengkapnya tentang menandai entitas IAM (pengguna atau peran), lihat [Menandai sumber daya IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) di Panduan Pengguna IAM.*

     Berikut adalah contohnya.  
![\[Screenshot dari menentukan tag untuk izin Session Manager Run As.\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/images/ssn-run-as-tags.png)

1. Pilih **Simpan**.

# Aktifkan enkripsi kunci KMS data sesi (konsol)
<a name="session-preferences-enable-encryption"></a>

Gunakan AWS Key Management Service (AWS KMS) untuk membuat dan mengelola kunci enkripsi. Dengan AWS KMS, Anda dapat mengontrol penggunaan enkripsi di berbagai Layanan AWS dan dalam aplikasi Anda. Anda dapat menentukan bahwa data sesi yang ditransmisikan antara node terkelola Anda dan mesin lokal pengguna di Anda Akun AWS dienkripsi menggunakan enkripsi kunci KMS. (Ini merupakan tambahan dari enkripsi TLS 1.2/1.3 yang AWS sudah disediakan secara default.) Untuk mengenkripsi data Session Manager sesi, buat kunci KMS *simetris* menggunakan. AWS KMS

AWS KMS enkripsi tersedia untuk`Standard_Stream`,`InteractiveCommands`, dan jenis `NonInteractiveCommands` sesi. Untuk menggunakan opsi untuk mengenkripsi data sesi menggunakan kunci yang dibuat AWS KMS, versi 2.3.539.0 atau yang lebih baru AWS Systems Manager SSM Agent harus diinstal pada node terkelola. 

**catatan**  
Anda harus mengizinkan AWS KMS enkripsi untuk mengatur ulang kata sandi pada node terkelola Anda dari AWS Systems Manager konsol. Untuk informasi selengkapnya, lihat [Setel ulang kata sandi pada node terkelola](fleet-manager-reset-password.md#managed-instance-reset-a-password).

Anda dapat menggunakan kunci yang Anda buat di Akun AWS. Anda juga dapat menggunakan kunci yang dibuat dalam Akun AWS yang berbeda. Pembuat kunci di tempat lain Akun AWS harus memberi Anda izin yang diperlukan untuk menggunakan kunci tersebut.

Setelah Anda mengaktifkan enkripsi kunci KMS untuk data sesi Anda, baik pengguna yang memulai sesi dan node terkelola yang mereka sambungkan harus memiliki izin untuk menggunakan kunci tersebut. Anda memberikan izin untuk menggunakan kunci KMS dengan kebijakan Session Manager through AWS Identity and Access Management (IAM). Untuk informasi, lihat topik berikut:
+ Tambahkan AWS KMS izin untuk pengguna di akun Anda:[Contoh kebijakan IAM untuk Session Manager](getting-started-restrict-access-quickstart.md).
+ Tambahkan AWS KMS izin untuk node terkelola di akun Anda:[Langkah 2: Verifikasi atau tambahkan izin instance untuk Session Manager](session-manager-getting-started-instance-profile.md).

Untuk informasi lebih lanjut tentang membuat dan mengelola kunci KMS, lihat [https://docs.aws.amazon.com/kms/latest/developerguide/](https://docs.aws.amazon.com/kms/latest/developerguide/).

Untuk informasi tentang penggunaan AWS CLI untuk mengaktifkan enkripsi kunci KMS dari data sesi di akun Anda, lihat [Buat dokumen Session Manager preferensi (baris perintah)](getting-started-create-preferences-cli.md) atau[Perbarui Session Manager preferensi (baris perintah)](getting-started-configure-preferences-cli.md).

**catatan**  
Ada biaya untuk menggunakan kunci KMS. Untuk informasi, lihat [harga AWS Key Management Service](https://aws.amazon.com/kms/pricing/).

**Untuk mengaktifkan enkripsi kunci KMS data sesi (konsol)**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Di panel navigasi, pilih **Session Manager**.

1. Pilih tab **Preferensi**, dan kemudian pilih **Edit**.

1. Pilih kotak centang di sebelah **Aktifkan enkripsi KMS**.

1. Lakukan salah satu tindakan berikut:
   + Pilih tombol di samping **Pilih kunci KMS di akun saya saat ini**, lalu pilih kunci dari daftar.

     -atau-

     Pilih tombol di samping **Masukkan alias kunci KMS atau ARN kunci KMS**. Secara manual masukkan alias kunci KMS untuk kunci yang dibuat di akun Anda saat ini, atau masukkan Amazon Resource Name (ARN) kunci untuk kunci di akun lain. Berikut ini adalah contoh-contohnya:
     + Alias kunci: `alias/my-kms-key-alias`
     + ARN kunci: `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE`

     -atau-

     Pilih **Buat kunci baru** untuk membuat kunci KMS baru di akun Anda. Setelah Anda membuat kunci baru, kembali ke tab **Preferensi** dan pilih kunci untuk mengenkripsi data sesi di akun Anda.

   Untuk informasi selengkapnya tentang berbagi kunci, lihat [Mengizinkan Eksternal Akun AWS Mengakses kunci](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-external-accounts) di *Panduan AWS Key Management Service Pengembang*.

1. Pilih **Simpan**.

# Buat dokumen Session Manager preferensi (baris perintah)
<a name="getting-started-create-preferences-cli"></a>

Gunakan prosedur berikut untuk membuat dokumen SSM yang menentukan preferensi Anda untuk AWS Systems Manager Session Manager sesi. Anda dapat menggunakan dokumen untuk mengonfigurasi opsi sesi termasuk enkripsi data, durasi sesi, dan pencatatan. Misalnya, Anda dapat menentukan apakah akan menyimpan data log sesi di bucket Amazon Simple Storage Service (Amazon S3) atau grup log CloudWatch Amazon Logs. Anda dapat membuat dokumen yang menentukan preferensi umum untuk semua sesi untuk Akun AWS dan Wilayah AWS, atau yang menentukan preferensi untuk sesi individual. 

**catatan**  
Anda juga dapat mengonfigurasi preferensi sesi umum dengan menggunakan konsol Pengelola Sesi.

Dokumen yang digunakan untuk mengatur preferensi Manajer Sesi harus memiliki `sessionType` a`Standard_Stream`. Untuk informasi selengkapnya tentang dokumen Sesi, lihat[Skema dokumen sesi](session-manager-schema.md).

Untuk informasi tentang menggunakan baris perintah untuk memperbarui Session Manager preferensi yang ada, lihat[Perbarui Session Manager preferensi (baris perintah)](getting-started-configure-preferences-cli.md).

Untuk contoh cara membuat preferensi sesi menggunakan CloudFormation, lihat [Membuat dokumen Systems Manager untuk Session Manager preferensi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#aws-resource-ssm-document--examples) di *Panduan AWS CloudFormation Pengguna*.

**catatan**  
Prosedur ini menjelaskan cara membuat dokumen untuk mengatur Session Manager preferensi di Akun AWS level tersebut. Untuk membuat dokumen yang akan digunakan untuk mengatur preferensi tingkat sesi, tentukan nilai selain `SSM-SessionManagerRunShell` untuk input perintah terkait nama file.   
Untuk menggunakan dokumen Anda untuk mengatur preferensi untuk sesi yang dimulai dari AWS Command Line Interface (AWS CLI), berikan nama dokumen sebagai nilai `--document-name` parameter. Untuk mengatur preferensi sesi yang dimulai dari konsol Pengelola Sesi, Anda dapat mengetik atau memilih nama dokumen dari daftar.

**Untuk membuat Session Manager preferensi (baris perintah)**

1. Buat file JSON pada mesin lokal Anda dengan nama seperti `SessionManagerRunShell.json`, dan kemudian tempel konten berikut ke dalamnya.

   ```
   {
       "schemaVersion": "1.0",
       "description": "Document to hold regional settings for Session Manager",
       "sessionType": "Standard_Stream",
       "inputs": {
           "s3BucketName": "",
           "s3KeyPrefix": "",
           "s3EncryptionEnabled": true,
           "cloudWatchLogGroupName": "",
           "cloudWatchEncryptionEnabled": true,
           "cloudWatchStreamingEnabled": false,
           "kmsKeyId": "",
           "runAsEnabled": false,
           "runAsDefaultUser": "",
           "idleSessionTimeout": "",
           "maxSessionDuration": "",
           "shellProfile": {
               "windows": "date",
               "linux": "pwd;ls"
           }
       }
   }
   ```

   Anda juga dapat meluluskan nilai ke preferensi sesi Anda menggunakan parameter bukan hardcoding nilai seperti yang ditunjukkan dalam contoh berikut.

   ```
   {
      "schemaVersion":"1.0",
      "description":"Session Document Parameter Example JSON Template",
      "sessionType":"Standard_Stream",
      "parameters":{
         "s3BucketName":{
            "type":"String",
            "default":""
         },
         "s3KeyPrefix":{
            "type":"String",
            "default":""
         },
         "s3EncryptionEnabled":{
            "type":"Boolean",
            "default":"false"
         },
         "cloudWatchLogGroupName":{
            "type":"String",
            "default":""
         },
         "cloudWatchEncryptionEnabled":{
            "type":"Boolean",
            "default":"false"
         }
      },
      "inputs":{
         "s3BucketName":"{{s3BucketName}}",
         "s3KeyPrefix":"{{s3KeyPrefix}}",
         "s3EncryptionEnabled":"{{s3EncryptionEnabled}}",
         "cloudWatchLogGroupName":"{{cloudWatchLogGroupName}}",
         "cloudWatchEncryptionEnabled":"{{cloudWatchEncryptionEnabled}}",
         "kmsKeyId":""
      }
   }
   ```

1. Tentukan di mana Anda ingin mengirim data sesi. Anda dapat menentukan nama bucket S3 (dengan awalan opsional) atau nama grup CloudWatch log Log. Jika Anda ingin mengenkripsi data lebih lanjut antara klien lokal dan node terkelola, berikan kunci KMS yang akan digunakan untuk enkripsi. Berikut adalah contohnya.

   ```
   {
     "schemaVersion": "1.0",
     "description": "Document to hold regional settings for Session Manager",
     "sessionType": "Standard_Stream",
     "inputs": {
       "s3BucketName": "amzn-s3-demo-bucket",
       "s3KeyPrefix": "MyS3Prefix",
       "s3EncryptionEnabled": true,
       "cloudWatchLogGroupName": "MyLogGroupName",
       "cloudWatchEncryptionEnabled": true,
       "cloudWatchStreamingEnabled": false,
       "kmsKeyId": "MyKMSKeyID",
       "runAsEnabled": true,
       "runAsDefaultUser": "MyDefaultRunAsUser",
       "idleSessionTimeout": "20",
       "maxSessionDuration": "60",
       "shellProfile": {
           "windows": "MyCommands",
           "linux": "MyCommands"
       }
     }
   }
   ```
**catatan**  
Jika Anda tidak ingin mengenkripsi data log sesi, ubah `true` ke `false` untuk `s3EncryptionEnabled`.  
Jika Anda tidak mengirim log ke bucket Amazon S3 atau grup CloudWatch log Log, tidak ingin mengenkripsi data sesi aktif, atau tidak ingin mengaktifkan dukungan Run As untuk sesi di akun Anda, Anda dapat menghapus baris untuk opsi tersebut. Pastikan baris terakhir di bagian `inputs` tidak berakhir dengan koma.  
Jika Anda menambahkan ID kunci KMS untuk mengenkripsi data sesi Anda, baik pengguna yang memulai sesi dan node terkelola yang mereka sambungkan harus memiliki izin untuk menggunakan kunci tersebut. Anda memberikan izin untuk menggunakan kunci KMS Session Manager melalui kebijakan IAM. Untuk informasi, lihat topik berikut:  
Tambahkan AWS KMS izin untuk pengguna di akun Anda: [Contoh kebijakan IAM untuk Session Manager](getting-started-restrict-access-quickstart.md)
Tambahkan AWS KMS izin untuk node terkelola di akun Anda: [Langkah 2: Verifikasi atau tambahkan izin instance untuk Session Manager](session-manager-getting-started-instance-profile.md)

1. Simpan file tersebut.

1. Dalam direktori tempat Anda membuat file JSON, jalankan perintah berikut.

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

   ```
   aws ssm create-document \
       --name SSM-SessionManagerRunShell \
       --content "file://SessionManagerRunShell.json" \
       --document-type "Session" \
       --document-format JSON
   ```

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

   ```
   aws ssm create-document ^
       --name SSM-SessionManagerRunShell ^
       --content "file://SessionManagerRunShell.json" ^
       --document-type "Session" ^
       --document-format JSON
   ```

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

   ```
   New-SSMDocument `
       -Name "SSM-SessionManagerRunShell" `
       -Content (Get-Content -Raw SessionManagerRunShell.json) `
       -DocumentType "Session" `
       -DocumentFormat JSON
   ```

------

   Jika berhasil, perintah mengembalikan output yang serupa dengan berikut.

   ```
   {
       "DocumentDescription": {
           "Status": "Creating",
           "Hash": "ce4fd0a2ab9b0fae759004ba603174c3ec2231f21a81db8690a33eb66EXAMPLE",
           "Name": "SSM-SessionManagerRunShell",
           "Tags": [],
           "DocumentType": "Session",
           "PlatformTypes": [
               "Windows",
               "Linux"
           ],
           "DocumentVersion": "1",
           "HashType": "Sha256",
           "CreatedDate": 1547750660.918,
           "Owner": "111122223333",
           "SchemaVersion": "1.0",
           "DefaultVersion": "1",
           "DocumentFormat": "JSON",
           "LatestVersion": "1"
       }
   }
   ```

# Perbarui Session Manager preferensi (baris perintah)
<a name="getting-started-configure-preferences-cli"></a>

Prosedur berikut menjelaskan cara menggunakan alat baris perintah pilihan Anda untuk membuat perubahan pada AWS Systems Manager Session Manager preferensi untuk Anda Akun AWS di yang dipilih Wilayah AWS. Gunakan Session Manager preferensi untuk menentukan opsi untuk mencatat data sesi di bucket Amazon Simple Storage Service (Amazon S3) atau grup log CloudWatch Amazon Logs. Anda juga dapat menggunakan Session Manager preferensi untuk mengenkripsi data sesi Anda.

**Untuk memperbarui Session Manager preferensi (baris perintah)**

1. Buat file JSON pada mesin lokal Anda dengan nama seperti `SessionManagerRunShell.json`, dan kemudian tempel konten berikut ke dalamnya.

   ```
   {
       "schemaVersion": "1.0",
       "description": "Document to hold regional settings for Session Manager",
       "sessionType": "Standard_Stream",
       "inputs": {
           "s3BucketName": "",
           "s3KeyPrefix": "",
           "s3EncryptionEnabled": true,
           "cloudWatchLogGroupName": "",
           "cloudWatchEncryptionEnabled": true,
           "cloudWatchStreamingEnabled": false,
           "kmsKeyId": "",
           "runAsEnabled": true,
           "runAsDefaultUser": "",
           "idleSessionTimeout": "",
           "maxSessionDuration": "",
           "shellProfile": {
               "windows": "date",
               "linux": "pwd;ls"
           }
       }
   }
   ```

1. Tentukan di mana Anda ingin mengirim data sesi. Anda dapat menentukan nama bucket S3 (dengan awalan opsional) atau nama grup CloudWatch log Log. Jika Anda ingin mengenkripsi data lebih lanjut antara klien lokal dan node terkelola, sediakan AWS KMS key untuk digunakan untuk enkripsi. Berikut adalah contohnya.

   ```
   {
     "schemaVersion": "1.0",
     "description": "Document to hold regional settings for Session Manager",
     "sessionType": "Standard_Stream",
     "inputs": {
       "s3BucketName": "amzn-s3-demo-bucket",
       "s3KeyPrefix": "MyS3Prefix",
       "s3EncryptionEnabled": true,
       "cloudWatchLogGroupName": "MyLogGroupName",
       "cloudWatchEncryptionEnabled": true,
       "cloudWatchStreamingEnabled": false,
       "kmsKeyId": "MyKMSKeyID",
       "runAsEnabled": true,
       "runAsDefaultUser": "MyDefaultRunAsUser",
       "idleSessionTimeout": "20",
       "maxSessionDuration": "60",
       "shellProfile": {
           "windows": "MyCommands",
           "linux": "MyCommands"
       }
     }
   }
   ```
**catatan**  
Jika Anda tidak ingin mengenkripsi data log sesi, ubah `true` ke `false` untuk `s3EncryptionEnabled`.  
Jika Anda tidak mengirim log ke bucket Amazon S3 atau grup CloudWatch log Log, tidak ingin mengenkripsi data sesi aktif, atau tidak ingin mengaktifkan dukungan Run As untuk sesi di akun Anda, Anda dapat menghapus baris untuk opsi tersebut. Pastikan baris terakhir di bagian `inputs` tidak berakhir dengan koma.  
Jika Anda menambahkan ID kunci KMS untuk mengenkripsi data sesi Anda, baik pengguna yang memulai sesi dan node terkelola yang mereka sambungkan harus memiliki izin untuk menggunakan kunci tersebut. Anda memberikan izin untuk menggunakan kunci KMS dengan kebijakan Session Manager through AWS Identity and Access Management (IAM). Untuk informasi, lihat topik berikut:  
Tambahkan AWS KMS izin untuk pengguna di akun Anda:[Contoh kebijakan IAM untuk Session Manager](getting-started-restrict-access-quickstart.md).
Tambahkan AWS KMS izin untuk node terkelola di akun Anda:[Langkah 2: Verifikasi atau tambahkan izin instance untuk Session Manager](session-manager-getting-started-instance-profile.md).

1. Simpan file tersebut.

1. Dalam direktori tempat Anda membuat file JSON, jalankan perintah berikut.

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

   ```
   aws ssm update-document \
       --name "SSM-SessionManagerRunShell" \
       --content "file://SessionManagerRunShell.json" \
       --document-version "\$LATEST"
   ```

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

   ```
   aws ssm update-document ^
       --name "SSM-SessionManagerRunShell" ^
       --content "file://SessionManagerRunShell.json" ^
       --document-version "$LATEST"
   ```

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

   ```
   Update-SSMDocument `
       -Name "SSM-SessionManagerRunShell" `
       -Content (Get-Content -Raw SessionManagerRunShell.json) `
       -DocumentVersion '$LATEST'
   ```

------

   Jika berhasil, perintah mengembalikan output yang serupa dengan berikut.

   ```
   {
       "DocumentDescription": {
           "Status": "Updating",
           "Hash": "ce4fd0a2ab9b0fae759004ba603174c3ec2231f21a81db8690a33eb66EXAMPLE",
           "Name": "SSM-SessionManagerRunShell",
           "Tags": [],
           "DocumentType": "Session",
           "PlatformTypes": [
               "Windows",
               "Linux"
           ],
           "DocumentVersion": "2",
           "HashType": "Sha256",
           "CreatedDate": 1537206341.565,
           "Owner": "111122223333",
           "SchemaVersion": "1.0",
           "DefaultVersion": "1",
           "DocumentFormat": "JSON",
           "LatestVersion": "2"
       }
   }
   ```

# Langkah 5: (Opsional) Batasi akses ke perintah dalam sesi
<a name="session-manager-restrict-command-access"></a>

Anda dapat membatasi perintah yang dapat dijalankan pengguna dalam AWS Systems Manager Session Manager sesi dengan menggunakan dokumen `Session` tipe kustom AWS Systems Manager (SSM). Dalam dokumen, Anda menentukan perintah yang dijalankan ketika pengguna memulai sesi dan parameter yang dapat diberikan pengguna ke perintah. Dokumen `Session` dari `schemaVersion` harus 1.0, dan `sessionType` dokumen harus `InteractiveCommands`. Anda kemudian dapat membuat kebijakan AWS Identity and Access Management (IAM) yang memungkinkan pengguna mengakses hanya `Session` dokumen yang Anda tentukan. Untuk informasi selengkapnya tentang cara menggunakan kebijakan IAM untuk membatasi akses ke perintah dalam sesi, lihat [Contoh kebijakan IAM untuk perintah interaktif](#interactive-command-policy-examples).

Dokumen dengan `sessionType` of hanya `InteractiveCommands` didukung untuk sesi yang dimulai dari AWS Command Line Interface (AWS CLI). Pengguna memberikan nama dokumen kustom sebagai nilai `--document-name` parameter dan memberikan nilai parameter perintah apa pun menggunakan `--parameters` opsi. Untuk informasi selengkapnya tentang menjalankan perintah interaktif, lihat [Memulai sesi (perintah interaktif dan noninteraktif)](session-manager-working-with-sessions-start.md#sessions-start-interactive-commands).

Gunakan prosedur berikut untuk membuat dokumen SSM `Session` tipe kustom yang mendefinisikan perintah pengguna diizinkan untuk menjalankan.

## Batasi akses ke perintah dalam sesi (konsol)
<a name="restrict-command-access-console"></a>

**Untuk membatasi perintah yang dapat dijalankan pengguna dalam Session Manager sesi (konsol)**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

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

1. Pilih **Buat perintah atau sesi**.

1. Untuk **Nama**, masukkan nama deskriptif untuk dokumen.

1. Untuk **tipe dokumen**, pilih **Dokumen sesi**.

1. Masukkan konten dokumen Anda yang mendefinisikan perintah yang dapat dijalankan pengguna dalam Session Manager sesi menggunakan JSON atau YAMM, seperti yang ditunjukkan pada contoh berikut.

------
#### [ YAML ]

   ```
   ---
   schemaVersion: '1.0'
   description: Document to view a log file on a Linux instance
   sessionType: InteractiveCommands
   parameters:
     logpath:
       type: String
       description: The log file path to read.
       default: "/var/log/amazon/ssm/amazon-ssm-agent.log"
       allowedPattern: "^[a-zA-Z0-9-_/]+(.log)$"
   properties:
     linux:
       commands: "tail -f {{ logpath }}"
       runAsElevated: true
   ```

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

   ```
   {
       "schemaVersion": "1.0",
       "description": "Document to view a log file on a Linux instance",
       "sessionType": "InteractiveCommands",
       "parameters": {
           "logpath": {
               "type": "String",
               "description": "The log file path to read.",
               "default": "/var/log/amazon/ssm/amazon-ssm-agent.log",
               "allowedPattern": "^[a-zA-Z0-9-_/]+(.log)$"
           }
       },
       "properties": {
           "linux": {
               "commands": "tail -f {{ logpath }}",
               "runAsElevated": true
           }
       }
   }
   ```

------

1. Pilih **Buat dokumen**.

## Batasi akses ke perintah dalam sesi (baris perintah)
<a name="restrict-command-access-commandline"></a>

**Sebelum Anda mulai**  
Jika Anda belum melakukannya, instal dan konfigurasikan AWS Command Line Interface (AWS CLI) atau file Alat AWS untuk PowerShell. Untuk selengkapnya, lihat [Menginstal atau memperbarui versi terbaru AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) dan [Menginstal Alat AWS untuk PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html).

**Untuk membatasi perintah yang dapat dijalankan pengguna dalam Session Manager sesi (baris perintah)**

1. Buat file JSON atau YAMAL untuk konten dokumen Anda yang mendefinisikan perintah yang dapat dijalankan pengguna dalam Session Manager sesi, seperti yang ditunjukkan pada contoh berikut.

------
#### [ YAML ]

   ```
   ---
   schemaVersion: '1.0'
   description: Document to view a log file on a Linux instance
   sessionType: InteractiveCommands
   parameters:
     logpath:
       type: String
       description: The log file path to read.
       default: "/var/log/amazon/ssm/amazon-ssm-agent.log"
       allowedPattern: "^[a-zA-Z0-9-_/]+(.log)$"
   properties:
     linux:
       commands: "tail -f {{ logpath }}"
       runAsElevated: true
   ```

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

   ```
   {
       "schemaVersion": "1.0",
       "description": "Document to view a log file on a Linux instance",
       "sessionType": "InteractiveCommands",
       "parameters": {
           "logpath": {
               "type": "String",
               "description": "The log file path to read.",
               "default": "/var/log/amazon/ssm/amazon-ssm-agent.log",
               "allowedPattern": "^[a-zA-Z0-9-_/]+(.log)$"
           }
       },
       "properties": {
           "linux": {
               "commands": "tail -f {{ logpath }}",
               "runAsElevated": true
           }
       }
   }
   ```

------

1. Jalankan perintah berikut untuk membuat dokumen SSM menggunakan konten Anda yang mendefinisikan perintah yang dapat dijalankan pengguna dalam sesi. Session Manager

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

   ```
   aws ssm create-document \
       --content file://path/to/file/documentContent.json \
       --name "exampleAllowedSessionDocument" \
       --document-type "Session"
   ```

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

   ```
   aws ssm create-document ^
       --content file://C:\path\to\file\documentContent.json ^
       --name "exampleAllowedSessionDocument" ^
       --document-type "Session"
   ```

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

   ```
   $json = Get-Content -Path "C:\path\to\file\documentContent.json" | Out-String
   New-SSMDocument `
       -Content $json `
       -Name "exampleAllowedSessionDocument" `
       -DocumentType "Session"
   ```

------

## Parameter perintah interaktif dan AWS CLI
<a name="restrict-command-access-parameters-cli"></a>

Ada berbagai cara yang dapat Anda lakukan dalam memberikan parameter perintah interaktif saat menggunakan AWS CLI. Bergantung pada sistem operasi (OS) mesin klien Anda yang Anda gunakan untuk terhubung ke node terkelola dengan AWS CLI, sintaks yang Anda berikan untuk perintah yang berisi karakter khusus atau escape mungkin berbeda. Contoh berikut menunjukkan beberapa cara berbeda Anda dapat memberikan parameter perintah saat menggunakan AWS CLI, dan cara menangani karakter khusus atau escape.

Parameter yang disimpan dalam Parameter Store dapat direferensikan dalam AWS CLI untuk parameter perintah Anda seperti yang ditunjukkan pada contoh berikut.

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

```
aws ssm start-session \
    --target instance-id \
    --document-name MyInteractiveCommandDocument \ 
    --parameters '{"command":["{{ssm:mycommand}}"]}'
```

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

```
aws ssm start-session ^
    --target instance-id ^
    --document-name MyInteractiveCommandDocument ^
    --parameters '{"command":["{{ssm:mycommand}}"]}'
```

------

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan sintaks singkat dengan AWS CLI untuk meneruskan parameter.

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

```
aws ssm start-session \
    --target instance-id \
    --document-name MyInteractiveCommandDocument \ 
    --parameters command="ifconfig"
```

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

```
aws ssm start-session ^
    --target instance-id ^
    --document-name MyInteractiveCommandDocument ^
    --parameters command="ipconfig"
```

------

Anda juga dapat memberikan parameter di JSON seperti yang ditunjukkan dalam contoh berikut.

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

```
aws ssm start-session \
    --target instance-id \
    --document-name MyInteractiveCommandDocument \ 
    --parameters '{"command":["ifconfig"]}'
```

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

```
aws ssm start-session ^
    --target instance-id ^
    --document-name MyInteractiveCommandDocument ^
    --parameters '{"command":["ipconfig"]}'
```

------

Parameter juga dapat disimpan dalam file JSON dan disediakan untuk AWS CLI seperti yang ditunjukkan pada contoh berikut. Untuk informasi lebih lanjut tentang penggunaan parameter AWS CLI dari file, lihat [Memuat parameter AWS CLI dari file](https://docs.aws.amazon.com/cli/latest/userguide/;cli-usage-parameters-file.html) di *Panduan Pengguna AWS Command Line Interface *.

```
{
    "command": [
        "my command"
    ]
}
```

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

```
aws ssm start-session \
    --target instance-id \
    --document-name MyInteractiveCommandDocument \ 
    --parameters file://complete/path/to/file/parameters.json
```

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

```
aws ssm start-session ^
    --target instance-id ^
    --document-name MyInteractiveCommandDocument ^
    --parameters file://complete/path/to/file/parameters.json
```

------

Anda juga dapat menghasilkan AWS CLI kerangka dari file input JSON seperti yang ditunjukkan pada contoh berikut. *Untuk informasi selengkapnya tentang menghasilkan AWS CLI kerangka dari file input JSON, lihat [Menghasilkan AWS CLI kerangka dan parameter input dari file input JSON atau YAMM di Panduan Pengguna](https://docs.aws.amazon.com/cli/latest/userguide/;cli-usage-skeleton.html).AWS Command Line Interface *

```
{
    "Target": "instance-id",
    "DocumentName": "MyInteractiveCommandDocument",
    "Parameters": {
        "command": [
            "my command"
        ]
    }
}
```

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

```
aws ssm start-session \
    --cli-input-json file://complete/path/to/file/parameters.json
```

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

```
aws ssm start-session ^
    --cli-input-json file://complete/path/to/file/parameters.json
```

------

Agar karakter escape di dalam tanda kutip, Anda harus menambahkan garis miring tambahan untuk karakter escape seperti yang ditunjukkan dalam contoh berikut.

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

```
aws ssm start-session \
    --target instance-id \
    --document-name MyInteractiveCommandDocument \ 
    --parameters '{"command":["printf \"abc\\\\tdef\""]}'
```

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

```
aws ssm start-session ^
    --target instance-id ^
    --document-name MyInteractiveCommandDocument ^
    --parameters '{"command":["printf \"abc\\\\tdef\""]}'
```

------

Untuk informasi tentang menggunakan tanda kutip dengan parameter perintah di AWS CLI lihat [Menggunakan tanda kutip dengan string di AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/;cli-usage-parameters-quoting-strings.html) pada *AWS Command Line Interface Panduan Pengguna*.

## Contoh kebijakan IAM untuk perintah interaktif
<a name="interactive-command-policy-examples"></a>

Anda dapat membuat kebijakan IAM yang mengizinkan pengguna untuk mengakses hanya dokumen `Session` yang Anda tentukan. Ini membatasi perintah yang dapat dijalankan pengguna dalam Session Manager sesi hanya pada perintah yang ditentukan dalam dokumen SSM `Session` tipe kustom Anda.

 **Izinkan pengguna menjalankan perintah interaktif pada satu node terkelola**     
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":"ssm:StartSession",
         "Resource":[
            "arn:aws:ec2:us-east-1:444455556666:instance/i-02573cafcfEXAMPLE",
            "arn:aws:ssm:us-east-1:444455556666:document/allowed-session-document"
         ]
      },
      {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
      }
   ]
}
```

 **Izinkan pengguna menjalankan perintah interaktif pada semua node yang dikelola**     
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":"ssm:StartSession",
         "Resource":[
            "arn:aws:ec2:us-east-1:444455556666:instance/*",
            "arn:aws:ssm:us-east-1:444455556666:document/allowed-session-document"
         ]
      },
      {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
      }
   ]
}
```

 **Izinkan pengguna menjalankan beberapa perintah interaktif pada semua node yang dikelola**     
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":"ssm:StartSession",
         "Resource":[
            "arn:aws:ec2:us-east-1:444455556666:instance/*",
            "arn:aws:ssm:us-east-1:444455556666:document/allowed-session-document",
            "arn:aws:ssm:us-east-1:444455556666:document/allowed-session-document-2"
         ]
      },
      {
         "Effect": "Allow",
         "Action": ["ssmmessages:OpenDataChannel"],
         "Resource": ["arn:aws:ssm:*:*:session/${aws:userid}-*"]
      }
   ]
}
```

# Langkah 6: (Opsional) Gunakan AWS PrivateLink untuk mengatur titik akhir VPC untuk Session Manager
<a name="session-manager-getting-started-privatelink"></a>

Anda dapat lebih meningkatkan postur keamanan node terkelola Anda dengan mengonfigurasi AWS Systems Manager untuk menggunakan titik akhir antarmuka virtual private cloud (VPC). Endpoint antarmuka didukung oleh AWS PrivateLink, teknologi yang memungkinkan Anda mengakses Amazon Elastic Compute Cloud (Amazon EC2) dan Systems Manager APIs secara pribadi dengan menggunakan alamat IP pribadi. 

AWS PrivateLink membatasi semua lalu lintas jaringan antara node terkelola, Systems Manager, dan Amazon EC2 ke jaringan Amazon. (Node terkelola tidak memiliki akses ke internet.) Selain itu, Anda tidak memerlukan gateway internet, perangkat NAT, atau gateway privat virtual. 

Untuk informasi tentang membuat titik akhir VPC, lihat [Meningkatkan keamanan instans EC2 dengan menggunakan titik akhir VPC](setup-create-vpc.md) untuk Systems Manager.

Alternatif untuk menggunakan titik akhir VPC adalah mengizinkan akses internet keluar pada node terkelola Anda. Dalam hal ini, node yang dikelola juga harus mengizinkan lalu lintas keluar HTTPS (port 443) ke titik akhir berikut:
+  `ec2messages.region.amazonaws.com` 
+  `ssm.region.amazonaws.com` 
+  `ssmmessages.region.amazonaws.com` 

Systems Manager menggunakan yang terakhir dari titik akhir ini`ssmmessages.region.amazonaws.com`,, untuk melakukan panggilan dari SSM Agent ke Session Manager layanan di cloud.

Untuk menggunakan fitur opsional seperti enkripsi AWS Key Management Service (AWS KMS), streaming log ke Amazon CloudWatch Logs (CloudWatch Log), dan mengirim log ke Amazon Simple Storage Service (Amazon S3), Anda harus mengizinkan lalu lintas keluar HTTPS (port 443) ke titik akhir berikut:
+  `kms.region.amazonaws.com` 
+  `logs.region.amazonaws.com` 
+  `s3.region.amazonaws.com` 

Untuk informasi lebih lanjut tentang titik akhir yang diperlukan untuk Systems Manager, lihat [Referensi: ec2messages, ssmmessages, dan operasi API lainnya](systems-manager-setting-up-messageAPIs.md).

# Langkah 7: (Opsional) Aktifkan atau nonaktifkan izin administratif akun ssm-user
<a name="session-manager-getting-started-ssm-user-permissions"></a>

Dimulai dengan versi 2.3.50.0 dari AWS Systems Manager SSM Agent, agen membuat akun pengguna lokal yang disebut `ssm-user` dan menambahkannya ke `/etc/sudoers` (LinuxdanmacOS) atau ke grup Administrator (). Windows Pada versi agen lebih awal dari 2.3.612.0, akun dibuat pertama kali SSM Agent dimulai atau dimulai ulang setelah penginstalan. Pada versi 2.3.612.0 dan yang lebih baru, `ssm-user` akun dibuat saat pertama kali sesi dimulai pada node. Ini `ssm-user` adalah pengguna sistem operasi default (OS) ketika AWS Systems Manager Session Manager sesi dimulai. SSM Agentversi 2.3.612.0 dirilis pada 8 Mei 2019.

Jika Anda ingin mencegah Session Manager pengguna menjalankan perintah administratif pada node, Anda dapat memperbarui izin `ssm-user` akun. Anda juga dapat memulihkan izin ini setelah izin yang diperbarui telah dihapus.

**Topics**
+ [Mengelola izin akun sudo ssm-user pada dan Linux macOS](#ssm-user-permissions-linux)
+ [Mengelola izin akun Administrator ssm-user pada Windows Server](#ssm-user-permissions-windows)

## Mengelola izin akun sudo ssm-user pada dan Linux macOS
<a name="ssm-user-permissions-linux"></a>

Gunakan salah satu prosedur berikut untuk mengaktifkan atau mematikan izin sudo akun ssm-user dan node terkelola. Linux macOS

**Gunakan Run Command untuk memodifikasi izin sudo ssm-user (konsol)**
+ Gunakan prosedur di [Menjalankan perintah dari konsol](running-commands-console.md) dengan nilai berikut:
  + Untuk **Dokumen perintah**, pilih `AWS-RunShellScript`.
  + Untuk menghapus akses sudo, di area **Parameter perintah**, tempel berikut ini di kotak **Perintah**.

    ```
    cd /etc/sudoers.d
    echo "#User rules for ssm-user" > ssm-agent-users
    ```

    -atau-

    Untuk memulihkan akses sudo, di area **Parameter perintah**, tempel berikut ini di kotak **Perintah**.

    ```
    cd /etc/sudoers.d 
    echo "ssm-user ALL=(ALL) NOPASSWD:ALL" > ssm-agent-users
    ```

**Gunakan baris perintah untuk memodifikasi izin sudo ssm-user (AWS CLI)**

1. Connect ke node yang dikelola dan jalankan perintah berikut.

   ```
   sudo -s
   ```

1. Ganti direktori kerja menggunakan perintah berikut.

   ```
   cd /etc/sudoers.d
   ```

1. Buka file bernama `ssm-agent-users` untuk mengedit.

1. Untuk menghapus akses sudo, hapus baris berikut.

   ```
   ssm-user ALL=(ALL) NOPASSWD:ALL
   ```

   -atau-

   Untuk memulihkan akses sudo, tambahkan baris berikut.

   ```
   ssm-user ALL=(ALL) NOPASSWD:ALL
   ```

1. Simpan file.

## Mengelola izin akun Administrator ssm-user pada Windows Server
<a name="ssm-user-permissions-windows"></a>

Gunakan salah satu prosedur berikut untuk mengaktifkan atau mematikan izin Administrator akun ssm-user pada node terkelola. Windows Server

**Gunakan Run Command untuk mengubah izin Administrator (konsol)**
+ Gunakan prosedur di [Menjalankan perintah dari konsol](running-commands-console.md) dengan nilai berikut:

  Untuk **Dokumen perintah**, pilih `AWS-RunPowerShellScript`.

  Untuk menghapus akses administratif, di area **Parameter perintah**, tempel berikut ini di kotak **Perintah**.

  ```
  net localgroup "Administrators" "ssm-user" /delete
  ```

  -atau-

  Untuk memulihkan akses administratif, di area **Parameter perintah**, tempel berikut ini di kotak **Perintah**.

  ```
  net localgroup "Administrators" "ssm-user" /add
  ```

**Gunakan jendela prompt perintah PowerShell atau untuk mengubah izin Administrator**

1. Connect ke node terkelola dan buka jendela PowerShell atau Command Prompt.

1. Untuk menghapus akses administratif, jalankan perintah berikut.

   ```
   net localgroup "Administrators" "ssm-user" /delete
   ```

   -atau-

   Untuk memulihkan akses administratif, jalankan perintah berikut.

   ```
   net localgroup "Administrators" "ssm-user" /add
   ```

**Gunakan Windows konsol untuk mengubah izin Administrator**

1. Connect ke node terkelola dan buka jendela PowerShell atau Command Prompt.

1. Dari baris perintah, jalankan `lusrmgr.msc` untuk membuka konsol **Pengguna dan Grup Lokal**.

1. Buka direktori **Pengguna**, dan kemudian buka **ssm-user**.

1. Pada tab **Anggota Dari**, lakukan salah satu hal berikut:
   + Untuk menghapus akses administratif, pilih **Administrator**, dan kemudian pilih **Hapus**.

     -atau-

     Untuk memulihkan akses administratif, masukkan **Administrators** di kotak teks, dan kemudian pilih **Tambahkan**.

1. Pilih **OKE**.

# Langkah 8: (Opsional) Izinkan dan kontrol izin untuk koneksi SSH melalui Session Manager
<a name="session-manager-getting-started-enable-ssh-connections"></a>

Anda dapat mengizinkan pengguna Akun AWS untuk menggunakan AWS Command Line Interface (AWS CLI) untuk membuat koneksi Secure Shell (SSH) ke node terkelola menggunakan AWS Systems Manager Session Manager. Pengguna yang terhubung menggunakan SSH juga dapat menyalin file antara mesin lokal mereka dan node yang dikelola menggunakan Secure Copy Protocol (SCP). Anda dapat menggunakan fungsi ini untuk terhubung ke node terkelola tanpa membuka port masuk atau mempertahankan host bastion.

 Ketika Anda membuat koneksi SSH melaluiSession Manager, AWS CLI dan SSM Agent membuat WebSocket koneksi aman melalui TLS ke Session Manager endpoint. Sesi SSH berjalan dalam terowongan terenkripsi ini, menyediakan lapisan keamanan tambahan tanpa memerlukan port masuk untuk dibuka pada node terkelola Anda.

Setelah mengizinkan koneksi SSH, Anda dapat menggunakan kebijakan AWS Identity and Access Management (IAM) untuk secara eksplisit mengizinkan atau menolak pengguna, grup, atau peran untuk membuat koneksi SSH menggunakan. Session Manager

**catatan**  
Logging tidak tersedia untuk Session Manager sesi yang terhubung melalui port forwarding atau SSH. Ini karena SSH mengenkripsi semua data sesi dalam koneksi TLS aman yang dibuat antara titik akhir dan Session Manager titik akhir, AWS CLI dan Session Manager hanya berfungsi sebagai terowongan untuk koneksi SSH.

**Topics**
+ [Mengizinkan koneksi SSH untuk Session Manager](#ssh-connections-enable)
+ [Mengontrol izin pengguna untuk koneksi SSH melalui Session Manager](#ssh-connections-permissions)

## Mengizinkan koneksi SSH untuk Session Manager
<a name="ssh-connections-enable"></a>

Gunakan langkah-langkah berikut untuk mengizinkan koneksi SSH melalui Session Manager pada node terkelola. 

**Untuk memungkinkan koneksi SSH untuk Session Manager**

1. Pada node terkelola yang ingin Anda izinkan koneksi SSH, lakukan hal berikut:
   + Pastikan SSH berjalan pada node yang dikelola. (Anda dapat menutup port masuk pada node.)
   + Pastikan SSM Agent versi 2.3.672.0 atau yang lebih baru diinstal pada node terkelola.

     Untuk informasi tentang menginstal atau memperbarui SSM Agent pada node terkelola, lihat topik berikut:
     + [Menginstal dan menghapus instalasi secara manual SSM Agent pada instans EC2 untuk Windows Server](manually-install-ssm-agent-windows.md).
     +  [Menginstal dan menghapus instalasi secara manual SSM Agent pada instans EC2 untuk Linux](manually-install-ssm-agent-linux.md) 
     +  [Menginstal dan menghapus instalasi secara manual SSM Agent pada instans EC2 untuk macOS](manually-install-ssm-agent-macos.md) 
     +  [Cara menginstal SSM Agent pada node Windows hybrid](hybrid-multicloud-ssm-agent-install-windows.md) 
     +  [Cara menginstal SSM Agent pada node Linux hybrid](hybrid-multicloud-ssm-agent-install-linux.md) 
**catatan**  
Untuk menggunakan Session Manager server lokal, perangkat edge, dan mesin virtual (VMs) yang diaktifkan sebagai node terkelola, Anda harus menggunakan tingkat instance lanjutan. Untuk informasi selengkapnya tentang instans lanjutan, lihat [Mengonfigurasi tingkat instans](fleet-manager-configure-instance-tiers.md).

1. Pada mesin lokal tempat Anda ingin terhubung ke node terkelola menggunakan SSH, lakukan hal berikut:
   + Pastikan bahwa versi 1.1.23.0 atau yang lebih baru dari Session Manager plugin diinstal.

     Untuk informasi tentang menginstal Session Manager plugin, lihat[Instal Session Manager plugin untuk AWS CLI](session-manager-working-with-install-plugin.md).
   + Perbarui file konfigurasi SSH untuk memungkinkan menjalankan perintah proxy yang memulai Session Manager sesi dan mentransfer semua data melalui koneksi.

      **Linux dan macOS** 
**Tip**  
File konfigurasi SSH biasanya terletak di `~/.ssh/config`.

     Tambahkan berikut ke file konfigurasi di mesin lokal.

     ```
     # SSH over Session Manager
     Host i-* mi-*
         ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
         User ec2-user
     ```

      ** Windows ** 
**Tip**  
File konfigurasi SSH biasanya terletak di `C:\Users\<username>\.ssh\config`.

     Tambahkan berikut ke file konfigurasi di mesin lokal.

     ```
     # SSH over Session Manager
     Host i-* mi-*
         ProxyCommand C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters portNumber=%p"
     ```
   + Buat atau verifikasi bahwa Anda memiliki sertifikat Privacy Enhanced Mail (file PEM), atau setidaknya kunci publik, untuk digunakan saat membuat koneksi ke node terkelola. Ini harus menjadi kunci yang sudah dikaitkan dengan node terkelola. Izin file kunci pribadi Anda harus diatur sehingga hanya Anda yang dapat membacanya. Anda dapat menggunakan perintah berikut untuk mengatur izin file kunci pribadi Anda sehingga hanya Anda yang dapat membacanya.

     ```
     chmod 400 <my-key-pair>.pem
     ```

     Misalnya, untuk instans Amazon Elastic Compute Cloud (Amazon EC2), file pasangan kunci yang Anda buat atau pilih saat Anda membuat instans. (Anda menentukan jalur ke sertifikat atau kunci sebagai bagian dari perintah untuk memulai sesi. Untuk informasi tentang memulai sesi menggunakan SSH, lihat [Memulai sesi (SSH)](session-manager-working-with-sessions-start.md#sessions-start-ssh).)

## Mengontrol izin pengguna untuk koneksi SSH melalui Session Manager
<a name="ssh-connections-permissions"></a>

Setelah Anda mengaktifkan koneksi SSH melalui Session Manager pada node terkelola, Anda dapat menggunakan kebijakan IAM untuk mengizinkan atau menolak pengguna, grup, atau peran kemampuan untuk membuat koneksi SSH. Session Manager 

**Untuk menggunakan kebijakan IAM untuk mengizinkan koneksi SSH melalui Session Manager**
+ Gunakan salah satu opsi berikut:
  + **Opsi 1**: Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). 

    Di panel navigasi, pilih **Kebijakan**, lalu perbarui kebijakan izin untuk pengguna atau peran yang ingin Anda izinkan untuk memulai koneksi SSH. Session Manager 

    Misalnya, tambahkan elemen berikut ke kebijakan Quickstart yang Anda buat. [Kebijakan pengguna akhir Quickstart untuk Session Manager](getting-started-restrict-access-quickstart.md#restrict-access-quickstart-end-user) Ganti masing-masing *example resource placeholder* dengan informasi Anda sendiri. 

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

****  

    ```
    {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "ssm:StartSession",
                "Resource": [
                    "arn:aws:ec2:us-east-1:111122223333:instance/instance-id",
                    "arn:aws:ssm:*:*:document/AWS-StartSSHSession"
                ]
            },
            {
                "Effect": "Allow",
                "Action": "ssmmessages:OpenDataChannel",
                "Resource": "arn:aws:ssm:*:*:session/${aws:userid}-*"
            }
        ]
    }
    ```

------
  + **Opsi 2**: Lampirkan kebijakan inline ke kebijakan pengguna dengan menggunakan Konsol Manajemen AWS, the AWS CLI, atau AWS API.

    Dengan menggunakan metode pilihan Anda, lampirkan pernyataan kebijakan di **Opsi 1** ke kebijakan untuk AWS pengguna, grup, atau peran.

    Untuk informasi, lihat [Menambahkan dan Menghapus Izin Identitas IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) dalam *Panduan Pengguna IAM*.

**Untuk menggunakan kebijakan IAM untuk menolak koneksi SSH melalui Session Manager**
+ Gunakan salah satu opsi berikut:
  + **Opsi 1**: Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). Di panel navigasi, pilih **Kebijakan, lalu perbarui kebijakan** izin untuk pengguna atau peran yang akan diblokir dari sesi awalSession Manager. 

    Misalnya, tambahkan elemen berikut ke kebijakan Quickstart yang Anda buat. [Kebijakan pengguna akhir Quickstart untuk Session Manager](getting-started-restrict-access-quickstart.md#restrict-access-quickstart-end-user)

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

****  

    ```
    {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Effect": "Deny",
                "Action": "ssm:StartSession",
                "Resource": "arn:aws:ssm:*:*:document/AWS-StartSSHSession"
            },
            {
                "Effect": "Allow",
                "Action": "ssmmessages:OpenDataChannel",
                "Resource": "arn:aws:ssm:*:*:session/${aws:userid}-*"
            }
        ]
    }
    ```

------
  + **Opsi 2**: Lampirkan kebijakan inline ke kebijakan pengguna dengan menggunakan Konsol Manajemen AWS, the AWS CLI, atau AWS API.

    Dengan menggunakan metode pilihan Anda, lampirkan pernyataan kebijakan di **Opsi 1** ke kebijakan untuk AWS pengguna, grup, atau peran.

    Untuk informasi, lihat [Menambahkan dan Menghapus Izin Identitas IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) dalam *Panduan Pengguna IAM*.