3 पैकी भाग 1
2011 मध्ये ऍमेझॉनने क्लाउडफ्रंटसाठी एडब्ल्यूएस आयडेंटिटी अँड अॅक्सेस मॅनेजमेंट (आयएएम) च्या समर्थनाची घोषणा केली होती. IAM 2010 मध्ये सुरू करण्यात आले आणि एस 3 चे समर्थन समाविष्ट केले. AWS ओळख आणि प्रवेश व्यवस्थापन (IAM) आपल्याला AWS खात्यात एकाधिक वापरकर्ते ठेवण्यास सक्षम करते. जर आपण अॅमेझॉन वेब सर्विसेज (एडब्ल्यूएस) वापरली असेल, तर आपण जागरूक आहात की AWS मधील सामग्रीचे व्यवस्थापन करण्याचा एकमेव मार्ग म्हणजे आपले प्रयोक्ता नाव आणि पासवर्ड किंवा ऍक्सेस कळा.
आपल्यापैकी बहुतेकांना ही खरी सुरक्षा आहे. IAM संकेतशब्द आणि प्रवेश की सामायिक करण्याची आवश्यकता दूर करते.
सतत आपला मुख्य AWS पासवर्ड बदलणे किंवा नवीन कळा निर्माण करणे हे फक्त एक गोंधळदायक समाधान आहे जेव्हा कर्मचारी सदस्य आपली टीम सोडतील. AWS ओळख आणि प्रवेश व्यवस्थापन (IAM) वैयक्तिक कळा असलेल्या वैयक्तिक वापरकर्ता खात्यांना परवानगी देण्यास चांगली सुरुवात होती तथापि, आम्ही एक S3 / CloudFront वापरकर्ता आहोत म्हणून आम्ही क्लाऊडफ्रंटला आयएएममध्ये जोडले जाण्याची पहात आहोत जे शेवटी घडले.
मला थोडा विखुरलेला होण्यासाठी या सेवेबद्दल दस्तऐवज आढळला. काही तृतीय पक्ष उत्पादने आहेत जे ओळख आणि प्रवेश व्यवस्थापन (IAM) साठी अनेक श्रेणीचे समर्थन देतात. पण डेव्हलपर सहसा मितव्ययी आहेत म्हणूनच मी आमच्या ऍमेझॉन एस 3 सेवेसह IAM चे व्यवस्थापन करण्यासाठी एक विनामूल्य उपाय मागितला.
हा लेख कमांड लाइन इंटरफेस सेट करण्याची प्रक्रिया चालविते जे IAM चे समर्थन करते आणि S3 प्रवेशासह गट / वापरकर्ता सेट करते. आपण ओळख आणि प्रवेश व्यवस्थापन (IAM) कॉन्फिगर करणे सुरू करण्यापूर्वी आपल्याला अमेझॉन AWS S3 खाते सेटअप असणे आवश्यक आहे.
माझे लेख, ऍमेझॉन साधे स्टोरेज सेवा (एस 3) वापरून, आपल्याला AWS S3 खाते सेट करण्याची प्रक्रिया चालवतील.
IAM मध्ये वापरकर्त्याची स्थापना आणि अंमलबजावणीमध्ये सहभागी होण्याचे मार्ग येथे आहेत. हे Windows साठी लिहिले आहे परंतु आपण Linux, UNIX आणि / किंवा Mac OSX मध्ये वापरण्यासाठी ट्विक करू शकता.
- कमांड लाइन इंटरफेस (सीएलआय) स्थापित आणि कॉन्फिगर करा
- एक गट तयार करा
- S3 बाल्टी आणि क्लाउडफ्रंटला गट प्रवेश द्या
- वापरकर्ता तयार करा आणि गट जोडा
- लॉगइन प्रोफाइल तयार करा आणि की तयार करा
- चाचणी प्रवेश
कमांड लाइन इंटरफेस (सीएलआय) स्थापित आणि कॉन्फिगर करा
आयएएम कमांड लाइन टूलकिट ही ऍमेझॉनच्या एडब्लूएस डेव्हलपर्स टूल्समध्ये उपलब्ध जावा प्रोग्राम आहे. साधन आपल्याला शेल उपयोगिता (विंडोजसाठी डॉस) पासून IAM API कमांड कार्यान्वित करण्यास परवानगी देतो.
- आपल्याला Java 1.6 किंवा उच्चतम चालत असणे आवश्यक आहे आपण Java.com वरून नवीनतम आवृत्ती डाउनलोड करू शकता आपल्या Windows सिस्टमवर कोणती आवृत्ती स्थापित केलेली आहे हे पाहण्यासाठी, कमांड प्रॉम्प्ट उघडा आणि जावा-वर्जन मध्ये टाइप करा. असे गृहीत धरते की java.exe आपल्या पाथमध्ये आहे.
- IAM CLI टूलकिट डाउनलोड करा आणि आपल्या स्थानिक ड्राइव्हवर कुठेतरी अनझिप करा.
- आपल्याला अपडेट करण्याची आवश्यकता असलेली CLI टूलकिटच्या मूळ 2 फायली आहेत.
- aws-credential.template: ही फाइल आपल्या AWS क्रेडेंशिअल वस्तू धारण करते. आपले AWSAccessKeyId आणि आपल्या AWSSecretKey जोडा, जतन करा आणि फाईल बंद करा.
- client-config.template : प्रॉक्सी सर्व्हरची आवश्यकता असल्यास तुम्हाला ही फाइल अद्ययावत करण्याची आवश्यकता आहे. # चिन्हे काढा आणि ClientProxyHost, ClientProxyPort, ClientProxyUsername आणि ClientProxyPassword काढा. फाईल सेव्ह करा आणि बंद करा.
- पुढची पायरी म्हणजे पर्यावरण वेरियब जोडणे. नियंत्रण पॅनेलकडे जा | सिस्टम गुणधर्म | प्रगत सिस्टीम सेटिंग्ज | पर्यावरण वेरिएबल्स खालील चलने जोडा:
- AWS_IAM_HOME : आपण CLI टूलकिट अनझिप केलेल्या निर्देशिकामध्ये हे वेरिएबल सेट करा जर आपण Windows चालवित असाल आणि आपल्या सी ड्राईव्हच्या मूलस्थळावर अनझिप असाल तर, व्हेरिएबल C: \ IAMCli-1.2.0 असेल.
- JAVA_HOME : हे वेरिएबल निर्धारित करा जिथे Java स्थापित केले आहे. हे java.exe फाईलचे स्थान असेल. सामान्य विंडोज 7 जावा प्रतिष्ठापन मध्ये, हे C: \ Program Files (x86) \ Java \ jre6 सारखे काहीतरी असेल.
- AWS_CREDENTIAL_FILE : आपण वरील अद्ययावत केलेल्या aws-credential.template च्या पथ आणि फाईल नावामध्ये हे वेरिएबल सेट करा. जर आपण Windows चालवत असाल आणि आपल्या सी ड्राईव्हच्या मूलस्थळावर अनझिप करत असाल तर, व्हेरिएबल C: \ IAMCli-1.2.0 \ aws-credential.template असेल.
- CLIENT_CONFIG_FILE : आपल्याला प्रॉक्सी सर्व्हरची आवश्यकता असल्यास आपल्याला केवळ या पर्यावरण वेरियेबल जोडण्याची आवश्यकता आहे जर आपण Windows चालवत असाल आणि आपल्या सी ड्राईव्हच्या मूलस्थळावर अनझिप करत असाल तर, व्हेरिएबल C: \ IAMCli-1.2.0 \ client-config.template असेल. आपल्याला आवश्यक नसल्यास या व्हेरिएबलला जोडू नका
- कमांड प्रॉम्प्टवर जाऊन आणि iam-userlistbypath मध्ये प्रवेश करून स्थापनाची चाचणी घ्या. जोपर्यंत आपल्याला त्रुटी प्राप्त होत नाही तोपर्यंत, आपण पुढे जाऊ इच्छिता.
कमांड प्रॉम्प्टवरून सर्व IAM कमांडस् चालवता येतात. सर्व आज्ञा "iam-" ने सुरू होते.
एक गट तयार करा
प्रत्येक AWS खात्यासाठी जास्तीत जास्त 100 गट तयार केले जाऊ शकतात. आपण वापरकर्ता स्तरावर IAM मध्ये परवानग्या सेट करू शकता, तेव्हा गट वापरून सर्वोत्तम अभ्यास होईल येथे IAM मधील एक गट तयार करण्याची प्रक्रिया आहे.
- समूह तयार करण्यासाठी सिंटॅक्स iam-groupcreate -g GROUPNAME [-p PATH] [-v] जिथे -p आणि -v पर्याय आहेत. कमांड लाइन इंटरफेसवरील पूर्ण दस्तऐवजीकरण AWS डॉक्सवर उपलब्ध आहे.
- आपण "भयानक" म्हणून ओळखले जाणारे एक गट तयार करु इच्छित असल्यास, आपण कमांड प्रॉम्प्टवर iam-groupcreate -g विलफ्रीसर्स प्रविष्ट कराल.
- कमांड प्रॉम्प्टवर iam-grouplistbypath लिहून ही गट योग्यरित्या तयार केली गेली आहे याची तपासणी करू शकता. जर आपण हा समूहच तयार केला असेल, तर "arn: aws: iam :: 123456789012: ग्रुप / डांटूशूझर्स" असे काहीतरी असेल, जिथे नंबर म्हणजे आपले एडब्ल्यूएस अकाउंट नंबर.
S3 बाल्टी आणि क्लाउडफ्रंटला गट प्रवेश द्या
धोरणे आपल्या समूह S3 किंवा CloudFront मध्ये काय करण्यास सक्षम आहेत ते नियंत्रित करतात. डीफॉल्टनुसार, आपल्या समूहाला एडब्ल्यूएस मध्ये कशाचाही प्रवेश नसेल. मला आढळून आल्या की डॉक्युमेंटेशन योग्य आहे परंतु काही मूठभर धोरणे तयार करण्यामध्ये मी काही काम केले आणि काही गोष्टी केल्या जेणेकरून मी त्यांना कामाला लावले.
धोरण तयार करण्यासाठी आपल्याकडे काही पर्याय आहेत
एक पर्याय म्हणजे तुम्ही त्यांना थेट कमांड प्रॉम्प्टवर प्रविष्ट करू शकता. आपण धोरण तयार करून ते टिचकींग केल्यामुळे, माझ्यासाठी धोरण मजकूर फाइलमध्ये जोडणे सोपे होते आणि नंतर iam-groupuploadpolicy कमांड प्रमाणे मजकूर फाइल अपलोड करा. येथे मजकूर फाइल आणि IAM वर अपलोड करून प्रक्रिया आहे.
- नोटपॅड सारखे काहीतरी वापरा आणि खालील मजकूर प्रविष्ट करा आणि फाइल जतन करा:
{
"स्टेटमेंट": [{
"प्रभाव": "अनुमती द्या",
"क्रिया": "s3: *",
"संसाधन": [
"arn: aws: s3 ::: BUCKETNAME",
"arn: aws: s3 ::: BUCKETNAME / *"]
},
{
"प्रभाव": "अनुमती द्या",
"क्रिया": "s3: सूचीअल्मीबकेट्स",
"संसाधन": "arn: aws: s3 ::: *"
},
{
"प्रभाव": "अनुमती द्या",
"क्रिया": ["क्लाफफ्रंट: *"],
"संसाधन": "*"
}
]
} - या धोरणासाठी 3 विभाग आहेत काही प्रकारच्या प्रवेशास अनुमती देण्यासाठी किंवा नाकारण्यासाठी प्रभावाचा वापर केला जातो. क्रिया विशिष्ट गोष्टी ज्या गट करू शकतो. प्रत्येक वैयक्तिक बादल्यावर प्रवेश देण्यासाठी संसाधन वापरला जाईल.
- आपण क्रिया वैयक्तिकरित्या मर्यादित करू शकता या उदाहरणात, "क्रिया": ["s3: GetObject", "s3: ListBucket", "s3: GetObjectversoion"], गट एक बाटल्याची सामग्री आणि ऑब्जेक्ट्स डाउनलोड करण्यास सक्षम असेल.
- पहिला विभाग गटास "BUCKETNAME" साठी सर्व एस 3 क्रिया करण्यास समूह "अनुमती देतो".
- दुसरा विभाग गट S3 मध्ये सर्व बादल्याची यादी करण्यासाठी "अनुमती देते". आपल्याला हे आवश्यक आहे जेणेकरून आपण AWS Console सारखे काहीतरी वापरता तेव्हा प्रत्यक्षात आपण डॉलरची यादी पाहू शकता.
- तिसरा विभाग समूहांना CloudFront ला पूर्ण प्रवेश देतो.
आयएएम पॉलिसीज येताना बरेच पर्याय आहेत. ऍमेझॉन एक खरोखर थंड साधन उपलब्ध आहे म्हणतात AWS धोरण जनरेटर. हे साधन GUI देते जेथे आपण आपली धोरणे तयार करू शकता आणि आपण धोरण अंमलबजावणी करण्यासाठी आवश्यक वास्तविक कोड व्युत्पन्न करू शकता. आपण AWS ओळख आणि ऍक्सेस मॅनेजमेंट ऑनलाइन दस्तऐवजीकरण वापरण्याचे प्रवेश धोरण भाषा विभाग देखील तपासू शकता.
वापरकर्ता तयार करा आणि गट जोडा
एक नवीन वापरकर्ता तयार करण्याची आणि त्यांना प्रवेश देण्यासाठी गटात समाविष्ट करण्याची प्रक्रिया दोन चरणे समाविष्ट करते.
- एक वापरकर्ता तयार करण्यासाठी सिंटॅक्स iam-usercreate -u USERNAME [-p PATH] [-g GROUPS ...] [-कि] [-V] जिथे -p, -g, -k आणि -v पर्याय आहेत. कमांड लाइन इंटरफेसवरील पूर्ण दस्तऐवजीकरण AWS डॉक्सवर उपलब्ध आहे.
- आपण एखादे वापरकर्ता "बॉब" तयार करू इच्छित असल्यास, आपण कमांड प्रॉम्प्टवर iam-usercreate -u bob -g हार्दिक शुभेच्छा देतो.
- कमांड प्रॉम्प्टवर iam-grouplistusers -g हार्दिक शुभेच्छा प्रविष्ट करुन वापरकर्ता योग्यरित्या तयार झाला असल्याचे आपण तपासू शकता. जर आपण या वापरकर्त्याला फक्त तयार केले असेल, तर "arn: aws: iam :: 123456789012: user / bob" असे काही आऊटपुट दिसेल, जेथे नंबर म्हणजे आपले AWS खाते क्रमांक.
लॉगऑन प्रोफाइल तयार करा आणि की तयार करा
या टप्प्यावर, आपण एक वापरकर्ता तयार केला आहे परंतु आपल्याला त्यास S3 मधून ऑब्जेक्ट्स जोडणे आणि काढून टाकण्याचा मार्ग प्रदान करणे आवश्यक आहे.
IAP वापरून आपल्या वापरकर्त्यांना एस 3 वर प्रवेश प्रदान करण्यासाठी 2 पर्याय उपलब्ध आहेत. आपण लॉग इन प्रोफाइल तयार करू शकता आणि आपल्या वापरकर्त्यांना पासवर्ड देऊ शकता ते ऍमेझॉन एडब्ल्यूएस कन्सोलवर लॉग इन करण्यासाठी त्यांचे श्रेय वापरू शकतात. दुसरा पर्याय म्हणजे आपल्या वापरकर्त्यांना ऍक्सेस की आणि एक गुप्त की देणे. ते ही किल्ली 3 पार्टी साधने जसे एस 3 फॉक्स, मेघब्रेड एस 3 एक्सप्लोरर किंवा एस 3 ब्राउजरमध्ये वापरू शकतात.
लॉगइन प्रोफाइल तयार करा
आपल्या एस 3 वापरकर्त्यांसाठी एक लॉगिन प्रोफाइल तयार करणे त्यांना एक वापरकर्ता नाव आणि संकेतशब्द प्रदान करते जे ते ऍमेझॉन AWS कन्सोलवर लॉगिन करण्यासाठी वापरू शकतात.
- लॉगिन प्रोफाइल तयार करण्यासाठी सिंटॅक्स iam-useraddloginprofile -u USERNAME -p PASSWORD आहे. कमांड लाइन इंटरफेसवरील पूर्ण दस्तऐवजीकरण AWS डॉक्सवर उपलब्ध आहे.
- जर आपण प्रयोक्ता "bob" साठी लॉगिन प्रोफाइल तयार करू इच्छित असाल तर आपण कमांड प्रॉम्प्टवर iam-useraddloginprofile -u bob -p PASSWORD प्रविष्ट कराल.
- आपण कमांड प्रॉम्प्टवर iam-usergetloginprofile -u bob लिहून लॉगिन प्रोफाइल अचूकपणे तयार केले असल्याचे तपासू शकता. आपण बॉबसाठी लॉगिन प्रोफाइल तयार केले असेल तर, "वापरकर्ता प्रोफाइलमध्ये लॉगिन प्रोफाइल अस्तित्वात आहे" असे काहीतरी आऊटपुट असेल.
की तयार करा
AWS गुप्त ऍक्सेस की निर्माण करणे आणि संबंधित AWS प्रवेश की आयडी आपल्या वापरकर्त्यांना पूर्वी उल्लेखित केलेल्या तृतीय पक्ष सॉफ्टवेअरचा वापर करण्यास अनुमती देईल. लक्षात ठेवा की सुरक्षा उपाय म्हणून, आपण वापरकर्ता प्रोफाइल जोडण्याच्या प्रक्रियेदरम्यान या कळा केवळ मिळवू शकता. आपण कमांड प्रॉम्प्टवरून आउटपुट कॉपी आणि पेस्ट केल्याचे सुनिश्चित करा आणि मजकूर फाईलमध्ये सेव्ह करा. आपण आपल्या वापरकर्त्यासाठी फाइल पाठवू शकता.
- वापरकर्त्यासाठी किम जोडण्यासाठी सिंटॅक्स iam-useraddkey [-u USERNAME] आहे. कमांड लाइन इंटरफेसवरील पूर्ण दस्तऐवजीकरण AWS डॉक्सवर उपलब्ध आहे.
- जर आपण प्रयोक्त्यासाठी "bob" ची किल्ली बनवू इच्छित असाल तर आपण कमांड प्रॉम्प्टवर iam-useraddkey -u bob प्रविष्ट कराल.
- कमांड त्या कशा दिसतील ते पाहतील:
AKIACOOB5BQVEXAMPLE
BVMQW1IpqVzRdbwPUirD3pK6L8ngoX4PTEXAMPLE
पहिली ओळ म्हणजे प्रवेश की आयडी आणि दुसरी ओळ गुप्त प्रवेश की आहे. आपल्याला तृतीय पक्षाच्या सॉफ्टवेअरसाठी दोन्हीची आवश्यकता आहे
चाचणी प्रवेश
आता आपण IAM गट / वापरकर्ते तयार केले आहेत आणि धोरणे वापरून गटांना प्रवेश दिला आहे, आपण प्रवेशाची चाचणी घेणे आवश्यक आहे.
कन्सोल प्रवेश
AWS Console वर लॉगिन करण्यासाठी आपले वापरकर्ते आपले वापरकर्तानाव आणि संकेतशब्द वापरू शकतात. तथापि, हा नियमित कन्सोल लॉन्च पृष्ठ नाही जो मुख्य AWS खात्यासाठी वापरला जातो.
एक विशेष URL आहे ज्याचा वापर आपण आपल्या ऍमेझॉन AWS खात्यासाठी फक्त एक लॉगिन फॉर्म प्रदान करु शकता. आपल्या IAM वापरकर्त्यांसाठी S3 वर लॉग इन करण्यासाठी URL येथे आहे.
https://AWS-ACCOUNT-NUMBER.signin.aws.amazon.com/console/s3
AWS-ACCOUNT-NUMBER हे आपले नियमित AWS खाते क्रमांक आहे. आपण ऍमेझॉन वेब सेवा साइन-इन फॉर्ममध्ये प्रवेश करून हे मिळवू शकता. लॉग इन करा आणि खाते | वर क्लिक करा खाते गतिविधी आपला खाते क्रमांक वरच्या उजव्या कोपर्यात आहे आपण डॅश काढून टाकल्याची खात्री करा. URL https://123456789012.signin.aws.amazon.com/console/s3 सारखा दिसेल.
ऍक्सेस कीज वापरणे
आपण आधीच या लेखातील उल्लेख कोणत्याही तृतीय पक्ष साधने डाउनलोड आणि स्थापित करू शकता आपला प्रवेश की ID आणि तृतीय पक्ष साधन दस्तऐवजीकरण प्रति गुप्त प्रवेश की प्रविष्ट करा.
मी जोरदार शिफारस करतो की आपण प्रारंभिक वापरकर्ता तयार कराल आणि त्या वापरकर्त्यास पूर्णतः चाचणी करावी लागेल की ते S3 वर करावयाच्या सर्व गोष्टी करू शकतात. आपण आपल्या वापरकर्त्यांपैकी एक सत्यापित केल्यानंतर, आपण आपले सर्व S3 वापरकर्ते सेट करुन पुढे जाऊ शकता.
संसाधने
आपल्याला ओळख आणि प्रवेश व्यवस्थापन (आयएएम) ची अधिक चांगली समज देण्यासाठी येथे काही संसाधने आहेत.
- IAM सह प्रारंभ करणे
- IAM कमांड लाइन टूलकिट
- ऍमेझॉन एडब्ल्यूएस कन्सोल
- AWS धोरण जनरेटर
- AWS ओळख आणि प्रवेश व्यवस्थापन वापरणे
- IAM प्रकाशन टिपा
- IAM चर्चा मंच
- IAM वारंवार विचारले जाणारे प्रश्न