1. rész 3
2011-ben az Amazon bejelentette a CloudFront AWS Identity & Access Management (IAM) támogatásának elérhetőségét. Az IAM 2010-ben indult, és az S3 támogatást is tartalmazta. Az AWS Identity & Access Management (IAM) lehetővé teszi, hogy több felhasználó legyen az AWS-fiókban. Ha használta az Amazon Web Services (AWS) szolgáltatást, tudatában van annak, hogy az AWS tartalmának kezelésének egyetlen módja az Ön felhasználóneve és jelszava, illetve a kulcsok elérése.
Ez egy igazi biztonsági probléma a legtöbbünk számára. Az IAM megszünteti a jelszavak és a hozzáférési kulcsok megosztásának szükségességét.
A legfontosabb AWS jelszó megváltoztatása vagy új kulcsok generálása csak rendetlen megoldás, amikor egy alkalmazott elhagyja a csapatot. Az AWS Identity & Access Management (IAM) jó kezdet volt, amely lehetővé teszi az egyéni felhasználói fiókok egyedi kulcsok használatát. Azonban mi S3 / CloudFront felhasználó vagyunk, ezért figyeltük, hogy a CloudFront hozzá kell adni az IAM-hoz, ami végül megtörtént.
A szolgáltatás dokumentációját egy kicsit szétszórtan találtam. Van néhány harmadik féltől származó termék, amely számos támogatást nyújt az Identity & Access Management (IAM) számára. De a fejlesztők általában takarékosak, ezért ingyenes megoldást keresett az IAM kezelésére az Amazon S3 szolgáltatásunkkal.
Ez a cikk az IAM-t támogató és a S3 hozzáféréssel rendelkező csoportot / felhasználót beállító parancssori interfész létrehozásának folyamatát veszi át. Mielőtt elkezdené az Identity & Access Management (IAM) konfigurálását, rendelkeznie kell egy Amazon AWS S3 fiókbeállítással.
A cikkem, az Amazon Simple Storage Service (S3) használatával átsétálhat az AWS S3 fiók létrehozásának folyamatán.
Itt találhatók az IAM-ben lévő felhasználók telepítésének és végrehajtásának lépései. Ez Windows-ra van írva, de a Linux, a UNIX és / vagy a Mac OSX-ben is alkalmazható.
- Telepítse és konfigurálja a parancssori interfészt (CLI)
- Hozzon létre egy csoportot
- Adja meg a csoportos hozzáférést az S3 Bucket és a CloudFront alkalmazáshoz
- Felhasználó létrehozása és Csoport hozzáadása
- Bejelentkezésprofil létrehozása és kulcsok létrehozása
- Tesztelési hozzáférés
Telepítse és konfigurálja a parancssori interfészt (CLI)
Az IAM Command Line Toolkit egy Java program, amely az Amazon AWS Developers Tools programjában érhető el. Az eszköz lehetővé teszi IAM API parancsok végrehajtását egy shell segédprogramból (DOS for Windows).
- Java 1.6-os vagy újabb verziót kell futtatnia. A legfrissebb verziót a Java.com webhelyről töltheti le. A Windows rendszeren telepített verzió megtekintéséhez nyissa meg a parancssort, és írja be a java -verzióba. Ez azt feltételezi, hogy a java.exe a PATH-ban van.
- Töltsd le az IAM CLI eszköztárat, és húzd ki valahol a helyi meghajtón.
- A CLI eszközkészlet gyökerében 2 fájl van frissítve.
- aws-credential.template: Ez a fájl az AWS hitelesítő adatait tartalmazza. Adja hozzá AWSAccessKeyId és AWSSecretKey elemét, mentse és zárja be a fájlt.
- client-config.template : Csak akkor szükséges frissíteni ezt a fájlt, ha proxykiszolgálóra van szüksége. Távolítsa el a # jelet és frissítse a ClientProxyHost, a ClientProxyPort, a ClientProxyUsername és a ClientProxyPassword parancsot. Mentse és zárja be a fájlt.
- A következő lépés környezeti változók hozzáadása. Menjen a Vezérlőpultra Rendszer tulajdonságai | Haladó rendszerbeállítások Környezeti változók. Adja hozzá a következő változókat:
- AWS_IAM_HOME : Állítsa be ezt a változót azon a könyvtárba, ahol kijavította a CLI eszköztárat. Ha a Windows operációs rendszert futtatja és a C meghajtó gyökerét kicsomagolja, a változó C: \ IAMCli-1.2.0 lenne.
- JAVA_HOME : Állítsa be ezt a változót a könyvtárba, ahol a Java telepítve van. Ez lenne a java.exe fájl helye. Egy normál Windows 7 Java telepítésnél ez olyan lenne, mint a C: \ Program Files (x86) \ Java \ jre6.
- AWS_CREDENTIAL_FILE : Állítsa be ezt a változót az aws-credential.template elérési útjára és fájlnevére, amelyet korábban frissített. Ha Windows operációs rendszert futtat, és kicsomagolja a C meghajtó gyökerén, a változó C: \ IAMCli-1.2.0 \ aws-credential.template lenne.
- CLIENT_CONFIG_FILE : Ezt a környezeti változót csak proxykiszolgáló szükséges. Ha Windows operációs rendszert futtat, és kicsomagolja a C meghajtó gyökerét, a változó C: \ IAMCli-1.2.0 \ client-config.template lenne. Ne add hozzá ezt a változót, csak akkor, ha szüksége van rá.
- Tesztelje a telepítést a Parancssorba való belépéshez és írja be a iam-userlistbypathot. Mindaddig, amíg nem kapsz hibát, akkor jó lehet.
Az IAM parancsok mindegyike futtatható a parancssorból. Minden parancs "iam-" -al kezdődik.
Hozzon létre egy csoportot
Minden egyes AWS-fiókhoz maximum 100 csoport hozható létre. Miközben engedélyeket állíthat be az IAM-ban a felhasználói szinten, a csoportok használata lenne a legjobb gyakorlat. Itt van a folyamat egy csoport létrehozására az IAM-ban.
- A csoport létrehozásának szintaktikája iam-groupcreate -g GROUPNAME [-p PATH] [-v], ahol a -p és -v opciók. A parancssori interfész teljes dokumentációja elérhető az AWS Dokumentumokban.
- Ha "Awesomeusers" nevű csoportot szeretne létrehozni, beírna, iam-groupcreate -g awesomeusers a Command Promptben.
- Ellenőrizheti, hogy a csoport helyesen lett-e létrehozva a iam-grouplistbypath parancs beírásával a parancssorba. Ha csak ezt a csoportot hozta létre, akkor a kimenet "arn: aws: iam :: 123456789012: group / awesomeusers" néven lenne, ahol a szám az AWS számlaszám.
Adja meg a csoportos hozzáférést az S3 Bucket és a CloudFront alkalmazáshoz
A házirendek szabályozzák, hogy a csoport milyen tevékenységeket végezhet az S3 vagy a CloudFront szolgáltatásban. Alapértelmezés szerint a csoport nem férhet hozzá semmihez az AWS-ben. Megállapítottam, hogy a politikák dokumentálása rendben van, de egy marék politikák létrehozásakor keveset próbáltam és hibáztam, hogy a dolgok olyan módon működjenek, ahogy én akartam dolgozni.
Van néhány lehetőség a házirendek létrehozására.
Az egyik lehetőség, hogy beírhatja őket közvetlenül a parancssorba. Mivel létrehozhat egy szabályzatot és módosíthatja azt, számomra könnyebb volt hozzáadni a szabályzatot szövegfájlhoz, majd feltölteni a szöveges fájlt paraméterként a iam-groupuploadpolicy paranccsal. Itt van a folyamat egy szöveges fájl használatával és feltöltés az IAM-ba.
- Használj valami Jegyzettömböt, és írd be a következő szöveget, és mentse a fájlt:
{
"Nyilatkozat":[{
"Effect": "Allow"
"Action": "S3: *"
"Forrás":[
"Arn: AWS: s3 ::: BUCKETNAME"
"Arn: AWS: s3 ::: BUCKETNAME / *"]
},
{
"Effect": "Allow"
"Action": "S3: ListAllMyBuckets"
"Resource": "arn: AWS: s3 ::: *"
},
{
"Effect": "Allow"
"Action": [ "cloudfront: *"],
"Forrás":"*"
}
]
} - Ennek a politikának 3 szakasza van. Az effektus bizonyos típusú hozzáférés engedélyezésére vagy megtagadására szolgál. A cselekvés azok a konkrét dolgok, amelyeket a csoport megtehet. Az erőforrás az egyes vödrökhöz való hozzáférést szolgálja.
- A műveleteket egyenként korlátozhatja. Ebben a példában a "Action": ["s3: GetObject", "s3: ListBucket", "s3: GetObjectVersion"], a csoport képes lenne felsorolni egy vödör tartalmát és letölteni az objektumokat.
- Az első szakasz "Lehetővé teszi", hogy a csoport minden S3 műveletet elvégezzen a "BUCKETNAME" vödörhöz.
- A második részben "Lehetővé teszi", hogy a csoport felsorolja az összes S3 vödröt. Szüksége van rá, hogy valóban láthassa a vödörök listáját, ha olyan dolgot használ, mint az AWS konzol.
- A harmadik részben a csoport teljes hozzáférést biztosít a CloudFronthez.
Rengeteg lehetőség van az IAM-politikákra vonatkozóan. Az Amazon egy nagyon jó eszköz, az AWS Policy Generator néven. Ez az eszköz olyan grafikus felhasználói felületet biztosít, ahol létrehozhatja irányelveit, és létrehozhatja a házirend végrehajtásához szükséges aktuális kódot. Az AWS Identity és Access Management online dokumentációhoz tartozó Access Policy Language (Hozzáférés-politikai nyelv) szakasz is megtekinthető.
Felhasználó létrehozása és Csoport hozzáadása
Az új felhasználó létrehozásának folyamata és egy csoport hozzáadásához való hozzáférése néhány lépést tartalmaz.
- A felhasználó létrehozásának szintaxisa az iam-usercreate -u USERNAME [-p PATH] [-g GROUPS ...] [-k] [-v], ahol a -p, -g, -k és -v opciók. A parancssori interfész teljes dokumentációja elérhető az AWS Dokumentumokban.
- Ha egy "bob" felhasználó létrehozását akarták létrehozni, írja be, iam-usercreate -u bob -g awesomeusers a parancssorba.
- Ellenőrizheti, hogy a felhasználó helyesen lett-e létrehozva, a iam-grouplistaers -g awesomeusers parancsokat a Command Prompt-ban írja be. Ha csak ezt a felhasználót hozta létre, akkor a kimenet "arn: aws: iam :: 123456789012: user / bob" -ként fog megjelenni, ahol a szám az AWS számlaszám.
Jelentkezési profil létrehozása és kulcsok létrehozása
Ezen a ponton létrehozott egy felhasználót, de meg kell adnod nekik azt a módot, hogy ténylegesen felvehess és eltávolítson objektumokat az S3-ból.
Két lehetőség áll rendelkezésre ahhoz, hogy a felhasználók hozzáférjenek az S3-hoz az IAM használatával. Hozzon létre egy bejelentkezési profilt, és adja meg a felhasználóknak jelszavát. Használhatják hitelesítő adataikat az Amazon AWS konzolba való bejelentkezéshez. A másik lehetőség, hogy megadja a felhasználóknak hozzáférési kulcsot és titkos kulcsot. Használhatják ezeket a kulcsokat olyan 3rd party eszközökben, mint az S3 Fox, a CloudBerry S3 Explorer vagy az S3 Browser.
Bejelentkezésprofil létrehozása
Az S3 felhasználóinak bejelentkezési profiljának létrehozása olyan felhasználónevet és jelszót biztosít számukra, amellyel az Amazon AWS konzolba bejelentkezhetnek.
- A bejelentkezési profil létrehozásának szintaxisa a iam-useraddloginprofile -u USERNAME -p PASSWORD. A parancssori interfész teljes dokumentációja elérhető az AWS Dokumentumokban.
- Ha belépési profilt szeretne létrehozni a "bob" felhasználó számára, a parancssorba írja be a iam-useraddloginprofile -u bob -p PASSWORD parancsot.
- Ellenőrizheti, hogy a bejelentkezési profil helyesen lett-e létrehozva a iam-usergetloginprofile -u bob beírásával a parancssorba. Ha létrehoztál egy login profilt a bob számára, akkor a kimenet valami hasonló lenne: "Felhasználó profilja van a felhasználói bobhoz".
Kulcsok létrehozása
Az AWS Secret Access Key és a megfelelő AWS Access Key ID létrehozása lehetővé teszi a felhasználók számára, hogy olyan 3rd party szoftvereket használjanak, mint a korábban említettek. Ne feledje, hogy biztonsági intézkedésként csak ezeket a kulcsokat kaphatja a felhasználói profil hozzáadásakor. Győződjön meg róla, hogy másolja és illessze be a parancsot a parancssorból, és mentse el egy szövegfájlba. A fájlt elküldheti a felhasználónak.
- A felhasználó kulcsainak hozzáadására szolgáló szintaxis a iam-useraddkey [-u USERNAME]. A parancssori interfész teljes dokumentációja elérhető az AWS Dokumentumokban.
- Ha kulcsot akar létrehozni a "bob" felhasználó számára, a iam-useraddkey -u bob parancsot a parancssorba kell beírnia.
- A parancs kiadja a kulcsokat, amelyek így fognak kinézni:
AKIACOOB5BQVEXAMPLE
BvQW1IpqVzRdbwPUirD3pK6L8ngoX4PTEXAMPLE
Az első sor az Access Key ID és a második sor a Secret Access Key. Szükség van mind a 3rd party szoftverre.
Tesztelési hozzáférés
Most, hogy létrehozta az IAM-csoportokat / felhasználókat, és a csoportok számára hozzáférést biztosít a politikák használatához, meg kell vizsgálnia a hozzáférést.
Konzol elérése
A felhasználók felhasználónevét és jelszavát használhatják az AWS konzolba való bejelentkezéshez. Ez azonban nem a rendszeres konzol bejelentkezési oldala, amelyet a fő AWS-fiókhoz használnak.
Van egy speciális URL, amelyet használhat, és amely csak az Amazon AWS-fiókodhoz tartozó bejelentkezési űrlapot biztosít. Itt van az URL, amely az IAM felhasználóinak bejelentkezik S3-ra.
https://AWS-ACCOUNT-NUMBER.signin.aws.amazon.com/console/s3
Az AWS-ACCOUNT-szám a szokásos AWS számlaszám. Ezt úgy érheted el, ha bejelentkezel az Amazon Web Service Sign In űrlapba. Jelentkezzen be és kattintson a Fiók gombra Fiókaktivitás. Fiókod száma a jobb felső sarokban van. Győződjön meg róla, hogy eltávolítja a kötőjeleket. Az URL valami hasonlónak tűnne, mint a https://123456789012.signin.aws.amazon.com/console/s3.
Az Access Keys használata
Lehet letölteni és telepíteni a jelen cikkben említett harmadik fél eszközöket. Adja meg a hozzáférési kulcs azonosítóját és a titkos hozzáférési kulcsot a harmadik fél eszköz dokumentációjánál.
Erősen ajánlom, hogy hozzon létre egy kezdeti felhasználót, és a felhasználó teljes mértékben tesztelje, hogy mindent megteszhetnek az S3-ban. Miután ellenőrizte az egyik felhasználóját, folytathatja az összes S3-felhasználó beállítását.
Erőforrások
Íme néhány erőforrás, amellyel jobban megértheted az Identity & Access Management (IAM) ismereteit.
- Első lépések az IAM-val
- IAM Command Line Toolkit
- Amazon AWS konzol
- AWS Policy Generator
- Az AWS azonosító és az Access Management használata
- IAM kiadási megjegyzések
- IAM vitafórumok
- IAM GYIK