Kontrol CloudFormation akses dengan AWS Identity and Access Management - AWS CloudFormation

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

Kontrol CloudFormation akses dengan AWS Identity and Access Management

Dengan AWS Identity and Access Management (IAM), Anda dapat membuat IAM pengguna untuk mengontrol siapa yang memiliki akses ke sumber daya mana di Anda Akun AWS. Anda dapat menggunakannya IAM AWS CloudFormation untuk mengontrol apa yang dapat dilakukan pengguna CloudFormation, seperti apakah mereka dapat melihat templat tumpukan, membuat tumpukan, atau menghapus tumpukan.

Selain CloudFormation tindakan, Anda dapat mengelola AWS layanan dan sumber daya apa yang tersedia untuk setiap pengguna. Dengan begitu, Anda dapat mengontrol sumber daya mana yang dapat diakses pengguna saat mereka menggunakannya CloudFormation. Misalnya, Anda dapat menentukan pengguna mana yang dapat membuat EC2 instance Amazon, menghentikan instance database, atau memperbarui. VPCs Izin yang sama tersebut diterapkan kapan saja mereka menggunakan CloudFormation untuk melakukan tindakan tersebut.

Untuk informasi selengkapnya tentang semua layanan yang dapat Anda kendalikan aksesnya, lihat AWS layanan yang mendukung IAM di Panduan IAM Pengguna.

CloudFormation tindakan

Saat membuat grup atau pengguna di grup Akun AWS, Anda dapat mengaitkan IAM kebijakan dengan grup atau pengguna tersebut, yang menentukan izin yang ingin Anda berikan. Misalnya, bayangkan Anda memiliki sekelompok developer pemula. Anda dapat membuat grup pengembang aplikasi junior yang mencakup semua pengembang entry-level. Kemudian, Anda mengaitkan kebijakan dengan grup yang memungkinkan pengguna hanya melihat CloudFormation tumpukan. Dalam skenario ini, Anda mungkin memiliki kebijakan seperti contoh berikut:

contoh Contoh kebijakan yang memberikan izin menampilkan tumpukan
{ "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action":[ "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResource", "cloudformation:DescribeStackResources" ], "Resource":"*" }] }

Kebijakan memberikan izin untuk semua DescribeStack API tindakan yang tercantum dalam elemen. Action

penting

Jika Anda tidak menentukan nama tumpukan atau ID dalam pernyataan Anda, Anda juga harus memberikan izin untuk menggunakan semua sumber daya untuk tindakan menggunakan wildcard * untuk elemen Resource tersebut.

Selain CloudFormation tindakan, pengguna yang membuat atau menghapus tumpukan memerlukan izin tambahan yang bergantung pada templat tumpukan. Misalnya, jika Anda memiliki templat yang menjelaskan SQS Antrian Amazon, pengguna harus memiliki izin yang sesuai untuk SQS tindakan Amazon agar berhasil membuat tumpukan, seperti yang ditunjukkan dalam kebijakan contoh berikut:

contoh Contoh kebijakan yang memberikan tindakan pembuatan dan tampilan tumpukan dan semua tindakan Amazon SQS
{ "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action":[ "sqs:*", "cloudformation:CreateStack", "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResources", "cloudformation:GetTemplate", "cloudformation:ValidateTemplate" ], "Resource":"*" }] }

Untuk daftar semua CloudFormation tindakan yang dapat Anda izinkan atau tolak, lihat AWS CloudFormation APIReferensi.

CloudFormation tindakan khusus konsol

Pengguna yang menggunakan CloudFormation konsol memerlukan izin tambahan yang tidak diperlukan untuk menggunakan AWS Command Line Interface atau CloudFormation APIs. Dibandingkan dengan AWS CLI danAPI, konsol menyediakan fitur tambahan yang memerlukan izin tambahan, seperti unggahan templat ke bucket Amazon S3 dan daftar drop-down untuk tipe parameter spesifik. AWS

Untuk semua tindakan berikut, berikan izin ke semua sumber daya; jangan batasi tindakan pada tumpukan atau bucket tertentu.

