AWS Lambda کا استعمال کرتے ہوئے API راز تک کیسے رسائی حاصل کی جائے؟

Aws Lambda Ka Ast Mal Krt Wy Api Raz Tk Kys Rsayy Hasl Ky Jay



AWS سروسز کے بہترین طریقوں میں دو کارروائیاں شامل ہیں، یعنی اسٹور-ریٹریو، اور آڈٹ-روٹیٹ۔ ان دونوں طریقوں کو یکجا کرتے ہوئے، AWS نے سیکرٹ مینیجر کا آغاز کیا ہے جو صارف کو اپنی ایپلی کیشنز کی خفیہ معلومات کی حفاظت میں مدد کرتا ہے۔ AWS سیکرٹ مینیجر بڑے پیمانے پر تخلیق کے لیے استعمال ہوتا ہے، ذخیرہ , ترمیم کرنا , نقل کرنا ، اور گھومنے والے ڈیٹا بیس کی اسناد، API کیز، OAuth ٹوکنز، وغیرہ۔

فوری آؤٹ لائن

یہ مضمون درج ذیل پہلوؤں کا احاطہ کرتا ہے:

AWS Lambda کیا ہے؟

AWS Lambda ایک کمپیوٹنگ سروس ہے جو سرور فراہم کیے اور ان کا انتظام کیے بغیر متعدد ماحول اور زبانوں میں کوڈز کو عمل میں لاتی ہے۔ مزید برآں، AWS Lambda کو AWS کی متعدد مختلف سروسز جیسے S3 bucket، API Gateways وغیرہ کے ذریعے متحرک کیا جا سکتا ہے۔ یہ سروس خود بخود ایپلیکیشن کو سکیل کرتی ہے اور صارف کو کسی اضافی انحصار کو انسٹال کرنے کی ضرورت کے بغیر کوڈ کو مؤثر طریقے سے انجام دیتی ہے۔







لیمبڈا سروس کے بارے میں مزید جاننے کے لیے، اس مضمون کو یہاں دیکھیں: 'AWS Lambda کے ساتھ شروع کرنا' .



AWS سیکرٹ مینیجر کیا ہے؟

AWS سیکرٹ مینیجر صارفین کو محفوظ اور خفیہ کرنے کے قابل بناتا ہے۔ خفیہ معلومات ایپلیکیشنز جیسے کہ OAuth ٹوکنز، ڈیٹا بیس کی اسناد، APIs وغیرہ۔ اس خفیہ معلومات کو کہا جاتا ہے 'راز' . ان رازوں تک صرف بااختیار اداروں کے ذریعے رسائی حاصل کی جاتی ہے اور سیکیورٹی کو بڑھانے کے لیے انہیں گھمایا جا سکتا ہے۔



اس مضمون کا حوالہ دے کر سیکرٹ مینیجر میں RDS اسناد کو ذخیرہ کرنے کے بارے میں مزید جانیں: 'خفیہ مینیجر کا استعمال کرتے ہوئے ایمیزون آر ڈی ایس اسناد کو کیسے ذخیرہ کریں؟'





AWS Lambda کا استعمال کرتے ہوئے AWS میں API راز تک کیسے رسائی حاصل کی جائے؟

لیمبڈا متعدد خدمات کے لیے بلٹ ان سپورٹ فراہم کرتا ہے جیسے S3 بالٹی، API گیٹ وے، اور خفیہ مینیجر۔ Lambda فنکشنز کو کنفیگر کردہ رازوں کی قدر حاصل کرنے کے لیے استعمال کیا جا سکتا ہے۔ AWS Lambda Functions میں API کے رازوں کو استعمال کرنے سے، صارف AWS کی متعدد خدمات کے ساتھ تعامل کر سکتے ہیں۔ اس طرح کے API راز لیمبڈا فنکشنز کو اختیار کرنے کے لیے بھی اہم ہیں۔

AWS Lambda کا استعمال کرتے ہوئے AWS سیکرٹ مینیجر میں API کیز تک رسائی حاصل کرنے کے لیے، ذیل میں بیان کردہ مراحل پر عمل کریں:



  • مرحلہ 1: ایک API راز بنائیں
  • مرحلہ 2: ایک IAM پالیسی بنائیں
  • مرحلہ 3: ایک IAM کردار بنائیں
  • مرحلہ 4: لیمبڈا رول بنائیں

مرحلہ 1: ایک API راز بنائیں

AWS سیکرٹ مینیجر میں API کلید تک رسائی سے پہلے، ہم سب سے پہلے سیکھیں گے۔ ایک API راز بنائیں . اس مقصد کے لیے، تک رسائی حاصل کریں۔ 'خفیہ مینیجر' کی طرف سے خدمت AWS مینجمنٹ کنسول:

پر مین کنسول AWS سیکرٹ مینیجر کے، پر کلک کریں۔ 'ایک نیا راز ذخیرہ کریں' بٹن:

میں 'خفیہ قسم' بلاک، منتخب کریں 'دوسری قسم کا راز' دکھائے گئے مختلف اختیارات میں سے آپشن:

نیچے تک سکرول کریں۔ 'کلیدی / قدر کے جوڑے' سیکشن اور فراہم کریں a کلیدی قدر کی منفرد جوڑی آپ کے API راز کے لیے۔ کو شامل کریں مزید کلیدی قدر کے جوڑے ، پر کلک کریں 'قطار شامل کریں' بٹن:

اگلا ہے 'انکرپشن کلید' سیکشن AWS فراہم کرتا ہے a پہلے سے طے شدہ خفیہ کاری کی کلید راز کے لئے. تاہم، صارف کلید کے لیے حسب ضرورت نام بھی فراہم کر سکتا ہے۔ پہلے سے طے شدہ کو برقرار رکھتے ہوئے، 'پر کلک کریں اگلے بٹن:

اس انٹرفیس پر، صارف کو فراہم کرنا ہوگا۔ منفرد نام ان کے راز اور a وضاحت جو ایک اختیاری ہے۔ یہاں فیلڈ:

رکھ کر ترتیبات غیر تبدیل شدہ پر کلک کرکے آگے بڑھیں ' اگلے بٹن:

اگلا آتا ہے جائزہ سیکشن۔ تمام تصدیق کرنے کے لیے معلومات فراہم کی جاتی ہے درست ، پر کلک کریں ' اسٹور انٹرفیس کے نیچے واقع بٹن:

راز رہا ہے۔ کامیابی سے بنایا گیا . پر کلک کریں ' دوبارہ لوڈ کریں۔ 'پر راز کا نام ظاہر کرنے کے لئے بٹن ڈیش بورڈ :

مرحلہ 2: ایک IAM پالیسی بنائیں

کو IAM پالیسی بنائیں، تک رسائی حاصل کریں۔ IAM سروس AWS مینجمنٹ کنسول سے:

سے IAM کی سائڈبار سروس، پر کلک کریں ' پالیسیاں 'اختیار:

پر پالیسی کنسول ، پر کلک کریں 'پالیسی بنائیں' بٹن:

اس مضمون کا حوالہ دے کر AWS IAM پالیسی کے بارے میں مزید جانیں: 'AWS IAM پالیسی کی مثالیں'

اگلا ہے 'اجازت کی وضاحت کریں' سیکشن تلاش کریں اور منتخب کریں۔ 'خفیہ مینیجر' سروس:

نیچے تک سکرول کریں۔ 'اعمال کی اجازت ہے' بلاک یہاں، رسائی کی مختلف سطحوں سے، ٹیپ کریں ' پڑھیں 'آپشن. منتخب کریں۔ 'تمام پڑھنے والے اعمال' کا اختیار تمام پڑھنے کو فعال کریں۔ اس پالیسی کے لیے خدمات:

