Частка 1 з 3
У 2011 годзе Amazon абвясціла аб даступнасці AWS Ідэнтычнасць і кіравання доступам падтрымкі (IAM) для CloudFront. IAM быў запушчаны ў 2010 годзе і уключаў у сябе падтрымку S3. AWS Ідэнтычнасць і кіраванне доступам (IAM) дазваляе мець некалькі карыстальнікаў у ўліковага запісу AWS. Калі вы выкарыстоўвалі вэб-службы Amazon (AWS), вы ведаеце, што адзіны спосаб кіраваць кантэнтам ў AWS ўдзел выдаючы ваша імя карыстальніка і пароль або ключы доступу.
Гэта рэальная праблема бяспекі для большасці з нас. IAM ліквідуе неабходнасць сумеснага выкарыстання пароляў і ключоў доступу.
Пастаянна змяняецца наш галоўны AWS пароль або генерацыя новых ключоў проста брудная рашэнне, калі супрацоўнік пакіне нашу каманду. AWS Ідэнтычнасць і кіравання доступам (IAM) быў добры старт дазваляе асобныя уліковыя запісы карыстальнікаў з індывідуальнымі ключамі. Тым не менш, мы карыстальнік S3 / CloudFront таму мы назіралі за CloudFront быць дададзеныя да IAM, які, нарэшце, адбылося.
Я знайшоў у дакументацыі на гэтую паслугу, каб быць крыху рассеяны. Ёсць некалькі 3-іншых прадуктаў, якія прапануюць шырокі спектр падтрымкі ідэнтычнасці і доступ да кіравання (IAM). Але распрацоўшчыкі, як правіла, ашчадныя, таму я шукаў бясплатнае рашэнне для кіравання IAM з нашым сэрвісам Amazon S3.
У гэтым артыкуле ідзе праз працэс налады інтэрфейсу каманднага радка, якая падтрымлівае IAM і наладкі групы / карыстальніка з доступам S3. Вы павінны мець налады ўліковага запісу Amazon AWS S3, перш чым прыступіць да налады пасведчанняў і кіравання доступам (IAM).
Мой артыкул, Выкарыстанне Simple Service захоўвання Amazon (S3), вы пройдзеце праз працэс стварэння ўліковага запісу AWS S3.
Вось крокі, якія ўдзельнічаюць у стварэнні і рэалізацыі новага карыстальніка ў IAM. Гэта напісана для Windows, але вы можаце наладзіць для выкарыстання ў Linux, UNIX і / або Mac OSX.
- Ўстаноўка і настройка інтэрфейсу каманднага радка (CLI)
- стварыць групу
- Дайце групавы доступ да S3 Bucket і CloudFront
- Стварэнне карыстальніка і Дадаць у групу
- Стварыць Увайсці Профіль і ствараць ключы
- тэст доступу
Ўстаноўка і настройка інтэрфейсу каманднага радка (CLI)
Інструментар IAM каманднага радка з'яўляецца праграма Java даступныя ў AWS распрацоўшчыкаў Інструменты Амазонкі. Інструмент дазваляе выконваць каманды IAM API з утыліты абалонкі (DOS для Windows).
- Вы павінны быць запушчаныя Java 1.6 або вышэй. Вы можаце спампаваць апошнюю версію з Java.com. Каб даведацца, якая версія ўстаноўлена ў вашай сістэме Windows, адкрыйце акно каманднага радка і ўвядзіце ў Java -версія. Гэта прадугледжвае, што java.exe знаходзіцца ў вашым PATH.
- Загрузіць інструментар IAM CLI і распакаваць дзесьці на лакальным дыску.
- Ёсць 2 файла ў корані інструментара CLI, што вам трэба абнавіць.
- AWS-credential.template: Гэты файл утрымлівае ўліковыя дадзеныя AWS. Дадайце ваш AWSAccessKeyId і ваш AWSSecretKey, захавайце і зачыніце файл.
- кліент-config.template: Вам трэба толькі абнавіць гэты файл , калі патрабуецца проксі - сервер. Выдаліце # знакі і абнавіць ClientProxyHost, ClientProxyPort, ClientProxyUsername і ClientProxyPassword. Захавайце і зачыніце файл.
- Наступны крок ўключае ў сябе даданне зменных асяроддзі. Перайсці да панэлі кіравання | Ўласцівасці сістэмы | Пашыраныя налады сістэмы | Зменныя асяроддзі. Дадайце наступныя зменныя:
- AWS_IAM_HOME: Усталюйце гэта пераменны ў каталог , дзе вы распакавалі інструментар CLI. Калі вы працуеце ў Windows, і распакавалі яго ў каранёвай тэчцы дыска З, пераменная будзе C: \ IAMCli-1.2.0.
- JAVA_HOME: Усталюйце гэтую зменную ў каталог , дзе ўсталяваны Java. Гэта было б размяшчэнне файла java.exe. У звычайнай Windows 7 ўстаноўкі Java, гэта будзе нешта накшталт 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 \ кліент-config.template. Ці не дадавайце ў гэтую зменную, калі вам гэта трэба.
- Праверце ўстаноўку, перайшоўшы ў камандную радок і увёўшы IAM-userlistbypath. Да таго часу, пакуль вы не атрымаеце паведамленне пра памылку, вы павінны быць добра ісці.
Усе IAM каманд можна запусціць з каманднага радка. Усе каманды пачынаюцца з «iam-».
стварыць групу
Існуе максімум 100 груп, якія могуць быць створаны для кожнай ўліковага запісу AWS. У той час як вы можаце ўсталяваць дазволу на IAM на ўзроўні карыстальніка, з дапамогай груп будзе лепшай практыкай. Вось гэта працэс стварэння групы ў IAM.
- Сінтаксіс для стварэння групы з'яўляецца IAM-groupcreate -g GROUPNAME [-p PATH] [-v], дзе р і -v з'яўляюцца варыянты. Поўная дакументацыя на інтэрфейсе каманднага радка даступная на AWS Docs.
- Калі вы хочаце стварыць групу пад назвай «awesomeusers», вы павінны ўвесці, IAM-groupcreate -g awesomeusers у камандным радку.
- Вы можаце праверыць, што група была створана правільна, увёўшы IAM-grouplistbypath у камандным радку. Калі б вы толькі стварылі гэтую групу, то выхад будзе нешта накшталт «Арн: AWS: IAM :: 123456789012: гурты / awesomeusers», дзе колькасць з'яўляецца ваш нумар рахунку AWS.
Дайце групавы доступ да S3 Bucket і CloudFront
Палітыка кіравання, што ваш гурт можа зрабіць у S3 або CloudFront. Па змаўчанні, група не будзе мець доступу да чаго-небудзь у AWS. Я знайшоў у дакументацыю пра палітыку, каб быць у парадку, але ў стварэнні некалькіх палітык, я зрабіў крыху спроб і памылак, каб усё зарабіла на тое, як я хацеў, каб яны працавалі.
У вас ёсць некалькі варыянтаў для стварэння палітык.
Адзін з варыянтаў іх можна ўвесці непасрэдна ў камандным радку. Паколькі вы можаце стварыць палітыку і тонкай налады, для мяне гэта здавалася лягчэй дадаць палітыку ў тэкставы файл, а затым загрузіць тэкставы файл у якасці параметру з камандай IAM-groupuploadpolicy. Вось працэс, выкарыстоўваючы тэкставы файл і загрузіць яго ў IAM.
- Выкарыстоўвайце нешта накшталт Нататніка і ўвядзіце наступны тэкст і захавайце файл:
{
"Заява": [{
«Эфект»: «Дазволіць»,
"Дзеяньне": "s3: *",
"Рэсурс": [
"ARN: AWS: s3 ::: BUCKETNAME",
"ARN: AWS: s3 ::: BUCKETNAME / *"]
},
{
«Эфект»: «Дазволіць»,
"Дзеяньне": "s3: ListAllMyBuckets",
"Рэсурс": "ARN: AWS: s3 ::: *"
},
{
«Эфект»: «Дазволіць»,
"Дзеяньне": [ "CloudFront: *"],
"Рэсурс": "*"
}
]
} - Ёсць 3 падзелу гэтай палітыкі. Эфект выкарыстоўваецца для Дазволіць або Забараніць некаторы тып доступу. Дзеянне канкрэтныя рэчы, група можа зрабіць. Рэсурс будзе выкарыстоўвацца для атрымання доступу да асобных вядро.
- Вы можаце абмежаваць дзеянні паасобку. У гэтым прыкладзе, «Дзеянне»: [ «s3: GetObject», «s3: ListBucket», «s3: GetObjectVersion»], група будзе мець магчымасць пералічыць змесціва вядра і загрузкі аб'ектаў.
- У першым раздзеле "Дазваляе» гурт выканаць усе дзеянні для S3 вядра «BUCKETNAME».
- Другі раздзел "Дазваляе» група пералічыць усе вядра ў S3. Вы маеце патрэбу ў гэтым, так што вы можаце ўбачыць спіс вядра, калі вы выкарыстоўваеце нешта накшталт AWS Console.
- Трэцяя секцыя дае групе поўны доступ да CloudFront ст.
Ёсць шмат варыянтаў, калі даходзіць да IAM палітыкі. Amazon мае вельмі круты інструмент, даступны пад назвай Генератар АМС палітыкі. Гэты інструмент прадастаўляе графічны інтэрфейс, дзе вы можаце стварыць сваю палітыку і генераваць фактычны код, які трэба рэалізаваць палітыку. Вы таксама можаце праверыць у раздзеле Доступ да моўнай палітыкі Выкарыстанне AWS ідэнтыфікацыі і кіравання доступам інтэрактыўнай дакументацыі.
Стварэнне карыстальніка і Дадаць у групу
Працэс стварэння новага карыстальніка і дадання да групы, каб забяспечыць ім доступ ўключае ў сябе некалькі этапаў.
- Сінтаксіс для стварэння карыстальніка з'яўляецца IAM-usercreate -u имя_пользователя [-p PATH] [-g ГРУПЫ ...] [-k] [-v], дзе р, -g, -k і -v варыянты. Поўная дакументацыя на інтэрфейсе каманднага радка даступная на AWS Docs.
- Калі вы хочаце стварыць карыстальніка «боб», вы павінны ўвесці, IAM-usercreate -u ЛПП -g awesomeusers у камандным радку.
- Вы можаце праверыць, што карыстальнік быў створаны правільна, увёўшы IAM-grouplistusers -g awesomeusers у камандным радку. Калі б вы толькі стварылі гэтага карыстальніка, то вынік будзе нешта накшталт «Арн: AWS: IAM :: 123456789012: карыстальніка / боб», дзе колькасць з'яўляецца вашым нумарам рахункі AWS.
Стварэнне ўваходу профілю і стварэння ключоў
На дадзены момант, вы стварылі карыстальніка, але вы павінны даць ім спосаб фактычна дадаваць і выдаляць аб'екты з S3.
Ёсць 2 варыянты, даступныя даць карыстальнікам доступ да S3, выкарыстоўваючы IAM. Вы можаце стварыць Увайсці Профіль і даць карыстальнікам з дапамогай пароля. Яны могуць выкарыстоўваць свае ўліковыя дадзеныя для ўваходу ў Amazon AWS Console. Іншы варыянт, каб даць карыстальнікам ключ доступу і сакрэтны ключ. Яны могуць выкарыстоўваць гэтыя ключы ў 3 прылады іншых вытворцаў, такіх як S3 Fox, марошка S3 Explorer, або S3 Browser.
Стварыць Увайсці Профіль
Стварэнне профілю Уваход для карыстальнікаў S3 забяспечвае іх імя карыстальніка і пароль, якія яны могуць выкарыстоўваць для ўваходу ў Amazon AWS Console.
- Сінтаксіс для стварэння профілю ўваходу ў IAM-useraddloginprofile -u имя_пользователя -p пароль. Поўная дакументацыя на інтэрфейсе каманднага радка даступная на AWS Docs.
- Калі вы хочаце, каб стварыць профіль ўваходу для карыстальніка «боб», вы павінны ўвесці, IAM-useraddloginprofile -u боб -p пароль у камандным радку.
- Вы можаце праверыць, што профіль Увайсці быў створаны правільна, увёўшы IAM-usergetloginprofile -u боб у камандным радку. Калі вы стварылі профіль для ўваходу ў карэ, то вынік будзе нешта накшталт «існуе Увайсці Профіль для карыстальніка боба».
стварэнне ключоў
Стварэнне ключа доступу AWS Secret і адпаведны AWS Access Key ID дазволіць карыстальнікам выкарыстоўваць праграмнае забеспячэнне 3 ўдзельніка, як тыя, згаданыя вышэй. Майце на ўвазе, што ў якасці меры бяспекі, вы можаце толькі атрымаць гэтыя ключы ў працэсе дадання профілю карыстальніка. Пераканайцеся, што вы скапіяваць і ўставіць вывад з каманднага радка і захаваць у тэкставым файле. Вы можаце адправіць файл на карыстальніка.
- Сінтаксіс для дадання ключоў для карыстальніка з'яўляецца паведамленне IAM-useraddkey [-u імя карыстальніка]. Поўная дакументацыя на інтэрфейсе каманднага радка даступная на AWS Docs.
- Калі вы хочаце стварыць ключы для карыстальніка «боб», вы павінны ўвесці IAM-useraddkey -u боб у камандным радку.
- Каманда выведзе ключы, якія будуць выглядаць прыкладна так:
AKIACOOB5BQVEXAMPLE
BvQW1IpqVzRdbwPUirD3pK6L8ngoX4PTEXAMPLE
Першы радок з'яўляецца Access Key ID і другая лінія Сакрэтнай ключ доступу. Вам трэба як для праграмнага забеспячэння 3-ці партыі.
тэст доступу
Зараз, калі вы стварылі IAM групы / карыстальнікаў і з улікам груп доступу з дапамогай палітык, неабходна праверыць доступ.
Доступ да кансолі
Вашы карыстальнікі могуць выкарыстоўваць сваё імя карыстальніка і пароль для ўваходу ў AWS Console. Аднак, гэта не чарговая Увайсці старонка кансолі, якая выкарыстоўваецца для асноўнага рахунку AWS.
Існуе спецыяльны URL, які вы можаце выкарыстоўваць, які будзе прадастаўляць рэгістрацыйную форму для толькі вашай ўліковага запісу Amazon AWS. Вось URL для ўваходу ў S3 для IAM карыстальнікаў.
https://AWS-ACCOUNT-NUMBER.signin.aws.amazon.com/console/s3
AWS-рахунак-НУМАР рэгулярна AWS нумар рахунку. Вы можаце атрымаць, увайшоўшы ў Amazon Web Service Уваход форме. Лагін і націсніце на Лік | Кошт актыўнасці. Ваш нумар рахунку знаходзіцца ў правым верхнім куце. Пераканайцеся, што вы выдаліце злучок. URL будзе выглядаць прыкладна так https://123456789012.signin.aws.amazon.com/console/s3.
Выкарыстанне ключоў доступу
Вы можаце спампаваць і ўсталяваць любога з 3 інструментаў іншых вытворцаў, ужо згаданых у гэтым артыкуле. Калі ласка, увядзіце ідэнтыфікатар ключа доступу і сакрэтны ключ доступу паводле дакументацыі 3 інструмента бокам.
Я настойліва рэкамендую вам стварыць першапачатковы карыстальнік і ёсць, што карыстальнік цалкам праверыць, што яны могуць рабіць усё, што трэба зрабіць у S3. Пасля праверкі аднаго з карыстальнікаў, вы можаце прыступіць да налады ўсіх карыстальнікаў S3.
рэсурсы
Вось некалькі рэсурсаў, каб даць вам лепшае разуменне ідэнтычнасці і доступу да кіравання (IAM).
- Пачатак працы з IAM
- IAM Command Line Toolkit
- Amazon AWS Console
- Генератар AWS палітыкі
- Выкарыстанне AWS Упраўленне ідэнтыфікацыяй і доступам
- Заўвагі да выпуску IAM
- IAM форум
- IAM Пытанні і адказы