در یک پایگاه داده 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) استفاده کنید.

توسط پژوهشگر در 221 روز قبل ساعت 01:08
دسته بندی ها: SQL SQL for beginner
arman در 221 روز قبل ساعت 14:29

برای اعمال این کار، حتماً به پایگاه داده صحیح (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 استفاده کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری