AWS IAM ব্যবহার করে Lambda এর নিরাপত্তা

Lambda Security এবং Authentication - এডাব্লিউএস ল্যাম্বডা (AWS Lambda) - Web Development

252

AWS IAM (Identity and Access Management) একটি গুরুত্বপূর্ণ সেবা যা AWS রিসোর্সের নিরাপত্তা এবং অ্যাক্সেস কন্ট্রোল পরিচালনা করে। AWS Lambda ফাংশন ব্যবহার করার সময়, Lambda ফাংশনের সঠিক নিরাপত্তা এবং প্রযোজ্য অনুমতিগুলির জন্য IAM রোল এবং পলিসি ব্যবহার করা হয়। Axure RP একটি প্রোটোটাইপিং টুল হলেও, AWS Lambda এর নিরাপত্তা ব্যবস্থাপনাকে বোঝানোর জন্য আপনাকে IAM এর ভূমিকা এবং Lambda ফাংশনটির নিরাপত্তা কিভাবে কনফিগার করতে হবে, তা জানানো হবে।


AWS IAM এবং Lambda এর নিরাপত্তা

AWS IAM ব্যবহার করে আপনি Lambda ফাংশনের নিরাপত্তা কনফিগার করতে পারেন যাতে শুধুমাত্র অনুমোদিত ব্যবহারকারী বা সিস্টেম Lambda ফাংশনটি এক্সিকিউট করতে পারে। এতে আপনি IAM রোল, পলিসি এবং পারমিশন কনফিগার করতে পারবেন যা Lambda ফাংশনকে নির্দিষ্ট সেবা বা রিসোর্সে অ্যাক্সেস প্রদান বা সীমাবদ্ধ করবে।

১. IAM রোল তৈরি করা

AWS Lambda ফাংশনকে চালানোর জন্য একটি IAM রোল তৈরি করা হয়। এই রোলটি Lambda ফাংশনের জন্য নির্দিষ্ট অ্যাক্সেস অনুমতি দেয়। একটি Lambda ফাংশনের রোল সাধারণত দুটি অংশে বিভক্ত:

  1. Lambda ফাংশনের এক্সিকিউশন রোল: এই রোল Lambda ফাংশনকে অন্যান্য AWS সেবার সাথে যোগাযোগ করার অনুমতি দেয়, যেমন DynamoDB, S3, SNS ইত্যাদি।
  2. IAM পলিসি: এই পলিসিগুলি রোলের মাধ্যমে Lambda ফাংশনের ওপর নির্দিষ্ট অনুমতি প্রয়োগ করে।

উদাহরণ: Lambda ফাংশনের জন্য IAM রোল কনফিগার করা

  1. IAM রোল তৈরি:
    • AWS Management Console এ লগ ইন করুন।
    • IAM সেবা নির্বাচন করুন।
    • Roles নির্বাচন করুন এবং Create role ক্লিক করুন।
    • রোল টাইপ হিসেবে AWS service নির্বাচন করুন এবং তারপর Lambda নির্বাচন করুন।
    • এই রোলটি AWS Lambda ফাংশন দ্বারা ব্যবহৃত হবে।
    • রোলের জন্য প্রযোজ্য পলিসি অ্যাসাইন করুন, যেমন AmazonS3ReadOnlyAccess, DynamoDBFullAccess, বা অন্যান্য প্রয়োজনীয় পলিসি।
    • রোলটি তৈরি করুন এবং নাম দিন।
  2. Lambda ফাংশনের সাথে IAM রোল অ্যাসাইন করা:
    • Lambda ফাংশন তৈরি করার সময় বা পরবর্তী সময়ে, Execution role এর জন্য আপনি এই IAM রোলটি অ্যাসাইন করতে পারেন।

২. IAM পলিসি ব্যবহার করে Lambda ফাংশনের নিরাপত্তা কনফিগার করা

Lambda ফাংশনের জন্য নির্দিষ্ট IAM পলিসি তৈরি করে আপনি একাধিক সেবা এবং রিসোর্সের উপর নিয়ন্ত্রণ রাখতে পারেন। পলিসি আপনাকে নির্দিষ্ট পারমিশন দিতে এবং সেই অনুযায়ী অ্যাক্সেস কন্ট্রোল করতে সাহায্য করে।

উদাহরণ: Lambda ফাংশনের জন্য IAM পলিসি তৈরি

ধরা যাক, আপনার Lambda ফাংশনটি শুধুমাত্র S3 বালতিতে ডেটা পড়তে পারবে এবং DynamoDB টেবিল থেকে ডেটা পড়তে পারবে, কিন্তু লিখতে পারবে না।

  1. IAM পলিসি তৈরি করা:

    • IAM Console এ গিয়ে Policies নির্বাচন করুন এবং Create Policy ক্লিক করুন।
    • JSON ট্যাব সিলেক্ট করুন এবং নিচের মত একটি পলিসি JSON প্রদান করুন:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "s3:GetObject"
          ],
          "Resource": "arn:aws:s3:::your-bucket-name/*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "dynamodb:Scan",
            "dynamodb:Query"
          ],
          "Resource": "arn:aws:dynamodb:region:account-id:table/your-table-name"
        }
      ]
    }
    

    এই পলিসি দিয়ে Lambda ফাংশনটি S3 বালতিতে থেকে শুধুমাত্র GetObject অ্যাক্সেস পাবে এবং DynamoDB টেবিল থেকে ScanQuery করতে পারবে।

  2. পলিসি অ্যাটাচ করা:
    • আপনার তৈরি করা পলিসি IAM রোলের সাথে অ্যাটাচ করুন যা Lambda ফাংশনের এক্সিকিউশন রোল হিসেবে ব্যবহার হবে।

