IAM-roolit ja käytännöt
Kirjoitatte JSON-käytäntöasiakirjoja, liitätte ne rooleihin ja opitte identiteettiin perustuvien ja resurssiin perustuvien käytäntöjen eron.
IAM-roolit ja käytännöt on ilmainen AWS Solutions Architect-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu AWS Solutions Architect-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. AWS Solutions Architect-kurssilla on yhteensä 4 oppituntia.
IAM-käytännöt: käyttöoikeuksien kieli
IAM-käytäntö on JSON-asiakirja, joka määrittää sallitut toiminnot. Jokainen statement sisältää Effect-arvon (Allow tai Deny), Action-arvon ja Resource-arvon. Koodi näyttää esimerkin.
{
'Version': '2012-10-17',
'Statement': [
{
'Effect': 'Allow',
'Action': [
's3:GetObject',
's3:PutObject'
],
'Resource': 'arn:aws:s3:::my-bucket/*'
}
]
}Identiteettiin perustuvat ja resurssiin perustuvat käytännöt
Identiteettiin perustuva käytäntö liitetään käyttäjään tai rooliin, ja se määrittää, mitä tämä voi tehdä. Resurssiin perustuva käytäntö liitetään itse resurssiin, ja se määrittää, kuka voi käyttää sitä.
# Example S3 bucket policy (resource-based)
{
'Version': '2012-10-17',
'Statement': [{
'Effect': 'Allow',
'Principal': {
'AWS': 'arn:aws:iam::123456789012:role/MyAppRole'
},
'Action': 's3:GetObject',
'Resource': 'arn:aws:s3:::my-bucket/*'
}]
}IAM-roolit: väliaikaiset identiteetit
IAM-rooli on identiteetti, jonka otat käyttöön lyhyeksi ajaksi. Se antaa vanhenevat väliaikaiset tunnistetiedot — täydellinen ratkaisu EC2:lle, Lambdalle ja muille palveluille.
# Attach an IAM role to an EC2 instance (instance profile)
aws ec2 associate-iam-instance-profile \
--instance-id i-0abcdef1234567890 \
--iam-instance-profile Name=MyEC2RoleLuottamuskäytännöt: kuka voi ottaa roolin käyttöön
Jokaisella roolilla on luottamuskäytäntö, joka määrittää, kuka saa ottaa sen käyttöön, sekä käyttöoikeuskäytännöt, jotka määrittävät, mitä rooli voi tehdä käyttöönoton jälkeen. Ilman luottamuskäytäntöä ei ole käyttöoikeutta.
# Trust policy for a Lambda execution role
{
'Version': '2012-10-17',
'Statement': [{
'Effect': 'Allow',
'Principal': {
'Service': 'lambda.amazonaws.com'
},
'Action': 'sts:AssumeRole'
}]
}AWS-palveluroolit: EC2 ja Lambda
Kun EC2:n on kutsuttava AWS:ää, anna sille roolin sisältävä instanssiprofiili. Tunnistetiedot vaihtuvat automaattisesti — kovakoodattuja avaimia ei tarvita. Lambda toimii samalla tavalla.
# Retrieve role credentials from EC2 metadata (IMDSv2)
TOKEN=$(curl -X PUT 'http://169.254.169.254/latest/api/token' \
-H 'X-aws-ec2-metadata-token-ttl-seconds: 21600')
curl -H "X-aws-ec2-metadata-token: $TOKEN" \
http://169.254.169.254/latest/meta-data/iam/security-credentials/MyEC2RoleRoolin käyttöönotto tilien välillä
Tilien välinen rooli antaa yhden tilin käyttäjälle mahdollisuuden ottaa toisessa tilissä olevan roolin käyttöön ja käyttää sen resursseja. Näin usean tilin ympäristössä ei tarvitse luoda samoja käyttäjiä jokaiseen tiliin.
# Assume a cross-account role from Account A
aws sts assume-role \
--role-arn arn:aws:iam::999999999999:role/CrossAccountRole \
--role-session-name my-sessionKäytäntöjen ehdot: tarkkarajainen hallinta
Condition lisää käytäntöön ylimääräisiä sääntöjä — esimerkiksi MFA:n vaatimisen tai käytön rajoittamisen tiettyyn IP-alueeseen tai alueeseen. Näin käyttöoikeuksista tulee paljon tarkemmin rajattuja.
# Policy that requires MFA for sensitive actions
{
'Effect': 'Deny',
'Action': ['iam:*', 'cloudtrail:*'],
'Resource': '*',
'Condition': {
'BoolIfExists': {
'aws:MultiFactorAuthPresent': 'false'
}
}
}Käyttöoikeusrajat
Käyttöoikeusraja rajoittaa enimmäiskäyttöoikeudet, joita identiteetillä voi koskaan olla, vaikka jokin käytäntö myöntäisi enemmän. Se toimii turvaverkkona, kun kehittäjien annetaan luoda omia roolejaan.
# Attach a permissions boundary to a user
aws iam put-user-permissions-boundary \
--user-name alice \
--permissions-boundary arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccessKäytäntöjen arviointilogiikka
Kun AWS tarkistaa pyynnön, yksi sääntö on kaikkien muiden yläpuolella: eksplisiittinen Deny estää pyynnön aina. Sen jälkeen jokaisen käytäntökerroksen on sallittava käyttöoikeus.
IAM Policy Simulator
IAM Policy Simulator testaa, voiko identiteetti suorittaa jonkin toiminnon — suorittamatta sitä oikeasti. Se sopii erinomaisesti käyttöoikeuksien vianmääritykseen ennen käyttöönottoa.
# Simulate an IAM policy evaluation via CLI
aws iam simulate-principal-policy \
--policy-source-arn arn:aws:iam::123456789012:user/alice \
--action-names s3:PutObject \
--resource-arns arn:aws:s3:::my-bucket/*Roolit federoitua käyttöä varten
Okta-, Google- tai Active Directory -ympäristöjen ulkopuoliset käyttäjät voivat ottaa rooleja käyttöön federaation (SAML tai OIDC) kautta. Näin voit myöntää miljoonille käyttäjille käyttöoikeuksia ilman yhtäkään IAM-käyttäjää.
Pikatarkistus
Testaa tämän oppitunnin AWS Solutions Architect (SAA-C03) -käsitteiden ymmärtämistäsi.
Oppitunnin yhteenveto
Kerrataan lyhyesti: käytännöt ovat Allow- ja Deny-sääntöjä sisältäviä JSON-määrityksiä, roolit antavat väliaikaisia tunnistetietoja, ja ehdot mahdollistavat tarkkarajaisen hallinnan. Seuraavaksi: vähimpien oikeuksien periaate.
Opi AWS Solutions Architect tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 30
- Oppitunnit
- 120
Usein kysytyt kysymykset
Onko oppitunti ”IAM-roolit ja käytännöt” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa AWS Solutions Architect-oppimispolun 3 oppituntia, myös oppitunnin “IAM-roolit ja käytännöt”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. AWS Solutions Architect-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”IAM-roolit ja käytännöt”?
Kirjoitatte JSON-käytäntöasiakirjoja, liitätte ne rooleihin ja opitte identiteettiin perustuvien ja resurssiin perustuvien käytäntöjen eron. Harjoittelet AWS Solutions Architect-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni AWS Solutions Architect-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin AWS Solutions Architect-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”IAM-roolit ja käytännöt”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä AWS Solutions Architect-oppitunnilla?
Kyllä. Jokainen AWS Solutions Architect-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- IAM-käyttäjät ja -ryhmät
- IAM-roolit ja käytännöt
- Vähimpien tarvittavien oikeuksien periaate
- IAM:n parhaat käytännöt ja MFA