কিভাবে AWS Lambda ব্যবহার করে API গোপন অ্যাক্সেস করবেন?

Kibhabe Aws Lambda Byabahara Kare Api Gopana A Yaksesa Karabena



AWS পরিষেবাগুলির সর্বোত্তম অনুশীলনগুলির মধ্যে দুটি ক্রিয়া জড়িত যেমন, স্টোর-পুনরুদ্ধার এবং অডিট-রোটেট৷ এই দুটি অনুশীলনকে একত্রিত করে, AWS সিক্রেট ম্যানেজার চালু করেছে যা ব্যবহারকারীকে তাদের অ্যাপ্লিকেশনের গোপন তথ্য রক্ষা করতে সহায়তা করে। AWS সিক্রেট ম্যানেজার তৈরির জন্য ব্যাপকভাবে ব্যবহৃত হয়, সঞ্চয় , পরিবর্তন করা , প্রতিলিপি করা , এবং ঘোরানো ডাটাবেস শংসাপত্র, API কী, OAuth টোকেন, ইত্যাদি।

দ্রুত রূপরেখা

এই নিবন্ধটি নিম্নলিখিত দিকগুলি কভার করে:

AWS Lambda কি?

AWS Lambda হল একটি কম্পিউটিং পরিষেবা যা সার্ভারগুলি প্রদান এবং পরিচালনা ছাড়াই একাধিক পরিবেশ এবং ভাষায় কোডগুলি কার্যকর করার জন্য৷ অধিকন্তু, AWS Lambda AWS-এর একাধিক বিভিন্ন পরিষেবা যেমন S3 বাকেট, API গেটওয়ে ইত্যাদি দ্বারা ট্রিগার করা যেতে পারে৷ এই পরিষেবাটি স্বয়ংক্রিয়ভাবে অ্যাপ্লিকেশনটিকে স্কেল করে এবং ব্যবহারকারীকে কোনো অতিরিক্ত নির্ভরতা ইনস্টল করার প্রয়োজন ছাড়াই দক্ষতার সাথে কোডটি কার্যকর করে৷







ল্যাম্বডা পরিষেবা সম্পর্কে আরও জানতে, এখানে এই নিবন্ধটি পড়ুন: 'AWS Lambda দিয়ে শুরু করা' .



AWS সিক্রেট ম্যানেজার কি?

AWS সিক্রেট ম্যানেজার ব্যবহারকারীদের সুরক্ষিত এবং এনক্রিপ্ট করতে সক্ষম করে গোপন তথ্য OAuth টোকেন, ডাটাবেস শংসাপত্র, API, ইত্যাদির মতো অ্যাপ্লিকেশনগুলির। এই গোপনীয় তথ্যটিকে একটি হিসাবে উল্লেখ করা হয় 'গোপন' . এই গোপনীয়তাগুলি শুধুমাত্র অনুমোদিত সংস্থাগুলি দ্বারা অ্যাক্সেস করা হয় এবং নিরাপত্তা বাড়ানোর জন্য ঘোরানো যেতে পারে।



এই নিবন্ধটি উল্লেখ করে সিক্রেট ম্যানেজারে RDS শংসাপত্র সংরক্ষণের বিষয়ে আরও জানুন: 'সিক্রেট ম্যানেজার ব্যবহার করে কীভাবে অ্যামাজন আরডিএস শংসাপত্রগুলি সংরক্ষণ করবেন?'





কিভাবে AWS Lambda ব্যবহার করে AWS-এ API গোপন অ্যাক্সেস করবেন?

ল্যাম্বডা একাধিক পরিষেবার জন্য অন্তর্নির্মিত সমর্থন প্রদান করে যেমন S3 বাকেট, API গেটওয়ে, এবং সিক্রেট ম্যানেজার। ল্যাম্বডা ফাংশনগুলি কনফিগার করা গোপনীয়তার মান পেতে ব্যবহার করা যেতে পারে। AWS Lambda ফাংশনে API গোপন ব্যবহার করে, ব্যবহারকারীরা AWS-এর একাধিক পরিষেবার সাথে যোগাযোগ করতে পারে। ল্যাম্বডা ফাংশন অনুমোদনের জন্য এই ধরনের API গোপনীয়তাগুলিও গুরুত্বপূর্ণ।

