AWS Lambda ফাংশন একটি IAM (Identity and Access Management) Role ব্যবহার করে অন্যান্য AWS সেবার সঙ্গে যোগাযোগ করতে পারে এবং প্রয়োজনীয় কার্য সম্পাদন করতে সক্ষম হয়। এই রোলটি Lambda ফাংশনের Execution Role হিসেবে পরিচিত, এবং এটি ফাংশনটির নিরাপত্তা এবং অ্যাক্সেস কনফিগার করে।
Lambda ফাংশন সঠিকভাবে কাজ করার জন্য AWS সেবা (যেমন S3, DynamoDB, SNS) অ্যাক্সেস করার অনুমতি প্রদান করতে এই IAM Role তৈরি এবং কনফিগার করতে হয়।
Lambda Execution Role কনফিগার করার প্রক্রিয়া
- AWS Management Console এ লগইন করুন
- প্রথমে AWS Management Console এ লগইন করুন।
- IAM সেবা নির্বাচন করুন
- লগইন করার পর, সার্চ বারে IAM লিখে IAM সেবা নির্বাচন করুন।
- Role তৈরি করুন
- IAM ড্যাশবোর্ডে Roles এ যান এবং তারপর Create role বাটনে ক্লিক করুন।
- Role type নির্বাচন করুন
- Select trusted entity পর্বে, AWS service নির্বাচন করুন এবং এর মধ্যে Lambda সিলেক্ট করুন।
Permission policies নির্বাচন করুন
- এখানে আপনি যে পরিষেবাগুলির জন্য Lambda ফাংশনকে অনুমতি দিতে চান, তাদের জন্য পলিসি নির্বাচন করতে হবে। কিছু সাধারণ পলিসি হতে পারে:
- AWSLambdaBasicExecutionRole: Lambda ফাংশনকে CloudWatch Logs এ লগ লেখার অনুমতি দেয়।
- AmazonS3ReadOnlyAccess: Lambda ফাংশনকে S3 বকেট থেকে ফাইল পড়ার অনুমতি দেয়।
- AmazonDynamoDBFullAccess: Lambda ফাংশনকে DynamoDB টেবিলের সম্পূর্ণ অ্যাক্সেস দেয়।
আপনার প্রয়োজন অনুসারে এক বা একাধিক পলিসি নির্বাচন করুন এবং Next: Tags বাটনে ক্লিক করুন।
- এখানে আপনি যে পরিষেবাগুলির জন্য Lambda ফাংশনকে অনুমতি দিতে চান, তাদের জন্য পলিসি নির্বাচন করতে হবে। কিছু সাধারণ পলিসি হতে পারে:
- Role নাম দিন
- Role name ফিল্ডে একটি নাম দিন, যেমন
MyLambdaExecutionRole। - তারপর Create role বাটনে ক্লিক করুন।
- Role name ফিল্ডে একটি নাম দিন, যেমন
Lambda ফাংশনে Execution Role অ্যাসাইন করা
Lambda ফাংশন তৈরি বা সম্পাদনা করার পর, আপনি যে Execution Role তৈরি করেছেন, সেটি Lambda ফাংশনের জন্য অ্যাসাইন করতে হবে।
- Lambda Console এ যান
- AWS Management Console এ ফিরে যান এবং Lambda সেবা নির্বাচন করুন।
- Lambda Function নির্বাচন করুন
- আপনার তৈরি করা Lambda ফাংশন নির্বাচন করুন।
- Configuration ট্যাব নির্বাচন করুন
- Lambda ফাংশনের ড্যাশবোর্ড থেকে Configuration ট্যাব নির্বাচন করুন।
- Permissions সেকশনে Execution Role কনফিগার করুন
- Permissions সেকশনে গিয়ে, আপনি দেখতে পাবেন Execution role এর অধীনে একটি IAM রোল রয়েছে।
- যদি আপনি নতুন রোল অ্যাসাইন করতে চান, Edit বাটনে ক্লিক করুন এবং আপনার তৈরি করা Execution role নির্বাচন করুন অথবা নতুন রোল তৈরি করুন।
- Save Changes
- সবকিছু সঠিকভাবে কনফিগার করার পর Save বাটনে ক্লিক করুন।
Lambda Execution Role এর পলিসি
Lambda Execution Role এর জন্য কিছু সাধারণ পলিসি যে কাজগুলো করতে সাহায্য করে তা হলো:
AWSLambdaBasicExecutionRole:
- এটি Lambda ফাংশনকে CloudWatch Logs এ লগ রাইট করার অনুমতি দেয়। সাধারণত Lambda ফাংশনগুলোর জন্য এটি একটি মৌলিক এবং অপরিহার্য পলিসি।
উদাহরণ:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "logs:*", "Resource": "arn:aws:logs:REGION:ACCOUNT_ID:log-group:/aws/lambda/*" } ] }AmazonS3FullAccess:
- যদি আপনার Lambda ফাংশনকে S3 বকেটের সম্পূর্ণ অ্যাক্সেস (পড়া, লেখা, মুছে ফেলা ইত্যাদি) দিতে চান, তবে এই পলিসি ব্যবহার করতে পারেন।
উদাহরণ:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": "arn:aws:s3:::bucket-name/*" } ] }AmazonDynamoDBFullAccess:
- DynamoDB টেবিলের সাথে কাজ করার জন্য এই পলিসি প্রয়োজন। এর মাধ্যমে Lambda ফাংশনটি DynamoDB এ ডেটা পড়তে বা লিখতে পারবে।
উদাহরণ:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dynamodb:*", "Resource": "arn:aws:dynamodb:REGION:ACCOUNT_ID:table/TABLE_NAME" } ] }
IAM Role এর সুরক্ষা
IAM Role তৈরি করার সময় কিছু গুরুত্বপূর্ণ নিরাপত্তা বিষয় লক্ষ্য রাখা উচিত:
- ন্যূনতম অনুমতি (Least Privilege): Lambda ফাংশনের জন্য যে সব সেবার প্রয়োজন, সেই সেবার জন্যই শুধু অনুমতি দিন। অপ্রয়োজনীয় সেবার অ্যাক্সেস প্রদান করবেন না।
- Role এবং Policies পর্যালোচনা করা: সময় সময়ে IAM রোল এবং পলিসি পর্যালোচনা করুন, এবং দেখুন ফাংশনের প্রয়োজন অনুযায়ী কোনো অতিরিক্ত অ্যাক্সেস অনুমতি দেওয়া হয়েছে কিনা।
- AWS CloudTrail ব্যবহার করা: সুরক্ষিতভাবে লগ রাখা এবং IAM Role এর কার্যক্রম ট্র্যাক করা অত্যন্ত গুরুত্বপূর্ণ। CloudTrail এর মাধ্যমে আপনি যে কোনো API কলের লগ রাখতে পারেন।
সারাংশ
AWS Lambda ফাংশনকে কার্যকর করতে Lambda Execution Role অত্যন্ত গুরুত্বপূর্ণ, যা AWS সেবাগুলোর সাথে যোগাযোগ করার জন্য প্রয়োজনীয় অনুমতি প্রদান করে। IAM Role তৈরি এবং সেটআপ করার মাধ্যমে আপনি Lambda ফাংশনের নিরাপত্তা ও অ্যাক্সেস কনফিগার করতে পারেন, যাতে ফাংশনটি সঠিকভাবে এবং সুরক্ষিতভাবে কাজ করে।
Read more