-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
4a8f5e6
commit 03a2f10
Showing
4 changed files
with
187 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,178 @@ | ||
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"; | ||
|
||
<Layout> | ||
<Head> | ||
<title>مستندات ایجاد و مدیریت کاربر جدید در دیتابیس MSSQL - لیارا</title> | ||
</Head> | ||
# ایجاد و مدیریت کاربر جدید در دیتابیس MSSQL | ||
<hr className="mb-2" /> | ||
|
||
وقتی که شما یک دیتابیس MSSQL جدید در لیارا، ایجاد میکنید؛ به صورت خودکار یک کاربر به نام sa همراه با آن ایجاد میشود که همان دسترسی پیشفرض است. | ||
دسترسی پیشفرض یا کاربر <Important>sa</Important> در MSSQL، یک اکانت مدیریتی با بیشترین سطح دسترسی است. این کاربر معادل administrator در سیستمهای عامل مختلف است و میتواند تمام عملیاتهای مدیریتی و اجرایی در پایگاه داده را انجام دهد. | ||
<div className="h-2" /> | ||
|
||
شما میتوانید با استفاده از ابزارهای مختلفی نظیر SQLCMD کاربران جدید با دسترسیهای جدید | ||
در دیتابیس خود ایجاد کنید؛ در ادامه به نحوه ساخت کاربران جدید با دسترسیهای مختلف در دیتابیس، پرداخته شده است. | ||
<div className="h-2" /> | ||
|
||
برای ساخت کاربر جدید در دیتابیس، در ابتدا باید <a href="/dbaas/mssql/how-tos/connect-via-cli/sqlcmd" className="text-[#2196f3]">ابزار SQLCMD</a> را بر روی سیستم (یا سرور خود)، نصب کنید؛ در ادامه، بایستی با استفاده از اطلاعات موجود در بخش **نحوه اتصال** دیتابیستان در لیارا و با استفاده از دستور زیر، در ترمینال، به دیتابیس، با کاربر sa، متصل شوید: | ||
|
||
<div className="h-4" /> | ||
<div dir='ltr'> | ||
<Highlight className="bash"> | ||
{`sqlcmd -S <host_name>,<port> -U<user_name> -P<password>`} | ||
</Highlight> | ||
</div> | ||
<div className="h-4" /> | ||
|
||
پس از اتصال موفق، میتوانید با استفاده از دستورات تعریف شده در ادامه، کاربران مد نظر خود را، ایجاد کنید. | ||
|
||
<Section id="create-readonly-user" title="ساخت کاربر با دسترسی Read-Only " /> | ||
برای ایجاد کاربر جدید که تنها اجازه خواندن اطلاعات (READ) از دیتابیس را دارد و میتواند از آن بکاپ بگیرد، | ||
میتوانید از قطعه کد زیر استفاده کنید: | ||
|
||
<div className="h-4" /> | ||
<div dir='ltr'> | ||
<Highlight className="SQL"> | ||
{`-- connect to DB | ||
USE master; | ||
GO | ||
-- Create login for new user | ||
CREATE LOGIN ReadOnlyUser | ||
WITH PASSWORD = 'StrongPassword123'; | ||
GO | ||
-- Select specific database | ||
USE <database_name>; -- eg: USE master; | ||
GO | ||
-- Create user based on created login | ||
CREATE USER ReadOnlyUser | ||
FOR LOGIN ReadOnlyUser; | ||
GO | ||
-- Change user-role to read-only | ||
ALTER ROLE db_datareader ADD MEMBER ReadOnlyUser; | ||
GO | ||
-- give access to take backups | ||
GRANT BACKUP DATABASE TO BackupUser; | ||
GRANT BACKUP LOG TO BackupUser; | ||
GO | ||
`} | ||
</Highlight> | ||
</div> | ||
<div className="h-4" /> | ||
|
||
دستورات فوق، یک کاربر با نام <Important>ReadOnlyUser</Important> و رمزعبور <Important>StrongPassword123</Important> برای دیتابیس master (یا دیتابیس انتخابی) با دسترسی readonly، ایجاد میکند. | ||
|
||
|
||
<Section id="create-limited-user" title="ساخت کاربر با دسترسی محدود به برخی جداول" /> | ||
در صورتی که بخواهید کاربری ایجاد کنید که فقط به چند جدول مشخص دسترسی داشته باشد، میتوانید مانند دستورات زیر عمل کنید: | ||
|
||
|
||
<div className="h-4" /> | ||
<div dir='ltr'> | ||
<Highlight className="sql"> | ||
{`-- connect to DB | ||
USE master; | ||
GO | ||
-- Create a user for login | ||
CREATE LOGIN LimitedUser | ||
WITH PASSWORD = 'AnotherStrongPassword123'; | ||
GO | ||
-- Use specific Database | ||
USE <database_name>; -- eg: USE master; | ||
GO | ||
-- Create user for created login user | ||
CREATE USER LimitedUser | ||
FOR LOGIN LimitedUser; | ||
GO | ||
-- give access to created user | ||
GRANT SELECT ON dbo.<table_name_1> TO LimitedUser; | ||
GRANT SELECT ON dbo.<table_name_2> TO LimitedUser; | ||
GO`} | ||
</Highlight> | ||
</div> | ||
<div className="h-4" /> | ||
|
||
دستورات فوق، یک کاربر به نام <Important>LimitedUser</Important> و رمزعبور <Important>AnotherStrongPassword123</Important> ایجاد میکند که میتواند | ||
در جداول \<table_name_1\> و \<table_name_2\> در یک دیتابیس مشخص، عملیات <Important>SELECT</Important> را، انجام دهد. | ||
|
||
<Section id="delete-user" title="حذف یک کاربر" /> | ||
برای حذف یک کاربر در MSSQL، ابتدا باید هرگونه وابستگی (مثل عضویت در نقشها) و دسترسیهای کاربر را حذف کنید. سپس میتوانید <Important>USER</Important> و <Important>LOGIN</Important> مربوطه را حذف کنید. | ||
|
||
اگر کاربر در نقشهای خاصی عضو است یا مجوزهایی برای جداول و اشیاء مختلف دارد، بهتر است ابتدا آنها را حذف کنید. برای حذف نقشها و دسترسیها، میتوانید مانند قطعه کد زیر، عمل کنید: | ||
|
||
|
||
<div className="h-4" /> | ||
<div dir='ltr'> | ||
<Highlight className="sql"> | ||
{`-- use the database | ||
USE <database_name>; -- eg: USE master;; | ||
GO | ||
-- drop all roles | ||
ALTER ROLE <role_name> DROP MEMBER <user_name>; -- eg: ALTER ROLE db_datareader DROP MEMBER readOnlyUser; | ||
GO | ||
-- revoke all specific access | ||
REVOKE SELECT, INSERT, UPDATE, DELETE ON dbo.<table_name> FROM <user_name>; | ||
GO`} | ||
</Highlight> | ||
</div> | ||
<div className="h-4" /> | ||
|
||
بعد از حذف دسترسیها، میتوانید کاربر را با استفاده از قطعه کد زیر، از دیتابیس حذف کنید: | ||
<div className="h-4" /> | ||
<div dir='ltr'> | ||
<Highlight className="sql"> | ||
{`-- use specific db | ||
USE <database_name>; -- eg: USE master; | ||
GO | ||
DROP USER <user_name>; | ||
GO`} | ||
</Highlight> | ||
</div> | ||
<div className="h-4" /> | ||
|
||
در نهایت و پس از حذف کاربر، میتوانید LOGIN کاربر را نیز با استفاده از قطعه کد زیر، حذف کنید: | ||
<div className="h-4" /> | ||
<div dir='ltr'> | ||
<Highlight className="sql"> | ||
{`-- use DATABASE | ||
UUSE master; | ||
GO | ||
DROP LOGIN <user_name>; | ||
GO`} | ||
</Highlight> | ||
</div> | ||
<div className="h-4" /> | ||
|
||
<Alert variant="success"> | ||
<p> | ||
همچنین بخوانید: <a href="https://learn.microsoft.com/en-us/sql/relational-databases/security/authentication-access/create-a-database-user?view=sql-server-ver16" className="text-[#2196f3]">مستندات رسمی ایجاد کاربر در SQL SERVER</a> | ||
</p> | ||
</Alert> | ||
|
||
</Layout> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters