Erstellen einer Rolle zum Delegieren von Berechtigungen an einen AWS -Service - AWS Identitäts- und Zugriffsverwaltung

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen einer Rolle zum Delegieren von Berechtigungen an einen AWS -Service

Für viele AWS Dienste müssen Sie Rollen verwenden, damit der Dienst in Ihrem Namen auf Ressourcen in anderen Diensten zugreifen kann. Eine Rolle, die ein Service übernimmt, um Aktionen in Ihrem Namen durchzuführen, wird als Servicerolle bezeichnet. Wenn eine Rolle einem speziellen Zweck für einen Service dient, wird sie als Servicerolle für EC2-Instances (beispielsweise) oder als serviceverknüpfte Rolle kategorisiert. Informationen zu den Services, die serviceverknüpfte Rollen unterstützen, oder zu Services mit einer Form der temporären Anmeldeinformationen finden Sie unter AWS Dienste, die mit IAM funktionieren. Wenn Sie erfahren möchten, wie ein einzelner Service Rollen verwendet, wählen Sie den Servicenamen in der Tabelle aus, um die Dokumentation des jeweiligen Service anzuzeigen.

Wenn Sie die PassRole Berechtigung festlegen, sollten Sie sicherstellen, dass ein Benutzer keine Rolle weitergibt, bei der die Rolle über mehr Berechtigungen verfügt, als Sie dem Benutzer zuweisen möchten. Beispielsweise darf Alice möglicherweise keine Amazon S3 S3-Aktionen ausführen. Wenn Alice eine Rolle an einen Service übergeben könnte, der Amazon S3 S3-Aktionen zulässt, könnte der Service bei der Ausführung des Jobs Amazon S3 S3-Aktionen im Namen von Alice ausführen.

Informationen darüber, wie Rollen Ihnen das Delegieren von Berechtigungen erleichtern, finden Sie unter Rollenbegriffe und -konzepte.

Servicerollen-Berechtigungen

Sie müssen Berechtigungen konfigurieren, damit eine IAM-Entität (Benutzer oder Rolle) eine serviceverknüpfte Rolle erstellen oder bearbeiten kann.

Anmerkung

Der ARN für eine serviceverknüpfte Rolle enthält einen Service-Prinzipal, der in den folgenden Richtlinien als SERVICE-NAME.amazonaws.com angegeben ist. Versuchen Sie nicht, den Service-Prinzipal zu erraten, da es auf Groß- und Kleinschreibung ankommt und das Format je nach AWS -Services variieren kann. Um den Dienstauftraggeber für einen Service zu sehen, sehen Sie sich seine serviceverknüpfte Rollendokumentation an.

So erlauben Sie einer IAM-Entität das Erstellen einer bestimmten serviceverknüpften Rolle

Fügen Sie die folgende Richtlinie der IAM-Entität hinzu, um die Servicerolle zu erstellen. Mit dieser Richtlinie können Sie eine Servicerolle für den angegebenen Service und mit einem bestimmten Namen erstellen. Anschließend können Sie verwaltete oder Inline-Richtlinien an die Rolle anfügen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:CreateRole", "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::*:role/SERVICE-ROLE-NAME" } ] }

So erlauben Sie einer IAM-Entität das Erstellen einer beliebigen Servicerolle

AWS empfiehlt, dass Sie nur administrativen Benutzern das Erstellen von Servicerollen gestatten. Eine Person mit Berechtigungen zum Erstellen einer Rolle und zum Anfügen einer Richtlinie kann ihre eigenen Berechtigungen eskalieren. Erstellen Sie stattdessen eine Richtlinie, die es ihnen ermöglicht, nur die Rollen zu erstellen, die sie benötigen. Oder lassen Sie einen Administrator die Servicerolle in ihrem Namen erstellen.

Verwenden Sie die AdministratorAccess AWS verwaltete Richtlinie, um eine Richtlinie anzuhängen, die es einem Administrator ermöglicht AWS-Konto, auf Ihre gesamte Richtlinie zuzugreifen.

So erlauben Sie einer IAM-Entität das Bearbeiten einer bestimmten Servicerolle

