Utilisation d'un IAM rôle pour accorder des autorisations aux applications et aux scripts exécutés sur des instances de streaming AppStream 2.0 - Amazon AppStream 2.0

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation d'un IAM rôle pour accorder des autorisations aux applications et aux scripts exécutés sur des instances de streaming AppStream 2.0

Les applications et les scripts qui s'exécutent sur des instances de streaming AppStream 2.0 doivent inclure des AWS informations d'identification dans leurs AWS API demandes. Vous pouvez créer un IAM rôle pour gérer ces informations d'identification. Un IAM rôle définit un ensemble d'autorisations que vous pouvez utiliser pour accéder aux AWS ressources. Toutefois, ce rôle n'est pas associé de façon unique à une seule personne. Au lieu de cela, il peut être assumé par toute personne en ayant besoin.

Vous pouvez appliquer un IAM rôle à une instance de streaming AppStream 2.0. Lorsque l'instance de streaming bascule vers (assume) le rôle, le rôle fournit des informations d'identification de sécurité temporaires. Votre application ou vos scripts utilisent ces informations d'identification pour effectuer des API actions et des tâches de gestion sur l'instance de streaming. AppStream La version 2.0 gère le changement d'identifiant temporaire pour vous.

Bonnes pratiques d'utilisation IAM des rôles avec les instances de streaming AppStream 2.0

Lorsque vous utilisez IAM des rôles avec des instances de streaming AppStream 2.0, nous vous recommandons de suivre les pratiques suivantes :

  • Limitez les autorisations que vous accordez aux AWS API actions et aux ressources.

    Respectez les principes du moindre privilège lorsque vous créez et associez des IAM politiques aux IAM rôles associés aux instances de streaming AppStream 2.0. Lorsque vous utilisez une application ou un script qui nécessite l'accès à AWS API des actions ou à des ressources, déterminez les actions et les ressources spécifiques requises. Ensuite, créez des politiques qui autorisent l’application ou le script à effectuer uniquement ces actions. Pour plus d'informations, consultez la section Accorder le moindre privilège dans le guide de IAM l'utilisateur.

  • Créez un IAM rôle pour chaque ressource AppStream 2.0.

    La création d'un IAM rôle unique pour chaque ressource AppStream 2.0 est une pratique qui respecte le principe du moindre privilège. Cela vous permet également de modifier les autorisations pour une ressource sans affecter les autres ressources.

  • Limitez les endroits où les informations d’identification peuvent être utilisées.

    IAMles politiques vous permettent de définir les conditions dans lesquelles votre IAM rôle peut être utilisé pour accéder à une ressource. Par exemple, vous pouvez inclure des conditions pour spécifier une plage d'adresses IP d'où peuvent parvenir les requêtes. Cela permet d’éviter que les informations d’identification soient utilisées en dehors de votre environnement. Pour plus d'informations, consultez les conditions de politique d'utilisation pour une sécurité accrue dans le guide de IAM l'utilisateur.

Configuration d'un IAM rôle existant à utiliser avec les instances de streaming AppStream 2.0

Cette rubrique explique comment configurer un IAM rôle existant afin de pouvoir l'utiliser avec des générateurs d'images et des instances de streaming de flotte.

Prérequis

Le IAM rôle que vous souhaitez utiliser avec un générateur d'images AppStream 2.0 ou une instance de streaming de flotte doit répondre aux conditions préalables suivantes :

  • Le IAM rôle doit figurer sur le même compte Amazon Web Services que l'instance de streaming AppStream 2.0.

  • Le IAM rôle ne peut pas être un rôle de service.

  • La politique de relation de confiance attachée au IAM rôle doit inclure le service AppStream 2.0 comme principal. Un mandant est une entité AWS qui peut effectuer des actions et accéder à des ressources. La stratégie doit également inclure l'action sts:AssumeRole. Cette configuration de politique définit la AppStream version 2.0 comme une entité de confiance.

  • Si vous appliquez le IAM rôle à un générateur d'images, celui-ci doit exécuter une version de l'agent AppStream 2.0 publiée le 3 septembre 2019 ou après cette date. Si vous appliquez le IAM rôle à une flotte, celle-ci doit utiliser une image qui utilise une version de l'agent publiée à la même date ou après cette date. Pour de plus amples informations, veuillez consulter AppStream Notes de mise à jour de l'agent 2.0.

Pour permettre au principal du service AppStream 2.0 d'assumer un IAM rôle existant

Pour effectuer les étapes suivantes, vous devez vous connecter au compte en tant qu'IAMutilisateur disposant des autorisations requises pour répertorier et mettre à jour IAM les rôles. Si vous n’avez pas les autorisations requises, demandez à votre administrateur de compte Amazon Web Services d’effectuer ces étapes dans votre compte ou de vous accorder les autorisations requises.

  1. Ouvrez la IAM console à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation, choisissez Roles (Rôles).

  3. Dans la liste des rôles de votre compte, choisissez le nom du rôle que vous souhaitez modifier.

  4. Sélectionnez l'onglet Relations d'approbation, puis Modifier la relation d'approbation.

  5. Sous Document de stratégie, vérifiez que la stratégie de relation d’approbation inclut l’action sts:AssumeRole pour le principal du service appstream.amazonaws.com :

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "appstream.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  6. Après avoir modifié votre politique d'approbation, choisissez Mettre à jour la politique de confiance pour enregistrer vos modifications.

  7. Le IAM rôle que vous avez sélectionné s'affichera dans la console AppStream 2.0. Ce rôle accorde des autorisations aux applications et aux scripts pour effectuer des API actions et des tâches de gestion sur les instances de streaming.

