AWS Solutions Architect · Oppitunti

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.

Oppitunti 2/413 vaihetta

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=MyEC2Role

Luottamuskä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/MyEC2Role

Roolin 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-session

Kä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/AmazonS3ReadOnlyAccess

Kä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.

Aloita maksutta

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

  1. IAM-käyttäjät ja -ryhmät
  2. IAM-roolit ja käytännöt
  3. Vähimpien tarvittavien oikeuksien periaate
  4. IAM:n parhaat käytännöt ja MFA
← Takaisin: AWS Solutions Architect