AWS IAM Rolle gegen Gruppe

73

Auf der offiziellen AWS-Website wird die Rolle als Sammlung von Berechtigungen und die Gruppe als Sammlung von Benutzern gelesen. Trotzdem sehen sie für mich gleich aus. Sie hängen Richtlinien an Gruppen oder Rollen an und weisen einem Benutzer dann Gruppen oder Rollen zu. Was genau sind die Unterschiede zwischen Rolle und Gruppe?

Dustin Sun.
quelle

Antworten:

37

AWS-Gruppen sind die Standardgruppen, die Sie als Sammlung mehrerer Benutzer betrachten können, und ein Benutzer kann mehreren Gruppen angehören.

AWS IAM-Rollen sind alle zusammen verschiedene Arten; Sie arbeiten wie einzelne Benutzer, mit der Ausnahme, dass sie hauptsächlich auf den Identitätswechselstil hinarbeiten und mit AWS-API-Aufrufen kommunizieren, ohne die Anmeldeinformationen anzugeben.

Da sich die IAM-Rollen kaum unterscheiden, betone ich nur das. Es gibt verschiedene Arten von IAM-Rollen wie EC2-IAM-Rollen, Lambda usw. Wenn Sie dies in Betracht ziehen, können Sie eine EC2-Instanz mit einer EC2-IAM-Rolle starten. Daher würde für jede AWS API-bezogene Kommunikation kein AWS Access Key oder Secret Key zur Authentifizierung erforderlich sein, sondern die APIs können direkt aufgerufen werden (die lange Antwort lautet jedoch: Sie verwendet STS und recycelt kontinuierlich die Anmeldeinformationen hinter den Kulissen). Die Berechtigungen oder Berechtigungen dessen, was es tun kann, werden durch die IAM-Richtlinien bestimmt, die der IAM-Rolle zugeordnet sind.

Die Lambda-IAM-Rolle funktioniert genauso, außer dass nur die Lambda-Funktion die Lambda-IAM-Rolle usw. verwenden kann.

Naveen Vijay
quelle
8
Das ist falsch. Eine EC2-Instanz mit einer IAM-Rolle verwendet weiterhin Zugriffsschlüssel. Diese werden jedoch (automatisch mithilfe des SDK oder manuell auf andere Weise) aus Instanzmetadaten abgerufen und sind sehr kurzlebig. Weitere Details unter docs.aws.amazon.com/AWSEC2/latest/UserGuide/...
chris
1
Danke Chris - Ich habe die Antwort aktualisiert. Meine ursprüngliche Absicht war es, hervorzuheben, dass ich mich nicht in den Zugangsschlüssel und das Geheimnis einmischen muss.
Naveen Vijay
@chris Also .. In der AWS-Welt kann ich sagen, dass man keine Richtlinie (z. B. S3FullAccess) auf einen Dienst (z. B. EC2) anwenden kann, um auf einen anderen Dienst (z. B. S3) zuzugreifen?
Überaustausch
@overexchange: Das ist genau rückwärts. Sie können eine EC2-Rolle erstellen, einer Instanz zuweisen und dieser Rolle eine oder mehrere Richtlinien zuordnen. Diese Instanz kann dann alles tun, was diese Rolle gewährt. Wenn in Ihrem Beispiel die der ec2-Instanz zugeordnete Rolle S3FullAccess hat, hat die EC2-Instanz vollen S3-Zugriff.
chris
@NaveenVijay Für mich sehen sowohl Rolle als auch Gruppe gleich aus. Beide werden verwendet, um eine Reihe von Richtlinien darzustellen. Während einerseits einer Reihe von "vertrauenswürdigen Entitäten" eine oder mehrere Rollen zugewiesen werden, wird andererseits einer oder mehreren Gruppen eine Anzahl von "Benutzern" zugewiesen. Welche Gruppen für Benutzer sind, sind die Rollen für vertrauenswürdige Entitäten.
Ken Russell
67

Kurze Antwort für Googler: Sie können dem Benutzer keine Rolle zuweisen.

  • Gruppe ist eine Gruppe von Benutzern mit denselben Richtlinien
  • Rolle ist eine Voreinstellung von Richtlinien für Dienste.

Benutzer können Rollen gemäß AWS-Dokumenten übernehmen:

Eine Rolle übernehmen

