Понякога може да се наложи да ограничите достъпа до база данни в PostgreSQL от съображения за сигурност или по друг начин. В тази статия ще разгледаме как да ограничим достъпа до база данни в PostgreSQL.
Как да ограничим достъпа до база данни в PostgreSQL
Ето стъпките за ограничаване на достъпа до база данни в PostgreSQL. По принцип ще създадем нова роля и ще й предоставим разрешения за избор на таблиците на нашата база данни. След това ще създадем потребител на база данни и ще му присвоим новата роля, която сме създали. По този начин потребителят на базата данни ще има достъп само до онези таблици, които могат да бъдат достъпни от нашата новосъздадена роля.
1. Създаване на роля
Влезте в PostgreSQL и изпълнете следната команда към нова роля. Заменете името на ролята според вашето изискване.
postgres-# CREATE ROLE new_role;
2. Ограничете разрешение
Изпълнете следните команди, за да ограничите достъпа на новосъздадена роля до база данни sample_database .
postgres-# GRANT CONNECT ON DATABASE sample_database TO new_role;
Освен това ще предоставим достъп до всички таблици в публични схема. Можете да промените името на схемата според вашите изисквания.
postgres-# GRANT USAGE ON SCHEMA public TO new_role; postgres-# GRANT SELECT ON ALL TABLES IN SCHEMA public TO new_role;
Ако искате да предоставите разрешение за избор за конкретни таблици (напр. sample_table), изпълнете следната команда
postgres-# GRANT SELECT ON sample_table IN SCHEMA public TO new_role;
По същия начин, ако имате някакъв изглед (напр. sample_view), за който искате да предоставите достъп до new_role, изпълнете следната команда.
postgres-# GRANT SELECT ON sample_view IN SCHEMA public TO new_role;
3. Създаване на потребител
Накрая създаваме потребител на PostgreSQL и присвояваме новосъздадената роля на този потребител. Актуализирайте new_user и потребителска_парола в командите по-долу с вашето потребителско име и парола.
postgres-# CREATE USER new_user WITH PASSWORD 'user_password'; postgres-# GRANT new_role TO new_user;
Надяваме се, че тази статия ще ви помогне да ограничите потребителския достъп в PostgreSQL. Ubiq улеснява визуализирането на данни и наблюдението им в табла за управление в реално време. Опитайте Ubiq безплатно.