TRANG CHỦDành cho nhà phát triển Cộng đồng Blog Blog Kỹ sư SCSK Phần 6: Thiết kế tỷ lệ cá cược bóng đá châu âu RBAC: Cách cấp đặc quyền phù hợp cho từng nhóm
Phần 6: Thiết kế tỷ lệ cá cược bóng đá châu âu RBAC: Cách cấp đặc quyền phù hợp cho từng nhóm
Xin chào, tôi là Ishikawa đến từ SCSK
Cho đến nay chúng ta đã xem xét các chi tiết kỹ thuật, nhưng lần này chúng ta sẽ nói về thiết kế vận hành, hay còn gọi là "quản trị" Tổ chức nên giải quyết như thế nào với vấn đề "các nhóm ứng dụng liên hệ với chúng tôi và nói rằng 'Chúng tôi không thể triển khai vì chúng tôi không có đủ đặc quyền'" Khám phá sự phân chia vai trò giữa nhóm tỷ lệ cá cược bóng đá châu âu và nhóm ứng dụng
Loạt
- Phần 1: Giới thiệu về quản lý quyền tỷ lệ cá cược bóng đá châu âu: Quyền ban đầu ngay sau khi tạo người dùng và kiểm soát việc tạo dự án
- Phần 2: Vai trò Quản trị viên tỷ lệ cá cược bóng đá châu âu là gì? Lời giải thích thực tế về những gì bạn có thể và không thể làm
- Phần 3: ClusterRoleBinding của tỷ lệ cá cược bóng đá châu âu là gì? Tác động của việc cấp vai trò Quản trị viên cho toàn bộ cụm
- Phần 4: Giải thích các đặc quyền của quản trị viên cụm tỷ lệ cá cược bóng đá châu âu: Sự khác biệt giữa RoleBinding và ClusterRoleBinding
- Phần 5: Thiết kế vai trò tùy chỉnh tỷ lệ cá cược bóng đá châu âu: Tạo điểm để vận hành với ít đặc quyền nhất
- Phần 6: Thiết kế tỷ lệ cá cược bóng đá châu âu RBAC: Cách cấp đặc quyền phù hợp cho từng nhóm
- Phần 7: Liên tục cải tiến việc quản lý đặc quyền tỷ lệ cá cược bóng đá châu âu: Những điểm chính để kiểm tra và đánh giá RBAC
Mục lục
- 3 câu hỏi thường gặp hàng đầu về “Không đủ thẩm quyền”
- Truy vấn 1: Vùng chứa đặc quyền và SCC (AnyUID, vv)
- Câu hỏi 2: Cài đặt toán tử và CRD
- Yêu cầu 3: Kéo hình ảnh từ dự án khác
- Giải pháp A: Nhóm tỷ lệ cá cược bóng đá châu âu sẽ thực hiện công việc cho bạn (hệ thống vé)
- Giải pháp B: Cấp đặc quyền tạm thời
- Giải pháp C: Tóm tắt quyền bằng GitOps
- Ví dụ điển hình về điểm phân giới thẩm quyền
- Tóm tắt
1Top 3 câu hỏi thường gặp về "không đủ đặc quyền"
Ba lỗi quyền sau đây thường xuyên xảy ra trong quá trình thao tác tỷ lệ cá cược bóng đá châu âu
- "Tôi muốn chạy nó với tư cách người dùng root nhưng tôi gặp lỗi": (giới hạn SCC)
- "Tôi muốn thêm Toán tử nhưng không có quyền": (Không đủ thẩm quyền tạo CRD)
- "Tôi muốn lấy hình ảnh từ dự án khác": (Thiếu liên kết vai trò)
Những vấn đề này không thể giải quyết được bằng đặc quyền quản trị viên thông thường
2 Yêu cầu 1: Vùng chứa đặc quyền và SCC (AnyUID, vv)
tỷ lệ cá cược bóng đá châu âu không cho phép thực thi quyền root theo mặc địnhĐể tránh điều này, cần phải cấp SCC (Ràng buộc bối cảnh bảo mật) chẳng hạn như bất kỳ id nào cho ServiceAccount, nhưng "quyền cấp SCC" này yêu cầu cấp quản trị viên cụmChúng tôi không thể cấp quản trị viên cụm cho nhóm ứng dụng Tôi nên làm gì?
3Yêu cầu 2: Cài đặt toán tử và CRD
Có nhiều yêu cầu bao gồm toán tử DB thuận tiện Tuy nhiên, việc triển khai Toán tử thường liên quan đến việc tạo CRD (Định nghĩa tài nguyên tùy chỉnh) và vì CRD là tài nguyên trên toàn cụm nên quản trị viên dự án không có quyền tạo chúng Ngoài ra, việc cài đặt qua OperatorHub là tiêu chuẩn cho tỷ lệ cá cược bóng đá châu âu, nhưng cấu hình của Subscription và OperatorGroup cũng liên quan đến các hoạt động ở cấp cụm nên chỉ nhóm ứng dụng không thể hoàn thành việc này
4 Câu 3: Kéo hình ảnh từ dự án khác
Khi vi dịch vụ phát triển, một yêu cầu nảy sinh là ``Tôi muốn lấy và sử dụng hình ảnh được tạo trong một dự án khác từ dự án của riêng tôi''Tuy nhiên, tỷ lệ cá cược bóng đá châu âu chặn nghiêm ngặt việc truy cập tài nguyên giữa các dự án Để giải quyết vấn đề này, trong dự án cung cấp hình ảnh, bạn cần cấp vai trò system:image-puller cho ServiceAccount sử dụng nó bằng RoleBinding Đây cũng là một mẫu yêu cầu sự hợp tác của quản trị viên của dự án khác, vì đây là hoạt động trải rộng trên nhiều dự án khác nhau nên không thể hoàn thành với đặc quyền quản trị viên thông thường của một dự án
5 Giải pháp A: Nhóm tỷ lệ cá cược bóng đá châu âu sẽ thực hiện công việc cho bạn (hệ thống vé)
- SCC: Nhóm ứng dụng áp dụng cho "Tên tài khoản dịch vụ" → Nhóm tỷ lệ cá cược bóng đá châu âu thực thi chính sách oc adm add-scc-to-user
- Toán tử: Được nhóm tỷ lệ cá cược bóng đá châu âu giới thiệu, chỉ cấp quyền sử dụng cho nhóm ứng dụng
Mặc dù bảo mật được đảm bảo nhưng nhược điểm là nó làm tăng khối lượng công việc của nhóm tỷ lệ cá cược bóng đá châu âu và làm chậm tốc độ phát triển
6 Giải pháp B: Cấp đặc quyền tạm thời
Để giải quyết vấn đề về tốc độ phát triển do không thể đợi yêu cầu được phản hồi, phương pháp này là tạm thời chỉ trao quyền mạnh mẽ cho nhóm ứng dụng khi cần thiết, chẳng hạn như trong thời gian triển khai ứng dụng, sau đó thu hồi quyền đó sau khi làm việcƯu điểm là bạn có thể giảm thiểu đặc quyền trong thời gian bình thường (hạn chế bề mặt tấn công) mà vẫn đảm bảo tính linh hoạt và tốc độ trong quá trình làm việcXin lưu ý rằng RBAC tiêu chuẩn của tỷ lệ cá cược bóng đá châu âu không có chức năng "tự động xóa các đặc quyền sau 3 giờ (ngày hết hạn)", vì vậy các đặc quyền phải được thu hồi theo cách thủ công Tuy nhiên, tình trạng ``quên thu hồi đặc quyền sau khi hoàn thành công việc'' xảy ra, dẫn đến sự cố nghiêm trọng khi đặc quyền không được giám sát Ngoài ra, bạn sẽ cần phải đăng ký lại quyền mỗi lần khắc phục sự cố, điều này có thể làm chậm quá trình khôi phục
7 Giải pháp C: Tóm tắt quyền bằng GitOps
Giải pháp B: Một cách tiếp cận hiện đại sử dụng hệ thống để giải quyết nguy cơ nghiêm trọng do ``thiếu sót thiếu thủ công'' và đạt được cả tốc độ lẫn khả năng quản trịArgoCD (tỷ lệ cá cược bóng đá châu âu GitOps)
- Bản thân ArgoCD phải có các đặc quyền mạnh (tương đương với quản trị viên cụm)
- Nhóm ứng dụng cam kết tệp kê khai chứa "cài đặt SCC bắt buộc" và "RoleBinding" vào kho lưu trữ Git
- Nhóm tỷ lệ cá cược bóng đá châu âu sẽ xem xét và phê duyệt yêu cầu kéo trên Git
- Sau khi được hợp nhất, ArgoCD sẽ tự động truyền cấu hình đến cụm
Phương pháp này giúp loại bỏ nhu cầu chuyển giao các đặc quyền mạnh trực tiếp cho nhóm ứng dụng, đồng thời loại bỏ nhu cầu nhóm tỷ lệ cá cược bóng đá châu âu phải thực thi các lệnh theo cách thủ công Đó là cách tiếp cận kiểm soát bằng “quy trình phê duyệt” hơn là “thẩm quyền” Tuy nhiên, khi áp dụng cách tiếp cận này, để đổi lấy việc quản lý đặc quyền dễ dàng hơn trên tỷ lệ cá cược bóng đá châu âu, ``Đặc quyền truy cập kho Git (ai có thể hợp nhất) và các quy tắc bảo vệ nhánh'' trở thành bức tường thành mới đảm bảo tính bảo mật cho toàn hệ thống Điều quan trọng là phải thiết kế nó kết hợp với các điều khiển hoạt động của Git
8 Ví dụ điển hình về điểm phân giới thẩm quyền
Giả sử việc triển khai GitOps (Giải pháp C), các quyền trên tỷ lệ cá cược bóng đá châu âu có thể được đơn giản hóa như sau
| Đội | Cấp vai trò tỷ lệ cá cược bóng đá châu âu | Vai trò/Việc bạn có thể làm | Không thể thực hiện được điều gì (yêu cầu bắt buộc) |
|---|---|---|---|
| Quản trị viên tỷ lệ cá cược bóng đá châu âu | quản trị viên cụm |
Đầy đủ đặc quyền Bảo trì, nâng cấp và kiểm tra cơ sở hạ tầng | Không có |
| Quản trị viên ứng dụng | quản trị viên |
Cài đặt CI/CD, Quản lý bí mật, quản lý thành viên | Vận hành nút, nới lỏng hạn ngạch, sử dụng SCC đặc quyền (*), Giới thiệu toán tử |
| Nhà phát triển ứng dụng | sửa |
Triển khai hàng ngày, kiểm tra nhật ký, khởi động lại Pod | Thay đổi ràng buộc vai trò, thay đổi ResourceQuota |
| Toán tử điều hành | xem |
Theo dõi, xác nhận nhật ký | Thay đổi cấu hình, triển khai |
9Tóm tắt
Việc “trao quyền làm gì thì dễ”, nhưng nó trực tiếp dẫn đến sự sụp đổ của môi trường nhiều bên thuêVề cơ bản, chính sách tốt nhất dành cho doanh nghiệp là có "các đặc quyền được đóng trong một không gian tên (quản trị viên/chỉnh sửa)" và đối với các yêu cầu vượt ra ngoài phạm vi đó (SCC, Nhà điều hành, Hạn ngạch, vv), thay vì cố gắng cấp các đặc quyền tạm thời cho con người, giải pháp tốt nhất cho doanh nghiệp là ủy quyền các đặc quyền cho "các quy trình và hệ thống" chẳng hạn như GitOps
Lần tới là phần cuối cùng và chúng tôi sẽ xem xét việc đánh giá liên tục về quản lý quyền