یک نقش به نام reporting بسازید، دو کاربر report_user و analyst ایجاد کنید، حق SELECT روی جداول sales و customers را به نقش reporting بدهید، سپس هر دو کاربر را به نقش اختصاص دهید و در نهایت دسترسی INSERT را از کاربر analyst لغو کنید.
2.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:42 0.0
با استفاده از دستورات مدیریت کاربران/نقشها در SQL (مثل PostgreSQL: CREATE ROLE/CREATE USER، GRANT و REVOKE) این وظیفه را حل کنید. برای مثال در PostgreSQL ابتدا نقش reporting را با CREATE ROLE ایجاد کنید، سپس با GRANT SELECT ON sales, customers TO reporting دسترسیهای خواندن را به نقش بدهید، بعد کاربران را با CREATE USER بسازید و با GRANT reporting TO report_user, analyst آنها را به نقش منتسب کنید و در پایان با REVOKE INSERT ON sales, customers FROM analyst مجوز نوشتن را از analyst بردارید. نکات: با PASSWORD برای کاربران رمز قرار دهید، برای آزمایش از SET ROLE یا اتصال با کاربر ساخته شده استفاده کنید و مراقب ترتیب GRANT/REVOKE باشید تا دسترسیها درست اعمال شود.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای اطمینان از درستی تنظیمات، پس از اختصاص نقش reporting به کاربرها، از طریق SET ROLE به report_user و analyst لاگین کنید و رفتار مجوزها را آزمایش کنید. توجه کنید که REVOKE INSERT ON sales, customers FROM analyst باید پس از GRANT برقرار شود تا نقش بهدرستی بهروزرسانی شود و از دسترسیهای ناخواسته جلوگیری کند. با استفاده از GRANT reporting TO report_user, analyst، مدیریت مجوزها سادهتر میشود و همهچیز دقیقتر کنترل میشود. برای امنیت، رمزعبور قوی با PASSWORD تعیین کنید و از بررسیهای دورهای مجوزها با پرسوجوهای system catalog بهره ببرید.
گزارش