تعریف کاربران در MySQL
شرح مسئله
برای تعریف کاربران با سطوح دسترسی متفاوت Ansible Playbook بنویسید که بتوان در MySQL کاربران را با سطوح دسترسی متفاوت تعریف کرد.
کاربران بدین شکل در group_vars تعریف شده اند (این Playbook در لینک انتهای صفحه در دسترس است):
---
grants:
- name: john
host: "%"
password: qazwsx
grants:
- "testdb5.*:SELECT,INSERT,UPDATE,DELETE,CREATE"
- "testdb4.*:SELECT,INSERT,UPDATE,DELETE"
- "testdb3.*:SELECT,INSERT"
- "testdb2.*:SELECT"
- name: foo
host: "%"
password: 1234
grants:
- "testdb2.*:SELECT"
- "testdb3.*:UPDATE"
- name: bar
host: "172.16.16.%"
password: 1111
grants:
- "testdb2.*:SELECT"
- "testdb1.*:DELETE"
- "testdb4.*:SELECT,INSERT,UPDATE,DELETE"
- "testdb3.*:SELECT,INSERT"
- name: sara
host: "localhost"
password: 2222
grants:
- "testdb5.*:SELECT,INSERT,UPDATE,DELETE,CREATE"
- "testdb3.*:SELECT,INSERT"
- "testdb2.*:SELECT"
- "testdb4.*:SELECT,INSERT,UPDATE,DELETE"
پس از اجرای این Playbook انتظار داریم کاربران طبق این دسترسی ها در MySQL ایجاد شوند.
نکته: در هنگام ارسال، اطلاعات اتصال به MySQL در تسک Ansible را حذف کنید.
تغییرات خود را فقط در فایل roles/grants/tasks/grants.yml
اعمال کنید.
نحوه ی اجرای تست:
ansible-playbook site.yml
نحوهی ارسال جواب
تغییرات خودتان را در محیط تست در فایل roles/grants/tasks/grants.yml
اعمال کنید و سپس فایل های خود را به صورت zip شده با ساختار زیر ارسال نمایید.( فایل ها را از لینک انتهای صفحه دریافت نمایید)
├── docker-compose.yml
├── group_vars
│ └── all
│ ├── main.yml
│ └── mysql.yml
├── inventory
│ └── sample
│ └── hosts.yml
├── roles
│ └── grants
│ ├── handlers
│ ├── tasks
│ │ ├── main.yml
│ │ └── grants.yml
│ └── templates
└── site.yml
دریافت فایل های محیط تست
فایل های مورد نیاز تست از طریق این لینک قابل دسترس می باشد.
ارسال پاسخ برای این سؤال