تعریف کاربران در 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"

Plain text

پس از اجرای این Playbook انتظار داریم کاربران طبق این دسترسی ها در MySQL ایجاد شوند.

نکته: در هنگام ارسال، اطلاعات اتصال به MySQL در تسک Ansible را حذف کنید.

تغییرات خود را فقط در فایل roles/grants/tasks/grants.yml اعمال کنید.

نحوه ی اجرای تست:

ansible-playbook site.yml
Plain text

نحوه‌ی ارسال جواب

تغییرات خودتان را در محیط تست در فایل 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
Plain text

دریافت فایل های محیط تست

فایل های مورد نیاز تست از طریق این لینک قابل دسترس می باشد.


ارسال پاسخ برای این سؤال
فایلی انتخاب نشده است.