ปัญหาสิทธิ์ในบทบาท AWS IAM

Sep 16 2020

เราเพิ่งสร้างเซิร์ฟเวอร์ Things Enterprise ใหม่ที่โฮสต์ที่ AWS บนอินสแตนซ์ EC2 และสร้างแอปพลิเคชันเพื่อใช้ AWS IOT เราได้รับข้อผิดพลาดต่อไปนี้

“ ข้อความ”:“ ผู้ใช้: arn: aws: sts :: 446971925991: สันนิษฐานบทบาท / Things-Enterprise-Stack-Srv-StackIAMRole-DBHBSMSY05AQ / i-095895d605fab3fa4 ไม่ได้รับอนุญาตให้ดำเนินการ: sts: AssumeRole บนทรัพยากร: arn: aws : iam :: 446971925991: บทบาท / Bosh-Parking-IOT-Stack-TheThingsStackRoleCD9FBAD2-C44RRJJ53M93”

ฉันได้รับการบอกกล่าว

บทบาทการดำเนินการของอินสแตนซ์ TTES ที่พยายามสวมบทบาทคืออะไร บทบาทของ TTES ต้องสามารถรับบทบาทนั้นได้ ซึ่งจะให้สิทธิ์ที่เหมาะสม

แต่ฉันไม่แน่ใจว่านั่นหมายถึงอะไรฉันคิดว่าฉันต้องเพิ่ม / แก้ไขการอนุญาตบางอย่างในบทบาท IAM ใครช่วยชี้ทางที่ถูกต้องกรุณา

คำตอบ

1 Marcin Sep 16 2020 at 15:22

จากข้อผิดพลาดมันก็ดูเหมือนว่าคุณบทบาท IAM สำหรับ Amazon EC2มีสิทธิ์ในการสมมติบทบาทไม่มี Bosh-Parking-IOT-Stack-TheThingsStackRoleCD9FBAD2-C44RRJJ53M93

ในการเพิ่มสิทธิ์ดังกล่าวด้วยตนเองคุณสามารถทำสิ่งต่อไปนี้:

  1. IAM Console->Rolesไปที่
  2. ในRolesหน้าต่างคุณสามารถใช้Searchแถบเพื่อค้นหาThings-Enterprise-Stack-Srv-StackIAMRole-DBHBSMSY05AQบทบาท
  3. เมื่อคุณพบบทบาทคุณคลิกที่นโยบายแบบอินไลน์เพิ่ม
  4. เมื่อCreate policyหน้าต่างปรากฏขึ้นคุณสามารถไปที่JSON tabและเพิ่มนโยบาย JSON ต่อไปนี้:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowAssumeRole",
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::446971925991:role/Bosh-Parking-IOT-Stack-TheThingsStackRoleCD9FBAD2-C44RRJJ53M93"
        }
    ]
}
  1. จากนั้นคลิกReview Policyตั้งชื่อนโยบาย (เช่น PolicyToAssumeRole) และCreate policy

อย่างไรก็ตามตามชื่อนโยบายของคุณ (เช่น Stack-Srv-StackIAMRole) อาจเป็นไปได้ว่าCloudFormationสร้างขึ้น หากเป็นกรณีนี้แล้วด้วยตนเองบทบาทที่เปลี่ยนแปลงตามที่อธิบายไว้ข้างต้นคือการปฏิบัติที่ไม่ดีและจะนำไปสู่การดริฟท์ การเปลี่ยนแปลงใด ๆ ไปยังแหล่งข้อมูลที่สร้างขึ้นโดย CloudFormation ควรจะทำโดยใช้ CloudFormation น่าเศร้าที่คำถามของคุณไม่มีรายละเอียดใด ๆ เกี่ยวกับเทมเพลต CloudFormation ที่ใช้ดังนั้นจึงยากที่จะแสดงความคิดเห็นเพิ่มเติม