ایجاد و مدیریت کاربر جدید در دیتابیس Redis


Redis از سیستم کاربران و دسترسی‌های پیچیده پشتیبانی نمی‌کند. اما با استفاده از قابلیت ACL (Access Control List) از نسخه 6.0 به بعد، می‌توانید کاربران جدید ایجاد کنید و دسترسی‌های مختلف را تنظیم کنید.

برای ساخت کاربر جدید در دیتابیس، در ابتدا باید ابزار redis-cli را بر روی سیستم (یا سرور خود)، نصب کنید؛ در ادامه، بایستی با استفاده از اطلاعات موجود در بخش نحوه اتصال دیتابیس‌تان در لیارا و با استفاده از دستور زیر، در ترمینال، به redis متصل شوید:

کپی
redis-cli -h <host_name> -p <port> -a "<password>"

پس از اتصال موفق، می‌توانید با استفاده از دستورات تعریف شده در ادامه، کاربران مد نظر خود را، ایجاد کنید.

ساخت کاربر با دسترسی Read-Only

برای ایجاد کاربر جدید که تنها اجازه خواندن اطلاعات (READ) از دیتابیس را دارد، می‌توانید از دستور زیر استفاده کنید:

کپی
ACL SETUSER readonly_user on >password123 ~* +@read -@write

دستور فوق، یک کاربر با نام readonly_user و رمزعبور password123 با اجازه دسترسی به تمامی کلیدها (با استفاده از *~) و فقط اجازه خواندن آن‌ها (read+@) و منع تغییر آن‌ها (write-@)، ایجاد می‌کند. حال برای اتصال به redis با این کاربر ایجاد شده، می‌توانید از دستور زیر در ترمینال، استفاده کنید:

کپی
redis-cli -h fitz-roy.liara.cloud -p 30612 -a "password123" --user readonly_user

ساخت کاربر با دسترسی محدود به برخی کلیدها

در صورتی که بخواهید کاربری ایجاد کنید که فقط به کلیدهای مشخص دسترسی داشته باشد، می‌توانید مانند دستور زیر عمل کنید:

کپی
ACL SETUSER limited_user on >password456 ~user_* +@read +@write

دستور فوق، یک کاربر با نام limited_user و رمزعبور password456 با اجازه دسترسی به کلیدهایی که با _user شروع می‌شوند (با استفاده از *_user~) و اجازه خواندن آن‌ها (read+@) و تغییر آن‌ها (write+@)، ایجاد می‌کند. حال برای اتصال به redis با این کاربر ایجاد شده، می‌توانید از دستور زیر در ترمینال، استفاده کنید:

کپی
redis-cli -h fitz-roy.liara.cloud -p 30612 -a "password456" --user limited_user

ساخت کاربر برای تهیه فایل پشتیبان

برای ایجاد کاربر جدید که تنها اجازه تهیه فایل پشتیبان از دیتابیس را دارد، می‌توانید مانند دستور زیر عمل کنید:

کپی
ACL SETUSER backup_user on >password789 ~* +@admin

دستور فوق، یک کاربر با نام backup_user و رمزعبور password789 با اجازه دسترسی به همه کلیدها (با استفاده از *~) و اجازه دسترسی به دستورات مدیریتی مثل SAVE و BGSAVE (admin+@) ایجاد می‌کند.

حذف یک کاربر

برای حذف یک کاربر، می‌توانید از دستور ACL DELUSER استفاده کنید. به عنوان مثال، اگر بخواهید کاربری به نام readonly_user را حذف کنید، می‌توانید از دستور زیر استفاده کنید:

کپی
ACL DELUSER readonly_user

مدیریت کاربران

برای مشاهده لیست کاربران می‌توانید با دسترسی ادمین، از دستور زیر، استفاده کنید:

کپی
ACL LIST

برای بررسی دسترسی‌های یک کاربر خاص نیز، می‌توانید مانند قطعه کد زیر عمل کنید:

کپی
ACL GETUSER readonly_user

دستور فوق، دسترسی‌های کاربری به نام readonly_user را، نمایش می‌دهد.