Tindakan yang diperlukan berikut hanya digunakan oleh CloudFormation konsol dan tidak didokumentasikan dalam API referensi. Tindakan ini memungkinkan pengguna untuk mengunggah template ke bucket Amazon S3.

cloudformation:CreateUploadBucket

Saat pengguna mengunggah templat, mereka memerlukan izin Amazon S3 berikut:

s3:PutObject s3:ListBucket s3:GetObject s3:CreateBucket

Untuk template dengan tipe parameter AWS-specific, pengguna memerlukan izin untuk membuat panggilan describe API yang sesuai. Misalnya, jika template menyertakan tipe AWS::EC2::KeyPair::KeyName parameter, pengguna memerlukan izin untuk memanggil EC2 DescribeKeyPairs tindakan (ini adalah bagaimana konsol mendapatkan nilai untuk daftar drop-down parameter). Contoh berikut adalah tindakan yang diperlukan pengguna untuk jenis parameter lainnya:

ec2:DescribeSecurityGroups (for the AWS::EC2::SecurityGroup::Id parameter type) ec2:DescribeSubnets (for the Subnet::Id parameter type) ec2:DescribeVpcs (for the AWS::EC2::VPC::Id parameter type)

CloudFormation sumber daya

CloudFormation mendukung izin tingkat sumber daya, sehingga Anda dapat menentukan tindakan untuk tumpukan tertentu, seperti yang ditunjukkan dalam kebijakan berikut:

contoh Contoh kebijakan yang menolak tindakan menghapus dan memperbarui tumpukan untuk MyProductionStack
{ "Version":"2012-10-17", "Statement":[{ "Effect":"Deny", "Action":[ "cloudformation:DeleteStack", "cloudformation:UpdateStack" ], "Resource":"arn:aws:cloudformation:us-east-1:123456789012:stack/MyProductionStack/*" }] }

Kebijakan di atas menggunakan wild card di akhir nama tumpukan sehingga hapus tumpukan dan perbarui tumpukan ditolak pada ID tumpukan penuh (seperti arn:aws:cloudformation:us-east-1:123456789012:stack/MyProductionStack/abc9dbf0-43c2-11e3-a6e8-50fa526be49c) dan pada nama tumpukan (seperti MyProductionStack).

Untuk memungkinkan AWS::Serverless berubah untuk membuat set perubahan, kebijakan harus menyertakan izin tingkat sumber daya arn:aws:cloudformation:<region>:aws:transform/Serverless-2016-10-31, seperti yang ditunjukkan dalam kebijakan berikut:

contoh Contoh kebijakan yang memungkinkan tindakan membuat set perubahan untuk perubahan tersebut
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "cloudformation:CreateChangeSet" ], "Resource": "arn:aws:cloudformation:us-west-2:aws:transform/Serverless-2016-10-31" }] }

Contoh kebijakan yang memberikan izin set tumpukan yang dikelola layanan

Berikut ini adalah contoh kebijakan IAM yang memberikan izin set tumpukan yang dikelola layanan ke entitas utama (pengguna, peran, atau grup). Pengguna dengan kebijakan ini hanya dapat menjalankan operasi pada kumpulan tumpukan dengan templat yang berisi tipe sumber daya Amazon S3 (AWS::S3::*) atau jenis AWS::SES::ConfigurationSet sumber daya. Jika masuk ke akun manajemen organisasi dengan ID123456789012, pengguna juga hanya dapat melakukan operasi pada kumpulan tumpukan yang menargetkan OU dengan IDou-1fsfsrsdsfrewr, dan hanya dapat melakukan operasi pada kumpulan tumpukan dengan ID stack-set-id yang menargetkan ID Akun AWS with987654321012.

Operasi set tumpukan gagal jika templat kumpulan tumpukan berisi tipe sumber daya selain yang ditentukan dalam kebijakan, atau jika target penerapan adalah OU atau akun IDs selain yang ditentukan dalam kebijakan untuk akun manajemen dan kumpulan tumpukan terkait.

