
Xin chào, tôi là Ishikawa đến từ SCSK
Lần trước, chúng tôi đã giải thích các đặc quyền mặc định mà người dùng có ngay sau khi tạo Lần này, chúng ta sẽ đi sâu vào tỷ lệ kèo cá cược hôm nay trò "Quản trị viên (quản trị viên dự án)", tỷ lệ kèo cá cược hôm nay trò này thường được sử dụng trong các hoạt động thực tế của dự án Mặc dù được gọi là "Quản trị viên" nhưng tỷ lệ kèo cá cược hôm nay trò Quản trị viên của OpenShift không phải là "một kích cỡ phù hợp cho tất cả" Lần này, hãy kiểm tra ranh giới
Lịch trình loạt phim
-
Phần 1: Đặc quyền của người dùng ngay sau khi tạo
-
Phần 2: Đặc quyền của tỷ lệ kèo cá cược hôm nay trò quản trị viên (bài viết này)
-
Không3lần:Liên kết tỷ lệ kèo cá cược hôm nay trò cụmtạiQuản trị viênQuyền của người dùng đã cấp tỷ lệ kèo cá cược hôm nay trò
-
Không4lần:Quản trị viên cụmCuộnRàng buộc tỷ lệ kèo cá cược hôm nay tròvàClusterRoleBinding
-
Không5Thời gian: Mẹo và ghi chú khi tạo tỷ lệ kèo cá cược hôm nay trò tùy chỉnh
-
Không6lần: Cấp quyền phù hợp cho mỗi đội
- Không7lần: Liên tục xem xét việc quản lý đặc quyền
Mục lục
- Cấp tỷ lệ kèo cá cược hôm nay trò Quản trị viên cho người dùng
- Kiểm tra định nghĩa tỷ lệ kèo cá cược hôm nay trò Quản trị viên
- Vận hành tài nguyên trong dự án (Pod, Triển khai, Dịch vụ)
- Cấp đặc quyền cho người dùng khác (tạo Ràng buộc tỷ lệ kèo cá cược hôm nay trò)
- ResourceQuota(Giới hạn tài nguyên)
- Cố gắng tham khảo thông tin nút
- Kiểm tra xem ứng dụng có thể được triển khai với đặc quyền của Quản trị viên hay không
- Tóm tắt
1 Cấp tỷ lệ kèo cá cược hôm nay trò Quản trị viên cho người dùng
Đầu tiên, người dùng cần xác minhocpuser01 và dự ánocp-prj01
# Tạo người dùng và dự án$ oc dự án mới ocp-prj01Đang sử dụng dự án "ocp-prj01" trên máy chủBạn có thể thêm ứng dụng vào dự án này bằng lệnh 'ứng dụng mới' Ví dụ: hãy thử:oc ứng dụng mới Rails-postgresql-exampleđể xây dựng một ứng dụng mẫu mới trong Ruby Hoặc sử dụng kubectl để triển khai ứng dụng Kubernetes đơn giản:kubectl tạo triển khai hello-node --image=registryk8sio/e2e-test-images/agnhost:243 -- /agnhost Serve-hostname# Tạo người dùng$ oc tạo người dùng ocpuser01useruseropenshiftio/ocpuser01 đã tạo# Cấp tỷ lệ kèo cá cược hôm nay trò Quản trị viên (Tạo ràng buộc tỷ lệ kèo cá cược hôm nay trò)$ oc adm chính sách bổ sung tỷ lệ kèo cá cược hôm nay trò cho người dùng quản trị viên ocpuser01 -n ocp-prj01clusterrolerbacauthorizationk8sio/admin đã thêm: "ocpuser01"Bây giờ,ocpuser01làocp-prj01
2 Kiểm tra định nghĩa tỷ lệ kèo cá cược hôm nay trò Quản trị viên
Trước khi thực hiện bất kỳ thao tác nào, hãy kiểm tra định nghĩa về những đặc quyền mà tỷ lệ kèo cá cược hôm nay trò Quản trị viên có
# Kiểm tra tỷ lệ kèo cá cược hôm nay trò Quản trị viên$oc mô tả quản trị viên clusterroleTên:quản trị viênNhãn: kubernetesio/bootstrapping=rbac-defaultsChú thích: rbacauthorizationkubernetesio/autoupdate: trueQuy tắc chính sách:Tài nguyên URL không phải tài nguyên Tên tài nguyên Động từ nhóm [tạo bản cập nhật bản vá xóa xóa bộ sưu tập nhận danh sách theo dõi]triển khaiapps [tạo xóa xóa cập nhật bản vá bộ sưu tập nhận danh sách theo dõi]sự ràng buộc về tỷ lệ kèo cá cược hôm nay trò [tạo xóa xóa bộ sưu tập nhận danh sách cập nhật bản vá]tỷ lệ kèo cá cược hôm nay trò [tạo xóa xóa bộ sưu tập nhận danh sách cập nhật bản vá]nhóm yatriển khaiKhông chỉràng buộc tỷ lệ kèo cá cược hôm nay tròvà tới nhiều nguồn tài nguyên khác nhau Đây làQuản trị viênLăn vàsửaĐó là một sự khác biệt lớn giữa các tỷ lệ kèo cá cược hôm nay trò
3 Hoạt động trên các tài nguyên trong dự án
Đăng nhập với tư cách người dùng Quản trị viên và thử các thao tác tài nguyên phổ biến
# Chuyển đổi người dùng$oc đăng nhập -u ocpuser01URL bảng điều khiển: https://apixxxYêu cầu xác thực cho https://apixxx (openshift)Tên người dùng: ocpuser01Mật khẩu:Đăng nhập thành côngBạn có một dự án trên máy chủ này: "ocp-prj01"Sử dụng dự án "ocp-prj01"# Kiểm tra người dùng hiện tại$ oc whoamiocpuser01# Tạo nhóm$ oc chạy nginx --image=nginxpod/nginx đã được tạo# Xóa nhóm$ oc xóa pod nginxpod "nginx" đã bị xóa$ oc nhận nhómKhông tìm thấy tài nguyên nào trong không gian tên ocp-prj014 Cấp quyền cho người dùng khác (tạo RoleBinding)
tỷ lệ kèo cá cược hôm nay trò quan trọng của người quản lý dự án là "trao quyền cho các thành viên trong nhóm" Người dùng có tỷ lệ kèo cá cược hôm nay trò Quản trị viên chỉ có thể mời người dùng khác (tạo Ràng buộc tỷ lệ kèo cá cược hôm nay trò) trong các dự án của riêng họ
# Cấp đặc quyền chỉnh sửa cho người phát triển ứng dụng (devuser01)$oc chỉnh sửa chính sách adm bổ sung tỷ lệ kèo cá cược hôm nay trò cho người dùng devuser01 -n ocp-prj01clusterrolerbacauthorizationk8sio/edit đã thêm: "devuser01"Quản trị viên dự án có thể tự động quản lý quyền cho các thành viên trong nhóm mà không cần hỏi quản trị viên OpenShift
Tuy nhiên, bạn chỉ có thể cấp quyền cấp dự án cho người dùng đã tạo và bạn không thể tạo người dùng hoặc cấp quyền cấp cụm
$ oc nhận người dùngLỗi từ máy chủ (Bị cấm): useruseropenshiftio bị cấm: Người dùng "ocpuser01" không thể liệt kê tài nguyên "người dùng" trong nhóm API "useropenshiftio" ở phạm vi cụm5 Cố gắng thay đổi ResourceQuota (giới hạn tài nguyên)
Bây giờ đến chủ đề chính Quản trị viên dự án có thể quản lý "mọi thứ" trong một dự án không? Cố gắng kiểm tra/tạo/xóa ResourceQuota
# Kiểm tra ResourceQuota hiện tại (get)$oc nhận hạn ngạch tài nguyênKhông tìm thấy tài nguyên nào trong không gian tên ocp-prj01# Cố gắng tạo ResourceQuota mới$ oc tạo hạn ngạch test-quota --hard=pod=10,cpu=4,memory=8Gilỗi: không tạo được hạn ngạch: hạn ngạch tài nguyên bị cấm: Người dùng "ocpuser01" không thể tạo "resourcequotas" tài nguyên trong nhóm API "" trong không gian tên "ocp-prj01"# Cố gắng xóa ResourceQuota (nếu nó tồn tại)$ oc xóa hạn ngạch kiểm tra tài nguyênLỗi từ máy chủ (Bị cấm): Resourcequotas "test-quota" bị cấm: Người dùng "ocpuser01" không thể xóa tài nguyên "resourcequotas" trong nhóm API "" trong không gian tên "ocp-prj01"Không thành công Kiểm tra ResourceQuota hiện tại (nhận) có thể được ủy quyền (lần này không có gì được hiển thị vì mục tiêu không tồn tại), nhưng tạo một (tạo) hoặc xóa (xóa) tỷ lệ kèo cá cược hôm nay trò Quản trị viên là quản trị viên tài nguyên trong một dự án, nhưngBạn không có quyền tạo, thay đổi hoặc xóa giới hạn tiêu thụ tài nguyên (ResourceQuota)Đây là khu vực cần được quản trị viên OpenShift (Quản trị viên cụm) kiểm soát để ngăn một dự án độc quyền tài nguyên trong môi trường nhiều người thuê
6 Cố gắng tham khảo thông tin nút
Tiếp theo, hãy xem liệu chúng ta có thể xem thông tin nút hay không, tức là thông tin về toàn bộ cụm
# Lấy danh sách nútLợi nhuận$oc lấy nútLỗi từ máy chủ (Bị cấm): nút bị cấm: Người dùng "ocpuser01" không thể liệt kê các "nút" tài nguyên trong nhóm API "" ở phạm vi cụmViệc này cũng không thành công tỷ lệ kèo cá cược hôm nay trò Quản trị viên chỉ là quản trị viên được giới hạn trong "Không gian tên (dự án)" và không thể tham chiếu hoặc vận hành các tài nguyên cấp cụm (Node, PersistentVolume, vv)
7 Kiểm tra xem ứng dụng có thể được triển khai với đặc quyền của Quản trị viên hay không
Trong cài đặt phát triển thực tế, người ta dễ nghĩ rằng bất kỳ ai có đặc quyền của Quản trị viên đều có thể triển khai bất kỳ thứ gì, nhưng thực tế có rất nhiều trở ngại Chúng tôi đã sắp xếp các kịch bản triển khai ứng dụng phổ biến để xem liệu chúng có thể được hoàn thành chỉ với đặc quyền của Quản trị viên hay không
Danh sách kiểm tra quyền theo kịch bản
| # | Kịch bản | Thao tác bắt buộc | Có được không với đặc quyền của Quản trị viên | Yêu cầu quyền bổ sung (đích yêu cầu) |
|---|---|---|---|---|
| 1 | Khởi động Pod với tư cách không phải root | Khởi chạy Pod cho các ứng dụng web chung, vv (SCC bị hạn chế) | 〇 Có thể | Không cần thiết |
| 2 | Sử dụng SCC đặc quyền | anyuid (khởi động gốc), quyền truy cập máy chủ vv |
× Không thể | Quản trị viên OpenShift (đặc quyền sử dụng SCC) |
| 3 | Tạo SCC tùy chỉnh | Tạo SCC của riêng bạn và cung cấp cho SA | × Không thể | Quản trị viên OpenShift (đặc quyền tạo SCC) |
| 4 | Tạo ClusterRoleBinding | Cấp quyền trên toàn cụm (ClusterRoleBinding) cho SA | × Không thể | Quản trị viên OpenShift (Đặc quyền tạo ClusterRoleBinding) |
| 5 | Tạo CRD | Tạo định nghĩa tài nguyên tùy chỉnh | × Không thể | Quản trị viên OpenShift (đặc quyền tạo CRD) |
| 6 | Tạo PV | Tạo tĩnh PersistentVolume (PV) | × Không thể | Quản trị viên OpenShift (đặc quyền tạo PV)*Có thể phân bổ động bằng PVC với Quản trị viên |
| 7 | Giới thiệu toán tử | Toán tử cài đặt (Đăng ký, Quản lý CR) | △ Có thể một phần | Chỉ khi Nhóm toán tử trong phạm vi không gian tên được định cấu hình sẵn Cấu hình tiêu chuẩn yêu cầu quản trị viên OpenShift |
| 8 | Xem các dự án khác | Truy cập tài nguyên từ các dự án khác | × Không thể | Quản trị viên dự án mục tiêu (đã thêm RoleBinding) |
| 9 | Vào/Tuyến đường | Tạo tuyến đường (HTTP/HTTPS) | 〇 Có thể | Việc quản lý chứng chỉ, vv có thể được thực hiện bằng Cơ quan bí mật |
| 10 | Thực thi bản dựng | BuildConfig, Xây dựng bằng ImageStream | 〇 Có thể | Có thể tự xây dựng (không thể xây dựng yêu cầu SCC đặc quyền) |
| 11 | Chính sách mạng | Tạo quy tắc kiểm soát giao tiếp | 〇 Có thể | Không cần thiết |
Điểm
* Không thể quản trị viên khi cần có "đặc quyền": gốc Các hoạt động gây ra rủi ro bảo mật cao, chẳng hạn như thực thi với tư cách người dùng (anyuid) hoặc gắn kết một vùng của Hệ điều hành máy chủ (hostaccess), không được tỷ lệ kèo cá cược hôm nay trò Quản trị viên cho phép Những điều này phải được yêu cầu từ quản trị viên OpenShift của bạn
* Không thể thực hiện bất cứ điều gì liên quan đến “toàn bộ cụm”:Vì CRD và PV (tĩnh) là tài nguyên trên toàn cụm nên không quản trị viên dự án cụ thể nào có thể chạm vào chúng
8 Tóm tắt
Với xác thực này, ranh giới của tỷ lệ kèo cá cược hôm nay trò Quản trị viên đã trở nên rõ ràng hơn
| Danh mục hoạt động | Hành động cụ thể | Có được không với đặc quyền của Quản trị viên |
|---|---|---|
| Quản lý ứng dụng | Pod, Dịch vụ, Triển khai, Bí mật, Bản đồ cấu hình, LimitRange tạo/xóa | 〇 Có thể |
| Quản lý nhóm | Tạo liên kết tỷ lệ kèo cá cược hôm nay trò trong dự án (thêm thành viên) | 〇 Có thể |
| Giới hạn tài nguyên | Tạo/Thay đổi/Xóa hạn ngạch tài nguyên | × Bị cấm |
| Tham khảo cơ sở | Tham khảo thông tin về nút, PV | × Bị cấm |
| Triển khai nâng cao | Sử dụng SCC đặc quyền, tạo CRD | × Bị cấm |
* Quản lý bí mật:tỷ lệ kèo cá cược hôm nay trò quản trị viên làBí mậtĐây là đặc quyền cần thiết để quản lý mật khẩu cơ sở dữ liệu và khóa API, nhưng điều đó cũng có nghĩa là "người dùng có đặc quyền Quản trị viên có thể xem bất kỳ thông tin nhạy cảm nào trong dự án" Điều quan trọng để bảo mật là không cấp đặc quyền Quản trị viên cho những thành viên không cần thiết
* Ràng buộc của ResourceQuota:Hạn ngạch tài nguyên giống như một hợp đồng mà quản trị viên OpenShift quy định, ``Lượng tài nguyên (CPU/bộ nhớ) này sẽ được trao cho dự án này'' Do đó, nếu người quản lý dự án có thể tự thay đổi điều này, việc quản lý tài nguyên sẽ bị phá vỡ Đây là lý do tại sao các đặc quyền được tách biệt
Lần tới, chúng ta sẽ xem điều gì sẽ xảy ra khi chúng ta cấp tỷ lệ kèo cá cược hôm nay trò Quản trị viên bằng ClusterRoleBinding












