Verwenden einer IAM-Rolle zum Erteilen von Berechtigungen für Anwendungen und Skripts, die auf 2.0-Streaming-Instances ausgeführt werden AppStream - Amazon AppStream 2.0

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.

Verwenden einer IAM-Rolle zum Erteilen von Berechtigungen für Anwendungen und Skripts, die auf 2.0-Streaming-Instances ausgeführt werden AppStream

Anwendungen und Skripts, die auf AppStream 2.0-Streaming-Instances ausgeführt werden, müssen AWS Anmeldeinformationen in ihren AWS API-Anfragen enthalten. Sie können eine IAM-Rolle zum Verwalten dieser Anmeldeinformationen erstellen. Eine IAM-Rolle gibt eine Reihe von Berechtigungen an, die Sie für den Zugriff auf AWS Ressourcen verwenden können. Diese Rolle ist jedoch nicht eindeutig einer Person zugeordnet. Stattdessen kann sie von jedem Benutzer angenommen werden, die sie benötigt.

Sie können eine IAM-Rolle auf eine AppStream 2.0-Streaming-Instance anwenden. Wenn die Streaming-Instance zur Rolle wechselt (die Rolle annimmt), stellt die Rolle temporäre Sicherheitsanmeldeinformationen bereit. Ihre Anwendung oder Skripts verwenden diese Anmeldeinformationen, um API-Aktionen und Verwaltungsaufgaben auf der Streaming-Instance auszuführen. AppStream 2.0 verwaltet den temporären Anmeldeinformationswechsel für Sie.

Bewährte Methoden für die Verwendung von IAM-Rollen mit AppStream 2.0-Streaming-Instances

Wenn Sie IAM-Rollen mit AppStream 2.0-Streaming-Instances verwenden, empfehlen wir Ihnen, die folgenden Methoden zu befolgen:

  • Beschränken Sie die Berechtigungen, die Sie AWS API-Aktionen und -Ressourcen gewähren.

    Halten Sie sich beim Erstellen und Anhängen von IAM-Richtlinien an die IAM-Rollen, die mit AppStream 2.0-Streaming-Instances verknüpft sind, den Grundsätzen der geringsten Rechte. Wenn Sie eine Anwendung oder ein Skript verwenden, das Zugriff auf AWS API-Aktionen oder -Ressourcen benötigt, legen Sie fest, welche spezifischen Aktionen und Ressourcen erforderlich sind. Erstellen Sie dann Richtlinien, die der Anwendung oder dem Skript gestatten, ausschließlich diese Aktionen auszuführen. Weitere Informationen finden Sie unter Gewähren von geringsten Rechten im IAM-Benutzerhandbuch.

  • Erstellen Sie eine IAM-Rolle für jede AppStream 2.0-Ressource.

    Das Erstellen einer eindeutigen IAM-Rolle für jede AppStream 2.0-Ressource entspricht den Prinzipien der geringsten Rechte. Auf diese Weise können Sie auch Berechtigungen für eine Ressource ändern, ohne dass dies Auswirkungen auf andere Ressourcen hat.

  • Schränken Sie ein, wo die Anmeldeinformationen verwendet werden können.

    Mit IAM-Richtlinien können Sie die Bedingungen definieren, unter denen Ihre IAM-Rolle für den Zugriff auf eine Ressource verwendet werden kann. Sie können beispielsweise Bedingungen einfügen, um einen Bereich von IP-Adressen anzugeben, aus dem Anfragen stammen können. Auf diese Weise wird verhindert, dass die Anmeldeinformationen außerhalb Ihrer Umgebung verwendet werden. Weitere Informationen finden Sie unter Verwenden von Richtlinienbedingungen für zusätzliche Sicherheit im IAM-Benutzerhandbuch.

Konfiguration einer vorhandenen IAM-Rolle für die Verwendung mit AppStream 2.0-Streaming-Instances

In diesem Thema wird beschrieben, wie Sie eine vorhandene IAM-Rolle so konfigurieren, dass Sie sie mit Image Buildern und Flotten-Streaming-Instances verwenden können.

Voraussetzungen