Fügen Sie die folgende Richtlinie der IAM-Entität hinzu, um die Servicerolle zu bearbeiten.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EditSpecificServiceRole", "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:DeleteRolePolicy", "iam:DetachRolePolicy", "iam:GetRole", "iam:GetRolePolicy", "iam:ListAttachedRolePolicies", "iam:ListRolePolicies", "iam:PutRolePolicy", "iam:UpdateRole", "iam:UpdateRoleDescription" ], "Resource": "arn:aws:iam::*:role/SERVICE-ROLE-NAME" }, { "Sid": "ViewRolesAndPolicies", "Effect": "Allow", "Action": [ "iam:GetPolicy", "iam:ListRoles" ], "Resource": "*" } ] }

So erlauben Sie einer IAM-Entität das Löschen einer bestimmten Servicerolle

Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Entität hinzu, um die angegebene Servicerolle zu löschen.

{ "Effect": "Allow", "Action": "iam:DeleteRole", "Resource": "arn:aws:iam::*:role/SERVICE-ROLE-NAME" }

So erlauben Sie einer IAM-Entität das Löschen einer beliebigen Servicerolle

AWS empfiehlt, dass Sie nur Administratorbenutzern das Löschen von Servicerollen gestatten. Erstellen Sie stattdessen eine Richtlinie, mit der sie nur die Rollen löschen können, die sie benötigen, oder dass ein Administrator die Servicerolle in ihrem Namen löscht.

Verwenden Sie die AdministratorAccess AWS verwaltete Richtlinie, um eine Richtlinie anzuhängen, die es einem Administrator ermöglicht AWS-Konto, auf Ihre gesamte Richtlinie zuzugreifen.

Eine Rolle für einen AWS Dienst (Konsole) erstellen

Sie können den verwenden AWS Management Console , um eine Rolle für einen Dienst zu erstellen. Da einige Services mehrere Servicerollen unterstützen, finden Sie in der AWS -Dokumentation für Ihren Service Informationen dazu, welcher Anwendungsfall auszuwählen ist. Sie können erfahren, wie Sie der Rolle die erforderlichen Vertrauens- und Berechtigungsrichtlinien zuweisen, damit der Service die Rolle in Ihrem Namen zuordnen kann. Die Schritte, mit denen Sie die Berechtigungen für Ihre Rolle steuern können, hängen davon ab, wie der Service die Anwendungsfälle definiert und ob Sie eine servicegebundene Rolle anlegen.

