Применение повышения привилегий в плейбуках
Теперь, когда вы знаете, как настроить метод повышения привилегий по умолчанию в Ansible, давайте рассмотрим, как применить его в своих плейбуках.
Повышение привилегий на уровне плей
Как уже упоминалось, вы можете задать параметры become
и become_method
на уровне плей, чтобы применить метод повышения привилегий по умолчанию ко всем задачам в рамках плей. Это удобный способ обеспечить успешное выполнение всех задач, которые требуют повышенных прав.
- hosts: webservers
become: yes
become_method: sudo
tasks:
- name: Install Apache web server
apt:
name: apache2
state: present
- name: Start Apache service
service:
name: apache2
state: started
В этом примере параметры become
и become_method
заданы на уровне плей, что означает, что как задача "Install Apache web server", так и задача "Start Apache service" будут выполняться с использованием метода повышения привилегий sudo
.
Повышение привилегий на уровне задачи
Если вам нужно использовать другой метод повышения привилегий для определенных задач, вы можете задать параметры become
и become_method
на уровне задачи. Это может быть полезно, когда у вас есть смесь задач, которые требуют различных уровней прав.
- hosts: webservers
tasks:
- name: Install Apache web server
apt:
name: apache2
state: present
become: yes
become_method: sudo
- name: Start Apache service
service:
name: apache2
state: started
become: yes
become_method: su
В этом примере задача "Install Apache web server" использует метод повышения привилегий sudo
, в то время как задача "Start Apache service" использует метод su
.
Применением повышения привилегий на соответствующем уровне в своих плейбуках Ansible вы можете обеспечить выполнение задач с необходимыми правами, повысив надежность и безопасность управления инфраструктурой.