در یک پایگاه داده PostgreSQL، یک کاربر جدید به نام report_user ایجاد کنید و تنها مجوز SELECT را بر روی جدول sales در پایگاه داده company_db به او اعطا کنید.
6.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:08 0.0
برای حل این تمرین از دستورات SQL استاندارد PostgreSQL استفاده کنید: ابتدا با CREATE USER یا CREATE ROLE کاربر جدید را بسازید (مثلاً CREATE USER report_user WITH PASSWORD 'secure_pw';)، سپس با دستور GRANT فقط مجوز SELECT را به جدول مشخص اعطا کنید (مثلاً GRANT SELECT ON company_db.public.sales TO report_user;). این دستورات باید توسط یک کاربر با دسترسی مدیریتی اجرا شوند؛ برای بازگرداندن دسترسی از REVOKE SELECT ON ... استفاده کنید و برای اطمینان از صحت مجوزها میتوانید از viewهای اطلاعاتی مثل information_schema.table_privileges یا ابزار psql (\z) استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای اعمال این کار، حتماً به پایگاه داده صحیح (company_db) متصل شده و همان schema که جدول sales در آن است را هدف قرار بدهید و مجوز را فقط به جدول داده بدهید (GRANT SELECT ON TABLE public.sales TO report_user). توجه داشته باشید که در PostgreSQL، CREATE USER به عنوان یک alias برای CREATE ROLE WITH LOGIN عمل میکند؛ در پروژههای آینده میتوانید از CREATE ROLE report_user WITH LOGIN PASSWORD 'secure_pw' استفاده کنید. پس از اعطا، برای اطمینان از مجوزها میتوانید با مشاهده information_schema.table_privileges یا دستور psql \z وضعیت مجوزها را بررسی کنید. اگر لازم شد دسترسیها را بازگردانی کرد، از REVOKE SELECT ON TABLE public.sales FROM report_user استفاده کنید.
گزارش