تعریف کاربران در 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
دریافت فایل های محیط تست
فایل های مورد نیاز تست از طریق این لینک قابل دسترس می باشد.
ارسال پاسخ برای این سؤال