Pembatasan kebijakan ini hanya berlaku ketika operasi set tumpukan menargetkanus-east-1,us-west-2, atau eu-west-2 Wilayah AWS.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:*" ], "Resource": [ "arn:aws:cloudformation:*:*:stackset/*", "arn:aws:cloudformation:*:*:type/resource/AWS-S3-*", "arn:aws:cloudformation:us-west-2::type/resource/AWS-SES-ConfigurationSet", "arn:aws:cloudformation:*:123456789012:stackset-target/*/ou-1fsfsrsdsfrewr", "arn:aws:cloudformation:*:123456789012:stackset-target/stack-set-id/987654321012" ], "Condition": { "ForAllValues:StringEqualsIgnoreCase": { "cloudformation:TargetRegion": [ "us-east-1", "us-west-2", "eu-west-1" ] } } } ] }

CloudFormation kondisi

Dalam kebijakan IAM, Anda dapat secara opsional menentukan syarat yang mengontrol kapan kebijakan tersebut berlaku. Misalnya, Anda dapat menentukan kebijakan yang memungkinkan pengguna membuat tumpukan hanya jika mereka menentukan templat tertentuURL. Anda dapat menentukan kondisi CloudFormation -spesifik dan kondisi AWS-wide, sepertiDateLessThan, yang menentukan kapan kebijakan berhenti berlaku. Untuk informasi selengkapnya dan daftar kondisi AWS-wide, lihat Kondisi dalam referensi elemen IAM kebijakan di Panduan IAM Pengguna.

catatan

Jangan gunakan kondisi aws:SourceIp AWS-wide. CloudFormation menyediakan sumber daya dengan menggunakan alamat IP sendiri, bukan alamat IP dari permintaan asal. Misalnya, saat Anda membuat tumpukan, CloudFormation membuat permintaan dari alamat IP-nya untuk meluncurkan EC2 instans Amazon atau membuat bucket Amazon S3, bukan dari alamat IP dari CreateStack panggilan atau perintah. create-stack

Daftar berikut menjelaskan kondisi CloudFormation -spesifik. Syarat ini diterapkan hanya ketika pengguna membuat atau memperbarui tumpukan:

cloudformation:ChangeSetName

Nama set CloudFormation perubahan yang ingin Anda kaitkan dengan kebijakan. Gunakan syarat ini untuk mengontrol set perubahan mana yang dapat dijalankan atau dihapus oleh pengguna .

cloudformation:ImportResourceTypes

Jenis sumber daya templat yang ingin Anda kaitkan dengan kebijakan, seperti AWS::EC2::Instance. Gunakan syarat ini untuk mengontrol jenis sumber daya mana yang dapat digunakan pengguna saat mereka mengimpor sumber daya ke dalam tumpukan. Kondisi ini diperiksa terhadap jenis sumber daya yang dideklarasikan pengguna dalam ResourcesToImport parameter, yang saat ini hanya didukung untuk AWS CLI dan API permintaan. Saat menggunakan parameter ini, Anda harus menentukan semua jenis sumber daya yang Anda inginkan agar dikontrol pengguna selama operasi impor. Untuk informasi selengkapnya tentang ResourcesToImport parameter, lihat CreateChangeSettindakan dalam AWS CloudFormation APIReferensi.

Untuk daftar kemungkinanResourcesToImport, lihatDukungan jenis sumber daya.

Gunakan konvensi penamaan sumber daya tiga bagian untuk menentukan jenis sumber daya mana yang dapat digunakan pengguna, dari semua sumber daya di seluruh organisasi, hingga jenis sumber daya individual.

organization::*

Tentukan semua jenis sumber daya untuk organisasi tertentu.

organization::service_name::*

Tentukan semua jenis sumber daya untuk layanan tertentu dalam organisasi tertentu.

organization::service_name::resource_type

Tentukan jenis sumber daya tertentu.

Sebagai contoh:

AWS::*

Tentukan semua jenis AWS sumber daya yang didukung.

AWS::service_name::*

Tentukan semua sumber daya yang didukung untuk AWS layanan tertentu.

AWS::service_name::resource_type

Tentukan jenis AWS sumber daya tertentu, seperti AWS::EC2::Instance (semua EC2 contoh).

cloudformation:ResourceTypes

