0Pricing
Cloud & IT Cert Prep · บทเรียน

บทบาทและนโยบาย IAM

เขียนเอกสารนโยบาย JSON แนบนโยบายเข้ากับบทบาท และทำความเข้าใจความแตกต่างระหว่างนโยบายตามข้อมูลประจำตัวกับนโยบายตามทรัพยากร

บทบาทและนโยบาย IAM เป็นบทเรียน Cloud & IT Cert Prep ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cloud & IT Cert Prep และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 4 บทเรียน

นโยบาย IAM: ภาษาสำหรับกำหนดสิทธิ์

นโยบาย IAMคือเอกสาร JSON ที่ระบุว่าอนุญาตให้ทำอะไรได้บ้าง แต่ละคำสั่งประกอบด้วย Effect (Allow หรือ Deny), Action และ Resource โค้ดนี้แสดงตัวอย่างหนึ่งรายการ

{
  'Version': '2012-10-17',
  'Statement': [
    {
      'Effect': 'Allow',
      'Action': [
        's3:GetObject',
        's3:PutObject'
      ],
      'Resource': 'arn:aws:s3:::my-bucket/*'
    }
  ]
}

นโยบายตามข้อมูลระบุตัวตนเทียบกับนโยบายตามทรัพยากร

นโยบายตามข้อมูลระบุตัวตนจะแนบกับผู้ใช้หรือบทบาทและระบุว่าสามารถทำอะไรได้ ส่วนนโยบายตามทรัพยากรจะแนบกับทรัพยากรโดยตรงและระบุว่าใครสามารถเข้าถึงทรัพยากรนั้นได้

# Example S3 bucket policy (resource-based)
{
  'Version': '2012-10-17',
  'Statement': [{
    'Effect': 'Allow',
    'Principal': {
      'AWS': 'arn:aws:iam::123456789012:role/MyAppRole'
    },
    'Action': 's3:GetObject',
    'Resource': 'arn:aws:s3:::my-bucket/*'
  }]
}

บทบาท IAM: ข้อมูลระบุตัวตนชั่วคราว

บทบาท IAMคือข้อมูลระบุตัวตนที่คุณรับมาใช้ชั่วคราว บทบาทนี้มอบข้อมูลรับรองชั่วคราวที่หมดอายุได้ จึงเหมาะสำหรับ EC2, Lambda และบริการอื่น ๆ

# Attach an IAM role to an EC2 instance (instance profile)
aws ec2 associate-iam-instance-profile \
  --instance-id i-0abcdef1234567890 \
  --iam-instance-profile Name=MyEC2Role

นโยบายความน่าเชื่อถือ: ใครสามารถรับบทบาทได้

ทุกบทบาทมีนโยบายความน่าเชื่อถือที่ระบุว่าใครได้รับอนุญาตให้รับบทบาทนั้น รวมถึงนโยบายสิทธิ์ที่ระบุว่าบทบาททำอะไรได้หลังจากถูกรับมา หากไม่มีนโยบายความน่าเชื่อถือ ก็จะไม่มีสิทธิ์เข้าถึง

# Trust policy for a Lambda execution role
{
  'Version': '2012-10-17',
  'Statement': [{
    'Effect': 'Allow',
    'Principal': {
      'Service': 'lambda.amazonaws.com'
    },
    'Action': 'sts:AssumeRole'
  }]
}

บทบาทบริการ AWS: EC2 และ Lambda

เมื่อ EC2 จำเป็นต้องเรียกใช้ AWS ให้กำหนดโปรไฟล์อินสแตนซ์ที่ครอบบทบาทไว้ ข้อมูลรับรองจะหมุนเวียนโดยอัตโนมัติ จึงไม่ต้องฝังคีย์ไว้ในโค้ด Lambda ก็ทำงานในลักษณะเดียวกัน

# Retrieve role credentials from EC2 metadata (IMDSv2)
TOKEN=$(curl -X PUT 'http://169.254.169.254/latest/api/token' \
  -H 'X-aws-ec2-metadata-token-ttl-seconds: 21600')
curl -H "X-aws-ec2-metadata-token: $TOKEN" \
  http://169.254.169.254/latest/meta-data/iam/security-credentials/MyEC2Role

การรับบทบาทข้ามบัญชี

บทบาทข้ามบัญชีช่วยให้ผู้ใช้ในบัญชีหนึ่งรับบทบาทในอีกบัญชีและเข้าถึงทรัพยากรของบัญชีนั้นได้ วิธีนี้ช่วยให้ระบบที่มีหลายบัญชีไม่ต้องสร้างผู้ใช้ซ้ำในทุกบัญชี

