Làm cách nào để hạn chế quyền truy cập hệ thống tệp trong các bản dựng Atlassian Bamboo?


12

Chúng tôi có Atlassian Bamboo chạy trên Ubuntu. Khi một nhà phát triển đang thiết lập một bản dựng, thì anh ta hoặc cô ta có khả năng chạy các tác vụ kịch bản lệnh shell. Điều này rất hữu ích để chạy các lệnh (tùy chỉnh) trên cơ sở mã bạn đang xây dựng.

Tuy nhiên, các tập lệnh chạy cũng có thể truy cập hệ thống tập tin bên ngoài thư mục công việc của chúng trong thư mục làm việc của Tre ( <Bamboo-home-dir>/xml-data/build-dir/JOB_KEY). Vì vậy, JOB_A cũng có thể truy cập các tệp của JOB_B : cd ../JOB_B.

Có khả năng để hạn chế truy cập này?

Tái bút: Tôi nhận thức được thực tế rằng các bản dựng được điều hành bởi các đại lý (địa phương hoặc từ xa) trong Tre và bạn có thể xây dựng các dự án khác nhau bằng các tác nhân khác nhau. Tuy nhiên, nếu hai dự án được xây dựng bởi cùng một tác nhân, các dự án có thể truy cập các tệp của nhau.

Câu trả lời:


9

Hiện tại không có khả năng hạn chế các công việc có thể chạy trên cùng một tác nhân có khả năng tương tác với nhau. Có một loạt các yêu cầu tính năng yêu cầu loại chi tiết này, nhưng nếu tôi hiểu chính xác câu hỏi của bạn, yêu cầu phù hợp nhất sẽ là một vé Jira BAM-2504

Đó là một lỗ hổng lớn trong dòng sản phẩm, giải pháp duy nhất tôi tìm thấy tương tự như đề xuất của yêu cầu được liên kết ở trên, về cơ bản quy trình tre của bạn sẽ cần chạy với đủ đặc quyền để mạo danh một nhóm người dùng đại diện cho các dự án bạn muốn giữ riêng

Khi bạn đã có loại cơ chế này, bạn chỉ cần cố gắng thực thi rằng tất cả các kế hoạch chạy như một trong những tài khoản giả mạo, tùy thuộc vào ví dụ về dự án hoặc người tạo, v.v.

Vấn đề là cách mà các điều khiển truy cập hiện đang tồn tại có nghĩa là ít quản trị viên cốt lõi sẽ cần thiết lập tất cả các gói để họ có thể chắc chắn về các quyền được yêu cầu tách ra thay vì để người dùng không phải quản trị viên chỉnh sửa và tạo kế hoạch của riêng họ.

Nếu cách tiếp cận này không khả thi, điều đó không phải là một khi bạn tham gia vào loại phạm vi "nhiều hàng trăm người dùng", thì điều duy nhất bạn thực sự có thể làm để thử và ngừng xây dựng các công việc tương tác với nhau là triển khai điều khiển rất yếu mà tre mang lại cho bạn.

Tôi đã thử hai cách tiếp cận để làm điều này:

  1. Xóa hoặc làm tê liệt (loại bỏ tất cả các khả năng khỏi) các tác nhân địa phương của bạn và cho mỗi dự án / nhóm khác nhau / bất cứ điều gì trên bảng đến trường hợp tre của bạn, bạn cần buộc họ đến máy chủ xây dựng BYO. Trong hầu hết các trường hợp, tôi đã tham gia vào chi phí của một đại lý hoàn toàn không đáng kể so với chi phí rò rỉ dữ liệu tiềm ẩn hoặc tương tác kế hoạch độc hại.
  2. Hãy chắc chắn rằng các dự án có, hoặc nghĩ rằng chúng có, dữ liệu nhạy cảm liên quan đến kế hoạch của chúng luôn vệ sinh môi trường của chúng sau khi chúng xây dựng. Điều này làm giảm gánh nặng cho đội ngũ quản lý các công cụ và lên các dự án viết kế hoạch của họ và buộc họ phải dọn dẹp bất kỳ thông tin nào mà họ không muốn có sẵn cho người khác.

Không có giải pháp nào thậm chí gần hoàn hảo nhưng theo hiểu biết tốt nhất của tôi đó là về sự tách biệt nhiều như bạn có thể thực thi nếu bạn có một ví dụ tre được chia sẻ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.