SSM Agentreferensi teknis - AWS Systems Manager

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

SSM Agentreferensi teknis

Gunakan informasi dalam topik ini untuk membantu Anda menerapkan AWS Systems Manager Agen (SSM Agent) dan memahami cara kerja agen.

SSM Agentversi 3.2.xx perilaku kredensi

SSM Agentmenyimpan satu set kredensi sementara di /var/lib/amazon/ssm/credentials (untuk Linux danmacOS) atau %PROGRAMFILES%\Amazon\SSM\credentials (untukWindows Server) ketika sebuah instance di-onboard menggunakan Konfigurasi Manajemen Host Default di. Quick Setup Kredensi sementara memiliki izin yang Anda tentukan untuk peran IAM yang Anda pilih untuk Konfigurasi Manajemen Host Default. Di Linux, hanya akun root yang dapat mengakses kredensi ini. PadaWindows Server, hanya akun SYSTEM dan Administrator lokal yang dapat mengakses kredensi ini.

SSM Agentkredensialnya diutamakan

Topik ini menjelaskan informasi penting tentang bagaimana izin SSM Agent diberikan untuk melakukan tindakan pada sumber daya Anda.

catatan

Support untuk perangkat edge sedikit berbeda. Anda harus mengonfigurasi perangkat edge Anda untuk menggunakan perangkat lunak AWS IoT Greengrass Core, mengonfigurasi peran layanan AWS Identity and Access Management (IAM), dan menyebarkan SSM Agent ke perangkat Anda dengan menggunakan. AWS IoT Greengrass Untuk informasi selengkapnya, lihat AWS Systems ManagerMenyiapkan perangkat edge.

Ketika SSM Agent diinstal pada mesin, itu memerlukan izin untuk berkomunikasi dengan layanan Systems Manager. Pada instans Amazon Elastic Compute Cloud (Amazon EC2), izin ini disediakan di profil instans yang dilampirkan ke instans. Pada mesin non-EC2, SSM Agent biasanya mendapatkan izin yang diperlukan dari file kredensi bersama, yang terletak di /root/.aws/credentials (Linux danmacOS) atau (). %USERPROFILE%\.aws\credentials Windows Server Izin yang diperlukan ditambahkan ke file ini selama proses aktivasi hybrid.

Namun, dalam kasus yang jarang terjadi, mesin mungkin berakhir dengan izin yang ditambahkan ke lebih dari satu lokasi tempat SSM Agent memeriksa izin untuk menjalankan tugasnya.

Misalnya, Anda telah mengonfigurasi instans EC2 untuk dikelola oleh Systems Manager. Konfigurasi itu termasuk melampirkan profil instance. Tetapi kemudian Anda memutuskan untuk juga menggunakan instance itu untuk tugas pengembang atau pengguna akhir dan menginstal AWS Command Line Interface (AWS CLI) di atasnya. Instalasi ini menghasilkan izin tambahan yang ditambahkan ke file kredensial pada instans.

Ketika Anda menjalankan perintah Systems Manager pada instance, SSM Agent mungkin mencoba menggunakan kredensial yang berbeda dari yang Anda harapkan untuk digunakan, seperti dari file kredensial alih-alih profil instance. Ini karena SSM Agent mencari kredensi dalam urutan yang ditentukan untuk rantai penyedia kredensi default.

catatan

Di Linux danmacOS, SSM Agent berjalan sebagai pengguna root. Oleh karena itu, variabel lingkungan dan file kredensial yang SSM Agent dicari dalam proses ini adalah milik pengguna root only ()/root/.aws/credentials. SSM Agenttidak melihat variabel lingkungan atau file kredensional dari pengguna lain pada instance selama pencarian kredensional.

Rantai penyedia default mencari kredensial dalam urutan sebagai berikut:

  1. Variabel lingkungan, jika dikonfigurasi (AWS_ACCESS_KEY_ID dan AWS_SECRET_ACCESS_KEY).

  2. file kredensial bersama ($HOME/.aws/credentials untuk Linux dan macOS atau %USERPROFILE%\.aws\credentials untuk Windows Server) dengan izin yang disediakan oleh, misalnya, aktivasi hibrid atau instalasi AWS CLI .

  3. Peran AWS Identity and Access Management (IAM) untuk tugas jika ada aplikasi yang menggunakan definisi tugas Amazon Elastic Container Service (Amazon ECS) atau operasi API. RunTask

  4. Profil instans terlampir ke instans Amazon EC2.

  5. Peran IAM dipilih untuk Konfigurasi Manajemen Host Default.

Untuk informasi terkait, lihat topik berikut:

Tentang akun ssm-user lokal

