Puncte:1

Roluri AWS IAM: Ce este exact o entitate de încredere?

drapel de

Am un rol atașat la o configurație de lansare pentru o instanță EC2, care oferă instanței EC2 privilegii de a face anumite lucruri, cum ar fi să facă jurnalele Cloudwatch (contextul nu este important pentru întrebare). În Cloudformation, rolul arată astfel:

    Tip: „AWS::IAM::Rol”
    Proprietăți:
      AsumeRolePolicyDocument:
        Versiune: '2012-10-17'
        Afirmație:
        - Efect: Permite
          Principal:
            Serviciu: „ec2.amazonaws.com”
          Acțiune: 'sts:AssumeRole'
      Politici:...

Dacă văd Rolul în consola AWS, sub „Relații de încredere” scrie „Entități de încredere: furnizorul (furnizorii) de identitate ec2.amazonaws.com”:


introduceți descrierea imaginii aici


Presupun Cloudformation AssumeRolePolicyDocument.Principal.Service mapează la „Entitatea de încredere” din consolă (care, deoparte, este un mod ciudat de a numi lucrurile, pentru că am citit "Principal" ca având un sens diferit în IAM, dar oricum...). Îmi încordez creierul încercând să pun cap la cap ce se întâmplă. Întrebările mele sunt:

  1. Ce este exact o „entitate de încredere” IAM?
  2. Cum este entitatea „ec2.amazonaws.com” „își asumă rolul”? Conceptul de serviciu „ec2.amazonaws.com” presupunând că rola pur și simplu nu face clic cu mine.
  3. În ce sens este entitatea „ec2.amazonaws.com” este „a furniza identități”?
  4. Unde pot găsi o listă completă a acestor așa-numite entități de încredere?
Puncte:2
drapel gp
Tim
  1. O entitate de încredere este serviciul care poate asuma orice rol dat. Dacă faceți din EC2 entitate de încredere, nu vă puteți asuma rolul de a folosi permisiunile, lambda nu își poate asuma rolul, ci doar o instanță EC2. Majoritatea serviciilor din AWS primesc permisiuni prin asumarea unor roluri. Multe servicii pot configura acest lucru automat pentru dvs., ceea ce este obișnuit atunci când oamenii învață AWS. Când lucrați în medii securizate, configurarea rolurilor și a permisiunilor devine destul de critică. De exemplu, dacă acordați EC2 un rol cu ​​permisiuni de administrator și cineva compromite instanța, acesta are efectiv drepturi de administrator în contul dvs. AWS, motiv pentru care acordați toate resursele/rolurilor cele mai puține permisiuni.
  2. Când configurați o resursă, cum ar fi o instanță EC2 sau o funcție Lambda (etc), îi spuneți ce rol să-l asume. Acea instanță/funcție/etc EC2 are apoi permisiunile asociate rolului.
  3. Aceasta înseamnă doar că unei instanțe EC2 i se permite să își asume acel rol. Când pornește o instanță EC2, aceasta identifică rolul pe care dorește să-l asume. IAM validează rolului i se permite să își asume acel rol și instanței i se permite să pornească.
  4. Există o listă de directori de servicii AWS Aici. Când apăsați „creați rol” în consolă, obțineți o listă cu entități de încredere. Când am nevoie de unul pe care să îl pun în CloudFormation, fac doar clic pe acesta, apoi îl copiez și îl lipesc din json.

AssumeRolePolicyDocument specifică cine își poate asuma rolul. Bănuiesc că puteți specifica mai multe entități care își pot asuma un rol, dar în practică scriu un rol pentru fiecare serviciu.

Vă puteți gândi la roluri IAM similare cu rolurile pe care le au oamenii. Rolul meu de „arhitect pentru compania XYZ” îmi dă permisiuni să intru în birou, să mă conectez la sistem, așa ceva.Dacă îmi asum un rol de polițist, am drepturi suplimentare, cum ar fi să intru într-o secție de poliție, să arestez oameni etc.

spinkus avatar
drapel de
Asta ajută foarte mult, mulțumesc. Q3 este încă un pic de mister pentru mine.Entitatea de serviciu ec2.amazonaws.com oferă ID-urile instanței? Sau este doar că id-urile în acest caz sunt în domeniul ec2, cam așa cum departamentul de poliție oferă identitățile ofițerilor săi? Obțin analogia polițistului, pompierului, arhitectului, dar m-am gândit mai mult că instanța mea ec2 / polițistul *însuși* și-a asumat rolul, nu serviciul ec2 / departamentul de poliție. Pur și simplu nu prea înțeleg conceptul că poliția își asumă un rol :/.
Tim avatar
drapel gp
Tim
În analogie persoana își asumă rolul de polițist, departamentul de poliție nu își asumă un rol. În AWS, instanța EC2 își asumă rolul, nu serviciul EC2. În entitățile de încredere, îi spuneți AWS că instanțe individuale / funcții / etc dintr-un serviciu își pot asuma un rol, nu că serviciul însuși își poate asuma un rol.
Tim avatar
drapel gp
Tim
Mi-a luat destul de mult timp să mă înțeleg cu adevărat pe IAM, este destul de complex. După ce am făcut certificarea de asociat și profesional AWS, am avut o idee destul de bună, dar abia după ce am făcut specialitatea de securitate și apoi am folosit activ IAM în fiecare zi, ca parte a muncii mele, am înțeles-o pe deplin. Chiar și acum mă împiedic ocazional, cu interacțiuni între politica IAM, SCP și politicile de resurse de serviciu. Vă sugerăm să faceți niște instruire AWS, instruirea de specialitate în securitate Cloud Guru acoperă foarte bine acest lucru, dar începeți cu un asociat arhitect.
spinkus avatar
drapel de
„... îi spui lui AWS că instanțe/funcții/etc. individuale dintr-un serviciu își pot asuma un rol, nu că serviciul însuși își poate asuma un rol.” OK, așa am văzut eu intuitiv, dar Consola IAM spune „Următoarele entități de încredere își pot asuma acest rol”, apoi listează un serviciu. Și am observat uneori că „entitate de încredere” *este* de fapt un utilizator (pentru roluri de acces la conturi între organizații).
spinkus avatar
drapel de
Se pare că îmi ia și mie destul de mult timp. Am crezut că l-am prins mai mult sau mai puțin, dar apoi cu cât mă uit mai greu cu atât se destramă mai mult :). voi ajunge acolo. Mersi.
Tim avatar
drapel gp
Tim
Formularea consolei nu este chiar corectă, utilizatorii / instanțe EC2 / funcții lambda / etc sunt cei care își pot asuma roluri. Folosim roluri în mai multe conturi în unele organizații AWS unde avem autentificarea utilizatorilor IAM.(Acest următor bit este mai avansat) În alte organizații care sunt federate cu un furnizor de identitate extern, cum ar fi AD, folosim AWS SSO care creează roluri în fiecare cont pe care utilizatorii le pot asuma.
glitchwizard avatar
drapel br
A fost atât de util, mulțumesc. Am încercat să-mi dau seama cum să identific rolurile latente și asta m-a ajutat să-mi înțeleg destul de bine capul. Avem roluri care sunt vechi, dar nu neapărat complet disparute, cum ar putea fi utilizate la fiecare câțiva ani, așa că identificarea lor cu doar 400 de zile urmărite în mod implicit nu este utilă, având în vedere că pot fi utilizate la fiecare 700 de zile sau cam asa ceva. Acest lucru mă ajută să identific ce servicii își pot asuma rolurile pe baza entităților lor de încredere.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.