پیکربندی و مدیریت Resource Locks در Microsoft Azure

azure locks
شبکه مایکروسافت مقالات

در ساختار Active Directory در شبکه on-premises هنگامی که OU می سازیم، گزینه ای به نام Protect From Accidental Deletion وجود دارد که به صورت پیش فرض فعال است. در واقع این آیتم از OU در برابر پاک شدن های اتفاقی محافظت می کند. با توجه به این که OU شامل objectهای مختلفی همانند یوزر اکانت ها، کامپیوتر اکانت ها، گروه ها و غیره است لذا از اهمیت زیادی برخوردار است در نتیجه می بایست از آن محافظت شود.

در محیط Microsoft Azure با استفاده از Resource locks می توانید ریسورس ها را قفل کنید. این ریورس ها می تواند subscription، resource group یا resource باشد. با استفاده از resource lock می توانید از تغییر یا حذف resourceها جلوگیری کنید. با توجه به این که resource lock به ریسورس ها اعمال می شود، لذا کاربری که قصد دارد با ریسورس کار کند سطح دسترسی وی اهمیت ندارد و ریسورس قابلیت حذف یا ویرایش ندارد.

 

پیکربندی Resource Locks

یک ریسورس وقتی lock می شود دو حالت می تواند داشته باشد:

ReadOnly: اگر یک ریسورس در این حالت lock شده باشد، ریسورس تنها خواندنی و قابل مشاهده خواهد بود و امکان ویرایش آن وجود ندارد.

CanNotDelete: اگر یک ریسوس در این حالت lock شده باشد آنگاه کاربر می تواند ریسورس را ویرایش کند اما نمی تواند آن را delete کند.

تنها کاربرانی که داری نقش های Owner و User Access Administrator هستند می توانند resource locks را ایجاد یا حذف کنند. توجه داشته باشید که بر خلاف RBAC که به userها و groupها اعمال می شود، از lock ها برای ایجاد محدودیت بر روی resourceها استفاده می شود.

نکته مهم: در نظر داشته باشید هنگامی که lock را فعال می کنید ویژگی ارث بری (inheritance) به زیر شاخه اعمال می شود، به این معنا که تمامی resourceها قفل را از scope والد خود به ارث می برند. این موضوع همانند ویژگی ارث بری در permissionها در سیستم عامل ویندوز است. به عنوان مثال هنگامی که یک permission را به یک درایو اعمال می کنیم، این permission به تمامی فایل ها و فولدرهای موجود در آن درایو اعمال می شود.

نکته 2: به عنوان مثال فرض کنید که به object ریشه یک lock از حالت read only اعمال کرده اید. حال به object زیرشاخه یک lock از نوع Can Not Delete اعمال می کنیم. در این وضعیت حالتی که محدودیت بیشتری بر روی object زیرشاخه اعمال می کند اجرا می شود. یعنی در این وضعیت حالت Cannot Delete بر روی ابجکت زیر شاخه اعمال می شود. حالت ایده آل این است که بر روی ریشه Can not Delete اعمال کنیم و بر روی زیرشاخه حالت read only اعمال کنیم.

در پورتال Azure حالت های تعریف lock به صورت read و delete است که همان حالت های read only و Cannot delete هستند.

 

افزودن resource lock

به عنوان مثال می خواهیم روی resource groups یک lock اعمال کنیم. ابتدا وارد resource groups می شویم. سپس روی resource group مورد نظر کلیک می کنیم. برای افزودن lock بر روی locks کلیک می کنیم.

 

حال بر روی Add کلیک می کنیم. ابتدا در بخش Lock name نامی برای lock تعیین می کنیم. سپس lock type را تعیین می کنیم و در نهایت بر روی ok کلیک می کنیم.

در صورتی که حالت Delete را انتخاب کنیم آنگاه حتی با نقش Administrator نیز نمی توانید ریسورس مورد نظر را حذف کنید. برای حذف کردن resource group مورد نظر وارد آن می شویم و بر روی Delete resource group کلیک می کنیم.

حال کادر ذیل باز می شود که برای حذف آن کافی است نام resource group را داخل کادر مورد نظر بنویسید و بر روی Delete کلیک کنید.

حال پیغام ذیل داده می شود که امکان حذف resource group وجود ندارد.

برای ویرایش کردن Lock کافی است وارد resource مورد نظر شویم. سپس بخش Locks را انتخاب می کنیم تا وارد لیست locks شویم. برای ویرایش lock مورد نظر را انتخاب کرده و گزینه Edit را انتخاب می کنیم.

 

در صورتی که بخواهیم قفل را حذف کنیم کافی است گزینه Delete را انتخاب کنیم.

فعال کردن Lock با استفاده از اسکریپت های PowerShell

ایجاد Lock بر روی یک resource

برای ایجاد lock بر روی یک resource می بایست نام resource، نوع resource و نام resource group آن را مشخص نمایید و سپس با استفاده از اسکریپت ذیل Lock را ایجاد کنید:

سوئیچ -LockLevel نوع Lock را مشخص می کند که Read-only باشد یا CanNotDelete.

ایجاد Lock بر روی یک resource group

برای ایجاد lock بر روی یک resource group می بایست نام resource group و نوع lock را مشخص کنید و سپس با استفاده از اسکریپت ذیل Lock را ایجاد کنید:

 

برای دریافت اطلاعات در رابطه با یک lock می توانید از ابزار Get-AzResourceLock استفاده کنید. برای مشاهده تمامی lock ها در subscription می توانید از دستور ذیل استفاده کنید:

Get-AzResourceLock

 

ایجاد Lock با استفاده از ARM Template

برای مدیریت ساده تر lockها یا ایجاد خودکار آن ها می توانید از template های Azure Resource Manager (ARM) برای ایجاد resource lockها استفاده کنید. در این رابطه می بایست موارد ذیل را در نظر بگیرید:

  • در صورتی که بخواهیم lock را به یک resource اعمال نمایید می بایست scope را مشخص نماییم.
  • در صورتی که بخواهیم lock را به یک resource group یا subscription اعمال کنیم می بایست scope را مشخص کنید.

 

تهیه کننده: محمدرضا برجسته

 

 

دیدگاه خود را اینجا قرار دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

×
تلگرام
اینستاگرام
پشتیبانی آنلاین