Contoh kebijakan berbasis identitas AWS Systems Manager - AWS Systems Manager

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

Contoh kebijakan berbasis identitas AWS Systems Manager

Secara default, entitasAWS Identity and Access Management (pengguna dan peran) tidak memiliki izin untuk membuat atau memodifikasiAWS Systems Manager sumber daya. Mereka juga tidak dapat melakukan tugas menggunakan konsol Systems Manager, AWS Command Line Interface (AWS CLI), atau AWS API. Administrator harus membuat kebijakan IAM yang memberikan izin kepada pengguna dan peran untuk melakukan operasi API tertentu pada sumber daya tertentu yang diperlukan. Administrator kemudian harus melampirkan kebijakan tersebut ke pengguna atau grup yang memerlukan izin tersebut.

Berikut ini adalah contoh kebijakan izin yang memungkinkan pengguna menghapus dokumen dengan nama yang dimulaiMyDocument- di US East (Ohio) (us-east-2)Wilayah AWS.

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "ssm:DeleteDocument" ], "Resource" : [ "arn:aws:ssm:us-east-2:111122223333:document/MyDocument-*" ] } ] }

Untuk mempelajari cara membuat kebijakan berbasis identitas IAM menggunakan contoh dokumen Kebijakan JSON ini, lihat Membuat kebijakan IAM dalam Panduan Pengguna IAM.

Praktik terbaik kebijakan

Kebijakan berbasis identitas menentukan apakah seseorang dapat membuat, mengakses, atau menghapusSystems Manager sumber daya di akun Anda. Tindakan ini membuat Akun AWS Anda terkena biaya. Ketika Anda membuat atau mengedit kebijakan berbasis identitas, ikuti panduan dan rekomendasi ini:

  • Memulai kebijakanAWS terkelola dan beralih ke izin paling sedikit hak istimewa — Untuk mulai memberikan izin kepada pengguna dan beban kerja Anda, gunakan kebijakanAWS terkelola yang memberikan izin untuk banyak kasus penggunaan umum. Mereka tersedia di AndaAkun AWS. Kami menyarankan Anda mengurangi izin lebih lanjut dengan menentukan kebijakan yang dikelolaAWS pelanggan yang spesifik untuk kasus penggunaan Anda. Untuk informasi selengkapnya, lihat kebijakanAWSAWS terkelola atau kebijakan terkelola untuk fungsi pekerjaan di Panduan Pengguna IAM.

  • Terapkan izin paling rendah — Saat Anda mengatur izin dengan kebijakan IAM, hanya berikan izin yang diperlukan untuk melaksanakan tugas. Anda melakukan ini dengan menentukan tindakan yang dapat diambil pada sumber daya tertentu dalam kondisi tertentu, juga dikenal sebagai izin paling tidak memiliki hak istimewa. Untuk informasi selengkapnya tentang penggunaan IAM untuk menerapkan izin, lihat Kebijakan dan izin di IAM dalam Panduan Pengguna IAM.

  • Gunakan ketentuan dalam kebijakan IAM untuk membatasi akses lebih lanjut — Anda dapat menambahkan kondisi pada kebijakan Anda untuk membatasi akses ke tindakan dan sumber daya. Misalnya, Anda dapat menulis kondisi kebijakan untuk menentukan bahwa semua permintaan harus dikirim menggunakan SSL. Anda juga dapat menggunakan kondisi untuk memberikan akses ke tindakan layanan jika digunakan melalui spesifikAWS layanan, sepertiAWS CloudFormation. Untuk informasi lebih lanjut, lihat Elemen Kebijakan IAM JSON: Syarat dalam Panduan Pengguna IAM.

  • Gunakan IAM Access Analyzer untuk memvalidasi kebijakan IAM Anda untuk memastikan izin yang aman dan fungsional - IAM Access Analyzer memvalidasi kebijakan baru dan yang sudah ada sehingga kebijakan mematuhi bahasa kebijakan IAM (JSON) dan praktik terbaik IAM. IAM Access Analyzer menyediakan lebih dari 100 pemeriksaan kebijakan dan rekomendasi yang dapat ditindaklanjuti untuk membantu Anda membuat kebijakan yang aman dan fungsional. Untuk informasi selengkapnya, lihat validasi kebijakan IAM Access Analyzer di Panduan Pengguna IAM.

  • Memerlukan otentikasi multi-faktor (MFA) — Jika Anda memiliki skenario yang mengharuskan pengguna IAM atau pengguna root di AndaAkun AWS, aktifkan MFA untuk keamanan tambahan. Untuk mewajibkan MFA saat operasi API dipanggil, tambahkan kondisi MFA ke kebijakan Anda. Untuk informasi selengkapnya, lihat Mengonfigurasi akses API yang dilindungi MFA di Panduan Pengguna IAM.

