Security Management of Roles, Changing Password. Granting Roles & Privilege, with drawing privileges.
- Siddharth Sharma
- Mar 23
- 3 min read
1. Management of Roles (रोल्स का प्रबंधन)
Role क्या है? (What is a Role?)
Role एक नाम दिया गया समूह (Group) है जिसके अंदर कई सारे Privileges (अधिकार) शामिल होते हैं।
Role की आवश्यकता क्यों है? मान लीजिए एक कंपनी में 50 डेटा एंट्री ऑपरेटर्स हैं। अगर हम हर एक को अलग-अलग INSERT, UPDATE, और SELECT के अधिकार देंगे, तो बहुत समय लगेगा। इसके बजाय, हम "DataEntry" नाम का एक Role बनाते हैं, उसमें ये तीनों अधिकार डाल देते हैं, और फिर वह Role सीधे उन 50 यूज़र्स को दे देते हैं। इससे सुरक्षा का प्रबंधन (Security Management) बहुत आसान हो जाता है।
Creating a Role (रोल बनाना):
Syntax:
SQL
CREATE ROLE role_name;
Example: 'Manager' नाम का एक रोल बनाने के लिए:
SQL
CREATE ROLE Manager;

2. Changing Password (पासवर्ड बदलना)
डेटाबेस को सुरक्षित रखने के लिए यूज़र्स (Users) के पासवर्ड को समय-समय पर बदलना आवश्यक होता है। (यहाँ MySQL का सिंटैक्स दिया गया है, जो सबसे आम है)।
कमांड (Command): पासवर्ड बदलने के लिए ALTER USER कमांड का उपयोग किया जाता है।
Syntax:
SQL
ALTER USER 'username'@'localhost' IDENTIFIED BY 'new_password';
Example: मान लीजिए 'Rahul' नाम का एक यूज़र है और हमें उसका नया पासवर्ड 'Secure@123' सेट करना है:
SQL
ALTER USER 'Rahul'@'localhost' IDENTIFIED BY 'Secure@123';
(नोट: Oracle जैसे कुछ डेटाबेस में यह कमांड ALTER USER Rahul IDENTIFIED BY Secure123; होता है)।

3. Granting Roles & Privileges (अधिकार और रोल्स प्रदान करना)
जब हम किसी यूज़र को डेटाबेस में कुछ काम करने (जैसे टेबल देखना, डेटा डालना या डिलीट करना) की अनुमति (Permission) देते हैं, तो उसे Granting Privileges कहा जाता है। इसके लिए GRANT कमांड का उपयोग होता है।
Privileges मुख्य रूप से दो प्रकार के होते हैं:
System Privileges: डेटाबेस बनाने, टेबल बनाने या यूज़र बनाने का अधिकार (जैसे CREATE TABLE, CREATE USER)।
Object Privileges: किसी बनी हुई टेबल के डेटा पर काम करने का अधिकार (जैसे SELECT, INSERT, UPDATE, DELETE)।

A. Granting Privileges on a Table (टेबल पर अधिकार देना)
Syntax:
SQL
GRANT privilege_name ON table_name TO user_name;
Example: यूज़र 'Rahul' को Employee टेबल पर केवल डेटा देखने (SELECT) और नया डेटा डालने (INSERT) का अधिकार देने के लिए:
SQL
GRANT SELECT, INSERT ON Employee TO 'Rahul'@'localhost';
(यदि आप चाहते हैं कि राहुल टेबल पर कुछ भी कर सके, तो आप GRANT ALL PRIVILEGES ON Employee TO 'Rahul'@'localhost'; लिख सकते हैं)।

B. Granting a Role to a User (यूज़र को रोल देना)
जब आपने रोल में अधिकार डाल दिए हों, तो आप उस रोल को किसी यूज़र को दे सकते हैं।
Syntax:
SQL
GRANT role_name TO user_name;
Example: 'Rahul' को 'Manager' का रोल देने के लिए:
SQL
GRANT Manager TO 'Rahul'@'localhost';

4. Withdrawing Privileges (अधिकार वापस लेना - REVOKE)
सुरक्षा कारणों से, यदि कोई कर्मचारी कंपनी छोड़ देता है या उसका डिपार्टमेंट बदल जाता है, तो हमें उसके दिए गए अधिकार वापस लेने पड़ते हैं। इसके लिए REVOKE कमांड का उपयोग किया जाता है।

A. Revoking Privileges (अधिकार वापस लेना)
Syntax:
SQL
REVOKE privilege_name ON table_name FROM user_name;
Example: यूज़र 'Rahul' से Employee टेबल पर नया डेटा डालने (INSERT) का अधिकार वापस (Withdraw) लेने के लिए:
SQL
REVOKE INSERT ON Employee FROM 'Rahul'@'localhost';
(इस कमांड के चलने के बाद, राहुल अभी भी डेटा देख (SELECT) सकेगा, लेकिन नया डेटा नहीं डाल सकेगा)।

B. Revoking a Role from a User (यूज़र से रोल वापस लेना)
Syntax:
SQL
REVOKE role_name FROM user_name;
Example: 'Rahul' से 'Manager' का रोल वापस लेने के लिए:
SQL
REVOKE Manager FROM 'Rahul'@'localhost';

Summary Table (त्वरित सारांश)
परीक्षा (Exams) में DCL (Data Control Language) के अंतर्गत तुरंत रिवीजन करने के लिए:
ऑपरेशन (Operation) | SQL कमांड (Command) | उपयोग (Use) |
रोल बनाना | CREATE ROLE | अधिकारों (Privileges) का एक ग्रुप बनाने के लिए। |
पासवर्ड बदलना | ALTER USER ... IDENTIFIED BY | यूज़र अकाउंट की सुरक्षा और पासवर्ड रीसेट करने के लिए। |
अधिकार देना | GRANT ... TO ... | यूज़र या रोल को काम करने की परमिशन (Permission) देने के लिए। |
अधिकार वापस लेना | REVOKE ... FROM ... | यूज़र या रोल से दी गई परमिशन को वापस (Withdraw) लेने के लिए। |





Comments