APRAŠYMAS
IAM (Identity and Access Management) yra AWS paslauga prieigos prie išteklių valdymui. Tinkamas IAM konfigūravimas yra kritiškai svarbus paskyros saugumui. Šioje pamokoje mes nustatysime vartotojus, grupes, prieigos politikas ir daugiafaktorę autentifikaciją.
KĄ SUŽINOSITE
Kas yra IAM ir kodėl tai svarbu
Skirtumas tarp Root user ir IAM users
Kaip kurti vartotojus ir grupes
Kaip priskirti teises per politikas
Slaptažodžių politikos konfigūravimas
MFA įjungimas paskyros apsaugai
KAS YRA IAM
IAM (Identity and Access Management) yra nemokama AWS paslauga valdymui:
– Vartotojai (Users)
– Grupės (Groups)
– Vaidmenys (Roles)
– Prieigos politikos (Policies)
PAGRINDINĖS SĄVOKOS
ROOT USER
Paskyra sukurta registruojantis AWS
Turi visišką prieigą prie visų išteklių
Susieta su el. paštu ir kredito kortele
NETURĖTŲ būti naudojama kasdieniniam darbui
Naudojama tik kritinėms užduotims
IAM USER
Papildomi vartotojai sukurti IAM
Turi ribotą prieigą
Gali turėti slaptažodį konsolei
Gali turėti Access Keys programinei prieigai
Naudojami kasdieniniam darbui
IAM GROUP
IAM vartotojų kolekcija
Supaprastina teisių valdymą
Politikos priskiriamos grupei, o ne kiekvienam vartotojui
IAM POLICY
JSON dokumentas apibrėžiantis prieigos teises
Gali būti priskirtas vartotojui, grupei ar vaidmeniui
AWS teikia paruoštas managed policies
IAM ROLE
Laikina tapatybė AWS paslaugoms
Neturi nuolatinių credentials
Naudojamas paslaugų prieigai prie kitų paslaugų
PRIEIGA PRIE IAM PASLAUGOS
Prisijunkite prie AWS Management Console
Paieškos juostoje įrašykite „IAM”
Arba raskite Services meniu po Security, Identity & Compliance
Spauskite „IAM”
IAM DASHBOARD
Po įėjimo į IAM pamatysite Dashboard su saugumo rekomendacijomis:
Security recommendations:
1. Add MFA for root user
2. Create individual IAM users
3. Use groups to assign permissions
4. Apply IAM password policy
5. Enable CloudTrail
INDIVIDUALIZUOTO PRISIJUNGIMO URL KONFIGŪRAVIMAS
Numatytasis URL IAM vartotojo prisijungimui:
https://YOUR-ACCOUNT-ID.signin.aws.amazon.com/console
Galite sukurti skaitomą alias (slapyvardį).
KAIP SUKURTI ALIAS
IAM Dashboard raskite „AWS Account”
Spauskite „Create account alias”
Įveskite unikalų pavadinimą (pvz.: adv-it, mycompany-aws)
Pavadinimas turi būti globaliai unikalus
Spauskite „Create alias”


Naujas URL bus:
https://your-alias.signin.aws.amazon.com/console
Šį URL galima duoti darbuotojams prieigai prie AWS konsolės.
SLAPTAŽODŽIŲ POLITIKOS KONFIGŪRAVIMAS
Slaptažodžių politika apibrėžia IAM vartotojų slaptažodžių reikalavimus.
KAIP KONFIGŪRUOTI PASSWORD POLICY
IAM Dashboard pasirinkite „Account settings”
Spauskite „Edit” skyriuje „Password policy”
REKOMENDUOJAMI NUSTATYMAI
Minimum password length: 12 simbolių (minimum)
Require at least one uppercase letter
Require at least one lowercase letter
Require at least one number
Require at least one non-alphanumeric character
Enable password expiration: 90 dienų
Password expiration requires administrator reset: Išjungti
Allow users to change their own password: Įjungti
Prevent password reuse: Remember last 5 passwords