AWS Lambda ব্যবহার করে AWS সিক্রেট ম্যানেজারে API কীগুলি অ্যাক্সেস করতে, নীচের উল্লিখিত পদক্ষেপগুলি অনুসরণ করুন:



  • ধাপ 1: একটি API সিক্রেট তৈরি করুন
  • ধাপ 2: একটি IAM নীতি তৈরি করুন
  • ধাপ 3: একটি IAM ভূমিকা তৈরি করুন
  • ধাপ 4: একটি Lambda ভূমিকা তৈরি করুন

ধাপ 1: একটি API সিক্রেট তৈরি করুন

AWS সিক্রেট ম্যানেজারে একটি API কী অ্যাক্সেস করার আগে, আমরা প্রথমে শিখব একটি API গোপন তৈরি করুন . এই উদ্দেশ্যে, অ্যাক্সেস 'গোপন ব্যবস্থাপক' থেকে সেবা AWS ম্যানেজমেন্ট কনসোল:

উপরে প্রধান কনসোল AWS সিক্রেট ম্যানেজার-এ ক্লিক করুন 'একটি নতুন গোপন সঞ্চয় করুন' বোতাম:

মধ্যে 'গোপন প্রকার' ব্লক, নির্বাচন করুন 'অন্য ধরনের গোপন' প্রদর্শিত বিভিন্ন বিকল্প থেকে বিকল্প:

নিচে স্ক্রোল করুন 'কী/মান জোড়া' বিভাগ এবং একটি প্রদান অনন্য কী-মান জোড়া আপনার API গোপনের জন্য। প্রতি যোগ করুন আরো কী-মান জোড়া , ক্লিক করুন 'সারি যোগ করুন' বোতাম:

পরবর্তী হল 'এনক্রিপশন কী' অধ্যায়. AWS একটি প্রদান করে ডিফল্ট এনক্রিপশন কী গোপন জন্য যাইহোক, ব্যবহারকারী কীটির জন্য একটি কাস্টম নামও প্রদান করতে পারেন। ডিফল্ট রেখে, 'এ ক্লিক করুন' পরবর্তী 'বোতাম:

এই ইন্টারফেসে, ব্যবহারকারীকে একটি প্রদান করতে হবে অনন্য নাম তাদের গোপন জন্য এবং একটি বর্ণনা যা একটি ঐচ্ছিক এখানে ক্ষেত্র:

রাখার মাধ্যমে সেটিংস অপরিবর্তিত , 'এ ক্লিক করে আরও এগিয়ে যান পরবর্তী 'বোতাম:

পরবর্তী আসে পর্যালোচনা বিভাগ। সব নিশ্চিত করতে তথ্য প্রদান করা হয় সঠিক , ক্লিক করুন ' দোকান ইন্টারফেসের নীচে অবস্থিত বোতাম:

গোপন করা হয়েছে সফলভাবে তৈরি . ক্লিক করুন ' পুনরায় লোড করুন ” বাটনে সিক্রেটের নাম প্রদর্শন করতে হবে ড্যাশবোর্ড :

ধাপ 2: একটি IAM নীতি তৈরি করুন

প্রতি একটি আইএএম নীতি তৈরি করুন, অ্যাক্সেস আইএএম পরিষেবা AWS ম্যানেজমেন্ট কনসোল থেকে:

থেকে আইএএম এর সাইডবার পরিষেবা, 'এ ক্লিক করুন নীতিমালা 'বিকল্প:

উপরে পলিসি কনসোল , ক্লিক করুন 'নীতি তৈরি করুন' বোতাম:

এই নিবন্ধটি উল্লেখ করে AWS IAM নীতি সম্পর্কে আরও জানুন: 'AWS IAM নীতির উদাহরণ'

পরবর্তী হল 'অনুমতি নির্দিষ্ট করুন' অধ্যায়. অনুসন্ধান করুন এবং নির্বাচন করুন 'গোপন ব্যবস্থাপক' সেবা:

নিচে স্ক্রোল করুন 'অনুমোদিত কর্ম' ব্লক এখানে, বিভিন্ন অ্যাক্সেস লেভেল থেকে, ট্যাপ করুন ' পড়ুন 'বিকল্প। নির্বাচন করুন 'সমস্ত পঠিত ক্রিয়া' বিকল্প সমস্ত রিড সক্রিয় করুন এই নীতির জন্য পরিষেবা:

