AWS - Taarifa za Msingi
{{#include ../../../banners/hacktricks-training.md}}
Hierarchi ya Shirika
Akaunti
Katika AWS kuna akaunti ya mzizi, ambayo ni konteina ya mzazi kwa akaunti zote za shirika lako. Hata hivyo, huwezi kutumia akaunti hiyo kupeleka rasilimali, unaweza kuunda akaunti nyingine ili kutenganisha miundombinu tofauti za AWS kati yao.
Hii ni ya kuvutia kutoka kwa mtazamo wa usalama, kwani akaunti moja haitakuwa na uwezo wa kufikia rasilimali kutoka akaunti nyingine (isipokuwa madaraja yameundwa mahsusi), hivyo unaweza kuunda mipaka kati ya matumizi.
Kwa hiyo, kuna aina mbili za akaunti katika shirika (tunazungumzia akaunti za AWS na si Akaunti za Mtumiaji): akaunti moja ambayo imewekwa kama akaunti ya usimamizi, na akaunti moja au zaidi za wanachama.
-
Akaunti ya usimamizi (akaunti ya mzizi) ndiyo akaunti unayotumia kuunda shirika. Kutoka kwa akaunti ya usimamizi ya shirika, unaweza kufanya yafuatayo:
-
Kuunda akaunti katika shirika
-
Kualika akaunti nyingine zilizopo katika shirika
-
Kuondoa akaunti kutoka shirika
-
Kudhibiti mialiko
-
Kutumia sera kwa vitu (mizizi, OUs, au akaunti) ndani ya shirika
-
Kuwezesha ujumuishaji na huduma za AWS zinazoungwa mkono ili kutoa kazi za huduma katika akaunti zote za shirika.
-
Inawezekana kuingia kama mtumiaji wa mzizi kwa kutumia barua pepe na nenosiri vilivyotumika kuunda akaunti hii ya mzizi/shirika.
Akaunti ya usimamizi ina majukumu ya akaunti ya kulipa na inawajibika kwa kulipa malipo yote yanayokusanywa na akaunti za wanachama. Huwezi kubadilisha akaunti ya usimamizi ya shirika.
- Akaunti za wanachama zinaunda akaunti zote nyingine katika shirika. Akaunti inaweza kuwa mwanachama wa shirika moja tu kwa wakati mmoja. Unaweza kuambatisha sera kwa akaunti ili kuweka udhibiti kwa akaunti hiyo pekee.
- Akaunti za wanachama zinapaswa kutumia anwani halali ya barua pepe na zinaweza kuwa na jina, kwa ujumla hawawezi kudhibiti bili (lakini wanaweza kupewa ufikiaji wa hiyo).
aws organizations create-account --account-name testingaccount --email testingaccount@lalala1233fr.com
Vitengo vya Shirika
Akaunti zinaweza kuunganishwa katika Vitengo vya Shirika (OU). Kwa njia hii, unaweza kuunda sera za Vitengo vya Shirika ambazo zita wekwa kwenye akaunti zote za watoto. Kumbuka kwamba OU inaweza kuwa na OUs zingine kama watoto.
# You can get the root id from aws organizations list-roots
aws organizations create-organizational-unit --parent-id r-lalala --name TestOU
Service Control Policy (SCP)
A service control policy (SCP) ni sera inayobainisha huduma na vitendo ambavyo watumiaji na majukumu wanaweza kutumia katika akaunti ambazo SCP inahusisha. SCPs ni sawa na sera za ruhusa za IAM isipokuwa kwamba hazitoi ruhusa yoyote. Badala yake, SCPs zinaelezea ruhusa za juu zaidi kwa shirika, kitengo cha shirika (OU), au akaunti. Unapounganisha SCP na mzizi wa shirika lako au OU, SCP inakandamiza ruhusa za viumbe katika akaunti za wanachama.
Hii ndiyo NJIA PEKEE ambayo hata mtumiaji wa mzizi anaweza kuzuiwa kufanya kitu. Kwa mfano, inaweza kutumika kuzuia watumiaji wasizime CloudTrail au kufuta nakala za akiba.
Njia pekee ya kupita hii ni kuathiri pia akaunti ya mkuu inayoweka mipangilio ya SCPs (akaunti ya mkuu haiwezi kuzuiwa).
Warning
Kumbuka kwamba SCPs zinakandamiza tu wakuu katika akaunti, hivyo akaunti nyingine hazihusiki. Hii inamaanisha kuwa kuwa na SCP inayokataza
s3:GetObjecthaitazuia watu kupata mfuko wa S3 wa umma katika akaunti yako.
SCP mifano:
- Kataza akaunti ya mzizi kabisa
- Ruhusu tu maeneo maalum
- Ruhusu tu huduma zilizoorodheshwa
- Kataza GuardDuty, CloudTrail, na S3 Public Block Access kutoka
kuondolewa
- Kataza majukumu ya usalama/mjibu wa tukio kuondolewa au
kubadilishwa.
- Kataza nakala za akiba kuondolewa.
- Kataza kuunda watumiaji wa IAM na funguo za ufikiaji
Pata mifano ya JSON katika https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_examples.html
ARN
Amazon Resource Name ni jina la kipekee kila rasilimali ndani ya AWS ina, imeundwa kama ifuatavyo:
arn:partition:service:region:account-id:resource-type/resource-id
arn:aws:elasticbeanstalk:us-west-1:123456789098:environment/App/Env
Note that there are 4 partitions in AWS but only 3 ways to call them:
- AWS Standard:
aws - AWS China:
aws-cn - AWS US public Internet (GovCloud):
aws-us-gov - AWS Secret (US Classified):
aws
IAM - Usimamizi wa Utambulisho na Ufikiaji
IAM ni huduma itakayokuruhusu kusimamia Uthibitishaji, Idhini na Udhibiti wa Ufikiaji ndani ya akaunti yako ya AWS.
- Uthibitishaji - Mchakato wa kufafanua utambulisho na uthibitisho wa utambulisho huo. Mchakato huu unaweza kugawanywa katika: Utambulisho na uthibitisho.
- Idhini - Inabainisha ni nini utambulisho unaweza kufikia ndani ya mfumo mara tu unapothibitishwa.
- Udhibiti wa Ufikiaji - Njia na mchakato wa jinsi ufikiaji unavyotolewa kwa rasilimali salama.
IAM inaweza kufafanuliwa kwa uwezo wake wa kusimamia, kudhibiti na kuongoza mitambo ya uthibitishaji, idhini na udhibiti wa ufikiaji wa utambulisho kwa rasilimali zako ndani ya akaunti yako ya AWS.
Mtumiaji wa mizizi ya akaunti ya AWS
Unapounda akaunti ya Amazon Web Services (AWS) kwa mara ya kwanza, unaanza na utambulisho mmoja wa kuingia ambao una ufikiaji kamili kwa huduma zote za AWS na rasilimali katika akaunti. Hii ni akaunti ya AWS mtumiaji wa mizizi na inafikiwa kwa kuingia kwa kutumia anwani ya barua pepe na nenosiri ulilotumia kuunda akaunti.
Kumbuka kwamba mtumiaji mpya wa admin atakuwa na idhini ndogo kuliko mtumiaji wa mizizi.
Kutoka kwa mtazamo wa usalama, inapendekezwa kuunda watumiaji wengine na kuepuka kutumia huu.
Watumiaji wa IAM
Mtumiaji wa IAM ni kiumbe ambacho unaunda katika AWS ili wakilisha mtu au programu inayotumia hiyo ili kuingiliana na AWS. Mtumiaji katika AWS unajumuisha jina na ithibati (nenosiri na funguo za ufikiaji hadi mbili).
Unapounda mtumiaji wa IAM, unampa idhini kwa kumfanya kuwa mwanachama wa kundi la watumiaji ambalo lina sera za idhini zinazofaa (inapendekezwa), au kwa kuambatanisha sera moja kwa moja kwa mtumiaji.
Watumiaji wanaweza kuwa na MFA iliyoanzishwa kuingia kupitia console. Tokeni za API za watumiaji walioanzisha MFA hazilindwi na MFA. Ikiwa unataka kudhibiti ufikiaji wa funguo za API za watumiaji kwa kutumia MFA unahitaji kuashiria katika sera hiyo kwamba ili kutekeleza vitendo fulani MFA inahitaji kuwepo (mfano hapa).
CLI
- Kitambulisho cha Funguo za Ufikiaji: 20 ya herufi kubwa za alphanumeric za nasibu kama AKHDNAPO86BSHKDIRYT
- Kitambulisho cha funguo za siri za ufikiaji: 40 ya herufi kubwa na ndogo za nasibu: S836fh/J73yHSb64Ag3Rkdi/jaD6sPl6/antFtU (Haiwezekani kurejesha vitambulisho vya funguo za siri vilivyopotea).
Wakati wowote unahitaji kubadilisha Funguo za Ufikiaji huu ndio mchakato unapaswa kufuata:
&#xNAN;Cunda funguo mpya za ufikiaji -> Tumia funguo mpya kwenye mfumo/programu -> weka ya awali kama isiyo hai -> Jaribu na thibitisha funguo mpya za ufikiaji zinafanya kazi -> Futa funguo za zamani za ufikiaji
MFA - Uthibitishaji wa Vigezo Vingi
Inatumika ku unda kipengele cha ziada kwa uthibitishaji pamoja na mbinu zako zilizopo, kama vile nenosiri, hivyo kuunda kiwango cha uthibitishaji wa vigezo vingi.
Unaweza kutumia programu ya bure ya virtual au kifaa halisi. Unaweza kutumia programu kama uthibitishaji wa google bure kuanzisha MFA katika AWS.
Sera zenye masharti ya MFA zinaweza kuambatanishwa na yafuatayo:
- Mtumiaji wa IAM au kundi
- Rasilimali kama vile ndoo ya Amazon S3, foleni ya Amazon SQS, au mada ya Amazon SNS
- Sera ya kuaminika ya jukumu la IAM ambalo linaweza kuchukuliwa na mtumiaji
Ikiwa unataka kufikia kupitia CLI rasilimali ambayo inaangalia MFA unahitaji kuita GetSessionToken. Hiyo itakupa tokeni yenye taarifa kuhusu MFA.
Kumbuka kwamba AssumeRole ithibati hazina taarifa hii.
aws sts get-session-token --serial-number <arn_device> --token-code <code>
As imesemwa hapa, kuna kesi nyingi tofauti ambapo MFA haiwezi kutumika.
Makundi ya watumiaji wa IAM
Kundi la mtumiaji wa IAM ni njia ya kuunganisha sera kwa watumiaji wengi kwa wakati mmoja, ambayo inaweza kurahisisha usimamizi wa ruhusa za watumiaji hao. Majukumu na makundi hayawezi kuwa sehemu ya kundi.
Unaweza kuunganisha sera inayotegemea utambulisho kwa kundi la mtumiaji ili kwamba watumiaji wote katika kundi la mtumiaji wapate ruhusa za sera. Huwezi kutambua kundi la mtumiaji kama Principal katika sera (kama sera inayotegemea rasilimali) kwa sababu makundi yanahusiana na ruhusa, si uthibitishaji, na wakuu ni entiti za IAM zilizothibitishwa.
Hapa kuna sifa muhimu za makundi ya watumiaji:
- Kundi la mtumiaji linaweza kuwa na watumiaji wengi, na mtumiaji anaweza kuwa sehemu ya makundi mengi.
- Makundi ya watumiaji hayawezi kuingizwa; yanaweza kuwa na watumiaji tu, si makundi mengine ya watumiaji.
- Hakuna kundi la mtumiaji la default ambalo linajumuisha watumiaji wote katika akaunti ya AWS. Ikiwa unataka kuwa na kundi la mtumiaji kama hilo, lazima ulunde na kupewa kila mtumiaji mpya.
- Idadi na ukubwa wa rasilimali za IAM katika akaunti ya AWS, kama vile idadi ya makundi, na idadi ya makundi ambayo mtumiaji anaweza kuwa mwanachama, zimepangwa. Kwa maelezo zaidi, angalia IAM na AWS STS quotas.
Majukumu ya IAM
Jukumu la IAM ni kama mtumiaji, kwa kuwa ni utambulisho wenye sera za ruhusa zinazotambulisha kile kinaweza na hakiwezi kufanya katika AWS. Hata hivyo, jukumu halina akreditif yoyote (nenosiri au funguo za ufikiaji) zinazohusishwa nalo. Badala ya kuwa na uhusiano wa kipekee na mtu mmoja, jukumu linakusudia kuwa linaweza kuchukuliwa na yeyote anayeihitaji (na kuwa na ruhusa za kutosha). Mtumiaji wa IAM anaweza kuchukua jukumu ili kwa muda kuchukua ruhusa tofauti kwa kazi maalum. Jukumu linaweza kupewa mtumiaji wa shirikisho anayeingia kwa kutumia mtoa huduma wa utambulisho wa nje badala ya IAM.
Jukumu la IAM linajumuisha aina mbili za sera: sera ya kuamini, ambayo haiwezi kuwa tupu, inayoeleza nani anaweza kuchukua jukumu, na sera ya ruhusa, ambayo haiwezi kuwa tupu, inayoeleza nini inaweza kufikiwa.
Huduma ya Usalama ya Tokeni ya AWS (STS)
Huduma ya Usalama ya Tokeni ya AWS (STS) ni huduma ya wavuti inayorahisisha utoaji wa akreditif za muda, zenye ruhusa zilizopunguzwa. Imeundwa mahsusi kwa:
Akreditif za muda katika IAM
Akreditif za muda zinatumika hasa na majukumu ya IAM, lakini pia kuna matumizi mengine. Unaweza kuomba akreditif za muda ambazo zina seti ya ruhusa zilizopunguzwa zaidi kuliko mtumiaji wako wa kawaida wa IAM. Hii inaepuka wewe kufanya kazi ambazo haziruhusiwi na akreditif zilizopunguzwa zaidi. Faida ya akreditif za muda ni kwamba zinakoma moja kwa moja baada ya kipindi fulani. Una udhibiti juu ya muda ambao akreditif hizo ni halali.
Sera
Ruhusa za Sera
Zinatumiwa kupewa ruhusa. Kuna aina 2:
- Sera zinazodhibitiwa na AWS (zilizopangwa na AWS)
- Sera Zinazosimamiwa na Wateja: Zimepangwa na wewe. Unaweza kuunda sera kulingana na sera zinazodhibitiwa na AWS (ukibadilisha moja yao na kuunda yako mwenyewe), ukitumia jenereta ya sera (maoni ya GUI yanayokusaidia kutoa na kukataa ruhusa) au kuandika yako mwenyewe.
Kwa default ufikiaji unakataliwa, ufikiaji utawekwa ikiwa jukumu maalum limeainishwa.
Ikiwa "Deny" moja ipo, itazidi "Allow", isipokuwa kwa maombi yanayotumia akreditif za usalama za mizizi ya akaunti ya AWS (ambazo zinaruhusiwa kwa default).
{
"Version": "2012-10-17", //Version of the policy
"Statement": [ //Main element, there can be more than 1 entry in this array
{
"Sid": "Stmt32894y234276923" //Unique identifier (optional)
"Effect": "Allow", //Allow or deny
"Action": [ //Actions that will be allowed or denied
"ec2:AttachVolume",
"ec2:DetachVolume"
],
"Resource": [ //Resource the action and effect will be applied to
"arn:aws:ec2:*:*:volume/*",
"arn:aws:ec2:*:*:instance/*"
],
"Condition": { //Optional element that allow to control when the permission will be effective
"ArnEquals": {"ec2:SourceInstanceARN": "arn:aws:ec2:*:*:instance/instance-id"}
}
}
]
}
The sehemu za kimataifa ambazo zinaweza kutumika kwa masharti katika huduma yoyote zimeandikwa hapa.
Sehemu maalum ambazo zinaweza kutumika kwa masharti kwa kila huduma zimeandikwa hapa.
Sera za Ndani
Aina hii ya sera ni zinazopewa moja kwa moja kwa mtumiaji, kundi au jukumu. Hivyo, hazionekani katika orodha ya Sera kama wengine wanaweza kuzitumia.
Sera za ndani ni muhimu ikiwa unataka kuhifadhi uhusiano mkali wa moja kwa moja kati ya sera na kitambulisho ambacho kimewekwa. Kwa mfano, unataka kuwa na uhakika kwamba ruhusa katika sera hazitapewa kwa bahati mbaya kwa kitambulisho kingine isipokuwa kile ambacho zimekusudiwa. Unapokuwa unatumia sera ya ndani, ruhusa katika sera hiyo haziwezi kuunganishwa kwa bahati mbaya na kitambulisho kibaya. Zaidi ya hayo, unapokuwa unatumia AWS Management Console kufuta kitambulisho hicho, sera zilizoingizwa katika kitambulisho pia zitatolewa. Hiyo ni kwa sababu ni sehemu ya chombo kikuu.
Sera za Rasilimali za Ndoo
Hizi ni sera ambazo zinaweza kufafanuliwa katika rasilimali. Sio rasilimali zote za AWS zinazozipokea.
Ikiwa chombo hakina kukataa waziwazi juu yao, na sera ya rasilimali inawapa ufikiaji, basi wanaruhusiwa.
Mipaka ya IAM
Mipaka ya IAM inaweza kutumika kudhibiti ruhusa ambazo mtumiaji au jukumu linapaswa kuwa na ufikiaji. Kwa njia hii, hata kama seti tofauti za ruhusa zinatolewa kwa mtumiaji na sera tofauti, operesheni itashindwa ikiwa atajaribu kuzitumia.
Mpaka ni sera tu iliyoambatanishwa na mtumiaji ambayo inaonyesha kiwango cha juu cha ruhusa ambacho mtumiaji au jukumu linaweza kuwa nacho. Hivyo, hata kama mtumiaji ana ufikiaji wa Msimamizi, ikiwa mpaka inaonyesha anaweza kusoma tu ndoo za S·, hiyo ndiyo kiwango cha juu anachoweza kufanya.
Hii, SCPs na kufuata kanuni ya ruhusa ndogo ndiyo njia za kudhibiti kwamba watumiaji hawana ruhusa zaidi ya zile anazohitaji.
Sera za Kikao
Sera ya kikao ni sera inayowekwa wakati jukumu linachukuliwa kwa namna fulani. Hii itakuwa kama mpaka wa IAM kwa kikao hicho: Hii inamaanisha kwamba sera ya kikao haitoi ruhusa bali inaweka vizuizi kwa zile zilizoonyeshwa katika sera (ikiwa ruhusa za juu ni zile ambazo jukumu lina).
Hii ni muhimu kwa hatua za usalama: Wakati msimamizi anapokuwa anachukua jukumu lenye mamlaka makubwa anaweza kupunguza ruhusa kuwa zile tu zilizoonyeshwa katika sera ya kikao endapo kikao kitakumbwa na hatari.
aws sts assume-role \
--role-arn <value> \
--role-session-name <value> \
[--policy-arns <arn_custom_policy1> <arn_custom_policy2>]
[--policy <file://policy.json>]
Note that by default AWS inaweza kuongeza sera za kikao kwa vikao ambavyo vitaundwa kwa sababu za tatu. Kwa mfano, katika roles za cognito zisizo na uthibitisho kwa kawaida (kwa kutumia uthibitisho ulioimarishwa), AWS itaunda akiba za kikao zenye sera ya kikao ambayo inakadiria huduma ambazo kikao kinaweza kufikia katika orodha ifuatayo.
Hivyo, ikiwa kwa wakati fulani unakutana na kosa "... kwa sababu hakuna sera ya kikao inayoruhusu ...", na jukumu lina ufikiaji wa kutekeleza kitendo hicho, ni kwa sababu kuna sera ya kikao inayozuia.
Ushirikiano wa Utambulisho
Ushirikiano wa utambulisho unawaruhusu watumiaji kutoka kwa watoa huduma za utambulisho ambao ni nje ya AWS kufikia rasilimali za AWS kwa usalama bila ya kutoa akiba za mtumiaji wa AWS kutoka kwa akaunti halali ya IAM.
Mfano wa mtoa huduma wa utambulisho unaweza kuwa Microsoft Active Directory yako mwenyewe (kupitia SAML) au huduma za OpenID (kama Google). Ufikiaji wa ushirikiano utaweza kuruhusu watumiaji ndani yake kufikia AWS.
Ili kuunda uaminifu huu, Mtoa Huduma wa Utambulisho wa IAM unaundwa (SAML au OAuth) ambao utakuwa na uaminifu kwa jukwaa lingine. Kisha, angalau jukumu moja linapewa (linaloaminika) kwa Mtoa Huduma wa Utambulisho. Ikiwa mtumiaji kutoka kwenye jukwaa lililoaminika anafikia AWS, atakuwa akifikia kama jukumu lililotajwa.
Hata hivyo, kwa kawaida unataka kutoa jukumu tofauti kulingana na kundi la mtumiaji katika jukwaa la upande wa tatu. Kisha, majukumu kadhaa ya IAM yanaweza kuamini Mtoa Huduma wa Utambulisho wa upande wa tatu na jukwaa la upande wa tatu litakuwa lile linaloruhusu watumiaji kuchukua jukumu moja au jingine.

Kituo cha Utambulisho wa IAM
Kituo cha Utambulisho wa AWS IAM (mfuasi wa AWS Single Sign-On) kinapanua uwezo wa Usimamizi wa Utambulisho na Ufikiaji wa AWS (IAM) kutoa mahali pa kati ambalo linaunganisha usimamizi wa watumiaji na ufikiaji wao kwa akaunti za AWS na programu za wingu.
Domeni la kuingia litakuwa kitu kama <user_input>.awsapps.com.
Ili kuingia watumiaji, kuna vyanzo 3 vya utambulisho ambavyo vinaweza kutumika:
- Kituo cha Utambulisho: Watumiaji wa kawaida wa AWS
- Active Directory: Inasaidia viunganishi tofauti
- Mtoa Huduma wa Utambulisho wa Nje: Watumiaji wote na makundi yanatoka kwa Mtoa Huduma wa Utambulisho wa Nje (IdP)

Katika kesi rahisi ya kituo cha utambulisho, Kituo cha Utambulisho kitakuwa na orodha ya watumiaji na makundi na kitakuwa na uwezo wa kutoa sera kwao kwa akaunti yoyote ya shirika.
Ili kutoa ufikiaji kwa mtumiaji/kundi wa Kituo cha Utambulisho kwa akaunti, Mtoa Huduma wa Utambulisho wa SAML unaoaminika Kituo cha Utambulisho utaundwa, na jukumu linaloaminika Mtoa Huduma wa Utambulisho lenye sera zilizotajwa litaundwa katika akaunti ya marudio.
AwsSSOInlinePolicy
Inawezekana kutoa ruhusa kupitia sera za ndani kwa majukumu yaliyoandaliwa kupitia Kituo cha Utambulisho wa IAM. Majukumu yaliyoandaliwa katika akaunti zinazotolewa sera za ndani katika Kituo cha Utambulisho wa AWS yatakuwa na ruhusa hizi katika sera ya ndani inayoitwa AwsSSOInlinePolicy.
Hivyo, hata kama unaona majukumu 2 yenye sera ya ndani inayoitwa AwsSSOInlinePolicy, haimaanishi ina ruhusa sawa.
Uaminifu na Majukumu ya Akaunti Mbalimbali
Mtumiaji (anayeaminika) anaweza kuunda Jukumu la Akaunti Mbalimbali lenye sera fulani na kisha, kuruhusu mtumiaji mwingine (aliyeaminika) kuingia kwenye akaunti yake lakini tu akiwa na ufikiaji ulioainishwa katika sera mpya za jukumu. Ili kuunda hii, tengeneza Jukumu jipya na uchague Jukumu la Akaunti Mbalimbali. Majukumu ya Ufikiaji wa Akaunti Mbalimbali yanatoa chaguzi mbili. Kutoa ufikiaji kati ya akaunti za AWS ambazo unamiliki, na kutoa ufikiaji kati ya akaunti ambayo unamiliki na akaunti ya AWS ya upande wa tatu.
Inapendekezwa kueleza mtumiaji ambaye anaaminika na si kuweka kitu chochote cha jumla kwa sababu vinginevyo, watumiaji wengine walioidhinishwa kama watumiaji wa ushirikiano wataweza pia kutumia uaminifu huu.
AWS Simple AD
Haitambuliwi:
- Mahusiano ya Uaminifu
- Kituo cha Usimamizi wa AD
- Msaada kamili wa PS API
- Kituo cha Recycle cha AD
- Akaunti za Huduma za Kundi
- Upanuzi wa Schema
- Hakuna ufikiaji wa moja kwa moja kwa OS au Mifano
Ushirikiano wa Mtandao au Uthibitishaji wa OpenID
Programu inatumia AssumeRoleWithWebIdentity kuunda akiba za muda. Hata hivyo, hii haitoi ufikiaji kwa console ya AWS, bali ufikiaji tu kwa rasilimali ndani ya AWS.
Chaguzi Nyingine za IAM
- Unaweza kufafanua mipangilio ya sera ya nywila kama urefu wa chini na mahitaji ya nywila.
- Unaweza kupakua "Ripoti ya Akiba" yenye taarifa kuhusu akiba za sasa (kama wakati wa kuunda mtumiaji, ikiwa nywila imewekwa...). Unaweza kuunda ripoti ya akiba mara kwa mara kama mara moja kila saa nne.
Usimamizi wa Utambulisho na Ufikiaji wa AWS (IAM) unatoa udhibiti wa ufikiaji wa kina katika AWS yote. Kwa IAM, unaweza kufafanua nani anaweza kufikia huduma na rasilimali zipi, na chini ya hali zipi. Kwa sera za IAM, unasimamia ruhusa kwa wafanyakazi na mifumo yako ili kuhakikisha ruhusa za chini zaidi.
Awali za ID za IAM
Katika ukurasa huu unaweza kupata awali za ID za IAM za funguo kulingana na asili yao:
| ABIA | Token ya mtoa huduma ya AWS STS |
|---|---|
| ACCA | Akiba maalum ya muktadha |
| AGPA | Kundi la mtumiaji |
| AIDA | Mtumiaji wa IAM |
| AIPA | Profaili ya mfano wa Amazon EC2 |
| AKIA | Funguo ya ufikiaji |
| ANPA | Sera iliyosimamiwa |
| ANVA | Toleo katika sera iliyosimamiwa |
| APKA | Funguo ya umma |
| AROA | Jukumu |
| ASCA | Cheti |
| ASIA | Funguo za ufikiaji za muda (AWS STS) tumia awali hii, lakini ni za kipekee tu kwa pamoja na funguo ya siri ya ufikiaji na tokeni ya kikao. |
Ruhusa zinazopendekezwa kukagua akaunti
Ruhusa zifuatazo zinatoa ufikiaji wa kusoma wa metadata:
arn:aws:iam::aws:policy/SecurityAuditarn:aws:iam::aws:policy/job-function/ViewOnlyAccesscodebuild:ListProjectsconfig:Describe*cloudformation:ListStackslogs:DescribeMetricFiltersdirectconnect:DescribeConnectionsdynamodb:ListTables
Mambo Mengine
Uthibitishaji wa CLI
Ili mtumiaji wa kawaida aidhinishe kwa AWS kupitia CLI unahitaji kuwa na akiba za ndani. Kwa kawaida unaweza kuziunda kwa mikono katika ~/.aws/credentials au kwa kukimbia aws configure.
Katika faili hiyo unaweza kuwa na zaidi ya profaili moja, ikiwa hakuna profaili iliyotajwa kwa kutumia aws cli, ile inayoitwa [default] katika faili hiyo itatumika.
Mfano wa faili la akiba lenye zaidi ya profaili 1:
[default]
aws_access_key_id = AKIA5ZDCUJHF83HDTYUT
aws_secret_access_key = uOcdhof683fbOUGFYEQug8fUGIf68greoihef
[Admin]
aws_access_key_id = AKIA8YDCu7TGTR356SHYT
aws_secret_access_key = uOcdhof683fbOUGFYEQuR2EIHG34UY987g6ff7
region = eu-west-2
If you need to access different AWS accounts and your profile was given access to assume a role inside those accounts, you don't need to call manually STS every time (aws sts assume-role --role-arn <role-arn> --role-session-name sessname) and configure the credentials.
You can use the ~/.aws/config file to indicate which roles to assume, and then use the --profile param as usual (the assume-role will be performed in a transparent way for the user).
Mfano wa faili la usanidi:
[profile acc2]
region=eu-west-2
role_arn=arn:aws:iam::<account-id>:role/<role-path>
role_session_name = <session_name>
source_profile = <profile_with_assume_role>
sts_regional_endpoints = regional
Na faili hii ya usanidi unaweza kutumia aws cli kama:
aws --profile acc2 ...
Ikiwa unatafuta kitu kama hiki lakini kwa browser unaweza kuangalia extension AWS Extend Switch Roles.
Marejeleo
- https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html
- https://aws.amazon.com/iam/
- https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html
{{#include ../../../banners/hacktricks-training.md}}
.png)