Untuk informasi selengkapnya tentang praktik terbaik dalam IAM, lihat praktik terbaik keamanan di IAM dalam Panduan Pengguna IAM.

Menggunakan konsol Systems Manager

Untuk mengakses konsol Systems Manager, Anda harus memiliki rangkaian izin minimum. Izin ini harus memperbolehkan Anda untuk membuat daftar dan melihat detail tentangSystems Manager sumber daya dan sumber daya lainnya di AndaAkun AWS.

Untuk menggunakan sepenuhnyaSystems Manager diSystems Manager konsol, Anda harus memiliki izin dari layanan berikut:

  • AWS Systems Manager

  • Amazon Elastic Compute Cloud (Amazon EC2)

  • AWS Identity and Access Management (IAM)

Anda dapat memberikan izin yang diperlukan dengan pernyataan kebijakan berikut.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:*", "ec2:describeInstances", "iam:ListRoles" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "ssm.amazonaws.com" } } } ] }

Jika Anda membuat kebijakan berbasis identitas yang lebih ketat dari izin minimum yang diperlukan, konsol tidak akan berfungsi sebagaimana dimaksudkan untuk entitas IAM (pengguna atau peran) dengan kebijakan tersebut.

Anda tidak perlu mengizinkan konsol minimum untuk pengguna yang melakukan panggilan hanya ke AWS CLI atau API AWS. Alih-alih, izinkan akses hanya ke tindakan yang sesuai dengan operasi API yang Anda coba lakukan.

Izinkan para pengguna untuk melihat izin mereka sendiri

Contoh ini menunjukkan cara Anda dapat membuat kebijakan yang mengizinkan para pengguna IAM untuk melihat kebijakan inline dan terkelola yang dilampirkan ke identitas pengguna mereka. Kebijakan ini mencakup izin untuk menyelesaikan tindakan ini pada konsol tersebut atau secara terprogram menggunakan AWS CLI atau AWS API.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Contoh kebijakan yang dikelola pelanggan

Anda dapat membuat kebijakan mandiri yang Anda kelola di Akun AWS Anda. Kami menyebut ini sebagai Kebijakan terkelola pelanggan. Anda dapat melampirkan kebijakan ke beberapa entitas prinsipal di akun Akun AWS Anda. Saat Anda melampirkan kebijakan pada entitas prinsipal, Anda memberikan entitas sebuah izin yang ditentukan dalam kebijakan. Untuk informasi selengkapnya, lihat Contoh kebijakan terkelola pelanggan di Panduan Pengguna IAM.

Contoh kebijakan pengguna berikut memberikan izin untuk berbagai tindakan Systems Manager. Gunakan mereka untuk membatasiSystems Manager akses bagi entitas IAM (pengguna dan peran). Kebijakan ini berfungsi saat melakukan tindakan diSystems Manager API,AWS SDK, atauAWS CLI. Untuk pengguna yang menggunakan konsol, Anda perlu memberikan izin tambahan khusus untuk konsol. Untuk informasi selengkapnya, lihat Menggunakan konsol Systems Manager.

catatan

Semua contoh menggunakan wilayah US West (Oregon) (us-west-2) dan berisi ID akun fiktif . ID akun tidak boleh ditentukan dalam Amazon Resource Name (ARN) untuk dokumen publik AWS (dokumen yang dimulai dengan AWS-*).

Contoh

Contoh 1: Mengizinkan pengguna untuk melakukanSystems Manager operasi dalam satu Region

Contoh berikut memberikan izin untuk melakukanSystems Manager operasi hanya di Region US East (Ohio) (us-east-2).

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "ssm:*" ], "Resource" : [ "arn:aws:ssm:us-east-2:aws-account-ID:*" ] } ] }

Contoh 2: Memungkinkan pengguna untuk mendaftarkan dokumen untuk satu Wilayah

Contoh berikut memberikan izin untuk mencantumkan semua nama dokumen yang dimulai denganUpdate Region US East (Ohio) Region US East (Ohio).

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "ssm:ListDocuments" ], "Resource" : [ "arn:aws:ssm:us-east-2:aws-account-ID:document/Update*" ] } ] }

Contoh 3: Mengizinkan pengguna untuk menggunakan dokumen SSM untuk menjalankan perintah pada node tertentu