Jenis sumber daya templat, seperti AWS::EC2::Instance, yang ingin Anda kaitkan dengan kebijakan. Gunakan syarat ini untuk mengontrol jenis sumber daya mana yang dapat digunakan pengguna saat mereka membuat atau memperbarui tumpukan. Kondisi ini diperiksa terhadap jenis sumber daya yang dideklarasikan pengguna dalam ResourceTypes parameter, yang saat ini hanya didukung untuk AWS CLI dan API permintaan. Saat menggunakan parameter ini, pengguna harus menentukan semua jenis sumber daya yang ada di templat mereka. Untuk informasi selengkapnya tentang ResourceTypes parameter, lihat CreateStacktindakan dalam AWS CloudFormation APIReferensi.

Untuk daftar jenis sumber daya, lihat AWS referensi jenis sumber daya dan properti.

Gunakan konvensi penamaan sumber daya tiga bagian untuk menentukan jenis sumber daya mana yang dapat digunakan pengguna, dari semua sumber daya di seluruh organisasi, hingga jenis sumber daya individual.

organization::*

Tentukan semua jenis sumber daya untuk organisasi tertentu.

organization::service_name::*

Tentukan semua jenis sumber daya untuk layanan tertentu dalam organisasi tertentu.

organization::service_name::resource_type

Tentukan jenis sumber daya tertentu.

Sebagai contoh:

AWS::*

Tentukan semua jenis AWS sumber daya yang didukung.

AWS::service_name::*

Tentukan semua sumber daya yang didukung untuk AWS layanan tertentu.

AWS::service_name::resource_type

Tentukan jenis AWS sumber daya tertentu, seperti AWS::EC2::Instance (semua EC2 contoh).

Alexa::ASK::*

Tentukan semua jenis sumber daya di Alexa Skill Kit.

Alexa::ASK::Skill

Tentukan tipe sumber daya Alexa::ASK: :Skill individual.

Custom::*

Tentukan semua sumber daya kustom.

Untuk informasi selengkapnya, lihat Buat logika penyediaan khusus dengan sumber daya khusus.

Custom::resource_type

Tentukan jenis sumber daya kustom tertentu.

Untuk informasi selengkapnya, lihat Buat logika penyediaan khusus dengan sumber daya khusus.

cloudformation:RoleARN

Amazon Resource Name (ARN) dari peran IAM layanan yang ingin Anda kaitkan dengan kebijakan. Gunakan syarat ini untuk mengontrol peran layanan mana yang dapat digunakan pengguna saat mereka bekerja dengan tumpukan atau set perubahan.

cloudformation:StackPolicyUrl

Kebijakan tumpukan Amazon S3 URL yang ingin Anda kaitkan dengan kebijakan. Gunakan syarat ini untuk mengontrol kebijakan tumpukan mana yang dapat dikaitkan pengguna dengan tumpukan selama tindakan membuat atau memperbarui tumpukan. Untuk informasi selengkapnya tentang kebijakan tumpukan, lihat Mencegah pembaruan ke sumber daya tumpukan.

catatan

Untuk memastikan bahwa pengguna hanya dapat membuat atau memperbarui tumpukan dengan kebijakan tumpukan yang Anda unggah, setel bucket S3 agar hanya dibaca bagi pengguna tersebut.

cloudformation:TemplateUrl

Template Amazon S3 URL yang ingin Anda kaitkan dengan kebijakan. Gunakan syarat ini untuk mengontrol templat mana yang dapat digunakan pengguna saat mereka membuat atau memperbarui tumpukan.

catatan

Untuk memastikan bahwa pengguna hanya dapat membuat atau memperbarui tumpukan dengan templat yang Anda unggah, setel bucket S3 agar hanya dibaca bagi pengguna tersebut.

catatan

Kondisi CloudFormation spesifik berikut berlaku untuk API parameter dengan nama yang sama:

  • cloudformation:ChangeSetName

  • cloudformation:RoleARN

  • cloudformation:StackPolicyUrl

  • cloudformation:TemplateUrl

Misalnya, cloudformation:TemplateUrl hanya berlaku untuk TemplateUrl parameter untukCreateStack,UpdateStack, dan CreateChangeSetAPIs.

