30.7. ÐезопаÑноÑÑÑ
ÐолÑзоваÑелÑ, имеÑÑий пÑаво Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑÑ
ÐµÐ¼Ñ ÑÐ°Ð±Ð»Ð¸Ñ Ð½Ð° ÑÑоÑоне подпиÑÑика, Ð¼Ð¾Ð¶ÐµÑ Ð²ÑполниÑÑ Ð¿ÑоизволÑнÑй код как ÑÑпеÑполÑзоваÑелÑ. ÐгÑаниÑÑÑе кÑÑг владелÑÑев и Ñолей, имеÑÑиÑ
пÑаво TRIGGER Ð´Ð»Ñ ÑакиÑ
ÑаблиÑ, довеÑеннÑми ÑолÑми. Ðолее Ñого, в базе, где недовеÑеннÑе полÑзоваÑели могÑÑ ÑоздаваÑÑ ÑаблиÑÑ, вклÑÑайÑе в пÑбликаÑÐ¸Ñ ÑолÑко ÑаблиÑÑ Ð¿Ð¾ ÑпиÑкÑ. ÐÑÑгими Ñловами, ÑоздавайÑе подпиÑÐºÑ FOR ALL TABLES, ÑолÑко когда ÑÑпеÑполÑзоваÑели довеÑÑÑÑ Ð²Ñем полÑзоваÑелÑм, имеÑÑим пÑаво ÑоздаваÑÑ Ð½Ðµ вÑеменнÑе ÑаблиÑÑ Ð½Ð° ÑÑоÑоне пÑбликаÑии или подпиÑки.
РолÑ, иÑполÑзÑÐµÐ¼Ð°Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ ÑепликаÑии, должна имеÑÑ Ð°ÑÑибÑÑ REPLICATION (или бÑÑÑ ÑÑпеÑполÑзоваÑелем). ÐÑли Ñ Ñоли оÑÑÑÑÑÑвÑÑÑ ÑвойÑÑва SUPERUSER и BYPASSRLS, пÑи ÑепликаÑии могÑÑ Ð²ÑполнÑÑÑÑÑ Ð¿Ð¾Ð»Ð¸Ñики заÑиÑÑ ÑÑÑок, опÑеделÑннÑе на ÑÑоÑоне пÑбликаÑии. ÐÑли ÑÑа ÑÐ¾Ð»Ñ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð´Ð¾Ð²ÐµÑÑÑÑ Ð²Ð»Ð°Ð´ÐµÐ»ÑÑам вÑеÑ
ÑаблиÑ, добавÑÑе в ÑÑÑÐ¾ÐºÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ options=-crow_security=off; еÑли Ð²Ð»Ð°Ð´ÐµÐ»ÐµÑ ÑаблиÑÑ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ Ð¿Ð¾Ð»Ð¸ÑÐ¸ÐºÑ Ð·Ð°ÑиÑÑ ÑÑÑок позже, пÑи Ñаком знаÑении паÑамеÑÑа ÑепликаÑÐ¸Ñ Ð¾ÑÑановиÑÑÑ, но полиÑика вÑполнÑÑÑÑÑ Ð½Ðµ бÑдеÑ. ÐоÑÑÑп Ð´Ð»Ñ ÑÑой Ñоли должен бÑÑÑ Ð½Ð°ÑÑÑоен в pg_hba.conf, и ÑÑа ÑÐ¾Ð»Ñ Ñакже должна имеÑÑ Ð°ÑÑибÑÑ LOGIN.
ЧÑÐ¾Ð±Ñ Ð¸Ð¼ÐµÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ ÑкопиÑоваÑÑ Ð¸ÑÑ
однÑе даннÑе ÑаблиÑÑ, ÑолÑ, иÑполÑзÑÐµÐ¼Ð°Ñ Ð´Ð»Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÑепликаÑии, должна имеÑÑ Ð¿Ñаво SELECT в пÑбликÑемой ÑаблиÑе (или бÑÑÑ ÑÑпеÑполÑзоваÑелем).
ЧÑÐ¾Ð±Ñ ÑоздаÑÑ Ð¿ÑбликаÑиÑ, полÑзоваÑÐµÐ»Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ имеÑÑ Ð¿Ñаво CREATE в базе даннÑÑ
.
ЧÑÐ¾Ð±Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑ ÑаблиÑÑ Ð² пÑбликаÑиÑ, полÑзоваÑÐµÐ»Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ имеÑÑ Ð¿Ñава владелÑÑа Ð´Ð»Ñ ÑÑÐ¸Ñ ÑаблиÑ. СоздаваÑÑ Ð¿ÑбликаÑии, пÑбликÑÑÑие вÑе ÑаблиÑÑ Ð°Ð²ÑомаÑиÑеÑки, ÑазÑеÑено ÑолÑко ÑÑпеÑполÑзоваÑелÑм.
СоздаваÑÑ Ð¿Ð¾Ð´Ð¿Ð¸Ñки ÑазÑеÑено ÑолÑко ÑÑпеÑполÑзоваÑелÑм.
ÐÑоÑеÑÑ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ подпиÑки бÑÐ´ÐµÑ Ð²ÑполнÑÑÑÑÑ Ð² локалÑной базе Ñ Ð¿Ñавами ÑÑпеÑполÑзоваÑелÑ.
ÐÑава пÑовеÑÑÑÑÑÑ ÑолÑко один Ñаз пÑи ÑÑÑановлении подклÑÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑепликаÑии. Ðни не пеÑепÑовеÑÑÑÑÑÑ Ð¿Ñи ÑÑении каждой запиÑи Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ Ð¿ÑбликÑÑÑего ÑеÑвеÑа и не пеÑепÑовеÑÑÑÑÑÑ Ð¿Ñи пÑименении каждого изменениÑ.