নিচে নামুন প্রতি ' সম্পদ ” বিভাগে এবং ক্লিক করুন 'এআরএন যোগ করুন' বিকল্প:

ফিরে নেভিগেট করুন AWS সিক্রেট ম্যানেজার ড্যাশবোর্ড এবং গোপনের নামে ক্লিক করুন। অনুলিপি করুন ' আরএনএ 'এর নীচের গোপনীয়তার' গোপন ARN প্রদর্শিত ইন্টারফেস থেকে লেবেল:

উপরে এখন কনসোল , কপি করা ARN পেস্ট করুন “ আরএনএ 'ক্ষেত্র:

ক্লিক করার আগে 'এআরএন যোগ করুন' বোতাম, ক্লিক করুন 'এই অ্যাকাউন্ট' একই অ্যাকাউন্টে থাকা গোপনীয়তা নিশ্চিত করতে বোতাম। সেটিংস কনফিগার করার পরে, ক্লিক করুন 'এআরএন যোগ করুন' বোতাম:

পরে কনফিগার করা সব সেটিংস নীতির, 'এ ক্লিক করুন পরবর্তী 'বোতাম:

মধ্যে নীতি বিবরণ বিভাগ , 'এ নীতির নাম প্রদান করুন পলিসি নাম 'ক্ষেত্র:

ক্লিক করুন ' নীতি তৈরি করুন 'বোতাম:

দ্য নীতি তৈরি করা হয়েছে সফলভাবে :

ধাপ 3: একটি IAM ভূমিকা তৈরি করুন

এই বিভাগে, গোপনীয়তাগুলি অ্যাক্সেস করার জন্য ল্যাম্বডা ফাংশনগুলির জন্য প্রয়োজনীয় অনুমতি ধারণ করে এমন একটি IAM ভূমিকা তৈরি করুন৷ এই উদ্দেশ্যে, 'এ ক্লিক করুন ভূমিকা ” আইএএম ভূমিকার সাইডবার থেকে বিকল্পটি এবং তারপরে ট্যাপ করুন 'ভুমিকা তৈরি করুন' ইন্টারফেস থেকে বোতাম:

ক্লিক করার পর 'ভুমিকা তৈরি করুন' বোতাম, নিম্নলিখিত ইন্টারফেস আপনার কাছে প্রদর্শিত হবে। নির্বাচন করুন 'AWS পরিষেবা' নিম্নলিখিত বিকল্পগুলি থেকে বিকল্পটি যেমন আমরা এটি সংযুক্ত করব আইএএম ভূমিকা ল্যাম্বডা ফাংশন সহ:

মধ্যে 'ব্যবহারের ক্ষেত্রে' বিভাগ, অনুসন্ধান করুন ল্যাম্বডা পরিষেবা এবং এটি নির্বাচন করুন। আঘাত ' পরবর্তী ” আরও এগিয়ে যেতে ইন্টারফেসের নীচে বোতাম:

উপরে পরবর্তী ইন্টারফেস , নামের জন্য অনুসন্ধান করুন নীতির নাম যা আমরা আগে কনফিগার করেছি। প্রদর্শিত ফলাফল থেকে, নির্বাচন করুন পলিসি নাম:

ক্লিক করুন ' পরবর্তী ' এর নীচে বোতাম আরও এগিয়ে যাওয়ার জন্য ইন্টারফেস:

প্রদান a অনন্য শনাক্তকারী আপনার জন্য আইএএম ভূমিকা নিম্নলিখিত হাইলাইট ক্ষেত্রে:

রাখা বাকি সেটিংস ডিফল্ট হিসাবে , ক্লিক করুন 'ভুমিকা তৈরি করুন' ইন্টারফেসের নীচে স্ক্রোল করে বোতাম:

ভূমিকা হয়েছে সফলভাবে তৈরি:

AWS-এ একটি IAM ভূমিকা তৈরি করা সম্পর্কে আরও জানতে এই নিবন্ধটি পড়ুন: 'কীভাবে AWS এ IAM ভূমিকা তৈরি করবেন' .

ধাপ 4: একটি Lambda ফাংশন তৈরি করুন

