AWS IAM — Policies
AWS Identity Access Management (IAM) เป็นเครื่องมือที่เราไว้ใช้เพื่อกําหนดสิทธิ์ของ User ใน AWS ซึ่งสิ่งที่ไว้จัดการพวกสิทธิ์พวกนี้ก็คือ Policies นั้นเอง
โดย Policies สามารถแบ่งออกเป็นด้วยกัน 3 ส่วนใหญ่ๆก็คือ
- Managed Policies
- Customer Managed Policies
- Inline Policies
Managed Policies
คือ IAM Policy ที่สร้างและจัดการโดย AWS เอง ซึ่ง Policies พวกนี้จะเป็น Policies ที่ใช้สําหรับ use cases ทั่วไปโดยอิงจาก job function ทั่วไป เช่น AmazonDynamoDBFullAccess, AWSCodeCommitPowerUser หรือ AmazonEC2ReadOnlyAccess นั้นเอง (เรา edit ไม่ได้ AWS managed)
Customer Managed Policies
คือ IAM Policy ที่เราเป็นคนสร้างขึ้นมาเอง เป็นแบบ standalone หมายถึงเมื่อเราสร้างขึ้นมา มันจะมีเฉพาะในของ AWS account เราเพียงคนเดียว โดยที่เราสามารถนําไปใช้ร่วมกับ users, groups และ roles ได้ ภายใน account เราเท่านั้น
Inline Policy
คือ IAM policy ที่เฉพาะเจาะจงมากกับ user, group และ role เรียกได้ว่าเป็นความสัมพันธ์แบบ 1:1 เลย ซึ่งถ้าเราไปลบ user, group หรือ role เจ้า Inline policy ก็จะหายไปด้วยทันที
โดยส่วนใหญ่แล้ว AWS แนะนําให้ใช้ Managed Policies หรือ Customer Managed Policies แทนที่จะเป็น Inline Policies แต่มันมีประโยชน์เมื่อเราต้องการที่จะทํา policy ที่มีเพื่อ user, group หรือ role นั้นๆๆๆจริง ไม่ได้เพื่อจะให้เกิดการ attach กับตัวอื่นๆ
Policy Generator
ซึ่งเราสามารถใช้ Policy Generator ในการ Generate Policy ได้โดยไม่ต้องเขียน JSON จากศูนย์เลย