Contoh kebijakan IAM mengizinkan pengguna untuk melakukan hal berikut di Region US East (Ohio) (us-east-2):

  • DaftarSystems Manager dokumen (dokumen SSM) dan versi dokumen

  • Lihat detail tentang dokumen.

  • Kirim perintah menggunakan dokumen yang telah ditentukan dalam kebijakan. Nama dokumen ditentukan oleh entri berikut.

    arn:aws:ssm:us-east-2:aws-account-ID:document/Systems-Manager-document-name
  • Kirim perintah ke tiga node. Node ditentukan oleh entri berikut diResource bagian kedua.

    "arn:aws:ec2:us-east-2:aws-account-ID:instance/i-02573cafcfEXAMPLE", "arn:aws:ec2:us-east-2:aws-account-ID:instance/i-0471e04240EXAMPLE", "arn:aws:ec2:us-east-2:aws-account-ID:instance/i-07782c72faEXAMPLE"
  • Melihat rincian tentang perintah setelah dikirim.

  • Memulai dan menghentikan alur kerja di otomatisasi, suatu kemampuan AWS Systems Manager.

  • Dapatkan informasi tentang alur kerja Otomatisasi.

Jika Anda ingin memberikan izin pengguna untuk menggunakan dokumen ini untuk mengirim perintah pada setiap node pengguna yang memiliki akses, Anda dapat menentukan entri yang mirip dengan berikut diResource bagian dan menghapus entri simpul lainnya. Contoh berikut menggunakan Region US East (Ohio) (us-east-2).

"arn:aws:ec2:us-east-2:*:instance/*"
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ssm:ListDocuments", "ssm:ListDocumentVersions", "ssm:DescribeDocument", "ssm:GetDocument", "ssm:DescribeInstanceInformation", "ssm:DescribeDocumentParameters", "ssm:DescribeInstanceProperties" ], "Effect": "Allow", "Resource": "*" }, { "Action": "ssm:SendCommand", "Effect": "Allow", "Resource": [ "arn:aws:ec2:us-east-2:aws-account-ID:instance/i-02573cafcfEXAMPLE", "arn:aws:ec2:us-east-2:aws-account-ID:instance/i-0471e04240EXAMPLE", "arn:aws:ec2:us-east-2:aws-account-ID:instance/i-07782c72faEXAMPLE", "arn:aws:ssm:us-east-2:aws-account-ID:document/Systems-Manager-document-name" ] }, { "Action": [ "ssm:CancelCommand", "ssm:ListCommands", "ssm:ListCommandInvocations" ], "Effect": "Allow", "Resource": "*" }, { "Action": "ec2:DescribeInstanceStatus", "Effect": "Allow", "Resource": "*" }, { "Action": "ssm:StartAutomationExecution", "Effect": "Allow", "Resource": [ "arn:aws:ssm:us-east-2:aws-account-ID:automation-definition/*" ] }, { "Action": "ssm:DescribeAutomationExecutions", "Effect": "Allow", "Resource": [ "*" ] }, { "Action": [ "ssm:StopAutomationExecution", "ssm:GetAutomationExecution" ], "Effect": "Allow", "Resource": [ "*" ] } ] }

MelihatSystems Manager dokumen berdasarkan tag

Anda dapat menggunakan syarat dalam kebijakan berbasis identitas Anda untuk mengontrol akses ke sumber daya Systems Manager berdasarkan tanda. Contoh ini menunjukkan cara bagaimana Anda dapat membuat kebijakan yang memperbolehkan melihat dokumen SSM. Namun, izin diberikan hanya jika tag dokumen Owner memiliki nilai nama pengguna dari pengguna tersebut. Kebijakan ini juga memberi izin yang diperlukan untuk menyelesaikan tindakan ini pada konsol tersebut.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListDocumentsInConsole", "Effect": "Allow", "Action": "ssm:ListDocuments", "Resource": "*" }, { "Sid": "ViewDocumentIfOwner", "Effect": "Allow", "Action": "ssm:GetDocument", "Resource": "arn:aws:ssm:*:*:document/*", "Condition": { "StringEquals": {"ssm:ResourceTag/Owner": "${aws:username}"} } } ] }

Anda dapat melampirkan kebijakan ini ke pengguna di akun Anda. Jika pengguna bernamarichard-roe mencoba untuk melihatSystems Manager dokumen, dokumen harus ditandaiOwner=richard-roe atauowner=richard-roe. Jika tidak, mereka ditolak aksesnya. Kunci tag kondisi Owner cocok dengan Owner dan owner karena nama kunci kondisi tidak terpengaruh huruf besar/kecil. Untuk informasi selengkapnya, lihat Elemen kebijakan JSON IAM: Syarat dalam Panduan Pengguna IAM.