نیچے سکرول کریں کرنے کے لئے ' حوالہ جات سیکشن اور پر کلک کریں۔ 'ARN شامل کریں' اختیار:

پر واپس نیویگیٹ کریں۔ AWS سیکرٹ مینیجر ڈیش بورڈ اور راز کے نام پر کلک کریں۔ کاپی کریں ' آر این اے 'نیچے راز کا' خفیہ اے آر این دکھائے گئے انٹرفیس سے لیبل:

پر ابھی کنسول کاپی شدہ اے آر این کو 'میں چسپاں کریں۔ آر این اے میدان:

پر کلک کرنے سے پہلے 'ARNs شامل کریں' بٹن، پر کلک کریں 'یہ اکاؤنٹ' ایک ہی اکاؤنٹ میں موجود رازوں کی تصدیق کے لیے بٹن۔ ترتیبات کو ترتیب دینے کے بعد، پر کلک کریں۔ 'ARNs شامل کریں' بٹن:

کے بعد ترتیب دے رہا ہے تمام ترتیبات پالیسی کے، 'پر کلک کریں اگلے بٹن:

میں پالیسی کی تفصیلات کے حصے پالیسی کا نام 'میں فراہم کریں پالیسی کا نام میدان:

پر کلک کریں ' پالیسی بنائیں بٹن:

دی پالیسی بنا دیا گیا ہے کامیابی سے :

مرحلہ 3: ایک IAM کردار بنائیں

اس سیکشن میں، ایک IAM رول بنائیں جس میں لیمبڈا فنکشنز کے راز تک رسائی کے لیے مطلوبہ اجازتیں شامل ہوں۔ اس مقصد کے لیے، پر کلک کریں ' کردار آئی اے ایم رول کی سائڈبار سے اختیار کریں اور پھر ٹیپ کریں۔ 'کردار بنائیں' انٹرفیس سے بٹن:

پر کلک کرنے کے بعد 'کردار بنائیں' بٹن، درج ذیل انٹرفیس آپ کو دکھایا جائے گا. منتخب کریں۔ 'AWS سروس' مندرجہ ذیل اختیارات میں سے آپشن کا انتخاب کریں جیسا کہ ہم اسے منسلک کریں گے۔ IAM کا کردار لیمبڈا فنکشن کے ساتھ:

میں 'کیس استعمال کریں' سیکشن، تلاش کریں لیمبڈا سروس اور اسے منتخب کریں. مارو ' اگلے ” مزید آگے بڑھنے کے لیے انٹرفیس کے نیچے بٹن:

پر اگلے انٹرفیس کا نام تلاش کریں۔ پالیسی کا نام جسے ہم نے پہلے ترتیب دیا تھا۔ ظاہر کردہ نتائج سے، منتخب کریں۔ پالیسی کا نام:

پر کلک کریں ' اگلے ' کے نیچے بٹن مزید آگے بڑھنے کے لیے انٹرفیس:

فراہم کرنا a منفرد شناخت کرنے والا آپ کے لیے IAM کا کردار مندرجہ ذیل نمایاں فیلڈ میں:

رکھنا باقی ترتیبات بطور ڈیفالٹ ، پر کلک کریں 'کردار بنائیں' انٹرفیس کے نیچے تک سکرول کرکے بٹن:

کردار رہا ہے۔ کامیابی سے پیدا کیا:

AWS میں IAM کردار بنانے کے بارے میں مزید جاننے کے لیے اس مضمون کو دیکھیں: 'AWS میں IAM کے کردار کیسے بنائیں' .

مرحلہ 4: لیمبڈا فنکشن بنائیں

اگلا مرحلہ لیمبڈا فنکشن بنانا ہے۔ یہ لیمبڈا فنکشن IAM رول پر مشتمل ہوگا اور اس پر عمل کرنے پر راز کی قدر حاصل کرے گا۔ لیمبڈا سروس تک رسائی حاصل کرنے کے لیے، تلاش کریں ' لیمبڈا ' کے سرچ بار میں AWS مینجمنٹ کنسول . کنسول پر جانے کے لیے رزلٹ سے سروس کے نام پر کلک کریں:

