डेटाबेस रोल और एक्सेस कंट्रोल

डेटाबेस डिज़ाइन

Lis Sulmont

Curriculum Manager

किसी view पर एक्सेस देना या हटाना

GRANT privilege(s) या REVOKE privilege(s)

ON object

TO role या FROM role

  • Privileges: SELECT, INSERT, UPDATE, DELETE, आदि
  • Objects: table, view, schema, आदि
  • Roles: एक डेटाबेस यूज़र या यूज़र्स का समूह
GRANT UPDATE ON ratings TO PUBLIC; 
REVOKE INSERT ON films FROM db_user; 
डेटाबेस डिज़ाइन

डेटाबेस रोल

  • डेटाबेस एक्सेस परमिशन मैनेज करें
  • एक डेटाबेस रोल वह इकाई है जिसमें यह जानकारी होती है:
    • रोल के प्रिविलेज परिभाषित करें
      • क्या आप लॉगिन कर सकते हैं?
      • क्या आप डेटाबेस बना सकते हैं?
      • क्या आप टेबल में लिख सकते हैं?
    • क्लाइंट ऑथेंटिकेशन सिस्टम से इंटरैक्ट करें
      • पासवर्ड
  • रोल एक या अधिक यूज़र्स को असाइन किए जा सकते हैं
  • रोल एक डेटाबेस क्लस्टर इंस्टॉलेशन में ग्लोबल होते हैं
डेटाबेस डिज़ाइन

एक रोल बनाएँ

  • खाली रोल
CREATE ROLE data_analyst;
  • कुछ एट्रिब्यूट सेट वाले रोल
CREATE ROLE intern WITH PASSWORD 'PasswordForIntern' VALID UNTIL '2020-01-01';
CREATE ROLE admin CREATEDB;
ALTER ROLE admin CREATEROLE;
1 http://bit.ly/postgresql_attributes
डेटाबेस डिज़ाइन

रोल से प्रिविलेज GRANT और REVOKE करें

GRANT UPDATE ON ratings TO data_analyst;
REVOKE UPDATE ON ratings FROM data_analyst;

PostgreSQL में उपलब्ध प्रिविलेज ये हैं:

  • SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER, CREATE, CONNECT, TEMPORARY, EXECUTE, और USAGE
1 http://bit.ly/postgresql_privileges
डेटाबेस डिज़ाइन

यूज़र और ग्रुप (दोनों रोल हैं)

  • एक रोल यूज़र और/या समूह की तरह काम कर सकता है
    • यूज़र रोल
    • ग्रुप रोल

ग्राफिक: बाहरी सर्कल एक ग्रुप रोल है और उसके भीतर के तीन सर्कल यूज़र रोल हैं

डेटाबेस डिज़ाइन

यूज़र और ग्रुप (दोनों रोल हैं)

ग्रुप रोल

CREATE ROLE data_analyst;

यूज़र रोल

CREATE ROLE intern WITH PASSWORD 'PasswordForIntern' VALID UNTIL '2020-01-01';
डेटाबेस डिज़ाइन

यूज़र और ग्रुप (दोनों रोल हैं)

ग्रुप रोल

CREATE ROLE data_analyst;

यूज़र रोल

CREATE ROLE alex WITH PASSWORD 'PasswordForIntern' VALID UNTIL '2020-01-01';

GRANT data_analyst TO alex;
REVOKE data_analyst FROM alex;
डेटाबेस डिज़ाइन

आम PostgreSQL रोल

Role Allowed access
pg_read_all_settings सभी कॉन्फ़िगरेशन वेरिएबल पढ़ें, वे भी जो सामान्यतः केवल सुपरयूज़र्स को दिखते हैं.
pg_read_all_stats सभी pg_stat_* views पढ़ें और विभिन्न आँकड़ा-संबंधित एक्सटेंशन इस्तेमाल करें, वे भी जो सामान्यतः केवल सुपरयूज़र्स को दिखते हैं.
pg_signal_backend अन्य बैकएंड्स को सिग्नल भेजें (जैसे: क्वेरी कैंसल, टर्मिनेट).
More... More...
1 http://bit.ly/default_roles_postgresql
डेटाबेस डिज़ाइन

रोल के लाभ और चुनौतियाँ

लाभ

  • यूज़र्स हटने के बाद भी रोल बने रहते हैं
  • यूज़र अकाउंट से पहले भी रोल बनाए जा सकते हैं
  • DBAs का समय बचेगा

चुनौतियाँ

  • कभी-कभी कोई रोल किसी यूज़र को ज़रूरत से ज़्यादा एक्सेस दे देता है
    • आपको ध्यान देना होगा
डेटाबेस डिज़ाइन

अभ्यास करते हैं!

डेटाबेस डिज़ाइन

Preparing Video For Download...