Um eine Rolle für eine AWS-Service (IAM-Konsole) zu erstellen
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Klicken Sie im Navigationsbereich der IAM-Konsole auf Rollen, und wählen Sie dann Rolle erstellen.

  3. Wählen Sie für Vertrauenswürdige Entität die Option AWS-Service aus.

  4. Wählen Sie für Service oder Anwendungsfall einen Service und dann den Anwendungsfall aus. Anwendungsfälle werden durch den Service definiert, damit die für den Service erforderliche Vertrauensrichtlinie enthalten ist.

  5. Wählen Sie Weiter aus.

  6. Bei Berechtigungsrichtlinien hängen die Optionen vom ausgewählten Anwendungsfall ab:

    • Wenn der Dienst die Berechtigungen für die Rolle definiert, können Sie keine Berechtigungsrichtlinien auswählen.

    • Wählen Sie aus einer begrenzten Anzahl von Berechtigungsrichtlinien aus.

    • Wählen Sie aus allen Berechtigungsrichtlinien aus.

    • Wählen Sie keine Berechtigungsrichtlinien aus, erstellen Sie die Richtlinien, nachdem die Rolle erstellt wurde, und fügen Sie die Richtlinien dann der Rolle hinzu.

  7. (Optional) Legen Sie eine Berechtigungsgrenze fest. Dies ist ein erweitertes Feature, das für Servicerollen verfügbar ist, aber nicht für servicegebundene Rollen.

    1. Öffnen Sie den Abschnitt Berechtigungsgrenze festlegen und wählen Sie dann Eine Berechtigungsgrenze verwenden aus, um die maximalen Rollenberechtigungen zu steuern.

      IAM enthält eine Liste der AWS verwalteten und kundenverwalteten Richtlinien in Ihrem Konto.

    2. Wählen Sie die Richtlinie aus, die für eine Berechtigungsgrenze verwendet werden soll.

  8. Wählen Sie Weiter aus.

  9. Die Optionen für den Rollennamen hängen vom Dienst ab:

    • Wenn der Dienst den Rollennamen definiert, können Sie den Rollennamen nicht bearbeiten.

    • Wenn der Dienst ein Präfix für den Rollennamen definiert, können Sie ein optionales Suffix eingeben.

    • Wenn der Dienst den Rollennamen nicht definiert, können Sie der Rolle einen Namen geben.

      Wichtig

      Beachten Sie beim Benennen einer Rolle Folgendes:

      • Rollennamen müssen innerhalb Ihres AWS-Konto Unternehmens eindeutig sein und können nicht von Fall zu Fall eindeutig sein.

        Erstellen Sie beispielsweise keine Rollen, die PRODROLE sowohl als auch benannt sindprodrole. Wenn ein Rollenname in einer Richtlinie oder als Teil eines ARN verwendet wird, unterscheidet der Rollenname zwischen Groß- und Kleinschreibung. Wenn Kunden jedoch ein Rollenname in der Konsole angezeigt wird, z. B. während des Anmeldevorgangs, wird die Groß- und Kleinschreibung nicht berücksichtigt.

      • Sie können den Namen der Rolle nicht bearbeiten, nachdem er erstellt wurde, da andere Entitäten möglicherweise auf die Rolle verweisen.

  10. (Optional) Geben Sie unter Beschreibung eine Beschreibung für die Rolle ein.

  11. (Optional) Um die Anwendungsfälle und Berechtigungen für die Rolle zu bearbeiten, wählen Sie in den Abschnitten Schritt 1: Vertrauenswürdige Entitäten auswählen oder Schritt 2: Berechtigungen hinzufügen die Option Bearbeiten aus.

  12. (Optional) Fügen Sie Tags als Schlüssel-Wert-Paare hinzu, um die Rolle leichter zu identifizieren, zu organisieren oder nach ihr zu suchen. Weitere Informationen zur Verwendung von Tags in IAM finden Sie unter Markieren von IAM-Ressourcen im IAM-Benutzerhandbuch.

  13. Prüfen Sie die Rolle und klicken Sie dann auf Create Role (Rolle erstellen).

Erstellen einer Rolle für einen Service (AWS CLI)

Das Erstellen einer Rolle aus der AWS CLI umfasst mehrere Schritte. Wenn Sie die Konsole verwenden, um eine Rolle zu erstellen, werden viele der Schritte für Sie erledigt, aber mit der müssen AWS CLI Sie jeden Schritt explizit selbst ausführen. Sie müssen die Rolle erstellen und ihr dann eine Berechtigungsrichtlinie zuweisen. Wenn der Service, mit dem Sie arbeiten, Amazon EC2 ist, müssen Sie außerdem ein Instance-Profil erstellen und die Rolle diesem Profil hinzufügen. Optional können Sie auch die Berechtigungsgrenze für Ihre Rolle festlegen.

Um eine Rolle für einen AWS Dienst aus dem zu erstellen AWS CLI
  1. Mit dem folgenden Befehl create-role wird eine Rolle mit dem Namen Test-Rolle erstellt und ihr eine Vertrauensrichtlinie zugewiesen:

    aws iam create-role --role-name Test-Role --assume-role-policy-document file://Test-Role-Trust-Policy.json

  2. Fügen Sie der Rolle eine Richtlinie für verwaltete Berechtigungen hinzu: aws iam attach-role-policy.

    Mit dem folgenden Befehl attach-role-policy wird beispielsweise die verwaltete AWS -Richtlinie namens ReadOnlyAccess an die IAM-Rolle namens ReadOnlyRole angehängt:

    aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess --role-name ReadOnlyRole

    or

    Erstellen Sie eine Inline-Berechtigungsrichtlinie für die Rolle: aws iam put-role-policy

    Informationen zum Hinzufügen einer Inline-Berechtigungsrichtlinie finden Sie im folgenden Beispiel:

    aws iam put-role-policy --role-name Test-Role --policy-name ExamplePolicy --policy-document file://AdminPolicy.json

  3. (Optional) Fügen Sie der Rolle benutzerdefinierte Attribute durch Zuweisen von Tags hinzu: aws iam tag-role

    Weitere Informationen finden Sie unter Verwaltung von Tags in IAM-Rollen (AWS CLI oder AWS API).

  4. (Optional) Legen Sie die Berechtigungsgrenze für die Rolle fest: aws iam put-role-permissions-boundary

    Eine Berechtigungsgrenze bestimmt die maximalen Berechtigungen, die eine Rolle haben kann. Bei den Berechtigungsgrenzen handelt es sich um eine erweiterte AWS Funktion.