Comment créer un IAM rôle à utiliser avec les instances de streaming AppStream 2.0

Cette rubrique explique comment créer un nouveau IAM rôle afin de pouvoir l'utiliser avec des générateurs d'images et des instances de streaming de flotte.

  1. Ouvrez la IAM console à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le volet de navigation, sélectionnez Rôles, puis Créer un rôle.

  3. Pour Select type of trusted entity (Sélectionner le type d’entité de confiance), choisissez Service AWS .

  4. Dans la liste des AWS services, choisissez AppStream 2.0.

  5. Sous Sélectionnez votre cas d'utilisation, AppStream 2.0 — Autorise les instances AppStream 2.0 à appeler AWS des services en votre nom est déjà sélectionné. Sélectionnez Next: Permissions (Étape suivante : autorisations).

  6. Si possible, sélectionnez la politique à utiliser pour la politique d'autorisations ou choisissez Create policy (Créer une politique) pour ouvrir un nouvel onglet de navigateur et créer une nouvelle politique de bout en bout. Pour plus d'informations, reportez-vous à l'étape 4 de la procédure de création de IAM politiques (console) du guide de IAM l'utilisateur.

    Une fois la politique créée, fermez cet onglet et revenez à l'onglet initial. Cochez la case à côté des politiques d'autorisation que vous souhaitez appliquer à la AppStream version 2.0.

  7. (Facultatif) Définissez une limite d'autorisations. Il s’agit d’une fonctionnalité avancée disponible pour les fonctions de service, mais pas pour les rôles liés à un service. Pour plus d'informations, consultez la section Limites d'autorisations pour IAM les entités dans le guide de IAM l'utilisateur.

  8. Choisissez Suivant : Balises. Vous pouvez éventuellement joindre des balises en tant que paires clé-valeur. Pour plus d'informations, consultez la section Marquage des IAM utilisateurs et des rôles dans le guide de l'IAMutilisateur.

  9. Choisissez Suivant : vérification.

  10. Pour Nom du rôle, saisissez un nom de rôle unique dans votre compte Amazon Web Services. Comme d'autres AWS ressources peuvent faire référence au rôle, vous ne pouvez pas modifier le nom du rôle une fois qu'il a été créé.

  11. Pour Description du rôle, conservez la description du rôle par défaut ou saisissez une nouvelle description.

  12. Passez en revue les informations du rôle, puis choisissez Create role (Créer un rôle).

Comment utiliser le IAM rôle avec les instances de streaming AppStream 2.0

Après avoir créé un IAM rôle, vous pouvez l'appliquer à un générateur d'images ou à une instance de streaming de flotte lorsque vous lancez le générateur d'images ou que vous créez un parc de véhicules. Vous pouvez également appliquer un IAM rôle aux flottes existantes. Pour plus d'informations sur la façon d'appliquer un IAM rôle lorsque vous lancez un générateur d'images, consultezLancer un Image Builder pour l'installation et la configuration d'applications de streaming. Pour plus d'informations sur la façon d'appliquer un IAM rôle lors de la création d'une flotte, consultezCréation d'une flotte.

Lorsque vous appliquez un IAM rôle à votre instance de création d'images ou de streaming de flotte, la AppStream version 2.0 récupère les informations d'identification temporaires et crée le profil d'identification appstream_machine_role sur l'instance. Les informations d’identification temporaires sont valides pendant 1 heure et de nouvelles informations d’identification sont récupérées toutes les heures. Les informations d'identification précédentes n'expirent pas. Vous pouvez donc les utiliser aussi longtemps qu'elles sont valides. Vous pouvez utiliser le profil d'identification pour appeler AWS des services par programmation à l'aide de l'interface de ligne de AWS commande (AWS CLI), AWS des outils pour PowerShell ou AWS SDK avec la langue de votre choix.

Lorsque vous effectuez les API appels, spécifiez appstream_machine_role comme profil d'identification. Sinon, l'opération échoue en raison d'autorisations insuffisantes.

AppStream 2.0 assume le rôle spécifié pendant le provisionnement de l'instance de streaming. Dans la AppStream mesure où la version 2.0 utilise l'interface Elastic Network qui est attachée VPC à vos AWS API appels, votre application ou script doit attendre que l'interface Elastic Network soit disponible avant de AWS API passer des appels. Si les API appels sont effectués avant que l'interface elastic network ne soit disponible, ils échouent.

Les exemples suivants montrent comment utiliser le profil d'identification appstream_machine_role pour décrire les instances de streaming (EC2instances) et pour créer le client Boto. Boto est l'Amazon Web Services (AWS) SDK pour Python.

Décrivez les instances de streaming (EC2instances) à l'aide du AWS CLI

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

Décrire les instances de streaming (EC2instances) à l'aide d' AWS outils pour PowerShell

Vous devez utiliser les AWS outils de PowerShell la version 3.3.563.1 ou ultérieure, avec Amazon Web Services pour. SDK NETversion 3.3.103.22 ou ultérieure. Vous pouvez télécharger le programme d'installation de AWS Tools for Windows, qui inclut AWS Tools for PowerShell et Amazon Web Services SDK for. NET, depuis le PowerShell site Web AWS Tools for.

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

Création du client Boto en utilisant le AWS SDK pour Python

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