Langkah 8: (Opsional) Izinkan dan kontrol izin untuk koneksi SSH melalui Session Manager - AWS Systems Manager

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

Langkah 8: (Opsional) Izinkan dan kontrol izin untuk koneksi SSH melalui Session Manager

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.

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, dan Session Manager hanya berfungsi sebagai terowongan untuk koneksi SSH.

Mengizinkan koneksi SSH untuk Session Manager

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:

  2. 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, lihatInstal Session Manager plugin untuk AWS CLI.

    • 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'"

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

Mengontrol izin pengguna untuk koneksi SSH melalui Session Manager

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 Session Manager
  • Gunakan salah satu opsi berikut:

    • Opsi 1: Buka konsol IAM di 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 Ganti setiap placeholder sumber daya contoh dengan informasi Anda sendiri.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:StartSession", "Resource": [ "arn:aws:ec2:region:account-id:instance/instance-id", "arn:aws:ssm:*:*:document/AWS-StartSSHSession" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" } } } ] }
    • Opsi 2: Lampirkan kebijakan inline ke kebijakan pengguna dengan menggunakan AWS Management Console, 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 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/. 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

      { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor1", "Effect": "Deny", "Action": "ssm:StartSession", "Resource": "arn:aws:ssm:*:*:document/AWS-StartSSHSession" } ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" } } }
    • Opsi 2: Lampirkan kebijakan inline ke kebijakan pengguna dengan menggunakan AWS Management Console, 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 dalam Panduan Pengguna IAM.