Die IAM-Rolle, die Sie mit einer AppStream 2.0-Image Builder- oder Fleet-Streaming-Instance verwenden möchten, muss die folgenden Voraussetzungen erfüllen:

  • Die IAM-Rolle muss sich in demselben Amazon Web Services Services-Konto wie die AppStream 2.0-Streaming-Instance befinden.

  • Die IAM-Rolle darf keine Servicerolle sein.

  • Die Vertrauensstellungsrichtlinie, die der IAM-Rolle zugeordnet ist, muss den AppStream 2.0-Service als Principal beinhalten. Ein Principal ist eine Entität AWS , die Aktionen ausführen und auf Ressourcen zugreifen kann. Die Richtlinie muss auch die Aktion sts:AssumeRole enthalten. Diese Richtlinienkonfiguration definiert AppStream 2.0 als vertrauenswürdige Entität.

  • Wenn Sie die IAM-Rolle auf einen Image Builder anwenden, muss der Image Builder eine Version des AppStream 2.0-Agenten ausführen, die am oder nach dem 3. September 2019 veröffentlicht wurde. Wenn Sie die IAM-Rolle auf eine Flotte anwenden, muss die Flotte ein Image verwenden, das eine Version des Agenten verwendet, die am oder nach demselben Datum veröffentlicht wurde. Weitere Informationen finden Sie unter AppStream Versionshinweise zu Agent 2.0.

Damit der AppStream 2.0-Serviceprinzipal eine bestehende IAM-Rolle übernehmen kann

Um die folgenden Schritte auszuführen, müssen Sie sich im Konto als IAM-Benutzer anmelden, der über die erforderlichen Berechtigungen zum Auflisten und Aktualisieren von IAM-Rollen verfügt. Wenn Sie nicht über die erforderlichen Berechtigungen verfügen, bitten Sie Ihren AWS-Kontoadministrator, diese Schritte in Ihrem Konto auszuführen oder Ihnen die erforderlichen Berechtigungen zu erteilen.

  1. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im Navigationsbereich Rollen aus.

  3. Wählen Sie in der Rollenliste in Ihrem Konto den Namen der zu ändernden Rolle.

  4. Klicken Sie auf der Registerkarte Trust Relationships (Vertrauensbeziehungen) auf Edit Trust Relationship (Vertrauensbeziehungen bearbeiten).

  5. Überprüfen Sie unter Policy Document (Richtliniendokument), ob die Vertrauensstellungsrichtlinie die Aktion sts:AssumeRole für den appstream.amazonaws.com-Service-Prinzipal enthält:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "appstream.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  6. Wenn Sie Ihre Vertrauensrichtlinie fertiggestellt haben, klicken Sie auf Update Trust Policy (Vertrauensrichtlinie aktualisieren), um Ihre Änderungen zu speichern.

  7. Die von Ihnen ausgewählte IAM-Rolle wird in der AppStream 2.0-Konsole angezeigt. Diese Rolle erteilt Anwendungen und Skripts Berechtigungen zum Ausführen von API-Aktionen und Verwaltungsaufgaben auf Streaming-Instances.

So erstellen Sie eine IAM-Rolle zur Verwendung mit AppStream 2.0-Streaming-Instances

In diesem Thema wird beschrieben, wie Sie eine neue IAM-Rolle erstellen, sodass Sie sie mit Image Buildern und Flotten-Streaming-Instances verwenden können.

  1. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im Navigationsbereich Roles (Rollen) und dann Create role (Rolle erstellen).

  3. Wählen Sie unter Select type of trusted entity (Typ der vertrauenswürdigen Entität wählen) die Option AWS Service aus.

  4. Wählen Sie in der Liste der AWS Dienste AppStream 2.0 aus.

  5. Unter Wählen Sie Ihren Anwendungsfall aus ist AppStream 2.0 — Erlaubt AppStream 2.0-Instanzen, AWS Dienste in Ihrem Namen aufzurufen, bereits ausgewählt. Wählen Sie Weiter: Berechtigungen aus.

  6. Wenn möglich, wählen Sie die Richtlinie aus, die für die Berechtigungsrichtlinie verwendet werden soll, oder wählen Create policy (Richtlinie erstellen), um eine neue Registerkarte im Browser zu öffnen und eine vollständig neue Richtlinie zu erstellen. Weitere Informationen finden Sie in Schritt 4 der Anleitung Erstellen von IAM-Richtlinien (Konsole) im IAM-Benutzerhandbuch.

    Nachdem Sie die Richtlinie erstellt haben, schließen Sie die Registerkarte und kehren zur ursprünglichen Registerkarte zurück. Aktivieren Sie das Kontrollkästchen neben den Berechtigungsrichtlinien, die AppStream 2.0 haben soll.

  7. (Optional) Legen Sie eine Berechtigungsgrenze fest. Dies ist eine erweiterte Funktion, die für Servicerollen verfügbar ist, aber nicht für servicegebundene Rollen. Weitere Informationen finden Sie unter Berechtigungsgrenzen für IAM-Entitäten im IAM-Benutzerhandbuch.

  8. Wählen Sie Weiter: Markierungen. Sie können Tags optional als Schlüssel-Wert-Paare anhängen. Weitere Informationen zum Thema Taggen von IAM-Benutzern und Rollen finden Sie im IAM-Benutzerhandbuch.

  9. Wählen Sie Weiter: Prüfen aus.

  10. Geben Sie unter Rollenname einen Rollennamen ein, der in Ihrem AWS-Konto eindeutig ist. Da andere AWS Ressourcen möglicherweise auf die Rolle verweisen, können Sie den Namen der Rolle nicht bearbeiten, nachdem sie erstellt wurde.

  11. Behalten Sie für Role description (Rollenbeschreibung) die Standardrollenbeschreibung bei oder geben Sie eine neue Beschreibung ein.

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