Wenn Sie die Rolle mit Amazon EC2 oder einem anderen AWS Service verwenden möchten, der Amazon EC2 verwendet, müssen Sie die Rolle in einem Instanzprofil speichern. Ein Instance-Profil ist ein Container für eine Rolle, der beim Start an eine Amazon EC2-Instance angefügt werden kann. Ein Instance-Profil kann nur eine -Rolle enthalten und dieses Limit kann nicht erhöht werden. Wenn Sie die Rolle mithilfe von erstellen AWS Management Console, wird das Instance-Profil mit demselben Namen wie die Rolle für Sie erstellt. Weitere Informationen zu Instance-Profilen finden Sie unter Verwenden von Instance-Profilen. Informationen zum Starten einer EC2-Instance mit einer Rolle finden Sie unter Steuern des Zugriffs auf Amazon EC2 EC2-Ressourcen im Amazon EC2 EC2-Benutzerhandbuch.

So erstellen Sie ein Instance-Profil und speichern die Rolle darin (AWS CLI)
  1. Erstellen Sie ein Instance-Profil: aws iam create-instance-profile

  2. Fügen Sie die Rolle dem Instanzprofil hinzu: aws add-role-to-instance iam -profile

Der folgende AWS CLI Beispielbefehlssatz veranschaulicht die ersten beiden Schritte zum Erstellen einer Rolle und zum Anhängen von Berechtigungen. Es zeigt auch die beiden Schritte zum Anlegen eines Instance-Profils und zum Hinzufügen der Rolle zum Profil. Diese Beispielvertrauensrichtlinie erlaubt dem Amazon EC2-Service, die Rolle zu übernehmen und den example_bucket–Amazon S3-Bucket anzuzeigen. In diesem Beispiel wird auch davon ausgegangen, dass Sie einen Client-Computer mit Windows ausführen und bereits die Befehlszeilenschnittstelle mit den Anmeldeinformationen und der Region für Ihr Konto konfiguriert haben. Weitere Informationen finden Sie unter Konfiguration der AWS Befehlszeilenschnittstelle.

In diesem Beispiel nehmen Sie die folgende Vertrauensrichtlinie in den ersten Befehl auf, wenn Sie die Rolle erstellen. Diese Vertrauensrichtlinie gestattet dem Amazon EC2-Service, die Rolle zu übernehmen.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"Service": "ec2.amazonaws.com"}, "Action": "sts:AssumeRole" } }

Wenn Sie den zweiten Befehl verwenden, müssen Sie der Rolle eine Berechtigungsrichtlinie hinzufügen. Die folgende Beispiel-Berechtigungsrichtlinie gestattet der Rolle nur, die ListBucket-Aktion für den example_bucket Amazon S3-Bucket auszuführen.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::example_bucket" } }

Um diese Test-Role-for-EC2-Rolle zu erstellen, müssen Sie zuvor die vorhergehende Vertrauensrichtlinie mit dem Namen trustpolicyforec2.json und die vorherige Berechtigungsrichtlinie mit dem Namen permissionspolicyforec2.json im policies-Verzeichnis Ihres lokalen C:-Laufwerks speichern. Mit den folgenden Befehlen können Sie dann die Rolle erstellen, die Richtlinie hinzufügen, das Instance-Profil erstellen und die Rolle dem Instance-Profil hinzufügen.