Spauskite „Save changes”
IAM VARTOTOJŲ KŪRIMAS
Sukursime du administratorius ir du kūrėjus.
1 ŽINGSNIS: PIRMŲ VARTOTOJŲ KŪRIMAS
IAM pasirinkite „Users” kairiame meniu
Spauskite „Create user”
Sukurkite vartotoją admin1:
User name: admin1
Pasirinkite prieigos tipą:
Provide user access to the AWS Management Console
I want to create an IAM user
Custom password: Įveskite slaptažodį (pvz.: MyPassword123!)
Users must create a new password at next sign-in: Pažymėti

Spauskite „Next”
2 ŽINGSNIS: ADMINISTRATORS GRUPĖS KŪRIMAS
Pasirinkite „Add user to group”
Spauskite „Create group”

Group name: Administrators
Pasirinkite politiką: AdministratorAccess
AdministratorAccess aprašymas:
Provides full access to AWS services and resources

Spauskite „Create user group”
Pasirinkite grupę „Administrators”
Spauskite „Next”
Peržiūra ir „Create user”
3 ŽINGSNIS: ANTRO ADMINISTRATORIAUS KŪRIMAS
Pakartokite procesą admin2
Pridėkite į grupę Administrators
VARTOTOJO INFORMACIJA
Po sukūrimo pamatysite:
Console sign-in URL: https://your-alias.signin.aws.amazon.com/console
User name: admin1
Console password: nurodytas slaptažodis
Svarbu: Išsaugokite šią informaciją arba atsiųskite vartotojui
DEVELOPERS GRUPĖS KŪRIMAS
1 ŽINGSNIS: GRUPĖS KŪRIMAS
IAM pasirinkite „User groups”
Spauskite „Create group”
Group name: Developers
2 ŽINGSNIS: POLITIKŲ PASIRINKIMAS
Kūrėjams galite pasirinkti kelias politikas:
Bazinė prieiga:
PowerUserAccess – visišką prieiga išskyrus IAM ir Organizations
Arba selektyvios politikos:
AmazonEC2FullAccess – visišką EC2 prieiga
AmazonS3FullAccess – visišką S3 prieiga
AmazonRDSFullAccess – visišką RDS prieiga
AWSCodeCommitFullAccess – visišką CodeCommit prieiga
Pavyzdžiui pasirinkite AmazonEC2FullAccess
Spauskite „Create group”
3 ŽINGSNIS: KŪRĖJŲ KŪRIMAS
Sukurkite vartotoją developer1:
User name: developer1
Console access: Įjungti
Custom password: DevPass123!
Require password change: Įjungti
Add to group: Developers
Sukurkite developer2 panašiai

PROGRAMINĖ PRIEIGA (ACCESS KEYS)
KAS YRA ACCESS KEY
Access Key yra slaptų raktų pora, leidžianti programoms dirbti su AWS vartotojo vardu.
Susideda iš dviejų dalių:
Access Key ID – vieša dalis (pvz.: AKIAIOSFODNN7EXAMPLE)
Secret Access Key – slapta dalis (pvz.: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY)
KAM REIKALINGI
Be Access Keys neįmanoma naudoti:
AWS CLI – AWS valdymas per komandinę eilutę
AWS SDK – programų rašymas, kurios dirba su AWS (Python, JavaScript, Java ir t.t.)
AWS API – tiesioginės HTTP užklausos į AWS
Pavyzdžiui:
Rašote Python skriptą, kuris kuria EC2 instancijas
Norite valdyti S3 per terminalą
Konfiguruojate CI/CD pipeline automatiniam deployment’ui
SVARBU SUPRASTI
Vienas Access Key veikia viskam: CLI, SDK, API
Galima sukurti iki 2 Access Keys vienam vartotojui
Access Keys = slaptažodis programoms (saugoti paslaptyje!)
KAIP SUKURTI ACCESS KEY
Eikite į vartotoją (pvz., developer1)
Pasirinkite „Security credentials” kortelę
Spauskite „Create access key”

