From ff5ab1768530e2d2a43428a481176704a133a8ee Mon Sep 17 00:00:00 2001 From: Ali Najmabadi Date: Sun, 6 Oct 2024 14:58:16 +0330 Subject: [PATCH] update databases docs --- src/components/Sidebar/data.js | 10 ++ src/pages/dbaas/mariadb/create-user.mdx | 137 +++++++++++++++++++++++ src/pages/dbaas/mongodb/create-user.mdx | 2 +- src/pages/dbaas/mysql/create-user.mdx | 6 + src/pages/dbaas/redis/create-user.mdx | 142 ++++++++++++++++++++++++ 5 files changed, 296 insertions(+), 1 deletion(-) create mode 100644 src/pages/dbaas/mariadb/create-user.mdx create mode 100644 src/pages/dbaas/redis/create-user.mdx diff --git a/src/components/Sidebar/data.js b/src/components/Sidebar/data.js index 97048c3b..25a01035 100644 --- a/src/components/Sidebar/data.js +++ b/src/components/Sidebar/data.js @@ -2934,6 +2934,11 @@ export default { icon: , link: "/dbaas/mariadb/choose-version" }, + { + title: "ایجاد و مدیریت کاربر جدید", + icon: , + link: "/dbaas/mariadb/create-user" + }, { hr: true }, @@ -3622,6 +3627,11 @@ export default { icon: , link: "/dbaas/redis/choose-version" }, + { + title: "ایجاد و مدیریت کاربر جدید", + icon: , + link: "/dbaas/redis/create-user" + }, { hr: true }, diff --git a/src/pages/dbaas/mariadb/create-user.mdx b/src/pages/dbaas/mariadb/create-user.mdx new file mode 100644 index 00000000..28097b29 --- /dev/null +++ b/src/pages/dbaas/mariadb/create-user.mdx @@ -0,0 +1,137 @@ +import Layout from "@/components/Layout"; +import Button from "@/components/Common/button"; +import Section from "@/components/Common/section"; +import Alert from "@/components/Common/alert"; +import Tabs from "@/components/Common/tab"; +import Step from "@/components/Common/step"; +import Card from "@/components/Common/card"; +import Important from "@/components/Common/important"; +import Highlight from "@/components/Common/highlight"; +import Link from "next/link"; +import NextPage from "@/components/Common/nextpage"; +import Asciinema from "@/components/Common/asciinema"; + +import Head from "next/head"; + + + +مستندات ایجاد و مدیریت کاربر جدید در دیتابیس MariaDB - لیارا + +# ایجاد و مدیریت کاربر جدید در دیتابیس MariaDB +
+ +وقتی که شما یک دیتابیس MariaDB جدید در لیارا، ایجاد می‌کنید؛ به صورت خودکار یک کاربر به نام root همراه با آن ایجاد می‌شود که همان دسترسی پیش‌فرض است. +دسترسی پیش‌فرض یا کاربر root در MariaDB، یک اکانت مدیریتی با بیشترین سطح دسترسی است. این کاربر معادل administrator در سیستم‌های عامل مختلف است و می‌تواند تمام عملیات‌های مدیریتی و اجرایی در پایگاه داده را انجام دهد. +
+ +شما می‌توانید با استفاده از ابزارهای مختلفی نظیر mysql-cli، کاربران جدید با دسترسی‌های جدید +در دیتابیس خود ایجاد کنید؛ در ادامه به نحوه ساخت کاربران جدید با دسترسی‌های مختلف در دیتابیس، پرداخته شده است. +
+ +برای ساخت کاربر جدید در دیتابیس، در ابتدا باید ابزار mysql-cli را بر روی سیستم (یا سرور خود)، نصب کنید؛ در ادامه، بایستی با استفاده از اطلاعات موجود در بخش **نحوه اتصال** دیتابیس‌تان در لیارا و با استفاده از دستور زیر، در ترمینال، به دیتابیس با کاربر root، متصل شوید: + +
+
+ + {`mysql --host -u -p --port -D `} + +
+
+پس از اتصال موفق، می‌توانید با استفاده از دستور CREATE USER، کاربران مد نظر خود را، ایجاد کنید. + +
+برای ایجاد کاربر جدید که تنها اجازه خواندن اطلاعات (READ) از دیتابیس را دارد، می‌توانید از دستورات زیر استفاده کنید: + + +
+
+ + {`CREATE USER 'readonly_user'@'%' IDENTIFIED BY 'password'; +GRANT SELECT ON .* TO 'readonly_user'@'%'; +FLUSH PRIVILEGES; +`} + +
+
+دستور فوق، یک کاربر با نام readonly_user و رمزعبور password ایجاد می‌کند که این کاربر می‌تواند +فقط داده‌ها را، در تمامی جداول موجود در دیتابیس مورد نظر، SELECT کند (بخواند). + +پس از ساخت کاربر، می‌توانید از مشخصات آن، استفاده کرده و به دیتابیس متصل بشوید. +بدیهی است که کاربر ایجاد شده فوق، نمی‌تواند +دسترسی غیر از SELECT کردن داده‌ها را داشته باشد؛ مگر اینکه +دسترسی‌اش توسط کاربر root، تغییر پیدا کند. +
+در صورتی که بخواهید کاربری ایجاد کنید که فقط به چند جدول مشخص دسترسی داشته باشد، می‌توانید مانند دستورات زیر عمل کنید: + +
+
+ + {`CREATE USER 'limited_user'@'%' IDENTIFIED BY 'password'; +GRANT SELECT, INSERT, UPDATE ON . TO 'limited_user'@'%'; +GRANT SELECT ON . TO 'limited_user'@'%'; +FLUSH PRIVILEGES; +`} + +
+
+دستور فوق، یک کاربر به نام limited_user و رمزعبور password ایجاد می‌کند که می‌تواند +در جداول \ و \ در یک دیتابیس مشخص، عملیات SELECT , INSERT و UPDATE را، انجام دهد. + +بدیهی است که کاربر ایجاد شده فوق، نمی‌تواند دسترسی غیر از دسترسی‌های تعریف شده را داشته باشد؛ مگر اینکه دسترسی‌اش توسط کاربر root، تغییر پیدا کند. + +
+ +در صورتی که بخواهید کاربری ایجاد کنید که فقط +بتواند وارد دیتابیس شود و فایل پشتیبان از آن تهیه کند، می‌توانید مانند قطعه کد زیر، عمل کنید: + +
+
+ + {`CREATE USER 'backup_user'@'%' IDENTIFIED BY 'password'; +GRANT SELECT, LOCK TABLES, SHOW DATABASES ON *.* TO 'backup_user'@'%'; +FLUSH PRIVILEGES; +`} + +
+ +
+برای مشاهده دسترسی‌های یک کاربر می‌توانید از دستور SHOW GRANTS استفاده کنید. به عنوان مثال، +می‌توانید برای مشاهده دسترسی‌های کاربری به نام readonly_user، مانند قطعه کد زیر، عمل کنید: + +
+
+ + {`SHOW GRANTS FOR 'readonly_user'@'%';`} + +
+ +
+برای حذف یک دسترسی کاربر، می‌توانید از دستور REVOKE استفاده کنید؛ +به عنوان مثال، فرض کنید که قصد دارید دسترسی UPDATE در جدول table1 از دیتابیس mydb را از کاربری به نام limited_user، سلب کنید. +برای این‌کار، می‌توانید از نمونه قطعه کد زیر، استفاده کنید: +
+
+ + {`REVOKE UPDATE ON database_name.table1 FROM 'limited_user'@'%'; +FLUSH PRIVILEGES; +`} + +
+ +
+برای حذف کاربر می‌توانید از دستور DROP USER استفاده کنید. به عنوان مثال، +برای حذف کاربری به نام readonly_user می‌توانید مانند قطعه کد زیر، عمل کنید: +
+
+ + {`DROP USER 'readonly_user'@'%';`} + +
+ + +