# Create the role and attach the trust policy that allows EC2 to assume this role. $ aws iam create-role --role-name Test-Role-for-EC2 --assume-role-policy-document file://C:\policies\trustpolicyforec2.json # Embed the permissions policy (in this example an inline policy) to the role to specify what it is allowed to do. $ aws iam put-role-policy --role-name Test-Role-for-EC2 --policy-name Permissions-Policy-For-Ec2 --policy-document file://C:\policies\permissionspolicyforec2.json # Create the instance profile required by EC2 to contain the role $ aws iam create-instance-profile --instance-profile-name EC2-ListBucket-S3 # Finally, add the role to the instance profile $ aws iam add-role-to-instance-profile --instance-profile-name EC2-ListBucket-S3 --role-name Test-Role-for-EC2

Wenn Sie die EC2-Instance starten, geben Sie den Namen des Instance-Profils auf der Seite „Instanzdetails konfigurieren“ an, wenn Sie die AWS Konsole verwenden. Wenn Sie den CLI-Befehl aws ec2 run-instances verwenden, legen Sie den --iam-instance-profile-Parameter fest.

Erstellen einer Rolle für einen Service (AWS -API)

Das Erstellen einer Rolle über die AWS API umfasst mehrere Schritte. Wenn Sie eine Rolle mithilfe der Konsole erstellen, werden viele Schritte automatisch abgeschlossen. In API müssen Sie diese Schritte jedoch manuell ausführen. Sie müssen die Rolle erstellen und ihr dann eine Berechtigungsrichtlinie zuweisen. Wenn der Service, mit dem Sie arbeiten, Amazon EC2 ist, müssen Sie außerdem ein Instance-Profil erstellen und die Rolle diesem Profil hinzufügen. Optional können Sie auch die Berechtigungsgrenze für Ihre Rolle festlegen.

Um eine Rolle für einen AWS Dienst (AWS API) zu erstellen
  1. Eine Rolle erstellen: CreateRole

    Für die Vertrauensrichtlinie der Rolle können Sie einen Dateispeicherort angeben.

  2. Fügen Sie der Rolle eine Richtlinie für verwaltete Berechtigungen hinzu: AttachRoleRichtlinie

    or

    Erstellen Sie eine Inline-Berechtigungsrichtlinie für die Rolle: PutRoleRichtlinie

  3. (Optional) Fügen Sie dem Benutzer benutzerdefinierte Attribute hinzu, indem Sie Tags anhängen: TagRole

    Weitere Informationen finden Sie unter Verwaltung von Tags für IAM-Benutzer (AWS CLI oder AWS API).

  4. (Optional) Legen Sie die Berechtigungsgrenze für die Rolle fest: PutRolePermissionsBoundary

    Eine Berechtigungsgrenze bestimmt die maximalen Berechtigungen, die eine Rolle haben kann. Bei den Berechtigungsgrenzen handelt es sich um eine erweiterte AWS Funktion.

Wenn Sie die Rolle mit Amazon EC2 oder einem anderen AWS Service verwenden möchten, der Amazon EC2 verwendet, müssen Sie die Rolle in einem Instanzprofil speichern. Ein Instance-Profil ist ein Container für eine Rolle. Jedes Instance-Profil kann nur eine Rolle enthalten und dieses Limit kann nicht erhöht werden. Wenn Sie die Rolle in der erstellen AWS Management Console, wird das Instance-Profil für Sie mit demselben Namen wie die Rolle erstellt. Weitere Informationen zu Instance-Profilen finden Sie unter Verwenden von Instance-Profilen. Informationen zum Starten einer Amazon EC2 EC2-Instance mit einer Rolle finden Sie unter Steuern des Zugriffs auf Amazon EC2 EC2-Ressourcen im Amazon EC2 EC2-Benutzerhandbuch.

Um ein Instance-Profil zu erstellen und die Rolle darin zu speichern (API)AWS
  1. Erstellen Sie ein Instanzprofil: CreateInstanceProfil

  2. Fügen Sie die Rolle dem Instanzprofil hinzu: AddRoleToInstanceProfil