Peran layanan untuk CloudFormation - AWS Bimbingan Preskriptif

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

Peran layanan untuk CloudFormation

Peran layanan adalah peran AWS Identity and Access Management (IAM) yang memungkinkan AWS CloudFormation untuk membuat, memperbarui, atau menghapus sumber daya tumpukan. Jika Anda tidak memberikan peran layanan, CloudFormation gunakan kredensil prinsipal IAM untuk melakukan operasi tumpukan. Jika Anda membuat peran layanan untuk CloudFormation dan menentukan peran layanan selama pembuatan tumpukan, CloudFormation gunakan kredensional peran layanan untuk melakukan operasi, bukan kredenal prinsipal IAM.

Saat menggunakan peran layanan, kebijakan berbasis identitas yang dilampirkan pada prinsipal IAM tidak memerlukan izin untuk menyediakan semua AWS sumber daya yang ditentukan dalam templat. CloudFormation Jika Anda tidak siap untuk menyediakan AWS sumber daya untuk operasi bisnis penting melalui pipa pengembangan (praktik terbaik yang AWS disarankan), menggunakan peran layanan dapat menambahkan lapisan perlindungan tambahan untuk manajemen sumber daya di AWS. Manfaat dari pendekatan ini adalah:

  • Prinsipal IAM di organisasi Anda mengikuti model hak istimewa terkecil yang mencegah mereka membuat atau mengubah sumber daya secara manual di lingkungan Anda. AWS

  • Untuk membuat, memperbarui, atau menghapus AWS sumber daya, prinsipal IAM harus menggunakan. CloudFormation Ini menstandarisasi penyediaan sumber daya melalui infrastruktur sebagai kode.

Misalnya, untuk membuat tumpukan yang berisi instans Amazon Elastic Compute Cloud (Amazon EC2), prinsipal IAM harus memiliki izin untuk membuat EC2 instance melalui kebijakan berbasis identitas mereka. Sebagai gantinya, CloudFormation dapat mengambil peran layanan yang memiliki izin untuk membuat EC2 instance atas nama kepala sekolah. Dengan pendekatan ini, prinsipal IAM dapat membuat tumpukan, dan Anda tidak perlu memberikan izin yang terlalu luas kepada prinsipal IAM untuk layanan yang seharusnya tidak mereka akses reguler.

Untuk menggunakan peran layanan untuk membuat CloudFormation tumpukan, kepala sekolah IAM harus memiliki izin untuk meneruskan peran layanan CloudFormation, dan kebijakan kepercayaan dari peran layanan harus memungkinkan untuk mengambil peran tersebut. CloudFormation

Menerapkan hak istimewa paling sedikit untuk peran CloudFormation layanan

Dalam peran layanan, Anda menentukan kebijakan izin yang secara eksplisit menentukan tindakan yang dapat dilakukan layanan. Ini mungkin bukan tindakan yang sama yang dapat dilakukan oleh kepala sekolah IAM. Kami menyarankan Anda bekerja mundur dari CloudFormation template Anda untuk membuat peran layanan yang mematuhi prinsip hak istimewa paling sedikit.

Mencakup kebijakan berbasis identitas dari kepala sekolah IAM dengan benar untuk hanya melewati peran layanan tertentu dan melingkupi kebijakan kepercayaan peran layanan untuk memungkinkan hanya kepala sekolah tertentu untuk mengambil peran membantu mencegah kemungkinan eskalasi hak istimewa melalui peran layanan.

Mengkonfigurasi peran layanan

catatan

Peran layanan dikonfigurasi di IAM. Untuk membuat peran layanan, Anda harus memiliki izin untuk melakukannya. Prinsipal IAM dengan izin untuk membuat peran dan melampirkan kebijakan apa pun dapat meningkatkan izin mereka sendiri. AWS merekomendasikan membuat satu peran layanan untuk masing-masing Layanan AWS untuk setiap kasus penggunaan. Setelah membuat peran CloudFormation layanan untuk kasus penggunaan, Anda dapat mengizinkan pengguna untuk hanya meneruskan peran layanan yang disetujui CloudFormation. Untuk contoh kebijakan berbasis identitas yang memungkinkan pengguna membuat peran layanan, lihat Izin peran layanan dalam dokumentasi IAM.

Untuk petunjuk tentang cara membuat peran layanan, lihat Membuat peran untuk mendelegasikan izin ke. Layanan AWS Tentukan CloudFormation (cloudformation.amazonaws.com) sebagai layanan yang dapat mengasumsikan peran tersebut. Ini mencegah prinsipal IAM dari mengambil peran itu sendiri atau meneruskannya ke layanan lain. Saat Anda mengonfigurasi peran layananEffect, elemenAction, dan Resource elemen diperlukan. Anda juga dapat mendefinisikan Condition elemen secara opsional.