AWS paklaus: kam planuojate naudoti šį raktą?
Pasirinkite VIENĄ pagrindinį use case:
Command Line Interface (CLI)
Darbui su AWS per terminalą komandomis kaip: aws s3 ls
Local code
Vietiniam aplikacijų kūrimui kompiuteryje
Application running on an AWS compute service
Aplikacijoms, kurios veikia EC2 ar Lambda
(Dėmesio: EC2/Lambda geriau naudoti IAM Roles, ne Access Keys!)
Third-party service
Trečiųjų šalių paslaugoms, kurioms reikalinga prieiga prie jūsų AWS
Application running outside AWS
Aplikacijoms, kurios veikia kitame cloud’e ar savo serveriuose
Other
Kiti naudojimo atvejai
MOKYMUISI PASIRINKITE: Command Line Interface (CLI)
SVARBU ŽINOTI
Use case pasirinkimas – tai tik žymė AWS statistikai
AWS nori suprasti, kaip naudojami raktai
Pasirinkimas NERIBOJA rakto naudojimo
Po sukūrimo raktas veikia visur: CLI, SDK, API vienu metu
Pavyzdys: pasirinkote „CLI”, bet tas pats raktas puikiai veikia Python kode
Pažymėkite: „I understand the above recommendation”
Spauskite „Next”

Description tag: CLI access for development
Spauskite „Create access key”
SVARBU: ACCESS KEY SAUGUMAS
Pamatysite:
Access key ID: AKIAIOSFODNN7EXAMPLE
Secret access key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
KRITIŠKAI SVARBU:
Secret access key rodomas tik vieną kartą
Atsisiųskite .csv failą su raktais
Niekada nepublikuokite raktų kode ar GitHub
Reguliariai keiskite raktus
Ištrinkite nenaudojamus raktus
PRIEIGOS TIPAI
CONSOLE ACCESS
Prieiga per AWS Management Console žiniatinklio sąsają
Reikalauja username ir password
Apsaugota MFA
PROGRAMINĖ PRIEIGA
Prieiga per AWS CLI, SDK, API
Reikalauja Access Key ID ir Secret Access Key
Naudojama kode ir skriptuose
KOMBINUOTA PRIEIGA
Vartotojas gali turėti abu prieigos tipus vienu metu
MFA KONFIGŪRAVIMAS (MULTI-FACTOR AUTHENTICATION)
MFA prideda papildomą saugumo lygį – reikalauja ne tik slaptažodžio, bet ir laikino kodo.
MFA TIPAI AWS
1. AUTHENTICATOR APP (Virtual MFA)
Google Authenticator
Microsoft Authenticator
Authy
1Password
Nemokamai
2. FIDO SECURITY KEY
Yubikey
Fizinis USB raktas
Apie $20-50
3. HARDWARE TOKEN
Gemalto token
Fizinis įrenginys
Apie $100+
Rekomenduojame: Authenticator App (nemokama ir patogi)
MFA ĮJUNGIMAS ROOT USER
IAM Dashboard raskite „Add MFA for root user”
Spauskite „Add MFA”

Būsite nukreipti į Account Settings
Spauskite „Assign MFA device”
MFA device name: root-account-mfa
Pasirinkite: Authenticator app