৩. Lambda ফাংশন নিরাপত্তার জন্য অন্যান্য IAM কনফিগারেশন

AWS IAM এর মাধ্যমে Lambda ফাংশনের নিরাপত্তা কনফিগার করার জন্য আরও কিছু সাধারণ নিরাপত্তা নির্দেশনা অনুসরণ করা যেতে পারে:

  1. অ্যাক্সেস কন্ট্রোল:
    • Lambda ফাংশনের অ্যাক্সেস কন্ট্রোল করতে IAM পলিসি ব্যবহার করুন। একমাত্র অনুমোদিত ব্যবহারকারী বা সার্ভিসই Lambda ফাংশনটি ট্রিগার করতে পারবে।
  2. রোল কমপ্লেক্সিটি সীমিত করুন:
    • Lambda ফাংশনের জন্য শুধু সেই সেবাগুলির অ্যাক্সেস দিন যেগুলি প্রয়োজন। অতিরিক্ত অ্যাক্সেস প্রয়োগ করার মাধ্যমে নিরাপত্তার ঝুঁকি বাড়ানো যেতে পারে।
  3. VPC ফাংশন কনফিগারেশন:
    • Lambda ফাংশনটি যদি একটি VPC (Virtual Private Cloud) এর মধ্যে থাকে, তবে আপনি বিশেষ নিরাপত্তা কনফিগারেশন সেট করতে পারেন, যেমন VPC সাবনেট এবং সিকিউরিটি গ্রুপ ব্যবহারের মাধ্যমে Lambda ফাংশনের এক্সিকিউশন ইন্সট্যান্সকে সীমাবদ্ধ করা।

৪. Axure RP তে Lambda ফাংশনের নিরাপত্তা দেখানো

Axure RP একটি প্রোটোটাইপিং টুল যা AWS Lambda এবং IAM নিরাপত্তার সাথে সরাসরি ইন্টিগ্রেট হতে পারে না। তবে, আপনি API Request এর মাধ্যমে Lambda Function ট্রিগার করতে পারেন এবং সেই সাথে নিরাপত্তার দিক থেকে নির্দিষ্ট পলিসি বা রোলের বিষয়ে ব্যবহারকারীকে তথ্য প্রদান করতে পারেন।

উদাহরণ: Axure RP তে API Request মাধ্যমে নিরাপত্তা কনফিগার করা

  1. API Gateway তৈরি করা: AWS API Gateway ব্যবহার করে Lambda ফাংশনটিকে HTTP API হিসেবে এক্সপোজ করুন এবং সেই API তে IAM রোল এবং পলিসি প্রয়োগ করে শুধুমাত্র অনুমোদিত ব্যবহারকারীদের অ্যাক্সেস দিন।
  2. Axure RP Web Request: Axure RP তে Web Request অ্যাকশন ব্যবহার করে সেই API Gateway এর মাধ্যমে Lambda ফাংশনটিকে ট্রিগার করুন। আপনি API Gateway এর অনুমতি (authorization) কনফিগারেশন অনুসারে শুধুমাত্র নির্দিষ্ট অনুমোদিত ব্যবহারকারীকে API কল করতে অনুমতি দিতে পারেন।

    উদাহরণ:

    OnClick: 
    Web Request "POST" to "https://your-api-id.execute-api.amazonaws.com/trigger" 
    with Authorization Header: { "Authorization": "Bearer YOUR_AUTH_TOKEN" }
    

    এখানে, আপনি Authorization Header ব্যবহার করে নিরাপত্তা নিশ্চিত করতে পারেন এবং Lambda ফাংশনের সঠিক এক্সিকিউশন রোল ও পলিসি নিশ্চিত করতে পারেন।


সারাংশ

AWS IAM (Identity and Access Management) ব্যবহার করে Lambda ফাংশনের নিরাপত্তা কনফিগার করা গুরুত্বপূর্ণ, যাতে শুধুমাত্র অনুমোদিত ব্যবহারকারীরা Lambda ফাংশন এক্সিকিউট করতে পারে। Lambda ফাংশনের জন্য একটি IAM রোল এবং পলিসি তৈরি করে আপনি Lambda ফাংশনের অ্যাক্সেস সীমাবদ্ধ করতে পারেন। Axure RP প্রোটোটাইপে AWS Lambda ফাংশন ট্রিগার করার সময়, API Gateway এর মাধ্যমে নিরাপত্তা নিশ্চিত করতে পারেন এবং ব্যবহৃত IAM রোল এবং পলিসির অনুযায়ী অ্যাক্সেস নিয়ন্ত্রণ করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...