Điểm:0

cho phép người dùng chạy playbook mà không cần cung cấp cho họ mật khẩu

lá cờ ma

Tôi có một playbook ansible mà tôi muốn cho phép người dùng thông thường chạy để cài đặt ứng dụng trên máy chủ centos, nhưng tôi không nhất thiết muốn cung cấp cho họ thông tin đăng nhập. Tôi biết bạn có thể sử dụng ansible vault để lưu trữ dữ liệu được mã hóa, nhưng từ những gì tôi có thể nói, bạn cũng có thể giải mã dữ liệu này khá dễ dàng. Bất kỳ ý tưởng về nếu điều này là có thể và làm thế nào để đạt được nó?

Michael Hampton avatar
lá cờ cz
Đây là một trong những vấn đề mà AWX/Ansible Tower giải quyết, ví dụ: với một [công việc](https://docs.ansible.com/ansible-tower/latest/html/userguide/jobs.html#job-details-playbook-run).
jldiets avatar
lá cờ ma
@MichaelHampton, tôi đã hy vọng có thứ gì đó mở hơn một chút nếu có thể.
Michael Hampton avatar
lá cờ cz
AWX _là_ mã nguồn mở.
Điểm:1
lá cờ cn

Hầu hết các phương pháp cài đặt phần mềm đều yêu cầu người dùng có quyền riêng tư.

Các nguyên tắc về trách nhiệm giải trình và quyền riêng tư tối thiểu ngụ ý thông tin đăng nhập phải được thực hiện với người dùng cá nhân ít đặc quyền hơn và được cấp quyền riêng tư khi cần thiết. Ansible có thể giúp trở thành plugin chạy mọi thứ như một người dùng khác cho bạn, với doas hoặc sudo hoặc bất cứ thứ gì.

Mật khẩu là một phương thức xác thực rác nói chung. Entropy thấp, thực tiễn kém trong lịch sử và bất tiện khi tự động hóa. Một số chạy khi một phương thức người dùng khác yêu cầu mật khẩu cá nhân của bạn, điều này làm giảm nhu cầu về thông tin đăng nhập được chia sẻ. Ansible có thể nhắc người dùng nhập mật khẩu như vậy với --hỏi-trở thành-vượt qua

ansible-vault (và các plugin tra cứu hệ thống bảo mật) chỉ bảo vệ dữ liệu ở trạng thái nghỉ, không bảo vệ khi sử dụng. Người đang chạy Ansible sẽ có quyền truy cập vào bí mật văn bản gốc. Nó có thể hiển thị khi kích hoạt gỡ lỗi đủ chi tiết.

Với tất cả những điều trên, một giải pháp hợp lý có thể là cấu hình mà không cần mật khẩu. ssh bằng cách sử dụng khóa hoặc chứng chỉ, nhưng sử dụng trở thành để chạy tác vụ gói với quyền root. Tuy nhiên, những gì họ làm với quyền root không thể bị hạn chế. Ansible tạo các tập lệnh tạm thời để chạy các mô-đun và không có quy tắc sudo tốt nào để hạn chế các lệnh trông giống như /bin/sh -c '/usr/bin/python3 ~/.ansible/tmp/ansible-tmp-1628781435.871488-116497-130276452381107/AnsiballZ_setup.py'

Chạy playbook dành riêng cho người dùng. Khuyến khích họ đưa ra ý kiến ​​về những việc cần làm, nhưng không cung cấp cho họ thông tin xác thực để làm điều đó. Đặt các sách giải trí như vậy trong kiểm soát phiên bản và chấp nhận các yêu cầu thay đổi. Chạy các vở kịch theo cách bạn muốn:

  • người chạy ansible được lên lịch trong cron.
  • Từ một quy trình được kích hoạt bằng cách hợp nhất đến nhánh sản xuất trong kiểm soát phiên bản.
  • Công việc chạy từ giao diện người dùng AWX.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.