So verwenden Sie die IAM-Rolle mit AppStream 2.0-Streaming-Instances

Nachdem Sie eine IAM-Rolle erstellt haben, können Sie sie auf einen Image Builder oder eine Flotten-Streaming-Instance anwenden, wenn Sie den Image Builder starten oder eine Flotte erstellen. Sie können auch eine IAM-Rolle auf vorhandene Flotten anwenden. Weitere Informationen zum Anwenden einer IAM-Rolle beim Starten eines Image Builders finden Sie unter Starten eines Image Builder zum Installieren und Konfigurieren von Streaming-Anwendungen. Weitere Informationen zum Anwenden einer IAM-Rolle beim Erstellen einer Flotte finden Sie unter Erstellen einer Flotte.

Wenn Sie eine IAM-Rolle auf Ihre Image Builder- oder Fleet-Streaming-Instance anwenden, ruft AppStream 2.0 temporäre Anmeldeinformationen ab und erstellt das appstream_machine_role Credential-Profil auf der Instance. Die temporären Anmeldeinformationen sind 1 Stunde lang gültig und es werden stündlich neue Anmeldeinformationen abgerufen. Die vorherigen Anmeldeinformationen laufen nicht ab, sodass Sie sie so lange verwenden können, wie sie gültig sind. Sie können das Anmeldeinformationsprofil verwenden, um AWS Dienste programmgesteuert aufzurufen, indem Sie die AWS Befehlszeilenschnittstelle (AWS CLI), AWS Tools for PowerShell oder das AWS SDK in der Sprache Ihrer Wahl verwenden.

Wenn Sie die API-Aufrufe ausführen, geben Sie appstream_machine_role als Anmeldeinformationsprofil an. Andernfalls schlägt die Operation aufgrund unzureichender Berechtigungen fehl.

AppStream 2.0 nimmt die angegebene Rolle an, während die Streaming-Instanz bereitgestellt wird. Da AppStream 2.0 die elastic network interface verwendet, die mit Ihrer VPC verbunden ist, für AWS API-Aufrufe muss Ihre Anwendung oder Ihr Skript warten, bis die elastic network interface verfügbar ist, bevor AWS API-Aufrufe ausgeführt werden. Wenn API-Aufrufe ausgeführt werden, bevor die Elastic-Network-Schnittstelle verfügbar ist, schlagen die Aufrufe fehl.

Die folgenden Beispiele zeigen, wie Sie mithilfe des Anmeldeinformationsprofils appstream_machine_role Streaming-Instances (EC2-Instances) beschreiben und den Boto-Client erstellen können. Boto ist das Amazon Web Services (AWS) SDK für Python.

Beschreiben Sie Streaming-Instances (EC2-Instances) mithilfe der CLI AWS

aws ec2 describe-instances --region us-east-1 --profile appstream_machine_role

Beschreiben Sie Streaming-Instances (EC2-Instances) mithilfe AWS von Tools für PowerShell

Sie müssen AWS Tools für PowerShell Version 3.3.563.1 oder höher mit dem Amazon Web Services SDK for .NET Version 3.3.103.22 oder höher verwenden. Sie können das Installationsprogramm für AWS Tools für Windows, das AWS Tools for PowerShell und das Amazon Web Services SDK for .NET enthält, von der PowerShell Website AWS Tools for herunterladen.

Get-EC2Instance -Region us-east-1 -ProfileName appstream_machine_role

Den Boto-Client mithilfe des AWS SDK für Python erstellen

session = boto3.Session(profile_name='appstream_machine_role')