حصہ 3 کے 3
2011 میں، ایمیزون CloudFront کے لئے AWS شناخت اور رسائی مینجمنٹ (IAM) کی حمایت کی دستیابی کا اعلان کرتا تھا. آئی ایم اے کو 2010 میں شروع کیا گیا اور اس میں S3 کی حمایت شامل تھی. AWS شناخت اور رسائی مینجمنٹ (IAM) آپ کو ایک AWS اکاؤنٹ کے اندر ایک سے زیادہ صارفین کے پاس بناتا ہے. اگر آپ نے ایمیزون ویب سروسز (AWS) کا استعمال کیا ہے تو، آپ کو معلوم ہے کہ آپ کے صارف کا نام اور پاس ورڈ یا رسائی کی چابیاں دینے میں شامل ہونے والے AWS میں مواد کو منظم کرنے کا واحد طریقہ.
یہ ہم میں سے زیادہ تر ایک حقیقی سیکورٹی کا خدشہ ہے. IAM پاس ورڈ اور رسائی کی چابیاں کا اشتراک کرنے کی ضرورت کو ختم کرتا ہے.
مسلسل ہمارے اہم AWS پاسورڈ کو تبدیل یا نئی چابیاں تخلیق صرف ایک گندا حل ہے جب عملے کے رکن ہماری ٹیم کو چھوڑ دیں گے. AWS شناخت اور رسائی مینجمنٹ (IAM) انفرادی چابیاں کے ساتھ انفرادی صارف اکاؤنٹس کی اجازت دیتا ہے ایک اچھا آغاز تھا. تاہم، ہم ایک S3 / CloudFront صارف ہیں لہذا ہم IAM میں شامل ہونے کیلئے CloudFront کیلئے دیکھ رہے ہیں جو آخر میں ہوا.
میں نے اس سروس پر دستاویزات کو تھوڑا سا بکھرے ہوئے پایا. چند تیسری پارٹی کی مصنوعات ہیں جو شناخت اور رسائی مینجمنٹ (IAM) کے لئے ایک وسیع پیمانے پر حمایت پیش کرتے ہیں. لیکن ڈویلپرز عام طور پر خطرناک ہیں لہذا میں نے اپنے ایمیزون ایس 3 سروس کے ساتھ IAM کے انتظام کے لئے مفت حل کی کوشش کی ہے.
یہ مضمون IAM کی حمایت کرتا ہے اور S3 تک رسائی کے ساتھ ایک گروہ / صارف قائم کرنے والے کمانڈ لائن انٹرفیس قائم کرنے کے عمل کے ذریعے چلتا ہے. شناخت اور رسائی مینجمنٹ (IAM) کو ترتیب دینے سے پہلے آپ کو ایمیزون AWS S3 اکاؤنٹ سیٹ اپ کی ضرورت ہے.
میرے مضمون، ایمیزون سادہ سٹوریج سروس (S3) کا استعمال کرتے ہوئے، آپ AWS S3 اکاؤنٹ کی ترتیب کے عمل سے چلیں گے.
IAM میں صارف کو ترتیب دینے اور لاگو کرنے میں ملوث اقدامات یہاں ہیں. یہ ونڈوز کے لئے لکھا گیا ہے لیکن آپ لینکس، یونیسیس اور / یا میک OSX میں استعمال کیلئے ٹیوک کر سکتے ہیں.
- کمان لائن انٹرفیس (CLI) کو انسٹال اور ترتیب دیں
- ایک گروپ بنائیں
- گروپ تک رسائی S3 بالٹی اور CloudFront میں دے دو
- صارف بنائیں اور گروپ میں شامل کریں
- لاگ ان پروفائل بنائیں اور چابیاں تخلیق کریں
- ٹیسٹ تک رسائی
کمان لائن انٹرفیس (CLI) کو انسٹال اور ترتیب دیں
آئی ایم ایم کمانڈ لائن ٹول کٹ ایمیزون کے AWS ڈیولپرز ٹولز میں جاوا پروگرام دستیاب ہے. یہ آلہ آپ کو شیل افادیت سے متعلق IAM API حکم دیتا ہے (ونڈوز کے لئے DOS) کی اجازت دیتا ہے.
- آپ جاوا 1.6 یا اس سے زیادہ چلنے کی ضرورت ہے. آپ Java.com سے تازہ ترین ورژن ڈاؤن لوڈ کرسکتے ہیں. اپنے ونڈوز کے نظام پر کونسا ورژن نصب کیا جارہا ہے، کمان پرومو کھولیں اور جیو بہاؤ میں ٹائپ کریں. یہ فرض کرتا ہے کہ java.exe آپ کے پیڈ میں ہے.
- IAM CLI ٹول کٹ کو ڈاؤن لوڈ کریں اور اپنے مقامی ڈرائیو پر کسی بھی جگہ پر انفرادی طور پر ضائع کریں.
- CLI ٹول کٹ کی جڑ میں 2 فائلیں ہیں جو آپ کو اپ ڈیٹ کرنے کی ضرورت ہے.
- aws-credential.template: یہ فائل آپ کے AWS اسناد کی حامل ہے. اپنے AWSAccessKeyId اور آپ کے AWSSecretKey شامل کریں، فائل کو محفوظ اور بند کریں.
- کلائنٹ-config.template : آپ پراکسی سرور کی ضرورت ہوتی ہے تو آپ کو یہ فائل اپ ڈیٹ کرنے کی ضرورت ہے. # علامات کو ہٹا دیں اور کلائنٹ پرواکس ہاسٹ، کلائنٹ پرواکسپورت، کلائنٹ پرواکس یوزیمیم اور کلائنٹ پرواکسیپ ورڈ کو اپ ڈیٹ کریں. فائل کو محفوظ کریں اور بند کریں.
- اگلے مرحلے میں ماحولیاتی متغیرات شامل ہیں. کنٹرول پینل پر جائیں | سسٹم کی خصوصیات | اعلی درجے کی نظام کی ترتیبات | ماحولیاتی تغیرات. مندرجہ ذیل متغیرات شامل کریں:
- AWS_IAM_HOME : اس متغیر ڈائرکٹری کو مقرر کریں جہاں آپ CLI ٹول کٹ کو چھوڑ نہیں لیتے ہیں. اگر آپ ونڈوز چل رہے ہیں اور اپنے سی ڈرائیو کی جڑ میں انزال کیے گئے ہیں تو متغیر سی: \ IAMCli-1.2.0 ہو گی.
- JAVA_HOME : اس متغیر کو ڈائرکٹری میں مقرر کریں جہاں جاوا انسٹال ہے. یہ java.exe فائل کا مقام ہوگا. ایک عام ونڈوز 7 جاوا تنصیب میں، یہ کچھ C: \ پروگرام فائلوں (x86) \ جاوا \ jre6 کی طرح ہو گا.
- AWS_CREDENTIAL_FILE : اس متغیر کو راستے اور فائل کا نام جسے آپ کو اپ ڈیٹ کیا گیا ہے. اگر آپ ونڈوز چل رہے ہیں اور اپنے سی ڈرائیو کی جڑ میں انزال کیے جاتے ہیں تو متغیر سی: \ IAMCli-1.2.0 \ aws-credential.template ہو گی.
- CLIENT_CONFIG_FILE : اگر آپ پراکسی سرور کی ضرورت ہوتی ہے تو آپ کو صرف اس ماحول متغیر میں شامل کرنے کی ضرورت ہے. اگر آپ ونڈوز چل رہے ہیں اور اپنے سی ڈرائیو کی جڑ میں انزال کیے جاتے ہیں تو متغیر سی: \ IAMCli-1.2.0 \ client-config.template ہوگی. اس متغیر میں شامل نہ کریں جب تک آپ کو اس کی ضرورت نہیں ہے.
- کمانڈ پرپیٹ پر جانے اور آئی ایم صارفلیببپاٹ میں داخل ہونے سے تنصیب کی جانچ پڑتال کریں. جب تک آپ کو کوئی غلطی نہیں ملتی، آپ کو جانے کے لئے اچھا ہونا چاہئے.
IAM حکموں کے تمام کمان پرپٹ سے چل سکتے ہیں. تمام احکامات "آئی ایم-" کے ساتھ شروع ہوتی ہیں.
ایک گروپ بنائیں
ہر AWS اکاؤنٹ کے لئے زیادہ سے زیادہ 100 گروپ بن سکتے ہیں. جب آپ صارف کی سطح پر IAM میں اجازت مقرر کرسکتے ہیں تو، گروپ کا استعمال کرتے ہوئے سب سے بہترین عمل ہوگا. یہاں IAM میں ایک گروپ بنانے کے لئے عمل ہے.
- ایک گروہ بنانے کے لئے نحوام ہے. گروپ گروپ - جی GROUPNAME [پی پی]] [-v] جہاں the -p and -v اختیارات ہیں. کمانڈ لائن انٹرفیس پر مکمل دستاویزات AWS دستاویزات پر دستیاب ہے.
- اگر آپ کو "awesomeusers" نامی ایک گروپ بنانا چاہتے ہیں تو، آپ کمانڈر پر آئی ایم گروپcreate -g awesomeusers درج کریں گے.
- آپ چیک کر سکتے ہیں کہ گروپ کمان پر فوری طور پر آئی ایم گرلوپلسٹ بائپاتھ میں داخل ہونے کے ذریعہ صحیح طریقے سے تشکیل دیا گیا تھا. اگر آپ نے صرف اس گروپ کی تخلیق کی ہے تو، پیداوار "آر این: ایز: آئی ایم :: 123456789012: گروپ / خوفناک" جیسے کچھ ہوگا، جہاں نمبر آپ کے AWS اکاؤنٹ نمبر ہے.
گروپ تک رسائی S3 بالٹی اور CloudFront میں دے دو
پالیسیوں کا کنٹرول آپ کے گروپ S3 یا CloudFront میں کرنے کے قابل ہے. ڈیفالٹ کی طرف سے، آپ کے گروپ میں AWS میں کسی بھی چیز تک رسائی نہیں ہوگی. میں نے دستاویزات پر دستاویزات کو ٹھیک کرنے کے لئے پایا لیکن ایک مٹھی بھر پالیسیوں میں، میں نے کچھ کام کرنے اور غلطی کی تھی جسے میں کام کرنا چاہتے تھے کام کرنے کے لئے غلطی کی.
پالیسیوں کو بنانے کے لئے آپ کے پاس ایک سے زیادہ اختیارات ہیں.
ایک آپشن آپ ان کو براہ راست کمانڈ پرپیٹ میں داخل کر سکتے ہیں. چونکہ آپ کسی پالیسی کو تشکیل دے سکتے ہیں اور اس کی تکمیل کر سکتے ہیں، کیونکہ میرے لئے یہ پالیسی آسان ٹیکسٹ فائل میں شامل تھی اور پھر متن فائل میں پیرامیٹر کے طور پر کمانڈ iam-groupuploadpolicy کے ساتھ اپ لوڈ کرنا تھا. یہاں ایک متن فائل کا استعمال کرتے ہوئے عمل اور IAM پر اپ لوڈ کرنا ہے.
- نوٹ پیڈ کی طرح کچھ استعمال کریں اور مندرجہ ذیل متن درج کریں اور فائل کو بچائیں:
{
"بیان": [{
"اثر": "اجازت"
"ایکشن": "s3: *"،
"وسائل": [
"آر این: aws: s3 ::: بیککنیٹر"،
"آرن: ایس ایس: s3 ::: بیککیٹیٹر / *"]
}،
{
"اثر": "اجازت"
"ایکشن": "s3: ListAllMyBuckets"،
"وسائل": "arn: aws: s3 ::: *"
}،
{
"اثر": "اجازت"
"ایکشن": ["بادل فرنٹ: *"]،
"وسائل": "*"
}
]
} - اس پالیسی کے 3 حصے ہیں. اثر کو استعمال کرنے یا کسی قسم کی رسائی کو مسترد کرنے کے لئے استعمال کیا جاتا ہے. ایکشن ایسی چیز ہے جو گروپ کر سکتے ہیں. انفرادی بالٹی تک رسائی دینے کے لئے وسائل استعمال کیے جائیں گے.
- آپ انفرادی طور پر اعمال کو محدود کرسکتے ہیں. اس مثال میں، "ایکشن": ["s3: GetObject"، "s3: ListBucket"، "S3: GetObjectVersion"]، گروپ بالٹی کے مواد اور ڈاؤن لوڈ، اتارنا اشیاء کو فہرست کرنے کے قابل ہو جائے گا.
- بالٹی "BUCKETNAME" بالٹی کے لئے سب سے پہلے سیکشن "کی اجازت دیتا ہے" گروپ کے تمام S3 کام انجام دینے کے لئے.
- دوسرے سیکشن "کی اجازت دیتا ہے" گروپ کو S3 میں تمام بیکٹوں کی فہرست میں شامل کریں. آپ کو اس کی ضرورت ہے تو آپ اصل میں بالٹ کی فہرست دیکھ سکتے ہیں اگر آپ AWS کنسول کی طرح کچھ استعمال کرتے ہیں.
- تیسری سیکشن گروپ گروپ کو CloudFront تک مکمل رسائی دیتا ہے.
IAM پالیسیوں پر آنے والے بہت سے اختیارات ہیں. ایمیزون پالیسی جنریٹر نامی ایمیزون دستیاب ایمیزون ہے. یہ آلہ ایک GUI فراہم کرتا ہے جہاں آپ اپنی پالیسیوں کو تشکیل دے سکتے ہیں اور آپ کو پالیسی کو نافذ کرنے کی ضرورت اصل کوڈ پیدا کرسکتی ہے. آپ AWS شناخت اور رسائی مینجمنٹ آن لائن دستاویزات کا استعمال کرکے رسائی پالیسی زبان سیکشن بھی چیک کر سکتے ہیں.
صارف بنائیں اور گروپ میں شامل کریں
ایک نیا صارف بنانے اور ان تک رسائی فراہم کرنے کے لئے ایک گروپ کو شامل کرنے کا عمل کئی قدموں میں شامل ہے.
- صارف تخلیق کرنے کے لئے نحوق آم - کارکن - اے USERNAME [پی پی پی] [-گ گروہوں ...] [-k] [-v] جہاں the -p، -g، -k and -v اختیارات ہیں. کمانڈ لائن انٹرفیس پر مکمل دستاویزات AWS دستاویزات پر دستیاب ہے.
- اگر آپ صارف "بوب" بنانا چاہتے ہیں تو، آپ کمانڈ پر فوری طور پر iM-usercreate -U bob-gobesomeusers درج کریں گے.
- آپ چیک کر سکتے ہیں کہ صارف کمانڈ پر فوری طور پر آئی ایم grouplistusers میں داخل ہونے کے ذریعہ درست طریقے سے پیدا کیا گیا تھا. اگر آپ نے صرف اس صارف کو تخلیق کیا تھا تو، آؤٹ پٹ جیسے "آر این: ایس ایس: ایم ایم :: 123456789012: صارف / باب" ہوگا، جہاں نمبر آپ کا AWS اکاؤنٹ نمبر ہے.
لاگ ان پروفائل بنائیں اور چابیاں تخلیق کریں
اس موقع پر، آپ نے ایک صارف بنایا ہے لیکن آپ کو اصل میں S3 سے اشیاء کو شامل کرنے اور ہٹانا کرنے کا راستہ فراہم کرنے کی ضرورت ہے.
IAM کا استعمال کرکے اپنے صارفین کو S3 تک رسائی فراہم کرنے کے لئے 2 اختیارات موجود ہیں. آپ لاگ ان پروفائل بنا سکتے ہیں اور اپنے صارفین کو ایک پاسورڈ فراہم کرتے ہیں. وہ ایمیزون AWS کنسول میں لاگ ان کرنے کے لئے اپنے اسناد کا استعمال کرسکتے ہیں. دوسرا اختیار یہ ہے کہ آپ کے صارفین کو رسائی کی کلیدی اور ایک خفیہ کلید دی جائے. وہ یہ چابیاں S3 فاکس، بادل بیری S3 ایکسپلورر یا S3 براؤزر کی طرح 3rd پارٹی کے اوزار میں استعمال کر سکتے ہیں.
لاگ ان پروفائل بنائیں
اپنے S3 صارفین کے لئے لاگ ان پروفائل بنانا انہیں ایک صارف کا نام اور پاس ورڈ فراہم کرتا ہے جو وہ ایمیزون AWS کنسول میں لاگ ان کرنے کے لئے استعمال کرسکتے ہیں.
- لاگ ان پروفائل بنانے کے لئے مطابقت رکھتا ہے iam-useraddloginprofile -u USERNAME-P پاس ورڈ. کمانڈ لائن انٹرفیس پر مکمل دستاویزات AWS دستاویزات پر دستیاب ہے.
- اگر آپ صارف کے "بوب" کے لئے لاگ ان پروفائل بنانا چاہتے ہیں تو، آپ کمانڈ پر فوری طور پر، iam-useraddloginprofile -UBOB-P پاس ورڈ درج کریں گے.
- آپ چیک کر سکتے ہیں کہ لاگ ان پروفائل کو کمان پر فوری طور پر iam-usergetloginprofile-Bob میں درج کرکے صحیح طریقے سے تشکیل دیا گیا تھا. اگر آپ نے بوب کے لئے ایک لاگ ان پروفائل بنائی ہے تو، آؤٹ پٹ ایسی چیز ہوگی جیسے صارف صارف کے لئے لاگ ان پروفائل موجود ہے.
چابیاں بنائیں
AWS خفیہ رسائی کی کلید اور اسی AWS رسائی کی کلیدی شناخت کی تشکیل آپ کے صارفین کو 3rd پارٹی سافٹ ویئر استعمال کرنے کی اجازت دے گی جیسے پہلے ذکر کیا گیا ہے. ذہن میں رکھو کہ سیکورٹی کی پیمائش کے طور پر، آپ صارف کی پروفائل کو شامل کرنے کے عمل کے دوران صرف ان کی چابی حاصل کرسکتے ہیں. اس بات کو یقینی بنائیں کہ آپ کو آؤٹ پٹ پروٹ سے آؤٹ پٹ کو کاپی اور پیسٹ کریں اور ٹیکسٹ فائل میں محفوظ کریں. آپ فائل کو اپنے صارف کو بھیج سکتے ہیں.
- صارف کے لئے چابیاں شامل کرنے کے لئے نحو ایمام صارفڈیک [--u USERNAME] ہے. کمانڈ لائن انٹرفیس پر مکمل دستاویزات AWS دستاویزات پر دستیاب ہے.
- اگر آپ صارف "باب" کے لئے چابیاں تخلیق کرنا چاہتے ہیں، تو آپ کمانڈ پر فوری طور پر صارف کو صارف کے پاس داخل کریں گے.
- کمانڈر اس چابی کی پیداوار کرے گا جو اس طرح کچھ نظر آئے گا:
AKIACOOB5BQVEXAMPLE
BVQW1IqqVzRdbwPUirD3pK6L8ngoX4PTEXAMPLE
پہلی لائن رسائی کلید کی شناخت ہے اور دوسری لائن خفیہ رسائی کلیدی ہے. آپ کو تیسری پارٹی کے سافٹ ویئر کے لئے دونوں کی ضرورت ہے.
ٹیسٹ تک رسائی
اب جب آپ نے IAM گروپوں / صارفین کو تخلیق کیا اور پالیسیوں کے ذریعے گروہوں تک رسائی حاصل کی، آپ کو رسائی کی جانچ پڑتال کی ضرورت ہے.
کنسول تک رسائی
آپ کے صارفین کو AWS کنسول میں لاگ ان کرنے کیلئے اپنے صارف کا نام اور پاس ورڈ استعمال کر سکتا ہے. تاہم، یہ باقاعدہ کنسول لاگ ان پیج نہیں ہے جو اہم AWS اکاؤنٹ کے لئے استعمال کیا جاتا ہے.
ایک خصوصی یو آر ایل ہے جو آپ استعمال کرسکتے ہیں جو آپ کے ایمیزون AWS اکاؤنٹس کیلئے لاگ ان فارم فراہم کرے گا. یہاں URL آپ کے IAM کے صارفین کے لئے S3 میں لاگ ان کرنے کے لئے ہے.
https://AWS-ACCOUNT-NUMBER.signin.aws.amazon.com/console/s3
AWS-ACCOUNT-NUMBER آپ کے باقاعدگی سے AWS اکاؤنٹ نمبر ہے. آپ ایمیزون ویب سروس سائن ان فارم میں لاگ ان کرکے اسے حاصل کرسکتے ہیں. لاگ ان کریں اور اکاؤنٹ پر کلک کریں | اکاؤنٹ سرگرمی آپ کا اکاؤنٹ نمبر اوپری دائیں کونے میں ہے. اس بات کو یقینی بنائیں کہ آپ ڈیشوں کو ہٹا دیں. یو آر ایل کو کچھ بھی دیکھیں جیسے https://123456789012.signin.aws.amazon.com/console/s3.
رسائی کی چابی کا استعمال کرتے ہوئے
آپ اس آرٹیکل میں پہلے ہی ذکر کردہ 3rd پارٹی کے اوزار میں سے کسی بھی ڈاؤن لوڈ کرسکتے ہیں اور انسٹال کرسکتے ہیں. اپنی رسائی کی کلیدی شناخت اور تیسری پارٹی کا آلہ دستاویزات کے مطابق خفیہ رسائی کلید درج کریں.
میں سختی سے مشورہ کرتا ہوں کہ آپ ابتدائی صارف تخلیق کریں اور اس صارف کو مکمل طور پر آزمائیں کہ وہ سب کچھ کرسکیں جو انہیں S3 میں کرنے کی ضرورت ہے. آپ کے صارفین میں سے ایک کی توثیق کے بعد، آپ اپنے سبھی S3 صارفین کو قائم کرنے کے لۓ آگے بڑھ سکتے ہیں.
وسائل
شناخت اور رسائی مینجمنٹ (IAM) کی بہتر تفہیم دینے کے لئے یہاں کچھ وسائل موجود ہیں.
- IAM کے ساتھ شروع کرنا
- IAM کمان لائن ٹول کٹ
- ایمیزون AWS کنسول
- AWS پالیسی جنریٹر
- AWS شناخت اور رسائی کے انتظام کا استعمال کرتے ہوئے
- IAM ریلیز نوٹس
- IAM بحث فورم
- IAM عمومی سوالات