Spauskite „Next”
AUTHENTICATOR APP ĮDIEGIMAS
Telefone įdiekite vieną iš programų:
Android: Google Authenticator, Microsoft Authenticator, Authy
iOS: Google Authenticator, Microsoft Authenticator, Authy
Atidarykite programą
Spauskite „+” arba „Add account”
Pasirinkite „Scan QR code”
AWS konsolėje spauskite „Show QR code”
Nuskaitykite QR kodą telefono kamera
Programoje pasirodys AWS paskyra su 6 skaitmenų kodu
Kodas keičiasi kas 30 sekundžių
MFA KODŲ ĮVEDIMAS
AWS konsolėje įveskite:
MFA code 1: dabartinis kodas (pvz.: 377428)
Palaukite 30 sekundžių naujo kodo
MFA code 2: naujas kodas (pvz.: 295546)
Spauskite „Add MFA”
Atlikta – MFA aktyvuotas root paskyrai
MFA ĮJUNGIMAS IAM VARTOTOJUI
Eikite į IAM Users
Pasirinkite vartotoją (pvz., admin1)
Eikite į „Security credentials” skirtuką
Skyriuje „Multi-factor authentication (MFA)” spauskite „Assign MFA device”
Pakartokite procesą:
Device name: admin1-mfa
Device type: Authenticator app
Nuskaitykite QR kodą
Įveskite du nuoseklius kodus
PRISIJUNGIMAS SU MFA
Po MFA įjungimo prisijungimo procesas:
1. Atidarykite https://your-alias.signin.aws.amazon.com/console
2. Įveskite username ir password
3. Pasirodys MFA code užklausa
4. Atidarykite Authenticator programą
5. Įveskite dabartinį 6 skaitmenų kodą
6. Spauskite „Submit”
AWS MANAGED POLICIES
AWS teikia paruoštas politikas tipiškiems vaidmenims:
ADMINISTRACINĖS
AdministratorAccess – visišką prieiga prie visko
PowerUserAccess – visišką prieiga išskyrus IAM
PASLAUGŲ SPECIFINĖS
AmazonEC2FullAccess – visišką EC2 prieiga
AmazonS3ReadOnlyAccess – tik S3 skaitymas
AmazonRDSFullAccess – visišką RDS prieiga
BILLING
Billing – prieiga prie billing informacijos
JOB FUNCTIONS
DatabaseAdministrator
DataScientist
NetworkAdministrator
SystemAdministrator
SupportUser
INDIVIDUALIOS POLITIKOS
Galite kurti individualias politikas JSON formatu.
POLITIKOS PAVYZDYS
{
„Version”: „2012-10-17”,
„Statement”: [
{
„Effect”: „Allow”,
„Action”: [
„ec2:StartInstances”,
„ec2:StopInstances”
],
„Resource”: „*”
}
]
}
Ši politika leidžia tik EC2 instancijų paleidimą ir sustabdymą.
IAM GERIAUSIOS PRAKTIKOS
MAŽIAUSIŲ PRIVILEGIJŲ PRINCIPAS
Duokite minimalias būtinas teises
Pradėkite nuo minimumo, pridėkite pagal poreikį
Reguliariai peržiūrėkite ir mažinkite teises
NAUDOKITE GRUPES
Nepriskirkite politikų tiesiogiai vartotojams
Kurkite grupes ir pridėkite vartotojus į grupes
Supaprastina valdymą
ĮJUNKITE MFA
Privaloma root paskyrai
Privaloma visiems admin vartotojams
Pageidautina visiems vartotojams
KEISKITE CREDENTIALS
Reguliariai keiskite slaptažodžius (kas 90 dienų)
Keiskite Access Keys (kas 90 dienų)
Ištrinkite nenaudojamus credentials
NENAUDOKITE ROOT
Sukurkite admin IAM vartotoją
Naudokite jį kasdieniniam darbui
Root tik kritinėms užduotims
STEBĖJIMAS
Įjunkite CloudTrail visų veiksmų žurnalų vedimui
Sukonfigūruokite įspėjimus įtartinai veiklai
Reguliariai tikrinkite Access Advisor
ŽYMĖS
Naudokite žymes ištekliams organizuoti
Supaprastina billing ir valdymą
PRAKTINĖS STRUKTŪROS PAVYZDYS
GRUPĖS IR POLITIKOS
Administrators grupė:
Politika: AdministratorAccess
Vartotojai: admin1, admin2
Developers grupė:
Politikos:
AmazonEC2FullAccess
AmazonS3FullAccess
AmazonRDSFullAccess
Vartotojai: developer1, developer2
ReadOnly grupė:
Politika: ReadOnlyAccess
Vartotojai: analyst1, manager1
Billing grupė:
Politika: Billing
Vartotojai: finance1
ORGANIZACIJOS STRUKTŪRA
Root Account (tik kritinėms užduotims)
Admin Users (kasdieninis administravimas)
Developer Users (kūrimas ir testavimas)
ReadOnly Users (peržiūra ir stebėjimas)
NUSTATYMŲ TIKRINIMAS
Po nustatymų užbaigimo IAM Dashboard turėtų rodyti žalias varneles:
Add MFA for root user: Žalia varnelė
Create individual IAM users: Žalia varnelė
Use groups to assign permissions: Žalia varnelė
Apply an IAM password policy: Žalia varnelė
PRIEIGOS TESTAVIMAS
TESTAS 1: PRISIJUNGIMAS KAIP IAM USER
Atidarykite privatų naršyklės langą
Eikite į: https://your-alias.signin.aws.amazon.com/console
Įveskite: admin1 / slaptažodį
Sistema paprašys pakeisti slaptažodį
Įveskite naują slaptažodį
Jei MFA įjungtas – įveskite kodą
TESTAS 2: TEISIŲ TIKRINIMAS
Po prisijungimo kaip admin1:
Bandykite sukurti EC2 instanciją – turėtų veikti
Bandykite prieiti prie IAM – turėtų veikti
Bandykite prieiti prie Billing – turėtų veikti
Po prisijungimo kaip developer1:
Bandykite sukurti EC2 – turėtų veikti (jei davėte teises)
Bandykite keisti IAM – NETURĖTŲ veikti
Bandykite prieiti prie Billing – NETURĖTŲ veikti
SVARBU ŽINOTI
IAM YRA GLOBALUS
IAM nesusietas su regionais
Vartotojai prieinami visuose regionuose
Politikos taikomos globaliai
IAM YRA NEMOKAMAS
IAM paslauga visiškai nemokama
Nėra limitų vartotojams
Nėra limitų grupėms
CREDENTIALS REPORT
IAM teikia Credential Report
Rodo visus vartotojus ir credentials būklę
Naudingas saugumo auditui
Atsisiųsti: IAM > Credential report > Download report
ACCESS ADVISOR
Rodo, kurias paslaugas vartotojas naudojo
Padeda nustatyti nenaudojamas teises
Padeda taikyti Mažiausių Privilegijų Principą
PATIKRINKITE SAVE
1. Kas yra IAM ir kam jis naudojamas?
2. Koks skirtumas tarp Root user ir IAM user?
3. Kodėl nerekomenduojama naudoti Root paskyros kasdieniniam darbui?
4. Kas yra IAM Group ir kam jis reikalingas?
5. Kas yra IAM Policy?
6. Kokie prieigos tipai egzistuoja AWS?
7. Kas yra Access Key ir kada jis naudojamas?
8. Kas yra MFA ir kam jis reikalingas?
9. Kokius MFA tipus palaiko AWS?
10. Ką reiškia „Mažiausių Privilegijų Principas”?
IŠVADOS
IAM yra kritiškai svarbi paslauga AWS saugumui
Root paskyra turėtų būti naudojama tik kritinėms užduotims
Kurkite atskirus IAM vartotojus kiekvienam asmeniui
Naudokite grupes teisių valdymui supaprastinti
Visada įjunkite MFA root ir admin vartotojams
Taikykite mažiausių privilegijų principą
Reguliariai peržiūrėkite ir keiskite credentials
IAM yra visiškai nemokama ir globali paslauga
Kita pamoka: Pirmos EC2 instancijos kūrimas – virtualus serveris debesyje.