RDS सुरक्षा: एन्क्रिप्शन और पैरामीटर समूह
KMS से RDS को स्थिर अवस्था में एन्क्रिप्ट कीजिए, पैरामीटर समूहों से कनेक्शन-स्तरीय एन्क्रिप्शन नियंत्रित कीजिए और IAM प्रमाणीकरण से सुरक्षित कीजिए।
RDS सुरक्षा: एन्क्रिप्शन और पैरामीटर समूह, CoddyKit पर AWS Solutions Architect का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह AWS Solutions Architect सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। AWS Solutions Architect पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
RDS में स्थिर डेटा का एन्क्रिप्शन
RDS, AWS Key Management Service (KMS) का उपयोग करके स्थिर डेटा का एन्क्रिप्शन प्रदान करता है। DB इंस्टेंस बनाते समय एन्क्रिप्शन सक्षम करने पर, अंतर्निहित EBS वॉल्यूम, स्वचालित बैकअप, स्नैपशॉट और Read Replicas में मौजूद सभी डेटा निर्दिष्ट KMS कुंजी का उपयोग करके एन्क्रिप्ट किया जाता है।
एन्क्रिप्शन बनाते समय ही सक्षम करना आवश्यक है—मौजूदा अनएन्क्रिप्टेड इंस्टेंस को उसी स्थान पर एन्क्रिप्ट नहीं किया जा सकता। इसका समाधान यह है कि अनएन्क्रिप्टेड स्नैपशॉट लिया जाए, एन्क्रिप्शन सक्षम करके उसकी कॉपी बनाई जाए और एन्क्रिप्टेड स्नैपशॉट से पुनर्स्थापित किया जाए। अतिरिक्त नियंत्रण और ऑडिट के लिए KMS कुंजी AWS-प्रबंधित कुंजी या Customer-Managed Key (CMK) हो सकती है।
# Create an encrypted RDS instance
aws rds create-db-instance \
--db-instance-identifier mydb-encrypted \
--engine mysql \
--db-instance-class db.t3.micro \
--master-username admin \
--master-user-password MyPass123! \
--allocated-storage 20 \
--storage-encrypted \
--kms-key-id arn:aws:kms:us-east-1:123456789:key/my-key-idमौजूदा अनएन्क्रिप्टेड RDS इंस्टेंस को एन्क्रिप्ट करना
मौजूदा इंस्टेंस पर एन्क्रिप्शन सक्षम नहीं किया जा सकता, इसलिए इस माइग्रेशन प्रक्रिया का पालन करें:
- अनएन्क्रिप्टेड इंस्टेंस का मैन्युअल स्नैपशॉट बनाएँ
- स्नैपशॉट की कॉपी बनाएँ और कॉपी करते समय एन्क्रिप्शन सक्षम करके KMS कुंजी निर्दिष्ट करें
- एन्क्रिप्टेड स्नैपशॉट से नया DB इंस्टेंस पुनर्स्थापित करें
- अपने एप्लिकेशन के एंडपॉइंट को नए इंस्टेंस पर अपडेट करें
- पुराना अनएन्क्रिप्टेड इंस्टेंस हटाएँ
इस प्रक्रिया में कुछ समय के लिए सेवा बंद रहेगी, जब तक कि आप कटओवर से पहले नए एन्क्रिप्टेड इंस्टेंस को समकालिक रखने के लिए DMS का उपयोग न करें।
# Copy snapshot with encryption enabled
aws rds copy-db-snapshot \
--source-db-snapshot-identifier mydb-unencrypted-snap \
--target-db-snapshot-identifier mydb-encrypted-snap \
--kms-key-id alias/aws/rdsSSL/TLS के साथ ट्रांज़िट में एन्क्रिप्शन
RDS SSL/TLS का उपयोग करके ट्रांज़िट में डेटा को एन्क्रिप्ट करता है। प्रत्येक इंजन एक डाउनलोड किए जा सकने वाला CA प्रमाणपत्र प्रदान करता है, जिसका उपयोग आपका क्लाइंट ड्राइवर सर्वर की पहचान सत्यापित करने के लिए करता है। SSL कनेक्शनों को अनिवार्य बनाने के लिए, डेटाबेस इंजन को अनएन्क्रिप्टेड कनेक्शनों को अस्वीकार करने के लिए कॉन्फ़िगर करें।
MySQL के लिए, पैरामीटर समूह में require_secure_transport = ON पैरामीटर सेट करें। PostgreSQL के लिए, ssl = 1 सेट करें और गैर-SSL कनेक्शनों को पूरी तरह अस्वीकार करने के लिए वैकल्पिक रूप से rds.force_ssl = 1 सेट करें। कई Java और Python डेटाबेस ड्राइवर कनेक्शन स्ट्रिंग पैरामीटर के रूप में sslmode=require भी स्वीकार करते हैं।
# Connect to RDS MySQL over SSL
mysql -h mydb.abcd1234.us-east-1.rds.amazonaws.com \
-u admin -p \
--ssl-ca=rds-ca-2019-root.pem \
--ssl-verify-server-certपैरामीटर समूह: ये क्या होते हैं
पैरामीटर समूह इंजन की कॉन्फ़िगरेशन सेटिंग्स के नामित संग्रह होते हैं, जिन्हें आप RDS इंस्टेंस से जोड़ते हैं। ये MySQL पर my.cnf या PostgreSQL पर postgresql.conf को संपादित करने के RDS समकक्ष हैं, लेकिन AWS द्वारा प्रबंधित होते हैं और प्रत्येक इंजन परिवार के अनुसार संस्करणबद्ध किए जाते हैं।
AWS प्रत्येक इंजन संस्करण के लिए एक डिफ़ॉल्ट पैरामीटर समूह प्रदान करता है, लेकिन उसकी सेटिंग्स संपादित नहीं की जा सकतीं। पैरामीटर को अपनी आवश्यकता के अनुसार बदलने के लिए कस्टम पैरामीटर समूह बनाएँ, वांछित पैरामीटर संशोधित करें और उसे अपने DB इंस्टेंस से संबद्ध करें। स्थिर पैरामीटर में किए गए बदलावों के लिए रीबूट आवश्यक है; गतिशील पैरामीटर तुरंत प्रभावी हो जाते हैं।
# Create a custom parameter group
aws rds create-db-parameter-group \
--db-parameter-group-name my-mysql8-params \
--db-parameter-group-family mysql8.0 \
--description 'Custom MySQL 8.0 parameters'पैरामीटर समूह की सेटिंग्स संशोधित करना
कस्टम पैरामीटर समूह बनाने के बाद, modify-db-parameter-group CLI कमांड या कंसोल का उपयोग करके अलग-अलग पैरामीटर संशोधित करें। पैरामीटर में एक लागू करने की विधि होती है: immediate (रीबूट के बिना प्रभावी) या pending-reboot (केवल अगले इंस्टेंस पुनरारंभ के बाद प्रभावी)।
परीक्षा के लिए जानने योग्य महत्वपूर्ण पैरामीटर: max_connections (एक साथ होने वाले कनेक्शनों की सीमा), innodb_buffer_pool_size (MySQL कैश का मेमोरी आकार), log_bin_trust_function_creators (बाइनरी लॉग में लिखने वाले संग्रहीत फ़ंक्शन की अनुमति), और rds.force_ssl (PostgreSQL के लिए SSL अनिवार्य करना)।
# Force SSL in a PostgreSQL parameter group
aws rds modify-db-parameter-group \
--db-parameter-group-name my-postgres-params \
--parameters 'ParameterName=rds.force_ssl,ParameterValue=1,ApplyMethod=immediate'अतिरिक्त सुविधाओं के लिए विकल्प समूह
विकल्प समूह पैरामीटर समूहों के समान होते हैं, लेकिन कॉन्फ़िगरेशन को समायोजित करने के बजाय डेटाबेस इंजन की अतिरिक्त सुविधाओं को नियंत्रित करते हैं। इनका मुख्य रूप से Oracle और SQL Server के साथ Oracle Application Express (APEX), SQL Server Transparent Data Encryption (TDE) या SQL Server Active Directory प्रमाणीकरण जैसी सुविधाएँ सक्षम करने के लिए उपयोग किया जाता है।
किसी विकल्प समूह में प्रत्येक विकल्प की अपनी सेटिंग्स हो सकती हैं। विकल्प समूह प्रत्येक इंजन परिवार के अनुसार संस्करणबद्ध होते हैं और उन्हें DB इंस्टेंस से संबद्ध करना आवश्यक है। अधिकांश ओपन-सोर्स इंजन (MySQL, PostgreSQL, MariaDB) को कस्टम विकल्प समूहों की शायद ही कभी आवश्यकता होती है।
IAM डेटाबेस प्रमाणीकरण
RDS MySQL और PostgreSQL इंजन के लिए IAM डेटाबेस प्रमाणीकरण का समर्थन करता है। स्थायी उपयोगकर्ता नाम और पासवर्ड के बजाय, आपका एप्लिकेशन IAM भूमिका ग्रहण करता है और generate-db-auth-token AWS CLI कमांड या SDK कॉल का उपयोग करके एक अस्थायी प्रमाणीकरण टोकन बनाता है, जो 15 मिनट तक मान्य रहता है।
इसके लाभों में लंबे समय तक मान्य डेटाबेस पासवर्ड की आवश्यकता न होना, IAM नीतियों के माध्यम से क्रेडेंशियल का स्वचालित रोटेशन और केंद्रीकृत पहुँच नियंत्रण शामिल हैं। इस सुविधा के लिए इंस्टेंस पर --enable-iam-database-authentication सक्षम करना और IAM भूमिका से मैप किया गया डेटाबेस उपयोगकर्ता बनाना आवश्यक है।
# Generate an RDS IAM auth token
aws rds generate-db-auth-token \
--hostname mydb.abcd1234.us-east-1.rds.amazonaws.com \
--port 3306 \
--username mydbuser \
--region us-east-1RDS के साथ Secrets Manager का एकीकरण
AWS Secrets Manager आपके RDS मास्टर पासवर्ड और एप्लिकेशन क्रेडेंशियल को संग्रहीत और स्वचालित रूप से रोटेट कर सकता है। रोटेशन सक्षम होने पर, Secrets Manager एक Lambda फ़ंक्शन चलाता है, जो डेटाबेस पासवर्ड अपडेट करता है और नया मान सीक्रेट में संग्रहीत करता है—आपका एप्लिकेशन Secrets Manager API के माध्यम से नवीनतम सीक्रेट मान प्राप्त करता है, इसलिए उसके पास हमेशा मान्य क्रेडेंशियल रहते हैं।
कंसोल में RDS इंस्टेंस बनाते समय, आप मास्टर क्रेडेंशियल के प्रबंधन के लिए Secrets Manager को चुन सकते हैं। इससे कोड या पर्यावरण चर में पासवर्ड पहले से लिखकर रखने की आवश्यकता समाप्त हो जाती है।
# Retrieve RDS credentials from Secrets Manager
aws secretsmanager get-secret-value \
--secret-id rds!db-1234abcd-5678-efgh-ijkl-mnopqrstuvwx \
--query SecretString \
--output text | python3 -m json.toolVPC और सुरक्षा समूह नियंत्रण
RDS इंस्टेंस VPC के अंदर चलते हैं और DB सबनेट समूहों का उपयोग यह निर्धारित करने के लिए करते हैं कि इंस्टेंस को किन सबनेटों (कई AZs में) में रखा जा सकता है। सर्वोत्तम अभ्यास यह है कि RDS को निजी सबनेटों में रखा जाए, जहाँ इंटरनेट तक सीधी पहुँच न हो।
सुरक्षा समूह यह नियंत्रित करते हैं कि कौन-से IP पते और अन्य सुरक्षा समूह DB पोर्ट तक पहुँच सकते हैं (जैसे, MySQL के लिए TCP 3306)। RDS सुरक्षा समूह में एप्लिकेशन स्तर का सुरक्षा समूह ही एकमात्र अनुमत स्रोत होना चाहिए, जिससे नेटवर्क स्तर पर न्यूनतम आवश्यक विशेषाधिकार लागू होते हैं। RDS सुरक्षा समूह के इनबाउंड नियम में 0.0.0.0/0 (सारा ट्रैफ़िक) कभी कॉन्फ़िगर न करें।
उन्नत निगरानी और ऑडिट लॉग
उन्नत निगरानी OS-स्तरीय मेट्रिक्स (CPU, मेमोरी, फ़ाइल सिस्टम, डिस्क I/O) को प्रत्येक 1–60 सेकंड में CloudWatch Logs पर प्रकाशित करती है, जिससे डिफ़ॉल्ट 60-सेकंड CloudWatch मेट्रिक्स की तुलना में अधिक सूक्ष्म विवरण मिलता है। इसमें DB होस्ट पर चलने वाला एजेंट उपयोग होता है और यह SQL Server mirroring mode को छोड़कर सभी इंजनों के लिए उपलब्ध है।
अनुपालन विश्लेषण के लिए डेटाबेस ऑडिट लॉग (MySQL के सामान्य क्वेरी लॉग और धीमी क्वेरी लॉग; PostgreSQL के लिए pgaudit) CloudWatch Logs पर प्रकाशित किए जा सकते हैं। इन्हें पैरामीटर समूहों के माध्यम से सक्षम करें, फिर RDS कंसोल में लॉग निर्यात के अंतर्गत लॉग निर्यात कॉन्फ़िगर करें।
# Enable PostgreSQL logs export to CloudWatch
aws rds modify-db-instance \
--db-instance-identifier mydb \
--cloudwatch-logs-export-configuration 'EnableLogTypes=[postgresql,upgrade]' \
--apply-immediatelyसुरक्षा के सर्वोत्तम अभ्यासों का सारांश
SAA-C03 परीक्षा के लिए RDS सुरक्षा के प्रमुख सर्वोत्तम अभ्यास:
- इंस्टेंस बनाते समय KMS CMK के साथ स्थिर डेटा का एन्क्रिप्शन सक्षम करें
- पैरामीटर समूह की सेटिंग्स के माध्यम से ट्रांज़िट में SSL/TLS अनिवार्य करें
- इंस्टेंस को प्रतिबंधात्मक सुरक्षा समूहों वाले निजी सबनेटों में रखें
- स्थायी पासवर्ड से बचने के लिए IAM डेटाबेस प्रमाणीकरण या Secrets Manager का उपयोग करें
- RDS API कॉल का लॉग रखने के लिए CloudTrail और डेटाबेस ऑडिट लॉग के लिए CloudWatch Logs सक्षम करें
- गलत कॉन्फ़िगरेशन का पता लगाने के लिए AWS Config नियमों (जैसे,
rds-instance-public-access-check) का उपयोग करें
त्वरित जाँच
इस पाठ में सिखाई गई AWS Solutions Architect (SAA-C03) अवधारणाओं की अपनी समझ जाँचें।
पाठ का पुनरावलोकन
इस पाठ में आपने सीखा: RDS में स्थिर डेटा का एन्क्रिप्शन KMS का उपयोग करता है और इसे बनाते समय सक्षम करना आवश्यक है, पैरामीटर समूह इंजन की कॉन्फ़िगरेशन को नियंत्रित करते हैं, जिसमें ट्रांज़िट में SSL/TLS लागू करना भी शामिल है, और IAM डेटाबेस प्रमाणीकरण तथा Secrets Manager स्थायी डेटाबेस पासवर्ड की आवश्यकता समाप्त करते हैं। अब हम DynamoDB तालिकाओं, आइटम और प्राथमिक कुंजी के डिज़ाइन का अध्ययन करेंगे।
एआई शिक्षक के साथ AWS Solutions Architect सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “RDS सुरक्षा: एन्क्रिप्शन और पैरामीटर समूह” पाठ निःशुल्क है?
हाँ — AWS Solutions Architect अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “RDS सुरक्षा: एन्क्रिप्शन और पैरामीटर समूह” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। AWS Solutions Architect पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“RDS सुरक्षा: एन्क्रिप्शन और पैरामीटर समूह” में मैं क्या सीखूँगा?
KMS से RDS को स्थिर अवस्था में एन्क्रिप्ट कीजिए, पैरामीटर समूहों से कनेक्शन-स्तरीय एन्क्रिप्शन नियंत्रित कीजिए और IAM प्रमाणीकरण से सुरक्षित कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ AWS Solutions Architect का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या AWS Solutions Architect शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर AWS Solutions Architect शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“RDS सुरक्षा: एन्क्रिप्शन और पैरामीटर समूह” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस AWS Solutions Architect पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर AWS Solutions Architect पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- RDS इंजन और इंस्टेंस वर्ग
- Multi-AZ और स्वचालित बैकअप
- रीड स्केलिंग के लिए Read Replicas
- RDS सुरक्षा: एन्क्रिप्शन और पैरामीटर समूह