لیمبڈا سروس کے ابتدائی انٹرفیس پر، پر کلک کریں۔ 'فنکشن بنائیں' بٹن:

یہ ظاہر کرے گا 'فنکشن بنائیں' انٹرفیس منتخب کریں۔ 'شروع سے مصنف' آپشن اور کے لیے نام فراہم کرکے آگے بڑھیں۔ لیمبڈا فنکشن نمایاں کردہ فیلڈ میں:

میں رن ٹائم فیلڈ منتخب کریں ' Python 3.9 ماحولیات:

کے نیچے رن ٹائم سیکشن ، وہاں ایک 'پہلے سے طے شدہ عملدرآمد کردار کو تبدیل کریں' سیکشن منتخب کریں۔ 'موجودہ کردار کا استعمال کریں' آپشن اور پھر میں کردار کی وضاحت کریں۔ 'موجودہ کردار' میدان:

اسی انٹرفیس پر، ٹیپ کریں۔ 'فنکشن بنائیں' انٹرفیس کے نیچے بٹن:

لیمبڈا فنکشن بنانے کے بارے میں مزید جاننے کے لیے، اس مضمون کو دیکھیں: 'پیہٹن رن ٹائم کے ساتھ لیمبڈا فنکشن کیسے بنائیں' .

لیمبڈا فنکشن بنایا گیا ہے۔ اگلا مرحلہ لیمبڈا فنکشن کو کوڈ فراہم کرنا ہے۔ جب اس کوڈ کو عمل میں لایا جاتا ہے، تو یہ کی اقدار ظاہر کرے گا۔ خفیہ مینیجر:

درآمد json
درآمد boto3
درآمد base64
botocore سے. مستثنیات درآمد کلائنٹ کی خرابی۔

def lambda_handler ( تقریب , خیال، سیاق ) :
ماحول = تقریب [ 'env' ]
خفیہ_نام = 'shmaster19/%s/key' % ماحول
خطے کا_نام = 'ap-southeast-1'

اجلاس = boto3. اجلاس . اجلاس ( )
کلائنٹ = اجلاس. کلائنٹ (
سروس کا نام = 'سیکرٹ مینیجر' ,
خطے کا_نام = خطے کا_نام
)

کوشش کریں :
secret_value_response = کلائنٹ حاصل_خفیہ_قدر (
سیکریٹ آئی ڈی = خفیہ_نام
)
سوائے ClientError کے بطور غلطی :
پرنٹ کریں ( غلطی )
اور :
اگر 'SecretString' میں secret_value_response :
خفیہ = json. بوجھ ( secret_value_response [ 'SecretString' ] )
واپسی خفیہ
اور :
decoded_binary_secret = base64. b64decode ( خفیہ_قدر_جواب [ 'خفیہ بائنری' ] )
واپسی decoded_binary_secret
  • json درآمد کریں: JSON آپریشنز کرنے کے لیے استعمال کیا جاتا ہے۔
  • بوٹو 3 درآمد کریں: AWS اور Python کے درمیان مواصلت کے لیے SDK ہے۔
  • درآمد کی بنیاد 64: Base64 کے بطور بائنری ڈیٹا پر انکوڈنگ اور ضابطہ کشائی کے افعال انجام دینے کے لیے استعمال کیا جاتا ہے۔
  • درآمد کلائنٹ کی خرابی: یہ صارفین کو تحریری کوڈ میں مستثنیات کو سنبھالنے کے قابل بناتا ہے۔
  • خفیہ_نام: اس متغیر میں، اپنے راز کا نام فراہم کریں۔ نوٹ کریں کہ اس راز پر مشتمل ہے۔ '%s' . یہ تب ہوتا ہے جب کسی صارف کے پاس ایک ہی فارمیٹ کی متعدد کلیدیں ہوتی ہیں۔ مثال کے طور پر، اگر کسی صارف نے دو راز بنائے ہیں جیسے، 'apikey/dev/key' اور 'apikey/prod/key' . پھر میں '%s' اگر صارف فراہم کرتا ہے ' دیو لیمبڈا فنکشن فراہم کرے گا۔ ترقی کی کلید (apikey/dev/key) اور اس کے برعکس۔
  • بوٹو session.Session(): صارفین کو سروس کلائنٹس اور جوابات بنانے کی اجازت دیتا ہے۔
  • خطے کا_نام: اس علاقے کا نام فراہم کریں جس میں آپ کا AWS راز کنفیگر کیا گیا ہے۔
  • خفیہ_قدر_جواب: اس متغیر میں، ہم استعمال کر رہے ہیں ' client.get_secret_value ' فنکشن جو راز کی قدر واپس کرے گا۔
  • ڈی کوڈ_بائنری_سیکرٹ: راز کی قیمت حاصل کرنے کے بعد، اسے مزید ڈی کوڈ کیا جائے گا۔ بیس 64 فارمیٹ .