Dimulai dengan versi 2.3.50.0 dariSSM Agent, agen membuat akun pengguna lokal yang disebut ssm-user dan menambahkannya ke /etc/sudoers.d direktori (Linux danmacOS) atau ke grup Administrator (). Windows Server Pada versi agen sebelum 2.3.612.0, akun dibuat pertama kali SSM Agent dimulai atau dimulai ulang setelah instalasi. Pada versi 2.3.612.0 dan yang lebih baru, akun ssm-user dibuat saat pertama kali sesi dimulai pada sebuah instans. Ini ssm-user adalah pengguna OS default ketika sesi dimulaiSession Manager, kemampuan AWS Systems Manager. Anda dapat mengubah izin dengan memindahkan ssm-user ke grup yang kurang istimewa atau dengan mengubah file sudoers. ssm-userAkun tidak dihapus dari sistem saat SSM Agent dihapus.

Windows ServerAktif, SSM Agent menangani pengaturan kata sandi baru untuk ssm-user akun saat setiap sesi dimulai. Tidak ada kata sandi yang ditetapkan untuk ssm-user pada instans yang dikelola Linux.

Dimulai dengan SSM Agent versi 2.3.612.0, ssm-user akun tidak dibuat secara otomatis pada Windows Server mesin yang digunakan sebagai pengontrol domain. Untuk digunakan Session Manager pada pengontrol Windows Server domain, buat ssm-user akun secara manual jika belum ada, dan tetapkan izin Administrator Domain kepada pengguna.

penting

Agar ssm-user akun dapat dibuat, profil instance yang dilampirkan pada instance harus memberikan izin yang diperlukan. Untuk selengkapnya, lihat Langkah 2: Verifikasi atau tambahkan izin instans untuk Session Manager.

SSM Agentdan Instance Metadata ServiceIMDS

Systems Manager bergantung pada metadata instans EC2 untuk berfungsi dengan benar. Systems Manager dapat mengakses metadata instans menggunakan versi 1 atau versi 2 dari Instance Metadata Service (IMDSv1 dan IMDSv2). Instans Anda harus dapat mengakses alamat IPv4 dari layanan metadata instans: 169.254.169.254. Untuk informasi lebih lanjut, lihat metadata instans dan data pengguna di Panduan Pengguna Amazon EC2 untuk Instans Linux.

Menjaga SSM Agent up-to-date

Versi terbaru dirilis setiap kali kemampuan baru ditambahkan ke Systems Manager atau pembaruan dibuat untuk kemampuan yang ada. SSM Agent Gagal menggunakan agen versi terbaru dapat mencegah node terkelola Anda menggunakan berbagai kemampuan 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. Berlangganan halaman Catatan SSM Agent Rilis GitHub untuk mendapatkan pemberitahuan tentang SSM Agent pembaruan.

catatan

Versi terbaru dirilis setiap kali kemampuan baru ditambahkan ke Systems Manager atau pembaruan dibuat untuk kemampuan yang ada. SSM Agent Gagal menggunakan agen versi terbaru dapat mencegah node terkelola Anda menggunakan berbagai kemampuan 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. Berlangganan halaman Catatan SSM Agent Rilis GitHub untuk mendapatkan pemberitahuan tentang SSM Agent pembaruan.

Amazon Machine Images(AMIs) yang menyertakan secara SSM Agent default dapat memakan waktu hingga dua minggu untuk diperbarui dengan versi terbaruSSM Agent. Kami menyarankan Anda mengonfigurasi pembaruan otomatis yang lebih sering keSSM Agent.

Memastikan bahwa direktori SSM Agent instalasi tidak diubah, dipindahkan, atau dihapus

SSM Agentdiinstal di /var/lib/amazon/ssm/ (Linux danmacOS) dan %PROGRAMFILES%\Amazon\SSM\ (Windows Server). Direktori instalasi ini berisi file dan folder penting yang digunakan olehSSM Agent, seperti file kredensial, sumber daya untuk komunikasi antar-proses (IPC), dan folder orkestrasi. Tidak ada dalam direktori instalasi yang harus dimodifikasi, dipindahkan, atau dihapus. Jika tidak, SSM Agent mungkin berhenti berfungsi dengan baik.

SSM Agentpembaruan bergulir oleh Wilayah AWS

Setelah SSM Agent pembaruan tersedia di GitHub repositori, dapat memakan waktu hingga dua minggu hingga versi yang diperbarui diluncurkan ke semua Wilayah AWS pada waktu yang berbeda. Untuk alasan ini, Anda mungkin menerima kesalahan “Tidak didukung pada platform saat ini” atau “memperbarui amazon-ssm-agent ke versi yang lebih lama, aktifkan izinkan penurunan versi untuk melanjutkan” saat mencoba menerapkan versi baru SSM Agent di Wilayah.

