Mengatur Run Command - AWS Systems Manager

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

Mengatur Run Command

Sebelum Anda dapat mengelola node dengan menggunakan Run Command, suatu kemampuan AWS Systems Manager, mengonfigurasi kebijakan AWS Identity and Access Management (IAM) untuk setiap pengguna yang akan menjalankan perintah. Jika Anda menggunakan kunci kondisi global untuk SendCommand tindakan dalam IAM kebijakan Anda, Anda harus menyertakan kunci aws:ViaAWSService kondisi dan menyetel nilai boolean ketrue. Berikut adalah contohnya.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["ssm:SendCommand"], "Resource": ["arn:aws:ssm:region:account:document/YourDocument"], "Condition": { "StringEquals": { "aws:SourceVpce": ["vpce-example1234"] } } }, { "Effect": "Allow", "Action": ["ssm:Sendcommand"], "Resource": ["arn:aws:ssm:region:account:document/YourDocument"], "Condition": { "Bool": {"aws:ViaAWSService": "true"} } } ] }

Anda juga harus mengkonfigurasi node Anda untuk Systems Manager. Untuk informasi selengkapnya, lihat Menyiapkan node terkelola untuk AWS Systems Manager.

Kami merekomendasikan untuk melengkapi tugas penyiapan opsional berikut untuk membantu meminimalkan postur keamanan dan day-to-day pengelolaan node terkelola.

Memantau eksekusi perintah menggunakan Amazon EventBridge

Anda dapat menggunakan EventBridge untuk membuat log perubahan status eksekusi perintah. Anda dapat membuat aturan yang berjalan setiap kali terjadi status transisi, atau saat ada transisi ke satu atau beberapa status yang penting. Anda juga dapat menentukan Run Command sebagai tindakan target ketika suatu EventBridge peristiwa terjadi. Untuk informasi selengkapnya, lihat Mengkonfigurasi EventBridge untuk acara Systems Manager.

Memantau eksekusi perintah menggunakan Amazon CloudWatch Logs Logs

Anda dapat mengonfigurasi Run Command untuk secara berkala mengirimkan semua output perintah dan log kesalahan ke grup CloudWatch log Amazon. Anda dapat memantau log output ini secara hampir waktu nyata, mencari frasa, nilai, atau pola tertentu, dan membuat alarm berdasarkan pencarian. Untuk informasi selengkapnya, lihat Mengkonfigurasi CloudWatch Log Amazon untuk Run Command.

Pembatasan Run Command akses ke node terkelola tertentu

Anda dapat membatasi kemampuan pengguna untuk menjalankan perintah pada node terkelola dengan menggunakan AWS Identity and Access Management (IAM). Secara khusus, Anda dapat membuat IAM kebijakan dengan syarat bahwa pengguna hanya dapat menjalankan perintah pada node terkelola yang ditandai dengan tag tertentu. Untuk informasi selengkapnya, lihat Pembatasan Run Command akses berdasarkan tag.

Pembatasan Run Command akses berdasarkan tag

Bagian ini menjelaskan cara membatasi kemampuan pengguna untuk menjalankan perintah pada node terkelola dengan menentukan kondisi tag dalam kebijakan. IAM Node terkelola menyertakan EC2 instans Amazon dan EC2 non-node dalam lingkungan hybrid dan multicloud yang dikonfigurasi untuk Systems Manager. Meskipun informasi tidak disajikan secara eksplisit, Anda juga dapat membatasi akses ke perangkat inti yang dikelola AWS IoT Greengrass . Untuk memulai, Anda harus menandai AWS IoT Greengrass perangkat Anda. Untuk informasi selengkapnya, lihat Menandai AWS IoT Greengrass Version 2 sumber daya Anda di Panduan AWS IoT Greengrass Version 2 Pengembang.

Anda dapat membatasi eksekusi perintah ke node terkelola tertentu dengan membuat IAM kebijakan yang mencakup syarat bahwa pengguna hanya dapat menjalankan perintah pada node dengan tag tertentu. Dalam contoh berikut, pengguna diizinkan untuk menggunakan Run Command (Effect: Allow, Action: ssm:SendCommand) dengan menggunakan SSM dokumen apa pun (Resource: arn:aws:ssm:*:*:document/*) pada setiap node (Resource: arn:aws:ec2:*:*:instance/*) dengan syarat bahwa node adalah Finance WebServer (ssm:resourceTag/Finance: WebServer). Jika pengguna mengirimkan perintah ke node yang tidak ditandai atau yang memiliki tag selainFinance: WebServer, hasil eksekusi menunjukkanAccessDenied.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ssm:SendCommand" ], "Resource":[ "arn:aws:ssm:*:*:document/*" ] }, { "Effect":"Allow", "Action":[ "ssm:SendCommand" ], "Resource":[ "arn:aws:ec2:*:*:instance/*" ], "Condition":{ "StringLike":{ "ssm:resourceTag/Finance":[ "WebServers" ] } } } ] }

Anda dapat membuat IAM kebijakan yang mengizinkan pengguna untuk menjalankan perintah pada node terkelola yang ditandai beberapa tag. Kebijakan berikut ini mengizinkan pengguna untuk menjalankan perintah pada node terkelola yang memiliki dua tag. Jika pengguna mengirimkan perintah ke simpul yang tidak ditandai kedua tag tersebut, hasil eksekusi menunjukkanAccessDenied.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ssm:SendCommand" ], "Resource":"*", "Condition":{ "StringLike":{ "ssm:resourceTag/tag_key1":[ "tag_value1" ], "ssm:resourceTag/tag_key2":[ "tag_value2" ] } } }, { "Effect":"Allow", "Action":[ "ssm:SendCommand" ], "Resource":[ "arn:aws:ssm:us-west-1::document/AWS-*", "arn:aws:ssm:us-east-2::document/AWS-*" ] }, { "Effect":"Allow", "Action":[ "ssm:UpdateInstanceInformation", "ssm:ListCommands", "ssm:ListCommandInvocations", "ssm:GetDocument" ], "Resource":"*" } ] }

Anda juga dapat membuat IAM kebijakan yang mengizinkan pengguna untuk menjalankan perintah pada beberapa grup node terkelola yang ditandai. Kebijakan berikut ini mengizinkan pengguna untuk menjalankan perintah pada salah satu grup node yang ditandai, atau kedua grup.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ssm:SendCommand" ], "Resource":"*", "Condition":{ "StringLike":{ "ssm:resourceTag/tag_key1":[ "tag_value1" ] } } }, { "Effect":"Allow", "Action":[ "ssm:SendCommand" ], "Resource":"*", "Condition":{ "StringLike":{ "ssm:resourceTag/tag_key2":[ "tag_value2" ] } } }, { "Effect":"Allow", "Action":[ "ssm:SendCommand" ], "Resource":[ "arn:aws:ssm:us-west-1::document/AWS-*", "arn:aws:ssm:us-east-2::document/AWS-*" ] }, { "Effect":"Allow", "Action":[ "ssm:UpdateInstanceInformation", "ssm:ListCommands", "ssm:ListCommandInvocations", "ssm:GetDocument" ], "Resource":"*" } ] }

Untuk informasi selengkapnya tentang membuat IAM kebijakan, lihat Kebijakan Terkelola dan kebijakan inline di Panduan IAM Pengguna. Untuk informasi selengkapnya tentang menandai node terkelola, lihat Editor Tag di Panduan AWS Resource Groups Pengguna.