لغو مجوز در SQL
در SQL، می توانید از دستورات مختلفی برای لغو مجوز از کاربران و نقش ها برای انجام وظایف خاص در پایگاه داده استفاده کنید.
دستورات رایج برای لغو مجوز عبارتند از:
۱. REVOKE:
- برای لغو مجوز از یک کاربر یا نقش برای انجام یک کار خاص استفاده می شود.
- نحو:
SQL
REVOKE <permission> ON <object> FROM <user or role>;
- مثال:
SQL
REVOKE SELECT ON Customers FROM 'user1';
-- مجوز SELECT از کاربر 'user1' بر روی جدول 'Customers' لغو می شود.
۲. DENY:
- برای جلوگیری از انجام یک کار خاص توسط یک کاربر یا نقش استفاده می شود.
- نحو:
SQL
DENY <permission> ON <object> TO <user or role>;
- نکته:
دستور DENY برای لغو مجوزهای قبلی اعطا شده استفاده نمی شود.
۳. REVOKE ALL:
- برای لغو تمام مجوزهای یک کاربر یا نقش بر روی یک شی خاص استفاده می شود.
- نحو:
SQL
REVOKE ALL ON <object> FROM <user or role>;
- مثال:
SQL
REVOKE ALL ON Customers FROM 'user2';
-- تمام مجوزهای 'user2' بر روی جدول 'Customers' لغو می شود.
نکات:
- می توانید از REVOKE GRANT OPTION برای لغو مجوز اعطای مجوز از یک کاربر یا نقش استفاده کنید.
- لغو مجوز یک کاربر یا نقش ممکن است بر عملکرد برنامه ها و وظایف مرتبط با آن کاربر یا نقش تأثیر بگذارد.
مثال های جامع:
۱. لغو مجوز SELECT از یک کاربر بر روی تمام جداول در schema ‘public’:
SQL
REVOKE SELECT ON ALL TABLES IN SCHEMA 'public' FROM 'user1';
۲. لغو مجوز INSERT, UPDATE, DELETE از یک نقش بر روی یک جدول خاص:
SQL
REVOKE INSERT, UPDATE, DELETE ON Customers FROM 'sales_team';
۳. لغو تمام مجوزهای یک کاربر بر روی یک schema:
SQL
REVOKE ALL ON SCHEMA 'sales' FROM 'user4';
۴. لغو مجوز اعطای مجوز SELECT از یک نقش:
SQL
REVOKE GRANT OPTION ON Customers FROM 'support_team';
با استفاده از دستورات و مثال های ارائه شده، می توانید به طور موثر مجوزهای کاربران و نقش ها را در پایگاه داده خود لغو کنید.
نکته:
همیشه قبل از لغو مجوز، از تأثیر آن بر عملکرد برنامه ها و وظایف مرتبط با آن کاربر یا نقش اطمینان حاصل کنید.