Noong 2011, inihayag ng Amazon ang pagkakaroon ng suporta ng AWS Identity & Access Management (IAM) para sa CloudFront. Ang IAM ay inilunsad noong 2010 at kasama ang suporta ng S3. Pinapayagan ka ng AWS Identity & Access Management (IAM) na magkaroon ng maramihang mga user sa loob ng isang AWS account. Kung gumamit ka ng Amazon Web Services (AWS), alam mo na ang tanging paraan upang pamahalaan ang nilalaman sa AWS ay kasangkot ang pagbigay ng iyong user name at password o access key. Ito ay isang tunay na pag-aalala sa seguridad para sa karamihan sa atin. Tinatanggal ng IAM ang pangangailangan na magbahagi ng mga password at access key.
Patuloy na binabago ang aming pangunahing AWS password o pagbuo ng mga bagong key ay lamang ng isang magulo solusyon kapag ang isang kawani ng miyembro ay umalis sa aming koponan. Ang AWS Identity & Access Management (IAM) ay isang mahusay na pagsisimula na nagpapahintulot sa mga indibidwal na account ng gumagamit na may mga indibidwal na key. Gayunpaman, kami ay isang user ng S3 / CloudFront kaya kami ay nanonood para sa CloudFront na idadagdag sa IAM na sa wakas ay nangyari.
Natagpuan ko ang dokumentasyon sa serbisyong ito upang maging isang nakakalat. Mayroong ilang mga produkto ng 3rd party na nag-aalok ng isang hanay ng suporta para sa Identity & Access Management (IAM). Ngunit ang mga nag-develop ay kadalasang nakakatipid kaya hinangad ko ang isang libreng solusyon sa pamamahala ng IAM sa aming serbisyo sa Amazon S3.
Ang artikulong ito ay nagtuturo sa pamamagitan ng proseso ng pag-set up ng Command Line Interface na sumusuporta sa IAM at pag-set up ng isang grupo / user na may access sa S3. Kailangan mong magkaroon ng setup ng Amazon AWS S3 account bago ka magsimula sa pag-configure ng Identity & Access Management (IAM). Ang aking artikulo, Gamit ang Amazon Simple Storage Service (S3), ay lalakad ka sa proseso ng pag-set up ng isang AWS S3 account.
Narito ang mga hakbang na kasangkot sa pag-set up at pagpapatupad ng isang gumagamit sa IAM. Ito ay isinulat para sa Windows ngunit maaari kang mag-tweak para gamitin sa Linux, UNIX at / o Mac OSX.
- I-install at i-configure ang Command Line Interface (CLI)
- Lumikha ng Grupo
- Bigyan ang Access ng Grupo sa S3 Bucket at CloudFront
- Lumikha ng Gumagamit at Idagdag sa Grupo
- Lumikha ng Profile sa Pag-login at Lumikha ng Mga Key
- Test Access
I-install at i-configure ang Command Line Interface (CLI)
Ang IAM Command Line Toolkit ay isang programang Java na magagamit sa Mga Tool ng Mga Developer ng AWS ng Amazon. Ang tool ay nagbibigay-daan sa iyo upang maipatupad ang IAM API command mula sa isang shell utility (DOS para sa Windows).
- Kailangan mong patakbuhin ang Java 1.6 o mas mataas. Maaari mong i-download ang pinakabagong bersyon mula sa Java.com. Upang makita kung aling bersyon ang naka-install sa iyong Windows system, buksan ang Command Prompt at i-type sa java -version. Ipinapalagay nito na ang java.exe ay nasa iyong PATH.
- I-download ang toolkit ng IAM CLI at i-unzip sa isang lugar sa iyong lokal na biyahe.
- Mayroong 2 mga file sa ugat ng CLI toolkit na kailangan mong i-update.
- aws-credential.template: Ang file na ito ay nagtataglay ng iyong mga kredensyal ng AWS. Idagdag ang iyong AWSAccessKeyId at ang iyong AWSSecretKey, i-save at isara ang file.
- client-config.template: Kailangan mo lamang i-update ang file na ito kung nangangailangan ka ng isang proxy server. Alisin ang # mga tanda at i-update ang ClientProxyHost, ClientProxyPort, ClientProxyUsername at ClientProxyPassword. I-save at isara ang file.
- Ang susunod na hakbang ay nagsasangkot ng pagdaragdag ng mga Variable ng Kapaligiran. Pumunta sa Control Panel | System Properties | Advanced na mga setting ng system | Mga Variable sa Kapaligiran. Idagdag ang mga sumusunod na variable:
- AWS_IAM_HOME: Itakda ang variable na ito sa direktoryo kung saan mo na-unzip ang CLI toolkit. Kung nagpapatakbo ka ng Windows at unzipped ito sa ugat ng iyong C drive, ang variable ay magiging C: IAMCli-1.2.0.
- JAVA_HOME: Itakda ang variable na ito sa direktoryo kung saan naka-install ang Java. Ito ang magiging lokasyon ng java.exe file. Sa isang normal na pag-install ng Windows 7 Java, ito ay magiging tulad ng C: Program Files (x86) Java jre6.
- AWS_CREDENTIAL_FILE: Itakda ang variable na ito sa landas at pangalan ng file ng aws-credential.template na na-update mo sa itaas. Kung nagpapatakbo ka ng Windows at unzipped ito sa ugat ng iyong C drive, ang variable ay magiging C: IAMCli-1.2.0 aws-credential.template.
- CLIENT_CONFIG_FILE: Kailangan mo lamang idagdag ang variable na ito sa kapaligiran kung nangangailangan ka ng isang proxy server. Kung nagpapatakbo ka ng Windows at unzipped ito sa ugat ng iyong C drive, ang variable ay magiging C: IAMCli-1.2.0 client-config.template. Huwag idagdag ang variable na ito maliban kung kailangan mo ito.
- Subukan ang pag-install sa pamamagitan ng pagpunta sa Command Prompt at pagpasok ng iam-userlistbypath. Hangga't hindi ka nakatanggap ng isang error, dapat kang maging mahusay na pumunta.
Ang lahat ng mga utos ng IAM ay maaaring tumakbo mula sa Command Prompt. Ang lahat ng mga utos ay nagsisimula sa "iam-".
Lumikha ng Grupo
Mayroong maximum na 100 mga grupo na maaaring malikha para sa bawat AWS account. Habang maaari mong itakda ang mga pahintulot sa IAM sa antas ng gumagamit, ang paggamit ng mga grupo ay ang pinakamahusay na kasanayan. Narito ang proseso para sa paglikha ng isang grupo sa IAM.
- Ang syntax para sa paglikha ng isang grupo ay iam-groupcreate -g GROUPNAME -p PATH -v kung saan ang -p at -v ay mga pagpipilian. Ang buong dokumentasyon sa Command Line Interface ay magagamit sa AWS Docs.
- Kung nais mong lumikha ng isang grupo na tinatawag na "awesomeusers", gusto mong ipasok, i-groupcreate -g awesomeusers sa Command Prompt.
- Maaari mong suriin na ang grupo ay nilikha nang tama sa pamamagitan ng pagpasok ng iam-grouplistbypath sa Command Prompt. Kung nalikha mo lamang ang pangkat na ito, ang output ay magiging tulad ng "arn: aws: iam :: 123456789012: group / awesomeusers", kung saan ang numero ay ang iyong AWS account number.
Bigyan ang Access ng Grupo sa S3 Bucket at CloudFront
Kinokontrol ng mga patakaran kung ano ang magagawa ng iyong grupo sa S3 o CloudFront. Bilang default, ang iyong grupo ay walang access sa anumang bagay sa AWS.Natagpuan ko ang dokumentasyon sa mga patakaran upang maging OK ngunit sa paglikha ng isang maliit na mga patakaran, ginawa ko ang isang bit ng pagsubok at error upang makakuha ng mga bagay na nagtatrabaho sa paraan na gusto ko ang mga ito upang gumana.
Mayroon kang ilang mga pagpipilian para sa paglikha ng mga patakaran. Ang isang pagpipilian ay maaari mong ipasok ang mga ito nang direkta sa Command Prompt. Dahil maaari kang lumikha ng isang patakaran at pag-aayos nito, para sa akin ito ay tila madali upang idagdag ang patakaran sa isang text file at pagkatapos ay i-upload ang text file bilang isang parameter na may command iam-groupuploadpolicy. Narito ang proseso gamit ang isang text file at pag-upload sa IAM.
- Gumamit ng isang bagay tulad ng Notepad at ipasok ang sumusunod na teksto at i-save ang file:
- {
- "Pahayag": {
- "Epekto": "Payagan",
- "Pagkilos": "s3: *",
- "Resource":
- "arn: aws: s3 ::: BUCKETNAME",
- "arn: aws: s3 ::: BUCKETNAME / *"
- },
- {
- "Epekto": "Payagan",
- "Action": "s3: ListAllMyBuckets",
- "Resource": "arn: aws: s3 ::: *"
- },
- {
- "Epekto": "Payagan",
- "Action": "cloudfront: *",
- "Resource": "*"
- }
- }
- Mayroong 3 mga seksyon sa patakarang ito. Ang Epekto ay ginagamit upang Payagan o Tanggihan ang ilang uri ng pag-access. Ang Aksyon ay ang mga tiyak na bagay na maaaring gawin ng grupo. Ang Resource ay gagamitin upang bigyan ng access sa mga indibidwal na timba.
- Maaari mong limitahan ang Mga Pagkilos nang paisa-isa. Sa halimbawang ito, ang "Aksyon": "s3: GetObject", "s3: ListBucket", "s3: GetObjectVersion", maaaring ilista ng grupo ang mga nilalaman ng isang bucket at mag-download ng mga bagay.
- Ang unang seksyon na "Pinapayagan" ang grupo upang isagawa ang lahat ng mga pagkilos ng S3 para sa bucket na "BUCKETNAME".
- Ang ikalawang seksyon "Pinapayagan" ang grupo upang ilista ang lahat ng mga timba sa S3. Kailangan mo ito upang makita mo ang listahan ng mga bucket kung gumagamit ka ng isang bagay tulad ng AWS Console.
- Ang ikatlong seksyon ay nagbibigay sa ganap na access sa grupo sa CloudFront.
Mayroong maraming mga pagpipilian kapag dumating sa mga patakaran ng IAM. Ang Amazon ay may isang talagang cool na tool na magagamit na tinatawag na AWS Policy Generator. Nagbibigay ang tool na ito ng isang GUI kung saan maaari kang lumikha ng iyong mga patakaran at bumuo ng aktwal na code na kailangan mong ipatupad ang patakaran. Maaari mo ring tingnan ang seksiyon ng Access Policy Language ng Paggamit ng dokumentasyon sa online na Pamamahala ng AWS Identity at Access.
Lumikha ng Gumagamit at Idagdag sa Grupo
Ang proseso ng paglikha ng isang bagong user at pagdaragdag sa isang grupo upang mabigyan sila ng access ay nagsasangkot ng ilang hakbang.
- Ang syntax para sa paglikha ng isang user ay iam-usercreate -u USERNAME -p PATH -g GROUPS … -k -v kung saan ang -p, -g, -k at -v ay mga pagpipilian. Ang buong dokumentasyon sa Command Line Interface ay magagamit sa AWS Docs.
- Kung nais mong lumikha ng isang user na "bob", ipapasok mo, iam-usercreate -u bob -g awesomeusers sa Command Prompt.
- Maaari mong suriin na ang user ay nilikha nang tama sa pamamagitan ng pagpasok ng iam-grouplistusers -g awesomeusers sa Command Prompt. Kung nalikha mo lamang ang user na ito, ang output ay magiging tulad ng "arn: aws: iam :: 123456789012: user / bob", kung saan ang numero ay ang iyong AWS account number.
Lumikha ng Profile ng Logon at Lumikha ng Mga Key
Sa puntong ito, lumikha ka ng isang user ngunit kailangan mong ibigay ang mga ito sa isang paraan upang aktwal na idagdag at alisin ang mga bagay mula sa S3. Mayroong 2 pagpipilian na magagamit upang maibigay ang iyong mga gumagamit na may access sa S3 gamit ang IAM. Maaari kang lumikha ng isang Login Profile at ibigay ang iyong mga user ng isang password. Maaari nilang gamitin ang kanilang mga kredensyal upang mag-log in sa Amazon AWS Console. Ang iba pang pagpipilian ay upang bigyan ang iyong mga gumagamit ng access key at isang lihim na key. Maaari nilang gamitin ang mga susi sa mga 3rd party na tool tulad ng S3 Fox, CloudBerry S3 Explorer o S3 Browser.
Lumikha ng Profile sa Pag-login
Ang Paglikha ng Profile sa Pag-login para sa iyong mga gumagamit ng S3 ay nagbibigay sa kanila ng isang user name at password na magagamit nila upang mag-login sa Amazon AWS Console.
- Ang syntax para sa paglikha ng isang login profile ay iam-useraddloginprofile -u USERNAME -p PASSWORD. Ang buong dokumentasyon sa Command Line Interface ay magagamit sa AWS Docs.
- Kung nais mong lumikha ng profile sa pag-login para sa "bob" ng user, ipapasok mo, iam-useraddloginprofile -u bob -p PASSWORD sa Command Prompt.
- Maaari mong suriin na ang profile sa pag-login ay wastong nilikha sa pamamagitan ng pagpasok ng iam-usergetloginprofile -u bob sa Command Prompt. Kung lumikha ka ng isang login profile para sa bob, ang output ay magiging tulad ng "Login Profile na umiiral para sa user bob".
Lumikha ng Mga Key
Paglikha ng isang AWS Secret Access Key at kaukulang AWS Access Key ID ay magpapahintulot sa iyong mga gumagamit na gamitin ang 3rd party na software tulad ng mga naunang nabanggit. Tandaan na bilang panukalang seguridad, maaari mo lamang makuha ang mga susi na ito sa panahon ng proseso ng pagdaragdag ng profile ng user. Tiyaking kopyahin mo at i-paste ang output mula sa Command Prompt at i-save sa isang text file. Maaari mong ipadala ang file sa iyong user.
- Ang syntax para sa pagdaragdag ng mga key para sa isang user ay iam-useraddkey -u USERNAME. Ang buong dokumentasyon sa Command Line Interface ay magagamit sa AWS Docs.
- Kung nais mong lumikha ng mga susi para sa user na "bob", ipapasok mo ang iam-useraddkey -u bob sa Command Prompt.
- Ang utos ay magpapadala ng mga susi na magiging ganito:
- AKIACOOB5BQVEXAMPLE
- BvQW1IpqVzRdbwPUirD3pK6L8ngoX4PTEXAMPLE
- Ang unang linya ay ang Access Key ID at ang pangalawang linya ay ang Secret Access Key. Kailangan mo ng parehong para sa 3rd party software.
Test Access
Ngayon na lumikha ka ng mga grupo ng IAM / mga gumagamit at binigyan ang mga access ng mga grupo gamit ang mga patakaran, kailangan mong subukan ang pag-access.
Access sa Console
Maaaring gamitin ng iyong mga gumagamit ang kanilang user name at password upang mag-login sa AWS Console. Gayunpaman, hindi ito ang regular na pahina ng pag-login ng console na ginagamit para sa pangunahing AWS account. May isang espesyal na URL na magagamit mo na magbibigay ng login form para sa iyong Amazon AWS account lamang. Narito ang URL upang mag-login sa S3 para sa iyong mga gumagamit ng IAM.
https://AWS-ACCOUNT-NUMBER.signin.aws.amazon.com/console/s3
Ang AWS-ACCOUNT-NUMBER ay ang iyong regular na AWS account number. Makukuha mo ito sa pamamagitan ng pag-log in sa Form sa Pag-sign In Service ng Amazon Web. Mag-login at mag-click sa Account | Aktibidad ng Account. Ang numero ng iyong account ay nasa kanang sulok sa itaas. Tiyaking alisin mo ang mga gitling. Mukhang ang URL ay tulad ng https://123456789012.signin.aws.amazon.com/console/s3.
Paggamit ng Access Keys
Maaari mong i-download at i-install ang alinman sa mga tool ng 3rd party na nabanggit sa artikulong ito. Ipasok ang iyong Access Key ID at ang Secret Access Key sa dokumentasyon ng tool ng 3rd party.
Mahigpit kong inirerekumenda na lumikha ka ng isang paunang gumagamit at ang ganap na pagsubok ng gumagamit na maaari nilang gawin ang lahat ng kailangan nilang gawin sa S3. Matapos mong i-verify ang isa sa iyong mga gumagamit, maaari mong magpatuloy sa pag-set up ng lahat ng iyong mga gumagamit ng S3.