# Assume a cross-account role from Account A
aws sts assume-role \
  --role-arn arn:aws:iam::999999999999:role/CrossAccountRole \
  --role-session-name my-session

เงื่อนไขของนโยบาย: การควบคุมแบบละเอียด

Conditionเพิ่มกฎเสริมให้กับนโยบาย เช่น กำหนดให้ต้องใช้ MFA หรือจำกัดการเข้าถึงตามช่วง IP หรือภูมิภาค วิธีนี้ทำให้สิทธิ์รัดกุมยิ่งขึ้น

# Policy that requires MFA for sensitive actions
{
  'Effect': 'Deny',
  'Action': ['iam:*', 'cloudtrail:*'],
  'Resource': '*',
  'Condition': {
    'BoolIfExists': {
      'aws:MultiFactorAuthPresent': 'false'
    }
  }
}

ขอบเขตสิทธิ์

ขอบเขตสิทธิ์จำกัดสิทธิ์สูงสุดที่ข้อมูลระบุตัวตนหนึ่งรายการจะมีได้ แม้นโยบายจะมอบสิทธิ์มากกว่านั้นก็ตาม ขอบเขตนี้เป็นตาข่ายนิรภัยเมื่ออนุญาตให้นักพัฒนาสร้างบทบาทของตนเอง

# Attach a permissions boundary to a user
aws iam put-user-permissions-boundary \
  --user-name alice \
  --permissions-boundary arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess

ตรรกะการประเมินนโยบาย

เมื่อ AWS ตรวจสอบคำขอ มีกฎหนึ่งที่มีความสำคัญสูงสุด: explicit Denyจะบล็อกคำขอเสมอ หลังจากนั้นนโยบายทุกชั้นต้องเห็นพ้องกันว่าจะอนุญาตการเข้าถึง

เครื่องจำลองนโยบาย IAM

เครื่องจำลองนโยบาย IAMใช้ทดสอบว่าข้อมูลระบุตัวตนสามารถทำบางสิ่งได้หรือไม่ โดยไม่ต้องดำเนินการจริง เหมาะสำหรับแก้ไขปัญหาสิทธิ์ก่อนนำไปใช้งาน

# Simulate an IAM policy evaluation via CLI
aws iam simulate-principal-policy \
  --policy-source-arn arn:aws:iam::123456789012:user/alice \
  --action-names s3:PutObject \
  --resource-arns arn:aws:s3:::my-bucket/*

บทบาทสำหรับการเข้าถึงแบบรวมข้อมูลระบุตัวตน

ผู้ใช้ภายนอกจาก Okta, Google หรือ Active Directory สามารถรับบทบาทผ่านการรวมข้อมูลระบุตัวตน (SAML หรือ OIDC) คุณจึงมอบสิทธิ์ให้ผู้คนนับล้านได้โดยไม่ต้องสร้างผู้ใช้ IAM

ตรวจสอบความเข้าใจ

ทดสอบความเข้าใจแนวคิด AWS Solutions Architect (SAA-C03) จากบทเรียนนี้

สรุปบทเรียน

สรุปอย่างรวดเร็ว: นโยบายคือกฎ JSON สำหรับ Allow และ Deny, บทบาทมอบข้อมูลรับรองชั่วคราว และเงื่อนไขช่วยควบคุมสิทธิ์แบบละเอียด หัวข้อถัดไป: สิทธิ์เท่าที่จำเป็น

คำถามที่พบบ่อย

บทเรียน “บทบาทและนโยบาย IAM” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “บทบาทและนโยบาย IAM” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cloud & IT Cert Prep ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “บทบาทและนโยบาย IAM”

เขียนเอกสารนโยบาย JSON แนบนโยบายเข้ากับบทบาท และทำความเข้าใจความแตกต่างระหว่างนโยบายตามข้อมูลประจำตัวกับนโยบายตามทรัพยากร คุณปฏิบัติ Cloud & IT Cert Prep ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cloud & IT Cert Prep หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cloud & IT Cert Prep บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “บทบาทและนโยบาย IAM” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cloud & IT Cert Prep นี้ได้ไหม

ได้ บทเรียน Cloud & IT Cert Prep ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ผู้ใช้และกลุ่ม IAM
  2. บทบาทและนโยบาย IAM
  3. หลักการให้สิทธิ์เท่าที่จำเป็น
  4. แนวทางปฏิบัติที่ดีของ IAM และ MFA
← กลับไปที่ Cloud & IT Cert Prep