Untuk menentukan versi yang SSM Agent tersedia untuk Anda, Anda dapat menjalankan curl perintah.

Untuk melihat versi agen yang tersedia di bucket unduhan global, jalankan perintah berikut.

curl https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/VERSION

Untuk melihat versi agen yang tersedia di Wilayah tertentu, jalankan perintah berikut, ganti wilayah dengan Wilayah tempat Anda bekerja, seperti us-east-2 untuk Wilayah US East (Ohio).

curl https://s3.region.amazonaws.com/amazon-ssm-region/latest/VERSION

Anda juga dapat membuka file VERSION secara langsung di peramban Anda tanpa perintah curl.

Menginstal SSM Agent pada VM dan instans lokal

Untuk informasi tentang menginstal SSM Agent pada mesin non-EC2 untuk lingkungan hybrid dan multicloud, lihat Install SSM Agent for a hybrid environment (Linux) dan Install SSM Agent for a hybrid environment (Windows).

Memvalidasi mesin yang diaktifkan hibrida menggunakan sidik jari perangkat keras

Ketika mesin non-EC2 di lingkungan hybrid dan multicloud, SSM Agent mengumpulkan sejumlah atribut sistem (disebut sebagai hash perangkat keras) dan menggunakan atribut ini untuk menghitung sidik jari. Sidik jari adalah string buram yang diteruskan agen ke API Systems Manager tertentu. Sidik jari unik ini mengaitkan penelepon dengan node terkelola yang diaktifkan hibrida tertentu. Agen menyimpan sidik jari dan hash perangkat keras pada disk lokal di lokasi yang disebut Vault.

Agen menghitung hash perangkat keras dan sidik jari saat mesin terdaftar untuk digunakan dengan Systems Manager. Kemudian, sidik jari diteruskan kembali ke layanan Systems Manager ketika agen mengirimkan perintah RegisterManagedInstance.

Kemudian, ketika mengirim perintah RequestManagedInstanceRoleToken, agen memeriksa sidik jari dan hash perangkat keras di Vault untuk memastikan bahwa atribut mesin saat ini cocok dengan hash perangkat keras yang disimpan. Jika atribut mesin saat ini cocok dengan hash perangkat keras yang disimpan di Vault, agen akan meneruskan sidik jari dari Vault ke RegisterManagedInstance, menghasilkan panggilan yang sukses.

Jika atribut mesin saat ini tidak cocok dengan hash perangkat keras yang disimpan, SSM Agent menghitung sidik jari baru, menyimpan hash perangkat keras dan sidik jari baru di Vault, dan meneruskan sidik jari baru ke. RequestManagedInstanceRoleToken Ini menyebabkan RequestManagedInstanceRoleToken gagal, dan agen tidak akan dapat memperoleh token peran untuk menghubungkan ke layanan Systems Manager.

Kegagalan ini dirancang dan digunakan sebagai langkah verifikasi untuk mencegah beberapa node terkelola berkomunikasi dengan layanan Systems Manager sebagai node terkelola yang sama.

Ketika membandingkan atribut mesin saat ini untuk hash perangkat keras yang disimpan di Vault, agen menggunakan logika berikut untuk menentukan apakah hash lama dan yang baru cocok:

  • Jika SID (ID sistem/mesin) berbeda, maka tidak ada yang cocok.

  • Jika tidak, jika alamat IP sama, maka cocokkan.

  • Jika tidak, persentase atribut mesin yang cocok dihitung dan dibandingkan dengan batas kesamaan yang dikonfigurasi pengguna untuk menentukan apakah ada kecocokan.

Batas kesamaan disimpan di Vault, sebagai bagian dari hash perangkat keras.

Batas kesamaan dapat diatur setelah instans terdaftar menggunakan perintah seperti berikut.

Pada mesin Linux:

sudo amazon-ssm-agent -fingerprint -similarityThreshold 1

Pada Windows Server mesin yang menggunakan PowerShell:

cd "C:\Program Files\Amazon\SSM\" ` .\amazon-ssm-agent.exe -fingerprint -similarityThreshold 1
penting

Jika salah satu komponen yang digunakan untuk menghitung sidik jari berubah, ini bisa menyebabkan agen hibernasi. Untuk membantu terhindar dari hibernasi ini, tetapkan batas kesamaan kepada nilai yang rendah, seperti 1.

SSM Agent pada GitHub

Kode sumber SSM Agent tersedia GitHubsehingga Anda dapat menyesuaikan agen untuk memenuhi kebutuhan Anda. Kami mendorong Anda untuk mengirim permintaan tarik untuk perubahan yang ingin Anda sertakan. Namun, Amazon Web Services tidak menyediakan dukungan untuk menjalankan salinan yang dimodifikasi dari perangkat lunak ini.