Saat ini saya memiliki bucket S3 bersama yang memiliki akses spesifik ke jalur kunci tertentu (yaitu folder) untuk berbagai instance. Saya dapat membuat profil instan dengan peran baru saya dan menguji tidak ada masalah yang membatasi akses ke folder itu.
Masalah saya adalah bahwa ada peran generik yang ada dengan kebijakan yang ditetapkan, yang saya juga ingin dapat memasukkan peran baru saya untuk setiap tumpukan.
Dalam cloudformation, mungkinkah untuk memasukkan kebijakan yang ditetapkan dalam satu peran untuk dimasukkan dalam peran lain tanpa harus mendefinisikan ulang dokumen kebijakan dalam peran baru?
Sesuatu seperti yang berikut ini:
"AppTierS3AccessRole": {
"Type": "AWS::IAM::Role",
"Properties": {
"AssumeRolePolicyDocument": {
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [ "ec2.amazonaws.com" ]
},
"Action": [ "sts:AssumeRole" ]
}
]
},
"Path": "/",
"Policies": [ { "Ref": "existing-policy" } ]
}
},
"Kebijakan yang ada" menjadi bagian penting di sini. Saya telah mencoba menemukan arn dari kebijakan yang ada untuk mencoba dan referensi tetapi saya agak macet.
sumber
Jawaban:
src: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
The
AWS::IAM::Role
jenis kini memilikiManagedPolicyArns
bidang di mana Anda dapat mengatur ini. Anda hanya perlu mengambil ARN (mudah untuk mengambil dari IAM console) dan letakkan di bidang itu. Dalam contoh di bawah ini saya membuat peran yang menyediakan akses ECR hanya-baca sehingga gambar saya dapat menarik wadah buruh pelabuhan dari ECR.sumber
Anda dapat mencapai ini dengan menggunakan kebijakan terkelola . Masukkan kebijakan yang ditentukan yang ingin Anda bagikan dalam kebijakan yang dikelola pelanggan, lalu lampirkan kebijakan yang telah ditentukan itu untuk setiap peran tempat Anda ingin menggunakannya. Setiap perubahan di masa depan terhadap kebijakan terkelola Anda akan segera diterapkan ke semua peran yang memiliki kebijakan terkelola terlampir.
Anda dapat membuat kebijakan yang dikelola pelanggan di CloudFormation, melalui sumber AWS :: IAM :: ManagedPolicy , atau melampirkan kebijakan terkelola yang ada.
sumber
Untuk memperluas jawaban @ markusk kembali: Kebijakan Terkelola - ya, itu.
Contoh:
sumber
Tidak, Anda tidak dapat menyematkan satu peran ke peran lain saat ini. Satu-satunya alternatif yang dapat saya pikirkan adalah:
sumber