AWS - DynamoDB Enum
DynamoDB
मौलिक जानकारी
अमेज़न DynamoDB को AWS द्वारा एक पूरी तरह से प्रबंधित, सर्वरलेस, कुंजी-मूल्य NoSQL डेटाबेस के रूप में प्रस्तुत किया गया है, जो अपने आकार के बिना उच्च प्रदर्शन वाले एप्लिकेशनों को सशक्त करने के लिए विशेष रूप से तैयार किया गया है। सेवा मजबूत सुरक्षा उपाय, अविरल बैकअप, कई क्षेत्रों में स्वचालित प्रतिक्रिया, एकीकृत इन-मेमोरी कैशिंग, और सुविधाजनक डेटा निर्यात उपकरण सहित मजबूत सुविधाएँ सुनिश्चित करती है।
DynamoDB के संदर्भ में, पारंगत करने की बजाय एक पारंगत की जाती है। प्रत्येक तालिका को एक विभाजन कुंजी की विशेषता के रूप में निर्धारित करना अनिवार्य है, जो तालिका की प्राथमिक कुंजी का एक अभिन्न घटक है। यह पार्टीशन कुंजी, मूल रूप से एक हैश मान होता है, जो आइटम्स की पुनर्प्राप्ति और डेटा का विभाजन विभिन्न होस्ट्स पर वितरण में महत्वपूर्ण भूमिका निभाता है। यह वितरण डेटाबेस की स्थायिता और उपलब्धता बनाए रखने के लिए महत्वपूर्ण है। इसके अतिरिक्त, डेटा संगठन को और अधिक सुधारने के लिए सॉर्ट कुंजी शामिल करने का विकल्प भी है।
एन्क्रिप्शन
डिफ़ॉल्ट रूप से, DynamoDB एक KMS कुंजी का उपयोग करता है जो अमेज़न DynamoDB का है, आपके खाते के लिए कम से कम अमेज़न द्वारा प्रबंधित कुंजी नहीं।
बैकअप और S3 में निर्यात
तालिका बैकअप की उत्पत्ति को अनुसूचित किया जा सकता है या उन्हें आवश्यकता के अनुसार बनाया जा सकता है। इसके अतिरिक्त, तालिका के लिए समय-समय पर वस्तुरूपण (PITR) सक्षम करना भी संभव है। समय-समय पर वस्तुरूपण आपके DynamoDB डेटा की 35 दिनों के लिए निरंतर बैकअप प्रदान करता है ताकि आप दुर्घटनात्मक लेखन या हटाने के कार्रवाई के खिलाफ सुरक्षित रहें।
तालिका के डेटा को S3 में निर्यात करना भी संभव है, लेकिन तालिका में PITR सक्षम होना चाहिए।
GUI
https://github.com/aaronshaf/dynamodb-admin का उपयोग करके DynamoDB Local, dynalite, localstack जैसी स्थानीय Dynamo सेवाओं के लिए एक GUI है, जो उपयोगी हो सकता है।
गणना
अनधिकृत पहुंच
AWS - DynamoDB Unauthenticated AccessPrivesc
AWS - DynamoDB Privescपोस्ट एक्सप्लोइटेशन
AWS - DynamoDB Post Exploitationस्थिरता
AWS - DynamoDB PersistenceDynamoDB इन्जेक्शन
SQL इन्जेक्शन
डाइनामोडीबी डेटा तक पहुंचने के तरीके हैं SQL सिंटैक्स के साथ, इसलिए, सामान्य SQL इन्जेक्शन भी संभव हैं।
NoSQL इन्जेक्शन
डाइनामोडीबी में विभिन्न शर्तें उपयोग की जा सकती हैं डेटा प्राप्त करने के लिए, जैसे कि एक सामान्य NoSQL इन्जेक्शन में यदि डेटा प्राप्त करने के लिए अधिक शर्तों को चेन करना संभव है तो आप छिपा हुआ डेटा प्राप्त कर सकते हैं (या पूरी तालिका को डंप कर सकते हैं)। आप यहाँ डाइनामोडीबी द्वारा समर्थित शर्त पा सकते हैं: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Condition.html
ध्यान दें कि यदि डेटा query
या scan
के माध्यम से एक्सेस किया जा रहा है तो विभिन्न शर्तें समर्थित हैं।
वास्तव में, Query क्रियाएँ प्राथमिक कुंजी में शर्त "EQ" (बराबर) निर्दिष्ट करने की आवश्यकता होती है, जिससे यह काम करता है, जिससे यह NoSQL इन्जेक्शन के लिए कम प्रवृत्त होता है (और संचालन को भी बहुत सीमित बनाता है)।
यदि आप तुलना को बदल सकते हैं जो की किया जा रहा है या नए जोड़ सकते हैं, तो आप अधिक डेटा प्राप्त कर सकते हैं।
Raw Json इन्जेक्शन
DynamoDB Json ऑब्ज
एक हमलावर कुछ इस प्रकार से इंजेक्ट कर सकता है:
1000"}],"ComparisonOperator": "GT","AttributeValueList": [{"N": "0
"EQ" स्थिति को ठीक करें और ID 1000 की खोज करें और फिर सभी डेटा की खोज करें जिसमें एक आईडी स्ट्रिंग 0 से अधिक है।
:property इंजेक्शन
कुछ SDKs एक स्ट्रिंग का उपयोग करने की अनुमति देते हैं जो कि किया जाने वाला फ़िल्टरिंग का संकेत करती है:
आपको यह जानना चाहिए कि DynamoDB में खोज करने के लिए एक विशेषता की मान को फ़िल्टर अभिव्यक्तियों में अनुकरण करने के लिए, टोकन को :
वर्ण के साथ आरंभ करना चाहिए। ऐसे टोकन को वास्तविक समय पर विशेषता मान के साथ प्रतिस्थापित किया जाएगा।
इसलिए, पिछले जैसे किसी लॉगिन को कुछ इस प्रकार से उलटा सकता है:
Last updated