পরবর্তী ধাপ হল Lambda ফাংশন তৈরি করা। এই ল্যাম্বডা ফাংশনে IAM ভূমিকা থাকবে এবং নির্বাহ করা হলে গোপনীয়তার মান পাবে। ল্যাম্বডা পরিষেবা অ্যাক্সেস করতে, অনুসন্ধান করুন “ ল্যাম্বদা 'এর অনুসন্ধান বারে AWS ম্যানেজমেন্ট কনসোল . কনসোল দেখার জন্য ফলাফল থেকে পরিষেবার নামের উপর ক্লিক করুন:

Lambda পরিষেবার প্রাথমিক ইন্টারফেসে, ক্লিক করুন 'ফাংশন তৈরি করুন' বোতাম:

এটি প্রদর্শন করবে 'ফাংশন তৈরি করুন' ইন্টারফেস. নির্বাচন করুন 'শুরু থেকে লেখক' বিকল্প এবং এর জন্য নাম প্রদান করে আরও এগিয়ে যান ল্যাম্বডা ফাংশন হাইলাইট করা ক্ষেত্রে:

মধ্যে রানটাইম ক্ষেত্র , নির্বাচন করুন ' পাইথন 3.9 পরিবেশ:

নিচে রানটাইম বিভাগ , সেখানে একটি 'ডিফল্ট সম্পাদন ভূমিকা পরিবর্তন করুন' অধ্যায়. নির্বাচন করুন 'একটি বিদ্যমান ভূমিকা ব্যবহার করুন' বিকল্প এবং তারপর ভূমিকা নির্দিষ্ট করুন 'বিদ্যমান ভূমিকা' ক্ষেত্র:

একই ইন্টারফেসে, ট্যাপ করুন 'ফাংশন তৈরি করুন' ইন্টারফেসের নীচে বোতাম:

একটি Lambda ফাংশন তৈরি সম্পর্কে আরও জানতে, এই নিবন্ধটি পড়ুন: 'কিভাবে পাইহটন রানটাইম দিয়ে একটি ল্যাম্বডা ফাংশন তৈরি করবেন' .

Lambda ফাংশন তৈরি করা হয়েছে. পরবর্তী ধাপ হল Lambda ফাংশনে কোড প্রদান করা। এই কোডটি কার্যকর করা হলে, এটি এর মান প্রদর্শন করবে গোপন ব্যবস্থাপক:

আমদানি json
আমদানি boto3
আমদানি বেস64
বোটোকোর থেকে। ব্যতিক্রম আমদানি ক্লায়েন্ট ত্রুটি

def lambda_handler ( ঘটনা , প্রসঙ্গ ) :
পরিবেশ = ঘটনা [ 'env' ]
গোপন_নাম = 'shmaster19/%s/কী' % পরিবেশ
অঞ্চল_নাম = 'এপি-দক্ষিণপূর্ব-1'

সেশন = boto3. সেশন . সেশন ( )
ক্লায়েন্ট = সেশন. ক্লায়েন্ট (
কাজের নাম = 'গোপন ব্যবস্থাপক' ,
অঞ্চল_নাম = অঞ্চল_নাম
)

চেষ্টা করুন :
গোপন_মান_প্রতিক্রিয়া = ক্লায়েন্ট পেতে_গোপন_মান (
সিক্রেটআইডি = গোপন_নাম
)
ক্লায়েন্ট এরর ত্রুটি হিসাবে ছাড়া :
ছাপা ( ত্রুটি )
অন্য :
যদি 'সিক্রেটস্ট্রিং' ভিতরে গোপন_মান_প্রতিক্রিয়া :
গোপন = json. লোড ( গোপন_মান_প্রতিক্রিয়া [ 'সিক্রেটস্ট্রিং' ] )
ফিরে গোপন
অন্য :
decoded_binary_secret = বেস64। b64decode ( গোপন_মান_প্রতিক্রিয়া [ 'সিক্রেট বাইনারি' ] )
ফিরে decoded_binary_secret
  • json আমদানি করুন: JSON ক্রিয়াকলাপ সম্পাদন করতে ব্যবহৃত হয়।
  • boto3 আমদানি করুন: AWS এবং Python এর মধ্যে যোগাযোগের জন্য SDK।
  • আমদানি ভিত্তি64: Base64 হিসাবে বাইনারি ডেটাতে এনকোডিং এবং ডিকোডিং ফাংশন সম্পাদনের জন্য ব্যবহৃত হয়।
  • আমদানি ক্লায়েন্ট ত্রুটি: এটি ব্যবহারকারীদের লিখিত কোডে ব্যতিক্রমগুলি পরিচালনা করতে সক্ষম করে।
  • গোপন_নাম: এই পরিবর্তনশীল, আপনার গোপন নাম প্রদান. উল্লেখ্য যে এই গোপন আছে '%s' . এটি হল যখন একজন ব্যবহারকারীর একই বিন্যাসের একাধিক কী থাকে। উদাহরণস্বরূপ, যদি একজন ব্যবহারকারী দুটি গোপনীয়তা তৈরি করে থাকে যেমন, 'apikey/dev/key' এবং 'apikey/prod/key' . তারপরে '%s' , যদি ব্যবহারকারী প্রদান করে ' দেব ”, ল্যাম্বডা ফাংশন প্রদান করবে উন্নয়ন চাবিকাঠি (apikey/dev/key) এবং তদ্বিপরীত।
  • বোটো session.Session(): ব্যবহারকারীদের পরিষেবা ক্লায়েন্ট এবং প্রতিক্রিয়া তৈরি করতে অনুমতি দেয়।
  • অঞ্চল_নাম: যে অঞ্চলে আপনার AWS গোপন কনফিগার করা হয়েছে তার নাম দিন।
  • গোপন_মূল্য_প্রতিক্রিয়া: এই ভেরিয়েবলে, আমরা ব্যবহার করছি ' client.get_secret_value ” ফাংশন যা গোপনের মান ফেরত দেবে।
  • Decoded_binary_secert: গোপন মূল্য অর্জন করার পরে, এটি আরও ডিকোড করা হবে বেস 64 বিন্যাস .

