सर्वररहित AWS Lambda विकास · पाठ

उन्नत IAM नीतियाँ और अनुमतियाँ

शर्तों और संसाधन-स्तरीय अनुमतियों का उपयोग करके अत्यंत सूक्ष्म IAM नीतियाँ बनाएँ और अपने Lambda फ़ंक्शन के लिए न्यूनतम विशेषाधिकार के सिद्धांत को लागू करें

पाठ 1, कुल 4 में से11 चरण

उन्नत IAM नीतियाँ और अनुमतियाँ, CoddyKit पर सर्वररहित AWS Lambda विकास का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह सर्वररहित AWS Lambda विकास सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। सर्वररहित AWS Lambda विकास पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

मूल IAM भूमिकाओं से आगे

स्वागत है! पिछले पाठों में आपने अपने Lambda फ़ंक्शन के लिए मूल IAM भूमिकाएँ बनाना सीखा था। ये भूमिकाएँ आपके फ़ंक्शन को अन्य AWS सेवाओं के साथ काम करने की अनुमतियाँ देती हैं।

लेकिन यदि आपको अधिक सटीक नियंत्रण चाहिए तो क्या होगा? यह पाठ उन्नत IAM नीतियों पर केंद्रित है, ताकि न्यूनतम विशेषाधिकार के सिद्धांत को लागू किया जा सके और यह सुनिश्चित हो कि आपके फ़ंक्शन के पास केवल वही अनुमतियाँ हों जिनकी उन्हें वास्तव में आवश्यकता है।

न्यूनतम विशेषाधिकार का सिद्धांत (PoLP)

न्यूनतम विशेषाधिकार का सिद्धांत (PoLP) सुरक्षा की एक मूलभूत अवधारणा है। इसका अर्थ है कि किसी इकाई (जैसे Lambda फ़ंक्शन) को उसके निर्धारित कार्य को पूरा करने के लिए आवश्यक अनुमतियाँ ही दी जाएँ, उससे अधिक कुछ नहीं।

  • यह महत्वपूर्ण क्यों है: सुरक्षा उल्लंघनों के प्रभाव को कम करता है।
  • यह कैसे सहायता करता है: यदि कोई हमलावर आपके फ़ंक्शन से समझौता कर ले, तो वह क्या कर सकता है इसकी सीमा तय करता है।
  • हमारा लक्ष्य: व्यापक अनुमतियों से अत्यंत विशिष्ट अनुमतियों की ओर बढ़ना।

संसाधन-स्तरीय अनुमतियाँ

किसी विशेष प्रकार के सभी संसाधनों (जैसे, सभी S3 बकेट) तक पहुँच देने के बजाय, आप ठीक-ठीक निर्दिष्ट कर सकते हैं कि कोई फ़ंक्शन किन संसाधनों तक पहुँच सकता है। इसे संसाधन-स्तरीय अनुमतियाँ कहा जाता है।

आप नीति के Resource तत्व में Amazon Resource Name (ARN) का उपयोग करके ऐसा करते हैं।

उदाहरण: विशिष्ट S3 पहुँच