Untuk informasi selengkapnya tentang elemen-elemen ini, lihat referensi elemen kebijakan IAM JSON. Untuk daftar lengkap tindakan, sumber daya, dan kunci kondisi, lihat Tindakan, sumber daya, dan kunci kondisi untuk Manajemen Identitas dan Akses.

Memberikan izin utama IAM untuk menggunakan peran layanan CloudFormation

Untuk menyediakan sumber daya CloudFormation melalui dengan menggunakan peran CloudFormation layanan, prinsipal IAM harus memiliki izin untuk lulus peran layanan. Anda dapat membatasi izin kepala sekolah IAM untuk hanya meneruskan peran tertentu dengan menentukan ARN peran dalam izin kepala sekolah. Untuk informasi selengkapnya, lihat Memberikan izin pengguna untuk meneruskan peran ke dokumentasi Layanan AWS IAM.

Pernyataan kebijakan berbasis identitas IAM berikut memungkinkan prinsipal untuk melewati peran, termasuk peran layanan, yang ada di jalurnya. cfnroles Kepala sekolah tidak dapat melewati peran yang berada di jalur yang berbeda.

{ "Sid": "AllowPassingAppRoles", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::<account ID>:role/cfnroles/*" }

Pendekatan lain untuk membatasi prinsipal pada peran tertentu adalah dengan menggunakan awalan untuk CloudFormation nama peran layanan. Pernyataan kebijakan berikut memungkinkan prinsipal IAM untuk hanya meneruskan peran yang memiliki awalan. CFN-

{ "Sid": "AllowPassingAppRoles", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::<account ID>:role/CFN-*" }

Selain pernyataan kebijakan sebelumnya, Anda dapat menggunakan kunci cloudformation:RoleARN kondisi untuk memberikan kontrol lebih lanjut dalam kebijakan berbasis identitas, untuk akses hak istimewa paling sedikit. Pernyataan kebijakan berikut memungkinkan prinsipal IAM untuk membuat, memperbarui, dan menghapus tumpukan hanya jika mereka melewati peran CloudFormation layanan tertentu. Sebagai variasi, Anda dapat menentukan lebih ARNs dari satu peran CloudFormation layanan dalam kunci kondisi.

{ "Sid": "RestrictCloudFormationAccess", "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:UpdateStack" ], "Resource": "arn:aws:iam::<account ID>:role/CFN-*", "Condition": { "StringEquals": { "cloudformation:RoleArn": [ "<ARN of the specific CloudFormation service role>" ] } } }

Selain itu Anda juga dapat menggunakan kunci cloudformation:RoleARN kondisi untuk membatasi prinsipal IAM agar tidak melewati peran CloudFormation layanan yang sangat istimewa untuk operasi tumpukan. Satu-satunya perubahan yang diperlukan adalah di operator bersyarat, dari StringEquals keStringNotEquals.

{ "Sid": "RestrictCloudFormationAccess", "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:UpdateStack" ], "Resource": "arn:aws:iam::<account ID>:role/CFN-*", "Condition": { "StringNotEquals": { "cloudformation:RoleArn": [ "<ARN of a privilege CloudFormation service role>" ] } } }

Mengonfigurasi kebijakan kepercayaan untuk peran CloudFormation layanan

Kebijakan kepercayaan peran adalah kebijakan berbasis sumber daya wajib yang melekat pada peran IAM. Kebijakan kepercayaan mendefinisikan prinsip-prinsip IAM mana yang dapat mengambil peran tersebut. Dalam kebijakan kepercayaan, Anda dapat menentukan pengguna, peran, akun, atau layanan sebagai prinsipal. Untuk mencegah prinsipal IAM meneruskan peran layanan CloudFormation ke layanan lain, Anda dapat menentukan CloudFormation sebagai prinsipal dalam kebijakan kepercayaan peran.

Kebijakan kepercayaan berikut hanya memungkinkan CloudFormation layanan untuk mengambil peran layanan.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "cloudformation.amazonaws.com" }, "Action": "sts:AssumeRole" } }

Mengaitkan peran layanan dengan tumpukan

Setelah peran layanan dibuat, Anda dapat mengaitkannya dengan tumpukan saat membuat tumpukan. Untuk informasi selengkapnya, lihat Mengkonfigurasi opsi tumpukan. Sebelum Anda menentukan peran layanan, pastikan bahwa kepala sekolah IAM memiliki izin untuk meneruskannya. Untuk informasi selengkapnya, lihat Memberikan izin utama IAM untuk menggunakan peran layanan CloudFormation .