Ansible & MySQL


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

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

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

ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.