Raz
quelle
23
Sie können dem Benutzer keine Rolle zuweisen, war der Schlüsselsatz, der mich den Unterschied zwischen ihnen erkennen ließ. Die Rolle ist eine Möglichkeit, Berechtigungen für jemanden bereitzustellen (einen Kunden, Lieferanten, Auftragnehmer, Mitarbeiter, eine EC2-Instanz, eine externe Anwendung außerhalb von AWS, die versucht, Ihre Dienste zu nutzen), ohne einen Benutzer dafür zu erstellen.
Alisson
2
Mir scheint, dass IAM-Rollen alle Anwendungsfälle von IAM-Gruppen abdecken. Wenn Sie eine IAM-Gruppe für einen Benutzer wünschen, erstellen Sie einfach eine IAM-Rolle mit derselben Richtlinie und lassen Sie den Benutzer die Rolle übernehmen. Warum brauchen wir dann die IAM Group?
Franklin Yu
2
Was ist der Unterschied zwischen dem "Zuweisen" einer Rolle zu einem Benutzer und dem "Übernehmen" einer Rolle durch einen Benutzer? Ich würde nicht sagen, dass Sie einem Benutzer auch eine Gruppe zuweisen könnten.
Papiro
2
@papiro unter der Annahme, dass es sich um eine vorübergehende manuelle Aktion handelt, während das Hinzufügen zu einer Gruppe dauerhaft ist
Raz
11

Benutzer: Endbenutzer ( Think People ).

Gruppen: Eine Sammlung von Benutzern mit einer Berechtigung ( Berechtigung als Richtlinie ). Gemäß den IAM-Standards erstellen wir Gruppen mit Berechtigungen und weisen dieser Gruppe dann Benutzer zu.

Rolle: Sie erstellen Rollen und weisen sie der AWS-Ressource zu (ein AWS-Ressourcenbeispiel kann ein Kunde, Lieferant, Auftragnehmer, Mitarbeiter, eine EC2-Instanz oder eine externe Anwendung außerhalb von AWS sein ). Denken Sie jedoch daran, dass Sie dem Benutzer keine Rolle zuweisen können.

Nicht nur Benutzer werden sich anmelden, manchmal benötigen Anwendungen Zugriff auf AWS-Ressourcen. Beispielsweise muss eine EC2-Instanz möglicherweise auf einen oder mehrere S3-Buckets zugreifen. Anschließend muss eine IAM-Rolle erstellt und an die EC2-Instanz angehängt werden. Diese Rolle kann von verschiedenen EC2-Instanzen wiederverwendet werden.

Denken Sie daran: Gruppen sind zum Leben da. Rollen sind für Nichtlebende.

RishiKesh Pathak
quelle
1
Was tun Sie Rollen zuweisen dann?
Noldorin
In Punkt 3 erstellen Sie eine Rolle und weisen sie der AWS-Ressource zu.
RishiKesh Pathak
Entschuldigung, ich wollte die obige Antwort nicht kommentieren, nicht deine. Jetzt, wo ich deine sehe, ist es klar.
Noldorin
1

Ich war die ganze Zeit verwirrt über den Unterschied zwischen diesen beiden Funktionen.

Zusamenfassend,

Die Rolle ist wie ein Tag mit allen voreingestellten Richtlinien, die an IAM-Benutzer / -Gruppen oder AWS-Services angehängt werden können. IAM-Benutzer teilen dasselbe Konto mit dem Root-Benutzer des Kontos (Admin), jedoch mit den vom Root-Benutzer zugewiesenen Berechtigungen zur Verwendung von AWS-Ressourcen in diesem Konto.

Daher können IAM-Benutzer direkt mit AWS-Diensten interagieren. Während IAM-Rollen keine direkten Anforderungen an AWS-Services stellen können, sollen sie von autorisierten Entitäten wie einem IAM-Benutzer oder einer Instanz übernommen werden. https://aws.amazon.com/iam/faqs/

max9watt
quelle
0

Es kann jeweils nur eine IAM-Rolle übernommen werden! Und es gibt verschiedene Situationen, die genau zu dieser Art von Erlaubnis passen.

Lesen Sie die FAQ über: Wie viele IAM-Rollen kann ich übernehmen?

Das verwendete Unterlagetool ist "Berechtigung" in beiden Anwendungsfällen, nämlich: Gruppen- und IAM-Rolle.

Gruppen- oder IAM-Rolle -> Hat Richtlinie -> Richtlinie definiert Berechtigungen -> Berechtigungen werden einer Gruppen- oder IAM-Rolle zugewiesen .

Nirmal
quelle