ল্যাম্বডা ফাংশনে কোড পেস্ট করার পরে, 'এ ক্লিক করুন স্থাপন করুন পরিবর্তনগুলি সংরক্ষণ এবং প্রয়োগ করতে বোতাম:

ধাপ 5: কোড পরীক্ষা করা

ব্লগের এই বিভাগে, আমরা কোডটি কাজ করছে কিনা তা যাচাই করব। এই উদ্দেশ্যে, 'এ ক্লিক করুন পরীক্ষা ল্যাম্বডা ফাংশনে পরিবর্তনগুলি সফলভাবে স্থাপন করার পরে বোতাম:

পরবর্তী ইন্টারফেসে, প্রদান করুন পরীক্ষার জন্য নাম ঘটনা 'অনুষ্ঠানের নাম' ক্ষেত্র:

নিচে স্ক্রোল করুন ইভেন্ট JSON বিভাগ , উল্লেখ ' env ” কী, এবং JSON বিন্যাসে মান প্রদান করুন। দ্য ' মান এর কী পাস করা হবে '%s' . আমরা যে গোপনীয়তাগুলি নির্দিষ্ট করেছি তাতে রয়েছে ' দেব 'মান, ' দেব 'মান পাস করা হয় ' env ' পরিবর্তনশীল। Lambda ফাংশন গোপন শনাক্ত করবে যখন কোডটি কার্যকর করা হয় কারণ কোডে নির্দিষ্ট গোপনের শনাক্তকারী প্রদান করা হয়। বিস্তারিত উল্লেখ করার পর, 'এ ক্লিক করুন' সংরক্ষণ 'বোতাম:

ইভেন্টটি সফলভাবে তৈরি হয়ে গেলে, 'এ ক্লিক করুন পরীক্ষা 'বোতাম:

এখানে, আমরা আছে সফলভাবে প্রাপ্ত আমাদের নির্দিষ্ট গোপন মান:

যে এই গাইড থেকে সব.

উপসংহার

ল্যাম্বডা ব্যবহার করে সিক্রেট ম্যানেজারে API কীগুলি অ্যাক্সেস করতে, প্রথমে একটি API সিক্রেট, আইএএম নীতি, ভূমিকা এবং ল্যাম্বডা ফাংশন তৈরি করুন এবং ফাংশনের কোডটি কার্যকর করুন। কোডটি কার্যকর করার সময় গোপনের শনাক্তকারীকে নির্দিষ্ট করে AWS সিক্রেট ম্যানেজারের মানগুলি পেতে ল্যাম্বডা ফাংশনগুলিকে আহ্বান করা যেতে পারে। এই নিবন্ধটি AWS Lambda ব্যবহার করে AWS সিক্রেট ম্যানেজারে API কী অ্যাক্সেস করার জন্য ধাপে ধাপে নির্দেশিকা প্রদান করে।