Contoh

Contoh kebijakan berikut memungkinkan pengguna untuk hanya menggunakan https://s3.amazonaws.com/amzn-s3-demo-bucket/test.template template URL untuk membuat atau memperbarui tumpukan.

contoh URLKondisi template
{ "Version":"2012-10-17", "Statement":[ { "Effect" : "Allow", "Action" : [ "cloudformation:CreateStack", "cloudformation:UpdateStack" ], "Resource" : "*", "Condition" : { "StringEquals" : { "cloudformation:TemplateUrl" : [ "https://s3.amazonaws.com/amzn-s3-demo-bucket/test.template" ] } } } ] }

Contoh kebijakan berikut memungkinkan pengguna untuk menyelesaikan semua CloudFormation operasi kecuali operasi impor.

contoh Syarat impor jenis sumber daya
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllStackOperations", "Effect": "Allow", "Action": "cloudformation:*", "Resource": "*" }, { "Sid": "DenyImport", "Effect": "Deny", "Action": "cloudformation:*", "Resource": "*", "Condition": { "ForAnyValue:StringLike": { "cloudformation:ImportResourceTypes": [ "*" ] } } } ] }

Contoh kebijakan berikut memungkinkan semua operasi tumpukan, selain operasi impor hanya pada sumber daya tertentu (dalam contoh ini,AWS::S3::Bucket.

contoh Syarat impor jenis sumber daya
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowImport", "Effect": "Allow", "Action": "cloudformation:*", "Resource": "*" "Condition": { "ForAllValues:StringEqualsIgnoreCase": { "cloudformation:ImportResourceTypes": [ "AWS::S3::Bucket" ] } } } ] }

Contoh kebijakan berikut memungkinkan pengguna membuat tumpukan tetapi menolak permintaan jika templat tumpukan menyertakan sumber daya apa pun dari layanan IAM. Kebijakan ini juga mengharuskan pengguna untuk menentukan ResourceTypes parameter, yang hanya tersedia untuk AWS CLI dan API permintaan. Kebijakan ini menggunakan pernyataan penolakan eksplisit sehingga jika ada kebijakan lain yang memberikan izin tambahan, kebijakan ini selalu tetap berlaku (pernyataan penolakan eksplisit selalu mengesampingkan pernyataan izin eksplisit).

contoh Syarat jenis sumber daya
{ "Version":"2012-10-17", "Statement":[ { "Effect" : "Allow", "Action" : [ "cloudformation:CreateStack" ], "Resource" : "*" }, { "Effect" : "Deny", "Action" : [ "cloudformation:CreateStack" ], "Resource" : "*", "Condition" : { "ForAnyValue:StringLikeIfExists" : { "cloudformation:ResourceTypes" : [ "AWS::IAM::*" ] } } }, { "Effect": "Deny", "Action" : [ "cloudformation:CreateStack" ], "Resource": "*", "Condition": { "Null": { "cloudformation:ResourceTypes": "true" } } } ] }

Contoh kebijakan berikut ini mirip dengan contoh sebelumnya. Kebijakan ini mengizinkan pengguna untuk membuat tumpukan kecuali templat tumpukan menyertakan sumber daya apa pun dari layanan IAM. Ini juga mengharuskan pengguna untuk menentukan ResourceTypes parameter, yang hanya tersedia untuk AWS CLI dan API permintaan. Kebijakan ini lebih sederhana, tetapi tidak menggunakan pernyataan penolakan eksplisit. Kebijakan lain, yang memberikan izin tambahan, dapat menimpa kebijakan ini.

contoh Syarat jenis sumber daya
{ "Version":"2012-10-17", "Statement":[ { "Effect" : "Allow", "Action" : [ "cloudformation:CreateStack" ], "Resource" : "*", "Condition" : { "ForAllValues:StringNotLikeIfExists" : { "cloudformation:ResourceTypes" : [ "AWS::IAM::*" ] }, "Null":{ "cloudformation:ResourceTypes": "false" } } } ] }

Mengakui sumber daya IAM dalam templat CloudFormation

Sebelum Anda dapat membuat tumpukan, CloudFormation memvalidasi template Anda. Selama validasi, CloudFormation periksa template Anda untuk IAM sumber daya yang mungkin dibuatnya. IAMsumber daya, seperti pengguna dengan akses penuh, dapat mengakses dan memodifikasi sumber daya apa pun di Anda Akun AWS. Oleh karena itu, kami menyarankan agar Anda meninjau izin yang terkait dengan setiap IAM sumber daya sebelum melanjutkan sehingga Anda tidak secara tidak sengaja membuat sumber daya dengan izin yang meningkat. Untuk memastikan bahwa Anda telah melakukannya, Anda harus mengakui bahwa template berisi sumber daya tersebut, memberikan kemampuan CloudFormation yang ditentukan sebelum membuat tumpukan.

Anda dapat mengetahui kemampuan CloudFormation template dengan menggunakan CloudFormation konsol, AWS Command Line Interface (AWS CLI), atauAPI:

  • Di CloudFormation konsol, pada halaman Configure stack options dari wizard Create Stack atau Update Stack, pilih Saya mengakui bahwa template ini dapat membuat IAM sumber daya.

  • Dalam AWS CLI, ketika Anda menggunakan create-stack dan update-stackperintah, tentukan CAPABILITY_IAM atau CAPABILITY_NAMED_IAM nilai untuk --capabilities opsi. Jika templat Anda menyertakan sumber daya IAM, Anda dapat menentukan salah satu kemampuan. Jika templat Anda menyertakan nama kustom untuk sumber daya IAM, Anda harus menentukan CAPABILITY_NAMED_IAM.

  • DalamAPI, ketika Anda menggunakan CreateStack dan UpdateStacktindakan, tentukan Capabilities.member.1=CAPABILITY_IAM atauCapabilities.member.1=CAPABILITY_NAMED_IAM. Jika templat Anda menyertakan sumber daya IAM, Anda dapat menentukan salah satu kemampuan. Jika templat Anda menyertakan nama kustom untuk sumber daya IAM, Anda harus menentukan CAPABILITY_NAMED_IAM.

penting

Jika templat Anda berisi sumber daya IAM bernama kustom, jangan buat beberapa tumpukan menggunakan kembali templat yang sama. Sumber daya IAM harus unik secara global dalam akun Anda. Jika Anda menggunakan templat yang sama untuk membuat beberapa tumpukan di Wilayah yang berbeda, tumpukan Anda mungkin berbagi IAM sumber daya yang sama, daripada masing-masing memiliki yang unik. Sumber daya bersama di antara tumpukan dapat memiliki konsekuensi yang tidak diinginkan yang tidak dapat Anda pulihkan. Misalnya, jika Anda menghapus atau memperbarui sumber daya IAM bersama dalam satu tumpukan, Anda akan secara tidak sengaja mengubah sumber daya dari tumpukan lain.

Mengelola kredensional untuk aplikasi yang berjalan di instans Amazon EC2

Jika Anda memiliki aplikasi yang berjalan pada EC2 instans Amazon dan perlu membuat permintaan ke AWS sumber daya seperti bucket Amazon S3 atau tabel DynamoDB, aplikasi memerlukan kredensil keamanan. AWS Namun, mendistribusikan dan menyematkan kredensial keamanan jangka panjang di setiap instans yang Anda luncurkan merupakan tantangan dan potensi risiko keamanan. Alih-alih menggunakan kredensil jangka panjang, seperti kredensil IAM pengguna, sebaiknya Anda membuat IAM peran yang terkait dengan EC2 instans Amazon saat instans diluncurkan. Aplikasi kemudian bisa mendapatkan kredensil keamanan sementara dari instans AmazonEC2. Anda tidak perlu menyematkan kredensial jangka panjang pada instans. Selain itu, untuk mempermudah pengelolaan kredensil, Anda dapat menentukan hanya satu peran untuk beberapa EC2 instans Amazon; Anda tidak perlu membuat kredensil unik untuk setiap instance.

Untuk potongan templat yang menunjukkan cara meluncurkan instans dengan peran, lihat IAMcontoh template peran.

catatan

Aplikasi pada instans yang menggunakan kredensial keamanan sementara dapat memanggil tindakan CloudFormation apa pun. Namun, karena CloudFormation berinteraksi dengan banyak AWS layanan lain, Anda harus memverifikasi bahwa semua layanan yang ingin Anda gunakan mendukung kredensi keamanan sementara. Untuk daftar layanan yang menerima kredensil keamanan sementara, lihat AWS layanan yang berfungsi IAM di IAMPanduan Pengguna.

Memberikan akses sementara (akses gabungan)

Dalam beberapa kasus, Anda mungkin ingin memberi pengguna tanpa AWS kredensi akses sementara ke Anda. Akun AWS Daripada membuat dan menghapus kredensi jangka panjang kapan pun Anda ingin memberikan akses sementara, gunakan AWS Security Token Service ().AWS STS Misalnya, Anda dapat menggunakan IAM role. Dari satu IAM role, Anda dapat secara terprogram membuat dan kemudian mendistribusikan banyak kredensial keamanan sementara (yang mencakup access key, secret access key, dan token keamanan). Kredensi ini memiliki masa pakai yang terbatas, sehingga tidak dapat digunakan untuk mengakses Anda Akun AWS setelah kedaluwarsa. Anda juga dapat membuat beberapa peran IAM untuk memberikan tingkat izin yang berbeda kepada pengguna individu. IAM peran berguna untuk skenario seperti identitas gabungan dan sistem masuk tunggal.

Identitas gabungan adalah identitas berbeda yang dapat Anda gunakan di berbagai sistem. Untuk pengguna perusahaan dengan sistem identitas lokal yang sudah mapan (seperti LDAP atau Active Directory), Anda dapat menangani semua autentikasi dengan sistem identitas lokal. Setelah pengguna diautentikasi, Anda memberikan kredensial keamanan sementara dari pengguna atau peran IAM yang sesuai. Misalnya, Anda dapat membuat peran administrator dan peran pengembang, di mana administrator memiliki akses penuh ke AWS akun dan pengembang memiliki izin untuk bekerja hanya dengan tumpukan. CloudFormation Setelah administrator diautentikasi, administrator diberi wewenang untuk mendapatkan kredensil keamanan sementara dari peran administrator. Namun, bagi pengembang, mereka dapat memperoleh kredensil keamanan sementara hanya dari peran pengembang.

Anda juga dapat memberikan akses kepada pengguna federasi ke file. AWS Management Console Setelah pengguna mengautentikasi dengan sistem identitas lokal Anda, Anda dapat secara terprogram membuat sementara URL yang memberikan akses langsung ke sistem identitas lokal. AWS Management Console Ketika pengguna menggunakan sementaraURL, mereka tidak perlu masuk AWS karena mereka telah diautentikasi (sistem masuk tunggal). Selain itu, karena URL dibuat dari kredensil keamanan sementara pengguna, izin yang tersedia dengan kredensil tersebut menentukan izin apa yang dimiliki pengguna di. AWS Management Console

Anda dapat menggunakan beberapa yang berbeda AWS STS APIs untuk menghasilkan kredensil keamanan sementara. Untuk informasi selengkapnya tentang mana API yang akan digunakan, lihat Membandingkan AWS STS kredensil di IAMPanduan Pengguna.

penting

Anda tidak dapat bekerja dengan IAM ketika Anda menggunakan kredenal keamanan sementara yang dihasilkan dari. GetFederationToken API Sebagai gantinya, jika Anda perlu bekerja dengan IAM, gunakan kredensial keamanan sementara dari sebuah peran.

CloudFormation berinteraksi dengan banyak AWS layanan lainnya. Saat Anda menggunakan kredensil keamanan sementara CloudFormation, verifikasi bahwa semua layanan yang ingin Anda gunakan mendukung kredensil keamanan sementara. Untuk daftar layanan yang menerima kredensil keamanan sementara, lihat AWS layanan yang berfungsi IAM di IAMPanduan Pengguna.

Untuk informasi selengkapnya, lihat sumber daya terkait berikut di Panduan IAM Pengguna: