Part 1 de 3
El 2011, Amazon va anunciar la disponibilitat del suport AWS Identity & Access Management (IAM) per CloudFront. L'IAM es va llançar el 2010 i va incloure el suport de S3. AWS Identity & Access Management (IAM) us permet tenir diversos usuaris dins d'un compte AWS. Si heu utilitzat els serveis web d'Amazon (AWS), sou conscient que l'única manera de gestionar el contingut a AWS consistia a lliurar el vostre nom d'usuari i contrasenya o claus d'accés.
Aquesta és una preocupació de seguretat real per a la majoria de nosaltres. IAM elimina la necessitat de compartir contrasenyes i claus d'accés.
Canviar constantment la nostra principal contrasenya AWS o generar noves claus és només una solució desordenada quan un membre del personal deixaria el nostre equip. La gestió d'accés i identitat AWS (IAM) va ser un bon inici que permetia comptes d'usuaris individuals amb claus individuals. No obstant això, som un usuari de S3 / CloudFront pel que hem estat observant que CloudFront s'afegeix a l'IAM que finalment va passar.
Vaig trobar que la documentació d'aquest servei estava una mica dispers. Hi ha alguns productes de tercers que ofereixen una gamma de suport per a la Gestió d'Identitat i Accés (IAM). Però els desenvolupadors solen ser econòmics, així que busco una solució gratuïta per gestionar IAM amb el nostre servei Amazon S3.
Aquest article passa pel procés de configuració de la interfície de la línia de comandaments que admet l'IAM i la configuració d'un grup / usuari amb accés S3. Heu de tenir una configuració del compte d'Amazon AWS S3 abans de començar a configurar la Gestió d'identitat i accés (IAM).
El meu article, Usant el Servei d'emmagatzematge senzill d'Amazon (S3), us guiarà pel procés de configuració d'un compte AWS S3.
Aquests són els passos que implica la configuració i implementació d'un usuari en IAM. Està escrit per a Windows, però es pot modificar per usar a Linux, UNIX i / o Mac OSX.
- Instal·leu i configureu la interfície de la línia d'ordres (CLI)
- Crea un grup
- Donar accés al grup a S3 Bucket i CloudFront
- Crea usuari i afegeix al grup
- Crea un perfil d'accés i crea claus
- Accés a prova
Instal·leu i configureu la interfície de la línia d'ordres (CLI)
El IAM Command Line Toolkit és un programa de Java disponible a l'AWS Developers Tools d'Amazon. L'eina us permet executar ordres IAM API des d'una utilitat shell (DOS per a Windows).
- Heu d'executar Java 1.6 o superior. Podeu descarregar la versió més recent de Java.com. Per veure quina versió està instal·lada al vostre sistema Windows, obriu el símbol del sistema i escriviu java -version. Això suposa que java.exe està a la vostra PATH.
- Descarregueu el kit d'eines IAM CLI i descomprimiu-lo en algun lloc del disc local.
- Hi ha 2 fitxers a l'arrel del kit d'eines CLI que necessiteu actualitzar.
- aws-credential.template: aquest fitxer conté les credencials d'AWS. Afegiu AWSAccessKeyId i AWSSecretKey, deseu i tanqueu el fitxer.
- client-config.template : només cal actualitzar aquest fitxer si necessiteu un servidor proxy. Traieu els signes # i actualitzeu ClientProxyHost, ClientProxyPort, ClientProxyUsername i ClientProxyPassword. Deseu i tanqueu el fitxer.
- El següent pas consisteix a afegir variables d'entorn. Anar al tauler de control | Propietats del sistema | Configuració avançada del sistema | Variables del mediambient. Afegiu les següents variables:
- AWS_IAM_HOME : estableixi aquesta variable al directori on vau descomprimir el conjunt d'eines CLI. Si executeu Windows i descomprimiu-lo a l'arrel de la unitat C, la variable seria C: \ IAMCli-1.2.0.
- JAVA_HOME : estableixi aquesta variable al directori on està instal·lat Java. Aquesta seria la ubicació del fitxer java.exe. En una instal·lació normal de Java de Windows 7, això seria com C: \ Archivos de programa (x86) \ Java \ jre6.
- AWS_CREDENTIAL_FILE : Establiu aquesta variable a la ruta i el nom del fitxer de la aws-credential.template que heu actualitzat anteriorment. Si executeu Windows i descomprimiu-lo a l'arrel de la unitat C, la variable seria C: \ IAMCli-1.2.0 \ aws-credential.template.
- CLIENT_CONFIG_FILE : només cal afegir aquesta variable d'entorn si necessiteu un servidor proxy. Si executeu Windows i descomprimiu-lo a l'arrel de la unitat C, la variable seria C: \ IAMCli-1.2.0 \ client-config.template. No afegiu aquesta variable tret que ho necessiti.
- Proveu la instal·lació anant al símbol del sistema i entrant a iam-userlistbypath. Mentre no rebeu cap error, haureu d'anar bé.
Totes les ordres IAM es poden executar des del símbol del sistema. Totes les ordres comencen amb "iam-".
Crea un grup
Hi ha un màxim de 100 grups que es poden crear per a cada compte AWS. Si bé podeu establir permisos en IAM a nivell d'usuari, utilitzar grups seria la millor pràctica. Aquest és el procés per crear un grup en IAM.
- La sintaxi per crear un grup és iam-groupcreate -g GROUPNAME [-p PATH] [-v] on les opcions -p i -v són. La documentació completa sobre la interfície de la línia de comandaments està disponible en AWS Docs.
- Si voleu crear un grup anomenat "awesomeusers", ingressaria, iam-groupcreate -g awesomeusers al símbol del sistema.
- Podeu comprovar que el grup s'ha creat correctament introduint iam-grouplistbypath en el símbol del sistema. Si només haguéssiu creat aquest grup, la sortida seria com "arn: aws: iam :: 123456789012: group / awesomeusers", on el nombre és el vostre número de compte AWS.
Donar accés al grup a S3 Bucket i CloudFront
Les polítiques controlen el que el vostre grup pot fer a S3 o CloudFront. De manera predeterminada, el vostre grup no tindria accés a res a AWS. Vaig trobar la documentació sobre les polítiques d'estar bé, però en crear un grapat de polítiques, vaig fer una mica d'assaig i error per aconseguir que funcionessin de la manera que volia que funcionessin.
Teniu un parell d'opcions per crear polítiques.
Una opció és que els podeu ingressar directament al símbol del sistema. Com que podria crear una política i ajustar-la, per mi semblava més fàcil afegir la política a un fitxer de text i carregar el fitxer de text com a paràmetre amb la comanda iam-groupuploadpolicy. Aquest és el procés que utilitza un fitxer de text i es penja a l'IAM.
- Utilitzeu alguna cosa com el Bloc de notes i introduïu el text següent i deseu el fitxer:
{
"Declaració": [{
"Efecte": "Permetre",
"Acció": "s3: *",
"Recurs":[
"arn: aws: s3 ::: BUCKETNAME",
"arn: aws: s3 ::: BUCKETNAME / *"]
},
{
"Efecte": "Permetre",
"Acció": "s3: ListAllMyBuckets",
"Recurs": "arn: aws: s3 ::: *"
},
{
"Efecte": "Permetre",
"Acció": ["cloudfront: *"],
"Recurs":"*"
}
]
} - Hi ha 3 seccions d'aquesta política. L'efecte s'utilitza per permetre o negar algun tipus d'accés. L'acció són les coses específiques que el grup pot fer. El recurs s'utilitzarà per donar accés als cubs individuals.
- Podeu limitar les accions de manera individual. En aquest exemple, "Acció": ["s3: GetObject", "s3: ListBucket", "s3: GetObjectVersion"], el grup podria enumerar els continguts d'un cub i descarregar objectes.
- La primera secció "Permet" que el grup realitzi totes les accions de S3 per a la barra "BUCKETNAME".
- La segona secció "Permet" al grup enumerar tots els cubs a S3. Ho necessiteu perquè pugueu veure la llista de cubs si utilitzeu alguna cosa així com la consola AWS.
- La tercera secció dóna accés complet al grup a CloudFront.
Hi ha moltes opcions pel que fa a les polítiques de l'IAM. Amazon disposa d'una eina molt genial anomenada AWS Policy Generator. Aquesta eina proporciona una interfície gràfica d'usuari on podeu crear les vostres polítiques i generar el codi real que necessiteu per implementar la política. També podeu consultar la secció d'idioma d'accés a la documentació en línia de l'ús de la documentació d'identitat i accés a AWS.
Crea usuari i afegeix al grup
El procés de crear un nou usuari i afegir-lo a un grup per proporcionar-los l'accés implica un parell de passos.
- La sintaxi per crear un usuari és iam-usercreate -u USERNAME [-p RUTA] [-g GRUPS ...] [-k] [-v] on les opcions -p, -g, -k i -v són. La documentació completa sobre la interfície de la línia de comandaments està disponible en AWS Docs.
- Si voleu crear un "bob" d'usuari, introduïu, iam-usercreate -u bob -g awesomeusers al símbol del sistema.
- Podeu comprovar que l'usuari s'ha creat correctament introduint iam-grouplistusers -g awesomeusers al símbol del sistema. Si només haguéssiu creat aquest usuari, la sortida seria com "arn: aws: iam :: 123456789012: user / bob", on el nombre és el vostre número de compte AWS.
Crea un perfil d'inici de sessió i crea claus
En aquest punt, heu creat un usuari però haureu de proporcionar-los una forma d'afegir i treure objectes de S3.
Hi ha 2 opcions disponibles per proporcionar als usuaris accés a S3 mitjançant IAM. Podeu crear un perfil d'inici de sessió i proporcionar als usuaris una contrasenya. Poden utilitzar les seves credencials per iniciar sessió a la consola Amazon AWS. L'altra opció és donar als usuaris una clau d'accés i una clau secreta. Poden utilitzar aquestes claus en eines de tercers com S3 Fox, CloudBerry S3 Explorer o S3 Browser.
Crea un perfil d'inici de sessió
La creació d'un perfil d'inici de sessió per als usuaris de S3 els proporciona un nom d'usuari i una contrasenya que poden utilitzar per iniciar sessió a la consola Amazon AWS.
- La sintaxi per crear un perfil d'inici de sessió és iam-useraddloginprofile -u USERNAME -p CONTRASEÑA. La documentació completa sobre la interfície de la línia de comandaments està disponible en AWS Docs.
- Si voleu crear un perfil d'inici de sessió per a l'usuari "bob", introduïu, iam-useraddloginprofile -u bob -p PASSWORD al símbol del sistema.
- Podeu comprovar que el perfil d'inici de sessió s'ha creat correctament introduint iam-usergetloginprofile -eu bob en el símbol del sistema. Si haguéssiu creat un perfil d'inici de sessió per a bob, la sortida seria com "Hi ha un perfil d'inici de sessió per a l'usuari bob".
Crea claus
La creació d'una clau d'accés secret de AWS i l'identificador de clau d'accés AWS corresponent permetrà als usuaris utilitzar programari de tercers com els anteriors. Tingueu en compte que, com a mesura de seguretat, només podeu obtenir aquestes claus durant el procés d'afegir el perfil d'usuari. Assegureu-vos que copieu i enganxeu la sortida del símbol del sistema i deseu-lo en un fitxer de text. Podeu enviar el fitxer a l'usuari.
- La sintaxi per afegir claus d'un usuari és iam-useraddkey [-u USERNAME]. La documentació completa sobre la interfície de la línia de comandaments està disponible en AWS Docs.
- Si voleu crear claus per a l'usuari "bob", introduïu iam-useraddkey -eu bob en el símbol del sistema.
- La comanda mostrarà les claus que tindrien aspecte com aquest:
AKIACOOB5BQVEXAMPLE
BvQW1IpqVzRdbwPUirD3pK6L8ngoX4PTEXAMPLE
La primera línia és l'identificador de clau d'accés i la segona línia és la clau d'accés secret. Necessites tant per al programari de tercers.
Accés a prova
Ara que heu creat grups / usuaris de l'IAM i donat accés als grups per mitjà de polítiques, heu de provar l'accés.
Accés a la consola
Els usuaris poden utilitzar el seu nom d'usuari i contrasenya per iniciar sessió a la consola AWS. Tanmateix, aquesta no és la pàgina d'inici de sessió de la consola habitual que s'utilitza per al compte AWS principal.
Hi ha una URL especial que podeu utilitzar que proporcionarà un formulari d'inici de sessió només per al vostre compte d'Amazon AWS. Aquí teniu l'URL per iniciar sessió a S3 per als vostres usuaris de l'IAM.
https://AWS-ACCOUNT-NUMBER.signin.aws.amazon.com/console/s3
El AWS-ACCOUNT-NUMBER és el vostre número de compte AWS habitual. Podeu fer-ho iniciant la sessió al formulari d'inici de sessió del servei web d'Amazon. Accediu i feu clic a Compte | Activitat del compte. El vostre número de compte es troba a l'extrem superior dret. Assegureu-vos que suprimiu els guions. L'URL es veuria com https://123456789012.signin.aws.amazon.com/console/s3.
Ús de claus d'accés
Podeu descarregar i instal·lar qualsevol de les eines de tercers que ja s'esmenten en aquest article. Introduïu el vostre identificador de clau d'accés i la clau d'accés secret per la documentació de l'eina de tercers.
Li recomano que creeu un usuari inicial i que aquest usuari comproveixi completament que poden fer tot el que necessiten fer a S3. Després de verificar un dels vostres usuaris, podeu continuar amb la configuració de tots els vostres usuaris de S3.
Recursos
Aquests són alguns recursos per entendre millor la Gestió d'Identitat i Accés (IAM).
- Introducció a IAM
- IAM Command Line Toolkit
- Amazon AWS Console
- Generador de polítiques AWS
- Ús de la identitat d'AWS i la gestió d'accés
- Notes de la versió de l'IAM
- Fòrums de discussió de l'IAM
- Preguntes freqüents sobre IAM