Ansible: Thêm bảo mật cho Playbook của bạn bằng Ansible Vault

Bảo mật cho Tự động hóa mạng Ansible của bạn

Hãy để tôi giới thiệu Ansible Vault. Ansible Vault cung cấp tính năng bảo mật cho dữ liệu nhạy cảm trong sách giải trí của bạn. Bạn có thể sử dụng Ansible Vault để mã hóa mọi dữ liệu Ansible từ một biến duy nhất thành một tệp trong các dự án Ansible. Khi chúng ta tiếp tục khám phá tính năng tự động hóa mạng Ansible, hãy cân nhắc việc đưa các khả năng bảo mật do Ansible Vault cung cấp vào. 

Làm thế nào nó hoạt động

Hãy nghĩ đến một kho tiền ngân hàng có nhiều ngăn kéo có khóa. Cần có khóa ngăn kéo vault để truy xuất nội dung nhạy cảm. Theo cách tương tự, Ansible vault tạo ngăn kéo vault trong khi bạn cung cấp khóa (mật khẩu).

Ansible Vault là một tính năng xác thực dựa trên mật khẩu được tích hợp trong khung Ansible. Ansible Vault bổ sung tính bảo mật dưới dạng dữ liệu Ansible được mã hóa cho các playbook, Host_vars, group_vars hoặc các tệp kiểm kê. Ví dụ: với Ansible Vault, bạn có thể mã hóa dữ liệu Ansible nhạy cảm như thông tin đăng nhập chuyển đổi được sử dụng khi chạy playbook.

Đến bây giờ bạn có thể đang tự hỏi, “Tôi phải bắt đầu từ đâu?”

Bắt đầu quá trình mã hóa trên nút điều khiển tự động hóa Ansible.

Dễ dàng sử dụng và thực hiện

Tiện ích dòng lệnh ansible-vault rất dễ sử dụng. Quá trình tổng thể để triển khai Ansible Vault rất đơn giản.

Trong một tùy chọn triển khai, bạn cung cấp mật khẩu bí mật vault khi mã hóa dữ liệu Ansible lần đầu, trong trường hợp này là thông tin đăng nhập chuyển đổi. Sau đó, “khóa” mật khẩu vault sẽ được liên kết với dữ liệu được mã hóa vault trong Ansible Vault.

Đây là cấu trúc lệnh tiện ích ansible-vault để mã hóa một chuỗi.

ansible-vault Encrypt_string <password_source> '<string_to_encrypt>' --name '<string_name_of_variable>'

Dưới đây là ví dụ về mã hóa chuỗi “admin” cho biến Ansible “ansible_ssh_pass”.

ansible-vault Encrypt_string --ask-vault-password "admin" --name "ansible_ssh_pass"

“ansible-vault” là tiện ích dòng lệnh.

“encrypt_string” là lệnh vault để mã hóa một chuỗi.

“–ask-vault-password” là nguồn cung cấp mật khẩu vault.

“string_name_of_variable” là biến Ansible để sử dụng dữ liệu được mã hóa.

Ansible Vault yêu cầu bạn cung cấp mật khẩu vault (sử dụng lời nhắc hoặc tệp) mỗi khi bạn cần chạy playbook với dữ liệu được mã hóa.

Ansible Vault có nhiều lệnh khác để tạo, chỉnh sửa, xem, khóa lại, giải mã, v.v. khi làm việc với dữ liệu được mã hóa. Để biết các tùy chọn triển khai khác, hãy xem tài liệu Ansible Vault . Để dùng thử tương tác, hãy truy cập Trung tâm Demo .