+همچنین بخوانید: مستندات ایجاد کاربر در MariaDB +

+
+ + \ No newline at end of file diff --git a/src/pages/dbaas/mongodb/create-user.mdx b/src/pages/dbaas/mongodb/create-user.mdx index b0a35dfd..9ecdf56a 100644 --- a/src/pages/dbaas/mongodb/create-user.mdx +++ b/src/pages/dbaas/mongodb/create-user.mdx @@ -69,7 +69,7 @@ db.createUser({
- + {`use admin; db.createUser({ user: "limitedUser", diff --git a/src/pages/dbaas/mysql/create-user.mdx b/src/pages/dbaas/mysql/create-user.mdx index 41f9002b..67d4c69d 100644 --- a/src/pages/dbaas/mysql/create-user.mdx +++ b/src/pages/dbaas/mysql/create-user.mdx @@ -136,4 +136,10 @@ FLUSH PRIVILEGES;
+ +

+همچنین بخوانید: مستندات رسمی ایجاد کاربر در MySQL +

+
+ \ No newline at end of file diff --git a/src/pages/dbaas/redis/create-user.mdx b/src/pages/dbaas/redis/create-user.mdx new file mode 100644 index 00000000..473e043d --- /dev/null +++ b/src/pages/dbaas/redis/create-user.mdx @@ -0,0 +1,142 @@ +import Layout from "@/components/Layout"; +import Button from "@/components/Common/button"; +import Section from "@/components/Common/section"; +import Alert from "@/components/Common/alert"; +import Tabs from "@/components/Common/tab"; +import Step from "@/components/Common/step"; +import Card from "@/components/Common/card"; +import Important from "@/components/Common/important"; +import Highlight from "@/components/Common/highlight"; +import Link from "next/link"; +import NextPage from "@/components/Common/nextpage"; +import Asciinema from "@/components/Common/asciinema"; + +import Head from "next/head"; + + + +مستندات ایجاد و مدیریت کاربر جدید در دیتابیس Redis - لیارا + +# ایجاد و مدیریت کاربر جدید در دیتابیس Redis +
+ +Redis از سیستم کاربران و دسترسی‌های پیچیده پشتیبانی نمی‌کند. اما با استفاده از قابلیت ACL (Access Control List) از نسخه 6.0 به بعد، می‌توانید کاربران جدید ایجاد کنید و دسترسی‌های مختلف را تنظیم کنید. + + +
+ +برای ساخت کاربر جدید در دیتابیس، در ابتدا باید ابزار redis-cli را بر روی سیستم (یا سرور خود)، نصب کنید؛ در ادامه، بایستی با استفاده از اطلاعات موجود در بخش **نحوه اتصال** دیتابیس‌تان در لیارا و با استفاده از دستور زیر، در ترمینال، +به redis متصل شوید: + +
+
+ + {`redis-cli -h -p -a ""`} + +
+
+ +پس از اتصال موفق، می‌توانید با استفاده از دستورات تعریف شده در ادامه، کاربران مد نظر خود را، ایجاد کنید. + +
+برای ایجاد کاربر جدید که تنها اجازه خواندن اطلاعات (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 را، نمایش می‌دهد. + +
+ +

+همچنین بخوانید: مستندات رسمی ایجاد کاربر در Redis +

+
+ + \ No newline at end of file