Erstellen Sie eine Rolle, um Berechtigungen an einen AWS Dienst zu delegieren - 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 Sie eine Rolle, um Berechtigungen an einen AWS Dienst zu delegieren

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 Dienst dient, wird sie als dienstbezogene Rolle eingestuft. 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 funktionieren mit IAM. 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 Servicerolle erstellen oder bearbeiten kann.

Anmerkung

Die Rolle ARN für einen Dienst umfasst einen Dienstprinzipal, der in den folgenden Richtlinien als SERVICE-NAME.amazonaws.com angegeben wird. 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.

Um es einer IAM Entität zu ermöglichen, eine bestimmte Servicerolle zu erstellen

Fügen Sie der IAM Entität, die die Servicerolle erstellen muss, die folgende Richtlinie hinzu. 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" } ] }

Um es einer IAM Entität zu ermöglichen, eine beliebige Servicerolle zu erstellen

AWS empfiehlt, dass Sie nur Administratorbenutzern 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.

Um einer IAM Entität die Bearbeitung einer Servicerolle zu ermöglichen

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

{ "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": "*" } ] }

Um einer IAM Entität das Löschen einer bestimmten Servicerolle zu ermöglichen

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

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

Um einer IAM Entität das Löschen einer beliebigen Servicerolle zu ermöglichen

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 (IAMKonsole) 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. Wählen Sie im Navigationsbereich der IAM Konsole Rollen und anschließend Rolle erstellen aus.

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

  4. Wählen Sie für Dienst oder Anwendungsfall einen Dienst 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.

  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.

      IAMenthält eine Liste der AWS verwalteten und von Kunden verwalteten Richtlinien in Ihrem Konto.

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

  8. Wählen Sie Weiter.

  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 einer verwendet wirdARN, unterscheidet der Rollenname 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 Tags für AWS Identity and Access Management Ressourcen im IAMBenutzerhandbuch.

  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 dem 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 es sich bei dem Service, mit dem Sie arbeitenEC2, um Amazon handelt, müssen Sie auch ein Instanzprofil erstellen und die Rolle hinzufügen. Optional können Sie auch die Berechtigungsgrenze für Ihre Rolle festlegen.

Um eine Rolle für einen AWS Service 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 attach-role-policy Befehl wird beispielsweise die benannte AWS verwaltete Richtlinie an die angegebene IAM Rolle ReadOnlyAccess angehängt: ReadOnlyRole

    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 für 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 bei Amazon EC2 oder einem anderen AWS Service verwenden möchten, der Amazon verwendetEC2, müssen Sie die Rolle in einem Instanzprofil speichern. Ein Instance-Profil ist ein Container für eine Rolle, der beim Start an eine EC2 Amazon-Instance angehängt 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 für Sie mit demselben Namen wie die Rolle erstellt. Weitere Informationen zu Instance-Profilen finden Sie unter Instanzprofile verwenden. Informationen zum Starten einer EC2 Instance mit einer Rolle finden Sie unter Steuern des Zugriffs auf EC2 Amazon-Ressourcen im EC2Amazon-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 Beispiel-Befehlssatz 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 Beispiel-Vertrauensrichtlinie ermöglicht es dem EC2 Amazon-Service, die Rolle zu übernehmen und den example_bucket Amazon S3-Bucket einzusehen. 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 ermöglicht es dem EC2 Amazon-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 „Instance-Details konfigurieren“ an, wenn Sie die AWS Konsole verwenden. Wenn Sie den aws ec2 run-instances CLI Befehl verwenden, geben Sie den --iam-instance-profile Parameter an.

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

Das Erstellen einer Rolle aus dem AWS API 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 API Sie jeden Schritt explizit selbst ausführen. Sie müssen die Rolle erstellen und ihr dann eine Berechtigungsrichtlinie zuweisen. Wenn es sich bei dem Service, mit dem Sie arbeitenEC2, um Amazon handelt, müssen Sie auch ein Instanzprofil erstellen und die Rolle hinzufügen. Optional können Sie auch die Berechtigungsgrenze für Ihre Rolle festlegen.

Um eine Rolle für einen AWS Service zu erstellen (AWS API)
  1. Erstellen Sie eine Rolle: 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: AttachRolePolicy

    or

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

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

    Weitere Informationen finden Sie unter Stichwörter für IAM Benutzer verwalten (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 bei Amazon EC2 oder einem anderen AWS Service verwenden möchten, der Amazon verwendetEC2, 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 Instanzprofile verwenden. Informationen zum Starten einer EC2 Amazon-Instance mit einer Rolle finden Sie unter Steuern des Zugriffs auf EC2 Amazon-Ressourcen im EC2Amazon-Benutzerhandbuch.

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

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