यहाँ एक नीति अंश है जो किसी Lambda फ़ंक्शन को केवल my-app-data-bucket नाम के विशिष्ट S3 बकेट से ऑब्जेक्ट पढ़ने की अनुमति देता है, किसी अन्य बकेट से नहीं।

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": "arn:aws:s3:::my-app-data-bucket/*"
    }
  ]
}

नीति की शर्तों को समझना

और अधिक सूक्ष्म नियंत्रण जोड़ने के लिए IAM नीतियाँ शर्तों का समर्थन करती हैं। शर्तें यह निर्दिष्ट करती हैं कि नीति का कथन कब प्रभावी होगा।

आप शर्तों का उपयोग दिन का समय, अनुरोधकर्ता का IP पता, संसाधनों पर विशिष्ट टैग या S3 ऑब्जेक्ट कुंजी के कुछ हिस्सों जैसी चीज़ों की जाँच करने के लिए कर सकते हैं।

सामान्य शर्त कुंजियाँ

AWS कई शर्त कुंजियाँ उपलब्ध कराता है जिनका आप उपयोग कर सकते हैं। कुछ सामान्य कुंजियाँ हैं:

  • aws:SourceIp: स्रोत IP पते के आधार पर पहुँच सीमित करें।
  • aws:PrincipalTag: यदि अनुरोधकर्ता के पास कोई विशिष्ट टैग हो, तो अनुमतियाँ दें।
  • s3:prefix: S3 क्रियाओं को किसी निश्चित कुंजी उपसर्ग वाले ऑब्जेक्ट तक सीमित करें।
  • StringEquals, NumericLessThan आदि: मानों की तुलना करने वाले ऑपरेटर।

उदाहरण: IP पते पर शर्त

यह नीति किसी क्रिया की अनुमति केवल तभी देती है जब अनुरोध किसी विशिष्ट IP पता सीमा से आया हो। यह प्रशासनिक पहुँच या आंतरिक टूल के लिए उपयोगी है।

ध्यान दें: Lambda फ़ंक्शन के पास सामान्यतः स्थिर स्रोत IP नहीं होता, जब तक कि वे NAT Gateway वाले VPC के भीतर न हों।

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "s3:*",
      "Resource": "arn:aws:s3:::my-secure-bucket/*",
      "Condition": {
        "NotIpAddress": {
          "aws:SourceIp": "203.0.113.0/24"
        }
      }
    }
  ]
}

उदाहरण: S3 प्रीफ़िक्स के लिए शर्त

यहाँ, Lambda फ़ंक्शन S3 बकेट के भीतर केवल एक विशिष्ट फ़ोल्डर (प्रीफ़िक्स) में ऑब्जेक्ट लिख सकता है। इससे यह सुनिश्चित होता है कि वह गलती से बकेट के अन्य हिस्सों में मौजूद महत्वपूर्ण डेटा को अधिलेखित न कर दे।

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject"
      ],
      "Resource": "arn:aws:s3:::my-upload-bucket/uploads/*",
      "Condition": {
        "StringEquals": {
          "s3:prefix": "uploads/"
        }
      }
    }
  ]
}

सूक्ष्म नीतियों के लिए सर्वोत्तम अभ्यास

उन्नत IAM नीतियाँ बनाते समय:

  • अस्वीकृति से प्रारंभ करें: सामान्यतः डिफ़ॉल्ट रूप से सभी को अस्वीकार करना और केवल आवश्यक अनुमतियों को स्पष्ट रूप से देना अधिक सुरक्षित होता है।
  • अच्छी तरह जाँच करें: गलत तरीके से कॉन्फ़िगर की गई नीतियाँ अनुप्रयोगों को बाधित कर सकती हैं या सुरक्षा संबंधी कमियाँ पैदा कर सकती हैं।
  • नियमित रूप से समीक्षा करें: जैसे-जैसे आपका अनुप्रयोग विकसित होता है, आपकी नीतियों में भी बदलाव होना चाहिए।
  • प्रबंधित नीतियों का उपयोग करें (जहाँ उपयुक्त हो): सामान्य AWS सेवा इंटरैक्शन के लिए, अनुकूलित करने से पहले AWS की प्रबंधित नीतियाँ एक अच्छा प्रारंभिक बिंदु होती हैं।

नीति की सूक्ष्मता की जाँच

मान लीजिए कि कोई Lambda फ़ंक्शन my-image-gallery नामक S3 बकेट में अपलोड की गई नई इमेज संसाधित करता है। इसे raw/ प्रीफ़िक्स से इमेज पढ़ने और संसाधित इमेज को processed/ प्रीफ़िक्स में लिखने की आवश्यकता है।

इस फ़ंक्शन के लिए न्यूनतम आवश्यक विशेषाधिकार के सिद्धांत को कौन-सा IAM नीति कथन सही ढंग से लागू करता है?

पुनरावृत्ति: उन्नत IAM नीतियाँ

इस पाठ में हमने सीखा कि बुनियादी IAM भूमिकाओं से आगे बढ़कर अपने Lambda फ़ंक्शनों के लिए अत्यंत सूक्ष्म नीतियाँ कैसे बनाई जाती हैं।

  • हमने न्यूनतम आवश्यक विशेषाधिकार के सिद्धांत पर ध्यान दिया।
  • आपने ARN का उपयोग करके संसाधन-स्तरीय अनुमतियों के बारे में सीखा।
  • हमने नीति के प्रभावों को अधिक सटीक बनाने के लिए शर्तों (जैसे aws:SourceIp और s3:prefix) का उपयोग करना सीखा।

इन तकनीकों को लागू करके आप अपने सर्वरलेस अनुप्रयोगों की सुरक्षा स्थिति को काफ़ी बेहतर बना सकते हैं।

शुरुआत निःशुल्क

एआई शिक्षक के साथ सर्वररहित AWS Lambda विकास सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
12
पाठ
48

अक्सर पूछे जाने वाले प्रश्न

क्या “उन्नत IAM नीतियाँ और अनुमतियाँ” पाठ निःशुल्क है?

हाँ—“उन्नत IAM नीतियाँ और अनुमतियाँ” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और सर्वररहित AWS Lambda विकास पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। सर्वररहित AWS Lambda विकास पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“उन्नत IAM नीतियाँ और अनुमतियाँ” में मैं क्या सीखूँगा?

शर्तों और संसाधन-स्तरीय अनुमतियों का उपयोग करके अत्यंत सूक्ष्म IAM नीतियाँ बनाएँ और अपने Lambda फ़ंक्शन के लिए न्यूनतम विशेषाधिकार के सिद्धांत को लागू करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ सर्वररहित AWS Lambda विकास का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या सर्वररहित AWS Lambda विकास शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर सर्वररहित AWS Lambda विकास शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“उन्नत IAM नीतियाँ और अनुमतियाँ” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस सर्वररहित AWS Lambda विकास पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर सर्वररहित AWS Lambda विकास पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. उन्नत IAM नीतियाँ और अनुमतियाँ
  2. AWS Secrets Manager के साथ गुप्त जानकारी का प्रबंधन
  3. AWS X-Ray के साथ वितरित ट्रेसिंग
  4. संरचित लॉगिंग और सहसंबंध आईडी
← सर्वररहित AWS Lambda विकास पर वापस जाएँ