کوڈ کو لیمبڈا فنکشن میں چسپاں کرنے کے بعد، 'پر کلک کریں۔ تعینات کریں۔ تبدیلیاں محفوظ کرنے اور لاگو کرنے کے لیے بٹن:

مرحلہ 5: کوڈ کی جانچ کرنا

بلاگ کے اس حصے میں، ہم تصدیق کریں گے کہ آیا کوڈ کام کر رہا ہے یا نہیں۔ اس مقصد کے لیے، پر کلک کریں ' پرکھ لیمبڈا فنکشن میں تبدیلیوں کو کامیابی کے ساتھ تعینات کرنے کے بعد بٹن:

اگلے انٹرفیس پر، فراہم کریں۔ ٹیسٹ کے لئے نام میں واقعہ 'واقعہ کا نام' میدان:

نیچے تک سکرول کریں۔ واقعہ JSON سیکشن وضاحت کریں ' env ” کلید، اور JSON فارمیٹ میں قدر فراہم کریں۔ ' قدر کی کلید کو منتقل کیا جائے گا۔ '%s' . جیسا کہ ہم نے جو راز بیان کیے ہیں ان میں ' دیو 'قدر،' دیو 'قدر کو منتقل کیا جاتا ہے' env متغیر لیمبڈا فنکشن اس راز کی شناخت کرے گا جب کوڈ پر عمل کیا جائے گا کیونکہ کوڈ میں مخصوص راز کا شناخت کنندہ فراہم کیا گیا ہے۔ تفصیلات بتانے کے بعد، 'پر کلک کریں۔ محفوظ کریں۔ بٹن:

جب ایونٹ کامیابی سے بن جاتا ہے، تو 'پر کلک کریں۔ پرکھ بٹن:

یہاں، ہمارے پاس ہے۔ کامیابی سے حاصل کیا ہمارے مخصوص راز کی قدر:

یہ سب اس گائیڈ سے ہے۔

نتیجہ

لیمبڈا کا استعمال کرتے ہوئے سیکرٹ مینیجر میں API کیز تک رسائی حاصل کرنے کے لیے، سب سے پہلے ایک API سیکرٹ، IAM پالیسی، رول، اور Lambda فنکشن بنائیں اور فنکشن کے کوڈ پر عمل کریں۔ کوڈ پر عمل کرتے وقت راز کے شناخت کنندہ کی وضاحت کرکے AWS سیکرٹ مینیجر کی اقدار حاصل کرنے کے لیے Lambda فنکشنز کو طلب کیا جا سکتا ہے۔ یہ مضمون AWS Lambda کا استعمال کرتے ہوئے AWS سیکرٹ مینیجر میں API کیز تک رسائی کے طریقہ کے لیے مرحلہ وار رہنما خطوط فراہم کرتا ہے۔