ক্রস-অ্যাকাউন্ট এক্সেস AWS-এ একটি ব্যবস্থাপনা কৌশল, যার মাধ্যমে এক অ্যাকাউন্টের ব্যবহারকারীরা অন্য অ্যাকাউন্টের রিসোর্সে অ্যাক্সেস করতে পারে। এটি বিশেষত তখন ব্যবহৃত হয় যখন একাধিক অ্যাকাউন্টের মধ্যে সুরক্ষিতভাবে তথ্য বা রিসোর্স শেয়ার করতে হয়, যেমন ডেভেলপমেন্ট, প্রোডাকশন এবং টেস্টিং অ্যাকাউন্টগুলোর মধ্যে। ক্রস-অ্যাকাউন্ট এক্সেসের মাধ্যমে সংস্থা বা দলগুলোর মধ্যে সীমিত অথচ নিরাপদ সহযোগিতা সম্ভব হয়।
ক্রস-অ্যাকাউন্ট এক্সেস কনফিগার করতে AWS-এর IAM রোল এবং Trust Relationship ব্যবহার করা হয়। একটি অ্যাকাউন্টের IAM রোল অন্য অ্যাকাউন্টের মধ্যে ব্যবহারকারী বা পরিষেবার অ্যাক্সেস দেওয়া নিশ্চিত করে। নিচে এর সাধারণ কনফিগারেশন প্রক্রিয়া দেয়া হলো:
প্রথমে, অ্যাকাউন্ট A (যেখান থেকে এক্সেস দেওয়া হবে) IAM রোল তৈরি করতে হবে। এই রোলটি অন্য অ্যাকাউন্ট B (যেখানে অ্যাক্সেস প্রয়োজন) ব্যবহার করবে।
উদাহরণ Trust Policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012:root"
},
"Action": "sts:AssumeRole"
}
]
}
এখানে, 123456789012
হলো অ্যাকাউন্ট B এর অ্যাকাউন্ট আইডি, যা অ্যাকাউন্ট A থেকে রোলটি ব্যবহার করার অনুমতি পাবে।
রোলটি তৈরি হওয়ার পর, এর সাথে কিছু পলিসি অ্যাটাচ করতে হয়, যা নির্দিষ্ট অ্যাক্সেস প্রদান করবে। উদাহরণস্বরূপ, অ্যাকাউন্ট B থেকে S3 বকেট অ্যাক্সেস করতে হলে, এই পলিসি অ্যাটাচ করতে হবে:
S3 অ্যাক্সেস পলিসি উদাহরণ
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "arn:aws:s3:::example-bucket/*"
}
]
}
এই পলিসিটি অ্যাকাউন্ট B-কে S3 বকেটের সম্পূর্ণ অ্যাক্সেস দেয়।
অ্যাকাউন্ট B-এ যেই ব্যবহারকারী বা পরিষেবা অ্যাক্সেস নিতে চায়, তারা sts:assumeRole
অ্যাকশন ব্যবহার করবে। AWS CLI বা SDK ব্যবহার করে এই রোলটি অ্যাসিউম (Assume) করা হয়।
AWS CLI ব্যবহার করে রোল অ্যাসিউম করার উদাহরণ:
aws sts assume-role --role-arn arn:aws:iam::987654321098:role/MyCrossAccountRole --role-session-name SessionName
এখানে:
arn:aws:iam::987654321098:role/MyCrossAccountRole
হলো অ্যাকাউন্ট A-এর রোলের ARN (Amazon Resource Name)।SessionName
হলো একটি সেশনের নাম, যা রোল অ্যাসিউম করার সময় দেওয়া হয়।ক্রস-অ্যাকাউন্ট এক্সেস কনফিগারেশনের পর, এটি সঠিকভাবে কাজ করছে কিনা তা পরীক্ষা করা প্রয়োজন। পরীক্ষা করতে ব্যবহারকারী AWS CLI বা SDK দিয়ে অ্যাক্সেস প্রাপ্ত রিসোর্সে অ্যাক্সেস চেক করতে পারে। উদাহরণস্বরূপ, S3 বকেটের ডেটা রিট্রাইভ করা:
aws s3 ls s3://example-bucket --profile cross-account-user
এখানে cross-account-user
হলো সেই ব্যবহারকারীর প্রোফাইল যেটি অ্যাকাউন্ট B-তে রোল অ্যাসিউম করে অ্যাক্সেস নিচ্ছে।
AWS-এ ক্রস-অ্যাকাউন্ট এক্সেস ব্যবহারের মাধ্যমে একাধিক অ্যাকাউন্টের মধ্যে নিরাপদ এবং নিয়ন্ত্রিত তথ্য শেয়ারিং সম্ভব হয়। এটি প্রতিষ্ঠানের বিভিন্ন টিম বা সিস্টেমের মধ্যে সুরক্ষিত রিসোর্স শেয়ারিং এবং ব্যবস্থাপনা নিশ্চিত করে। IAM রোল, Trust Relationship এবং পলিসি ব্যবহার করে অ্যাক্সেস কনফিগারেশন করা সহজ এবং নিরাপদ।
Read more