خانه SQL Server چگونه میتوان دادهها را در SQL Server سرور Mask کرد ؟ SQL Server نوشته شده توسط: محمد نوزعیم ۱۱ آذر ۱۳۹۹ زمان مطالعه: 14 دقیقه ۰ (۰) محافظت از اطلاعات ما ، خصوصاً برای ما که با سرورهای پایگاه داده کار می کنیم ، اجباری است، امنیت جدا از این شغل نیست. Masking گزینه خوبی برای محافظت از اطلاعات حساس است و به همین دلیل اکنون خواهیم دید که چگونه می توان داده ها را در SQL Server پنهان کرد. قبل از شروع من دیده ام که بسیاری از اوقات مفاهیم اشتباه گرفته می شوند و ما باید از تفاوت ها آگاه باشیم. Encrypting != Masking چگونه کار می کند؟ Mask به معنای واقعی کلمه ، ایجاد یک لایه محافظ است. پوشاندن ، پنهان کردن چیزی، نشان دادن چیزی که واقعی نیست. Masking در SQL Server می تواند بسیار مفید باشد و ما می توانیم این کار را از طریق فناوری به نام Dynamic Data Masking انجام دهیم. سپس می توانیم داده ها را در اختیار کاربران غیرمجاز قرار دهیم. Data Masking را در کجا اعمال می کنیم؟ می توانیم درباره برخی سناریوها فکر کنیم : محیط های تست و توسعه مراکز تماس و برنامه های مرتبط با دسترسی محدود به داده ها برخی از DBA ها با دسترسی محدود تحلیلگران پایگاه داده با دسترسی محدود موارد خارجی که با داده های ما کار می کنند. کدنویسی خواهید دید که در SQL Server به آسانی افزودن برخی از کدها هنگام ایجاد جدولی که می خواهیم آن را مخفی کنیم ،این کار آسان است. شما این کار را با ستون هایی انجام می دهید که می دانید داده های حساس دارند. چهار عملکرد اساسی Mask وجود دارد. ;USE master GO -- Create User nonAdminUser IF EXISTS (SELECT TOP 1 1 FROM sys.syslogins WHERE name = 'nonAdminUser') BEGIN ;DROP LOGIN nonAdminUser ;DROP USER nonAdminUser ;END GO CREATE LOGIN nonAdminUser ,WITH PASSWORD = N'123456' ,DEFAULT_DATABASE = master ,DEFAULT_LANGUAGE = us_english ,CHECK_EXPIRATION = OFF ;CHECK_POLICY = OFF GO ;CREATE USER nonAdminUser FOR LOGIN nonAdminUser ;ALTER ROLE db_datareader ADD MEMBER nonAdminUser ;ALTER ROLE db_datawriter ADD MEMBER nonAdminUser GO -- Create table appliying masking functions ;DROP TABLE IF EXISTS dbo.UserInfo GO CREATE TABLE dbo.UserInfo ( ,id INT IDENTITY(1, 1) ,FirstName VARCHAR(15) ,LastName VARCHAR(15) MASKED WITH (FUNCTION = 'default()') ,CreditCard VARCHAR(25) MASKED WITH (FUNCTION = 'partial(4,"XXXXXXX",0)') ,Email VARCHAR(25) MASKED WITH (FUNCTION = 'email()') DocNumber BIGINT MASKED WITH (FUNCTION = 'random(111111, 999999)') ); GO INSERT INTO dbo.UserInfo ( ,FirstName ,LastName ,CreditCard ,Email DocNumber ) VALUES ;('Mohammad', 'Nozaim', '4940-9898-8989-1234', 'mohammadnozaime@Gmail.com', 123581321) GO ;SELECT * FROM dbo.UserInfo GO -- Run simulating a different user connection -- nonAdminUser only have datareader role ;EXECUTE AS USER = 'nonAdminUser' ;SELECT * FROM dbo.UserInfo ;REVERT همانطور که می بینید کاربری که به عنوان ‘nonAdminUser‘ فراخوانی می شود ، داده های تغییر یافته با Masking Layer یا Random Data را مشاهده می کند (بسته به عملکردی که اعمال کرده اید) با استفاده از همان دستور SELECT در جدول. توابع Mask در SQL Server آخرین ملاحظات هرگز فراموش نکنید که Data Masking در SQL Server به طور ۱۰۰% از اطلاعات شما محافظت نمی کند. به معنای واقعی کلمه شما از Mask برای نمایش داده ها استفاده می کنید ، محتوا همچنان همانطور که هست ذخیره می شود. از چه چیزی محافظت می کنیم؟ مهم است که ابتدا داده های حساس را در SQL Server پیدا کنید و سپس آنها را به طور مناسب نشانه گذاری کنید. اگر می خواهید درباره مجوزها و بهترین روش ها بیشتر بدانید ، می توانید نگاهی به اسناد رسمی بی اندازید. چه رتبه ای میدهید؟ میانگین ۰ / ۵. از مجموع ۰ اولین نفر باش برچسب ها # Data Masking# Data Masking در SQL Server# Dynamic Data Masking# Masking Layer# Masking در SQL Server# sql# SQL Server# توابع Mask در SQL Server# عملکرد اساسی Mask معرفی نویسنده مقالات 1 مقاله توسط این نویسنده محصولات 0 دوره توسط این نویسنده محمد نوزعیم پروفایل نویسنده معرفی محصول مسعود طاهری، علیرضا ارومند، دوره غیرحضوری آموزش SQL Server ویژه برنامه نویسان 4.990.000 تومان مقالات مرتبط ۱۰ اردیبهشت SQL Server استفاده از Credential و Proxy در SQL Server Agent حسن سلیمانی ۰۷ اردیبهشت SQL Server استفاده از Operator ها در SQL Server Agent حسن سلیمانی ۰۵ اردیبهشت SQL Server بررسی نحوه ایجاد Job در SQL Server حسن سلیمانی ۲۹ فروردین SQL Server آشنایی با بخش های مختلف SQL Server Agent حسن سلیمانی دیدگاه کاربران لغو پاسخ دیدگاه نام و نام خانوادگی ایمیل ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم. موبایل برای اطلاع از پاسخ لطفاً مرا با خبر کن ثبت دیدگاه Δ Msef.mail@gmail.com ۱۷ / ۰۹ / ۹۹ - ۱۰:۴۵ جالب بود پاسخ به دیدگاه Msef.mail@gmail.com ۱۷ / ۰۹ / ۹۹ - ۱۰:۴۵ جالب بود پاسخ به دیدگاه صفایی ۱۶ / ۰۹ / ۹۹ - ۰۲:۰۳ سلام این امکان روی چه نسخه ای از sql server پشتیبانی می شود پاسخ به دیدگاه مسعود طاهری ۲۲ / ۰۹ / ۹۹ - ۰۶:۴۸ از نسخه ۲۰۱۶ به بعد پاسخ به دیدگاه صفایی ۱۶ / ۰۹ / ۹۹ - ۰۲:۰۳ سلام این امکان روی چه نسخه ای از sql server پشتیبانی می شود پاسخ به دیدگاه مسعود طاهری ۲۲ / ۰۹ / ۹۹ - ۰۶:۴۸ از نسخه ۲۰۱۶ به بعد پاسخ به دیدگاه