Cộng đồng blog

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

Mục lục

  1. 3 câu hỏi thường gặp hàng đầu về “Không đủ thẩm quyền”
  2. Truy vấn 1: Vùng chứa đặc quyền và SCC (AnyUID, vv)
  3. Câu hỏi 2: Cài đặt toán tử và CRD
  4. Yêu cầu 3: Kéo hình ảnh từ dự án khác
  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é)
  6. Giải pháp B: Cấp đặc quyền tạm thời
  7. Giải pháp C: Tóm tắt quyền bằng GitOps
  8. Ví dụ điển hình về điểm phân giới thẩm quyền
  9. 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

  1. "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)
  2. "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)
  3. "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ụm
Chú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ệc
Xin 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

Chọn nền tảng container hàng đầu trong ngành

tỷ lệ cá cược bóng đá châu âu không chỉ nâng cao hiệu quả vận hành cơ sở hạ tầng mà còn cung cấp các chức năng cần thiết để các nhà phát triển ứng dụng có thể tập trung phát triển mã nguồn