Дел 1 од 3
Во 2011 година, Амазон ја објави достапноста на AWS Идентитетот и управување со пристапот (IAM) за CloudFront. IAM беше лансиран во 2010 година и вклучи S3 поддршка. AWS Identity & Access Management (IAM) ви овозможува да имате повеќе корисници во рамките на AWS-сметка. Ако сте користеле Амазон Веб Услуги (AWS), Вие сте свесни дека единствениот начин да управувате со содржината во AWS се вклучени со давање на вашето корисничко име и лозинка или клучеви за пристап.
Ова е вистинска загриженост за безбедноста за повеќето од нас. IAM ја елиминира потребата за споделување на лозинки и клучеви за пристап.
Постојано менување на нашата главна AWS лозинка или генерирање на нови клучеви е само нередно решение кога еден член на персоналот ќе го напушти нашиот тим. AWS Identity & Access Management (IAM) беше добар почеток што им овозможи на индивидуалните кориснички сметки со индивидуални клучеви. Сепак, ние сме корисник на S3 / CloudFront, па затоа гледавме CloudFront да биде додаден на IAM што конечно се случи.
Најдов документација за оваа услуга да биде малку расфрлани. Постојат неколку производи од трета страна кои нудат низа поддршка за Управување со идентитет и пристап (IAM). Но, програмерите се обично штедливи, па баравме бесплатно решение за управување со IAM со нашата услуга Amazon S3.
Оваа статија поминува низ процесот на поставување на командната линија интерфејс кој поддржува IAM и поставување на група / корисник со S3 пристап. Треба да имате поставување на сметката на Amazon AWS S3 пред да започнете да го конфигурирате идентитетот и управувањето со пристапот (IAM).
Мојата статија, Користење на услугата за едноставна складирање на Амазон (S3), ќе ве води низ процесот на поставување на AWS S3 профил.
Еве ги чекорите за поставување и имплементирање на корисник во IAM. Ова е напишано за Windows, но може да се прилагодите за употреба во Linux, UNIX и / или Mac OSX.
- Инсталирајте и конфигурирајте интерфејс на командната линија (CLI)
- Креирај група
- Дајте пристап до група до S3 Bucket и CloudFront
- Креирај корисник и Додај во групата
- Креирај профил за најавување и Креирај клучеви
- Тест пристап
Инсталирајте и конфигурирајте интерфејс на командната линија (CLI)
Командната линија на командната линија на IAM е програма од Јава која е достапна во AWS Developers Tools Амазон. Алатката ви овозможува да ги извршите командите на IAM API од помош за школка (DOS за Windows).
- Треба да се работи со Java 1.6 или повисоко. Можете да ја преземете најновата верзија од Java.com. За да видите која верзија е инсталирана на вашиот Windows систем, отворете го командната линија и внесете java-верзија. Ова претпоставува дека java.exe е во вашата PATH.
- Преземете ја алатката на IAM CLI и отпакувајте некаде на вашиот локален диск.
- Постојат 2 датотеки во коренот на комплетот за CLI што треба да го ажурирате.
- aws-credential.template: Оваа датотека ги содржи вашите AWS сертификати. Додајте го вашиот AWSAccessKeyId и вашиот AWSSecretKey, зачувајте ја и затворете ја датотеката.
- client-config.template : Треба само да ја ажурирате оваа датотека ако ви е потребен прокси-сервер. Отстранете ги # знаците и ажурирајте ClientProxyHost, ClientProxyPort, ClientProxyUsername и ClientProxyPassword. Зачувајте ја и затворете ја датотеката.
- Следниот чекор вклучува додавање на променливи на животната средина. Оди до контролен панел | Својства на системот | Напредни системски поставки | Променливи за животна средина. Додадете ги следниве променливи:
- AWS_IAM_HOME : Поставете ја оваа променлива во директориумот каде што сте го разоткриле комплетот за CLI. Ако користите Windows и го отпакувате во коренот на вашиот C диск, променливата ќе биде C: \ IAMCli-1.2.0.
- JAVA_HOME : Поставете ја оваа променлива во директориумот каде што е инсталирана Java. Ова ќе биде локацијата на датотеката java.exe. Во нормална инсталација на Windows 7 Јава, ова ќе биде нешто како C: \ Program Files (x86) \ Java \ jre6.
- AWS_CREDENTIAL_FILE : Поставете ја оваа променлива до патеката и името на датотеката на aws-credential.template што го надградувавте погоре. Ако користите Windows и го отпакувате во коренот на вашиот C диск, променливата ќе биде C: \ IAMCli-1.2.0 \ aws-credential.template.
- CLIENT_CONFIG_FILE : Треба само да ја додадете оваа променлива на околина ако ви е потребен прокси сервер. Ако користите Windows и го отпакувате во коренот на вашиот C диск, променливата ќе биде C: \ IAMCli-1.2.0 \ client-config.template. Не додавајте ја оваа променлива освен ако ви е потребна.
- Проверете ја инсталацијата со одење во командната линија и внесување на iam-userlistbypath. Додека не добиете грешка, треба да биде добро да одите.
Сите IAM команди може да се стартуваат од командната линија. Сите команди започнуваат со "iam-".
Креирај група
Постои максимум 100 групи кои може да се креираат за секоја AWS сметка. Додека можете да поставите дозволи во IAM на корисничко ниво, користењето на групите ќе биде најдобрата практика. Еве го процесот за создавање на група во IAM.
- Синтаксата за создавање на групата е iam-groupcreate -g GROUPNAME [-p PATH] [-v] каде што -p и -v се опции. Целосна документација за интерфејсот на командната линија е достапна на AWS Docs.
- Ако сакате да создадете група наречена "awesomeusers", ќе влезете, iam-groupcreate -g awesomeusers во командната линија.
- Можете да проверите дали групата е правилно креирана со внесување на iam-grouplistbypath на командната линија. Ако сте ја создале само оваа група, излезот ќе биде нешто како "arn: aws: iam :: 123456789012: group / awesomeusers", каде што бројот е вашиот AWS број на сметката.
Дајте пристап до група до S3 Bucket и CloudFront
Политиките го контролираат она што вашата група може да го направи во S3 или CloudFront. Стандардно, вашата група немаше пристап до ништо во AWS. Најдов документацијата за политики да биде во ред, но во креирањето на неколку политики, направив малку обиди и грешки за да ги направам работите да работат на начинот на кој сакав да работат.
Имате неколку опции за креирање политики.
Една опција е да ги внесете директно во командната линија. Бидејќи можеби создавате политика и ја менувате, за мене ми се чинеше полесно да ја додадете политиката во текстуална датотека, а потоа да ја вчитате текстуалната датотека како параметар со командата iam-groupuploadpolicy. Еве го процесот со користење на текстуална датотека и поставување на IAM.
- Користете нешто како Notepad и внесете го следниов текст и зачувајте ја датотеката:
{
"Изјава": [
"Ефект": "Дозволи",
"Акција": "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 конзола.
- Третиот дел ја дава групата целосен пристап до CloudFront.
Има многу опции кога доаѓаат до IAM полиси. Амазон има навистина кул алатка достапна наречена AWS Policy Generator. Оваа алатка обезбедува GUI каде што можете да креирате свои политики и да генерирате вистински код што ви треба за спроведување на политиката. Исто така, можете да го проверите делот за јазик за пристап до политики за користење на онлајн документацијата за управување со идентификацијата и управување со пристапот на AWS.
Креирај корисник и Додај во групата
Процесот на создавање нов корисник и додавање на група за да им се обезбеди пристап вклучува неколку чекори.
- Синтаксата за создавање на корисник е iam-usercreate -u USERNAME [-p PATH] [-g GROUPS ...] [-k] [-v] каде што -p, -g, -k и -v се опции. Целосна документација за интерфејсот на командната линија е достапна на AWS Docs.
- Ако сакавте да создадете корисник "bob", ќе влезете, iam-usercreate -u bob-g awesomeusers во командната линија.
- Можете да проверите дали корисникот е правилно креиран со внесување на iam-grouplistusers-g awesomeusers во командната линија. Ако сте го создале само овој корисник, излезот ќе биде нешто како "arn: aws: iam :: 123456789012: user / bob", каде што бројот е вашиот AWS број на сметката.
Креирајте профил на најава и креирајте клучеви
Во овој момент, сте создале корисник, но треба да им дадете начин да всушност додадете и отстраните предмети од S3.
Постојат 2 опции за да им овозможите на своите корисници пристап до S3 користејќи IAM. Можете да креирате профил за најавување и да им дадете на своите корисници лозинка. Тие можат да ги користат своите ингеренции за да влезат во конзолата на Амазон AWS. Другата опција е да им даде на своите корисници клуч за пристап и таен клуч. Тие можат да ги користат овие клучеви во алатки од трети лица како S3 Fox, CloudBerry S3 Explorer или S3 Browser.
Креирај профил за профилот
Креирање на профил за најава за вашите корисници на S3 им обезбедува корисничко име и лозинка што тие можат да ги користат за да се најават на конзолата на Amazon AWS.
- Синтаксата за креирање профил за најава е iam-useraddloginprofile -у USERNAME -p пасош. Целосна документација за интерфејсот на командната линија е достапна на AWS Docs.
- Ако сакате да креирате профил за најава за корисникот "bob", ќе внесете, iam-useraddloginprofile -u bob -p PASSWORD на командната линија.
- Можете да проверите дали профилот за најавување е правилно создаден со внесување на iam-usergetloginprofile -u bob во командната линија. Ако сте имале креирано профил за најава за боб, излезот ќе биде нешто како "Профилот за логирање постои за кориснички боб".
Креирај клучеви
Креирање на AWS тајно пристапен клуч и соодветен AWS Access Key ID ќе им дозволат на вашите корисници да користат софтвер од трето лице, како оние претходно споменати. Имајте на ум дека како мерка за безбедност, можете да ги добивате овие клучеви само за време на процесот на додавање на корисничкиот профил. Осигурајте се дека го копирате излезот од командната линија и зачувате во текстуална датотека. Можете да ја испратите датотеката до вашиот корисник.
- Синтаксата за додавање клучеви за корисникот е iam-useraddkey [-u USERNAME]. Целосна документација за интерфејсот на командната линија е достапна на AWS Docs.
- Ако сакате да креирате клучеви за корисникот "bob", ќе внесете iam-useraddkey -u bob во командната линија.
- Командата ќе ги изнесе клучевите кои ќе изгледаат вака:
AKIACOOB5BQVEXAMPLE
BvQW1IpqVzRdbwPUirD3pK6L8ngoX4PTEXAMPLE
Првата линија е Access Key ID, а втората линија е таен клуч за пристап. Ви требаат и за софтвер од трети лица.
Тест пристап
Сега кога сте креирале IAM групи / корисници и им дадовте на групите пристап до користење политики, треба да го тестирате пристапот.
Конзолен пристап
Вашите корисници можат да го користат нивното корисничко име и лозинка за да се најават во AWS конзолата. Сепак, ова не е страница за логирање на конзола која се користи за главната AWS-сметка.
Постои посебен URL, кој можете да го користите, кој ќе ви даде формулар за најава само за вашата сметка на Amazon AWS. Еве URL-то за да се најавите на S3 за вашите IAM корисници.
https://AWS-ACCOUNT-NUMBER.signin.aws.amazon.com/console/s3
AWS-ACCOUNT-NUMBER е вашиот редовен број на сметката AWS. Можете да го добиете ова со најавување во формуларот за влез во веб-сервис на Амазон. Пријавете се и кликнете на Account | Активност на сметка. Бројот на вашата сметка е во горниот десен агол. Бидете сигурни дека ќе ги отстраните цртичките. URL-то ќе изгледа нешто како https://123456789012.signin.aws.amazon.com/console/s3.
Користење на копчиња за пристап
Можете да преземете и инсталирате било која од трети лица алатки веќе споменати во оваа статија. Внесете го клучот за клуч за пристап и клучот за тајниот пристап според документацијата за алатки на трети лица.
Силно препорачувам да креирате почетна корисник и тој корисник целосно да тестира дека тие можат да направат се што треба да направат во S3. Откако ќе потврдите еден од вашите корисници, можете да продолжите со поставување на сите ваши S3 корисници.
Ресурси
Еве неколку ресурси за подобро разбирање на Управувањето со идентитетот и пристапот (IAM).
- Да започнеме со IAM
- IAM командна линија Toolkit
- Амазон AWS конзола
- AWS генератор на политики
- Користење на AWS идентитет и управување со пристап
- Белешки за издавање на IAM
- Форуми за дискусија на IAM
- Најчесто поставувани прашања за IAM