0Pricing
Kubernetes Basics · บทเรียน

การควบคุมการเข้าถึงตามบทบาท (RBAC)

จัดการสิทธิ์ของผู้ใช้และบัญชีบริการภายในคลัสเตอร์โดยใช้บทบาท RBAC และการผูกบทบาท

การควบคุมการเข้าถึงตามบทบาท (RBAC) เป็นบทเรียน Kubernetes Basics ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Kubernetes Basics และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Kubernetes Basics มีบทเรียนทั้งหมด 4 บทเรียน

RBAC ในคูเบอร์เนทีสคืออะไร

ยินดีต้อนรับครับ/ค่ะ! ในบทเรียนนี้ เราจะเจาะลึกเรื่อง การควบคุมการเข้าถึงตามบทบาท (RBAC) ซึ่งเป็นคุณลักษณะด้านความปลอดภัยที่สำคัญของคูเบอร์เนทีส

RBAC ช่วยให้คุณจัดการได้ว่าใครสามารถทำอะไรภายในคลัสเตอร์ของคุณ เปรียบเสมือนเจ้าหน้าที่รักษาความปลอดภัยสำหรับทรัพยากรคูเบอร์เนทีส เพื่อให้มั่นใจว่าเฉพาะผู้ใช้และแอปพลิเคชันที่ได้รับอนุญาตเท่านั้นที่จะดำเนินการบางอย่างได้

เหตุผลที่ RBAC จำเป็น

หากไม่มี RBAC ผู้ที่เข้าถึงคลัสเตอร์ได้อาจดำเนินการใด ๆ ก็ได้ ซึ่งนำไปสู่ความเสี่ยงด้านความปลอดภัยหรือความเสียหายจากการทำงานผิดพลาด

  • ความปลอดภัย: ป้องกันการเข้าถึงและการดำเนินการโดยไม่ได้รับอนุญาต
  • การปฏิบัติตามข้อกำหนด: ช่วยให้เป็นไปตามข้อกำหนดด้านกฎระเบียบสำหรับการควบคุมการเข้าถึง
  • สิทธิ์เท่าที่จำเป็น: ช่วยให้ผู้ใช้และแอปพลิเคชันมีเฉพาะสิทธิ์ที่จำเป็นอย่างแท้จริง

แนวคิดสำคัญของ RBAC

RBAC ในคูเบอร์เนทีสอาศัยองค์ประกอบหลักไม่กี่อย่าง:

  • หัวข้อ: “ใคร” (ผู้ใช้ บัญชีบริการ และกลุ่ม)
  • บทบาท: “อะไร” (ชุดสิทธิ์)
  • RoleBindings: “อย่างไร” (เชื่อมบทบาทเข้ากับหัวข้อ)
  • ClusterRoles และ ClusterRoleBindings: บทบาทและการเชื่อมโยงบทบาทในระดับทั้งคลัสเตอร์

หัวข้อ: ผู้ใช้และบัญชีบริการ

คูเบอร์เนทีสจำเป็นต้องทราบว่าใครเป็นผู้ขอให้ดำเนินการ สิ่งเหล่านี้เรียกว่าหัวข้อ:

  • ผู้ใช้: โดยทั่วไปคือผู้ดูแลระบบหรือนักพัฒนา คูเบอร์เนทีสไม่ได้จัดการผู้ใช้โดยตรง แต่ใช้การยืนยันตัวตนจากภายนอก
  • บัญชีบริการ: อ็อบเจ็กต์ของคูเบอร์เนทีสที่แอปพลิเคชันหรือกระบวนการภายในพ็อดใช้ บัญชีเหล่านี้มีความสำคัญต่อการสื่อสารระหว่างพ็อดกับเซิร์ฟเวอร์ API

กำหนดสิทธิ์ด้วยบทบาท

บทบาทจะกำหนดชุดสิทธิ์ภายในเนมสเปซที่ระบุ โดยระบุว่าการดำเนินการใด (กริยา) สามารถทำกับทรัพยากรใดได้บ้าง

ตัวอย่างเช่น บทบาทหนึ่งอาจอนุญาตให้ “เรียกดู” และ “แสดงรายการ” พ็อดในเนมสเปซ “default” ได้

ตัวอย่างบทบาท: ผู้อ่านพ็อด

ต่อไปนี้คือนิยาม YAML สำหรับบทบาทชื่อ pod-reader บทบาทนี้ให้สิทธิ์ “เรียกดู” “แสดงรายการ” และ “เฝ้าดู” (ตรวจสอบ) พ็อด

