Role Based Access Control (RABC)
Role-Based Access Control (RBAC) ही एक सुरक्षिततेसाठी वापरली जाणारी प्रणाली आहे जे की OpenShift सारख्या kubernetes आधारित प्लॅटफॉर्मवर वापरली जाते. यामुडे वापरकर्त्यांना विशिष्ट भूमिका ( Roles ) देऊन त्यांचे अधिकार मर्यादित करते म्हणजेच कोण कोणते resource वापरू शकतो ह्या गोष्टी निश्चित करतो.
🔐 RBAC म्हणजे काय?
RBAC ही अशी प्रणाली आहे ज्यामध्ये आपण वापरकर्त्यांना विशिष्ट भूमिका (Roles) आणि त्या भूमिकाशी निगडीत अधिकार (permissions) देतो यामुडे संपूर्ण system मध्ये सुरक्षा आणि नियंत्रण राखता येते.
🔐 RBAC म्हणजे काय?
- Role (भूमिका)
- Role मध्ये ठराविक अधिकार असतात जसे की pod वाचने, तयार करणे किवा डिलीट करणे
- Role एक Namespace मध्येच मर्यादित असते
- ClusterRole
- हे Role संपूर्ण क्लस्टर साठी लागू होते
- उदा. सर्व NameSpaces मधील pods वर काम करणे
- Role Binding
- Role Binding वापरुन Role एका वापरकर्त्यास किवा ग्रुपला दिली जाते
- Role Binding विशिष्ट NameSpace मध्येच असते
- Cluster Role Binding
- हा Cluster Role ला संपूर्ण क्लस्टर मध्ये एका वापरकर्त्याशी किवा ग्रुपशी जोडते.
उदाहरण (Example):
- Role तयार करणे:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: demo
name: pod-reader
rules:
– apiGroups: [“”]
resources: [“pods”]
verbs: [“get”, “watch”, “list”]
- RoleBinding तयार करणे:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: read-pods
namespace: demo
subjects:
– kind: User
name: rahul
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: Role
name: pod-reader
apiGroup: rbac.authorization.k8s.io
वरील उदाहरणात, rahul या युजरला demo namespace मध्ये Pods वाचण्याचा (get/list/watch) अधिकार दिला आहे
✅ फायदे:
- सुरक्षितता वाढते
- किमान आवश्यक access देता येतो (Least Privilege)
- Role वेगवेगळ्या युजर्ससाठी reuse करता येतात