สังเกต apiGroups: [""] ซึ่งอ้างถึงกลุ่ม API หลักของคูเบอร์เนทีส

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: pod-reader
  namespace: default
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "list", "watch"]

มอบสิทธิ์ด้วย RoleBindings

RoleBindingจะเชื่อมบทบาทที่ระบุเข้ากับหัวข้ออย่างน้อยหนึ่งรายการ (ผู้ใช้ บัญชีบริการ หรือกลุ่ม) ภายในเนมสเปซที่ระบุ

นี่คือการเชื่อมโยงที่ระบุว่า “ผู้ใช้หรือแอปนี้สามารถทำสิ่งใดได้บ้างตามที่บทบาทนี้อนุญาตในเนมสเปซนี้”

ตัวอย่าง RoleBinding: การมอบสิทธิ์เข้าถึง

RoleBinding นี้เชื่อมบทบาท pod-reader เข้ากับบัญชีบริการชื่อ my-app-sa ในเนมสเปซ default ตอนนี้ my-app-sa จึงสามารถอ่านพ็อดได้

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: read-pods-binding
  namespace: default
subjects:
- kind: ServiceAccount
  name: my-app-sa # The service account getting permissions
  namespace: default
roleRef:
  kind: Role
  name: pod-reader # The Role being granted
  apiGroup: rbac.authorization.k8s.io

ClusterRoles และ ClusterRoleBindings

บางครั้งคุณจำเป็นต้องมีสิทธิ์ที่ใช้ได้ทั่วทั้งคลัสเตอร์ ไม่ใช่แค่เนมสเปซเดียว ในกรณีนี้จะใช้ ClusterRoles และ ClusterRoleBindings

  • ClusterRole: กำหนดสิทธิ์สำหรับทรัพยากรที่มีขอบเขตระดับคลัสเตอร์ (เช่น โหนดและโวลุ่มถาวร) หรือสำหรับการดำเนินการในทุกเนมสเปซ (เช่น “แสดงรายการพ็อดทั้งหมด”)
  • ClusterRoleBinding: เชื่อม ClusterRole เข้ากับหัวข้อ เพื่อมอบสิทธิ์ทั่วทั้งคลัสเตอร์

ตรวจสอบ RBAC อย่างรวดเร็ว

นักพัฒนาคนหนึ่งจำเป็นต้องปรับใช้แอปพลิเคชันใหม่เฉพาะในเนมสเปซ dev คุณควรใช้ทรัพยากร RBAC ของคูเบอร์เนทีสสองรายการใดเป็นหลักเพื่อมอบสิทธิ์เฉพาะนี้

ทบทวน: พื้นฐาน RBAC

ทำได้ดีมาก! คุณได้เรียนรู้แก่นสำคัญของ RBAC ในคูเบอร์เนทีสแล้ว:

  • RBAC ควบคุมว่าใครสามารถโต้ตอบกับทรัพยากรในคลัสเตอร์ของคุณได้
  • บทบาทกำหนดสิทธิ์ภายในเนมสเปซ
  • RoleBindingsเชื่อมบทบาทเข้ากับหัวข้อ (ผู้ใช้และบัญชีบริการ)
  • ClusterRoles และ ClusterRoleBindingsจัดการสิทธิ์ทั่วทั้งคลัสเตอร์

การเชี่ยวชาญ RBAC เป็นกุญแจสำคัญในการรักษาความปลอดภัยสภาพแวดล้อมคูเบอร์เนทีสของคุณ

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

บทเรียน “การควบคุมการเข้าถึงตามบทบาท (RBAC)” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การควบคุมการเข้าถึงตามบทบาท (RBAC)”

จัดการสิทธิ์ของผู้ใช้และบัญชีบริการภายในคลัสเตอร์โดยใช้บทบาท RBAC และการผูกบทบาท คุณปฏิบัติ Kubernetes Basics ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Kubernetes Basics หรือไม่

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

บทเรียน “การควบคุมการเข้าถึงตามบทบาท (RBAC)” ใช้เวลานานแค่ไหน

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

ฉันเขียนและรันโค้ดในบทเรียน Kubernetes Basics นี้ได้ไหม

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

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

  1. การควบคุมการเข้าถึงตามบทบาท (RBAC)
  2. นโยบายเครือข่ายสำหรับการแยกส่วน
  3. มาตรฐานความปลอดภัยของ Pod
  4. บัญชีบริการและอัตลักษณ์ของเวิร์กโหลด
← กลับไปที่ Kubernetes Basics