Actions de serviceAWS Service Catalog - AWS Service Catalog

Si nous fournissons une traduction de la version anglaise du guide, la version anglaise du guide aura préséance en cas de contradiction. La traduction sera une traduction automatique.

Actions de serviceAWS Service Catalog

AWS Service Catalog vous permet de réduire la maintenance administrative et la formation des utilisateurs finaux, tout en respectant les mesures de conformité et de sécurité. Grâce aux actions de service, en tant qu'administrateur vous pouvez autoriser les utilisateurs finaux à exécuter des tâches opérationnelles, résoudre des problèmes, exécuter des commandes approuvés ou demander des autorisations dans AWS Service Catalog. Vous utilisez des documents AWS Systems Manager pour définir les actions de service. Les documents AWS Systems Manager fournissent un accès à des actions prédéfinies qui implémentent les bonnes pratiques AWS, telles que l'arrêt et le redémarrage d'Amazon EC2, et vous pouvez également définir des actions personnalisées.

Dans ce didacticiel, vous permettez aux utilisateurs finaux de redémarrer une instance Amazon EC2. Vous ajoutez les autorisations nécessaires, définissez l'action de service, associez l'action de service à un produit et tester l'expérience de l'utilisateur final à l'aide de l'action avec un produit provisionné.

Prérequis

Ce didacticiel suppose que vous disposez de l'ensemble des autorisations administrateur AWS, que vous connaissez AWS Service Catalog et que vous disposez déjà d'un ensemble de produits, de portefeuilles et d'utilisateurs. Si vous ne connaissez pas AWS Service Catalog, exécutez les tâches Configuration et Mise en route avant d'utiliser ce didacticiel.

Étape 1 : Configurer les autorisations des utilisateurs finaux

Les comptes des utilisateurs finaux doivent disposer des autorisations nécessaires pour afficher et exécuter les actions de service spécifiques. Dans cet exemple, l'utilisateur final a besoin d'une autorisation pour accéder aux actions du service AWS Service Catalog et exécuter un redémarrage d'Amazon EC2.

Pour mettre à jour les autorisations

  1. Ouvrez la console AWS Identity and Access Management (IAM) à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le menu, choisissez Groupes.

  3. Sur la page Groupes, sélectionnez les groupes utilisés par les utilisateurs finaux pour accéder aux ressources AWS Service Catalog. Dans cet exemple, nous sélectionnons le groupe de l'utilisateur final. Dans votre propre implémentation, choisissez le groupe utilisé par les utilisateurs finaux pertinents.

  4. Dans l'onglet Autorisations de la page de détails de votre groupe, vous créez une nouvelle stratégie ou modifier une existante. Dans cet exemple, nous ajoutons des autorisations à la stratégie existante en sélectionnant la personnalisée créée pour les autorisations de provisionner et de supprimer d'AWS Service Catalog du groupe.

  5. Sur la page Stratégie, choisissez Modifier la stratégie pour ajouter les autorisations nécessaires. Vous pouvez utiliser l'éditeur visuel ou JSON pour modifier la stratégie. Dans cet exemple, nous utilisons l'éditeur JSON pour ajouter les autorisations. Pour ce didacticiel, ajoutez les autorisations suivantes à la stratégie :

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1536341175150", "Action": [ "servicecatalog:ListServiceActionsForProvisioningArtifact", "servicecatalog:ExecuteprovisionedProductServiceAction", "ssm:DescribeDocument", "ssm:GetAutomationExecution", "ssm:StartAutomationExecution", "ssm:StopAutomationExecution", "cloudformation:ListStackResources", "ec2:DescribeInstanceStatus", "ec2:StartInstances", "ec2:StopInstances" ], "Effect": "Allow", "Resource": "*" } ] }
  6. Après avoir modifié la stratégie, examinez et validez les modifications apportées à la stratégie. Les utilisateurs du groupe d'utilisateurs finaux disposent désormais des autorisations nécessaires pour exécuter l'action de redémarrage d'Amazon EC2 dans AWS Service Catalog.

Étape 2 : Créer une action de service

Ensuite, vous créez une action de service pour redémarrer les instances Amazon EC2.

  1. Ouvrez la console AWS Service Catalog à l'adresse https://console.aws.amazon.com/sc/.

  2. Dans le menu, choisissez Actions du service.

  3. Sur la page d'actions de service, choisissez Create new action (Créer une action).

  4. Sur la page Action creation (Création d'une action), choisissez un document AWS Systems Manager pour définir l'action de service. L'action de redémarrage de l'instance Amazon EC2 est définie par un document AWS Systems Manager, pour que l'option par défaut soit conservée dans le menu déroulant, documents Amazon.

  5. Choisissez l'action AWS-RestartEC2Instance.

  6. Indiquez un nom et une description pour l'action. Ils doivent être pertinents pour votre environnement et votre équipe. Comme cette description s’adresse à l’utilisateur final, choisissez un nom et une description qui faciliteront sa compréhension de l'action.

  7. Sous Parameter and target configuration (Paramètre et configuration cible), choisissez le paramètre de document SSM qui sera la cible de l'action (par exemple, l'ID d'instance), puis choisissez la cible du paramètre. Choisissez Ajouter un paramètre pour ajouter des paramètres supplémentaires.

  8. Sous Autorisations, choisissez un rôle. Pour cet exemple, nous utilisons les autorisations par défaut. D'autres configurations d'autorisation sont possibles et définies sur cette page.

  9. Après avoir vérifié la configuration, choisissez Créer une action.

  10. Sur la page suivante, un message de confirmation s'affiche lorsque l'action a été créée et est prête à être utilisée.

Étape 3 : Associer l'action de service à une version de produit

Après avoir défini une action, vous devez associer un produit à cette action.

  1. Sur la page Service actions (Actions de service), choisissez AWS-RestartEC2instance, puis Associate action (Associer une action).

  2. Sur la page Associate action (Associer une action), choisissez le produit sur lequel vous souhaitez que vos utilisateurs finaux exécutent une action de service. Dans cet exemple, choisissez Bureau Linux.

  3. Sélectionnez une version de produit. Remarque : vous pouvez utiliser la case à cocher la plus haute pour sélectionner toutes les versions.

  4. Choisissez Action d'association.

  5. Sur la page suivante, un message de confirmation s'affiche.

Vous avez désormais créé l'action de service dans AWS Service Catalog. L'étape suivante de ce didacticiel consiste à utiliser l'action du service en tant qu'utilisateur final.

Étape 4 : Tester l'expérience de l'utilisateur final

Les utilisateurs finaux peuvent effectuer des actions de service sur les produits provisionnés. Pour les besoins de ce didacticiel, l'utilisateur final doit posséder au moins un produit provisionné. Le produit provisionné doit être lancé à partir de la version de produit associée à l'action de service de l'étape précédente.

Pour accéder à l'action de service en tant qu'utilisateur final

  1. Connectez-vous à la console AWS Service Catalog en tant qu'utilisateur final.

  2. Sur le tableau de bord AWS Service Catalog, dans le panneau de navigation, choisissez Liste des produits provisionnés. La liste répertorie les produits provisionnés pour le compte de l'utilisateur final.

  3. Sur la page Liste des produits provisionnés, choisissez l'instance provisionnée.

  4. Sur la page Détails du produit provisionné, choisissez Actions en haut à droite, puis l'action AWS-RestartEC2instance.

  5. Confirmez que vous souhaitez exécuter l'action personnalisée. Vous recevrez une confirmation du lancement de l'action.

Étape 5 : Dépannage

Si l'exécution de votre action de service échoue, vous trouverez le message d'erreur dans la section Outputs (Sorties) de l'événement d'exécution de l'action de service sur la page Provisioned product (Produit provisionné). Des explications concernant les messages d'erreur courants sont fournies ci-dessous.

Note

Le texte exact du message d'erreur peut changer, il convient donc d’éviter de l’utiliser dans des processus automatisés.

Internal failure (Échec interne)

AWS Service Catalog a rencontré une erreur interne. Réessayez ultérieurement. Si le problème persiste, contactez le support client.

An error occurred (ThrottlingException) when calling the StartAutomationExecution operation (Une erreur s'est produite (ThrottlingException) lors de l'appel de l'opération StartAutomationExecution)

L'exécution de l'action de service a été limitée par le service backend, notamment SSM.

Access denied while assuming the role (Accès refusé en assumant le rôle)

AWS Service Catalog n’a pas pu assumer le rôle spécifié dans la définition de l'action de service. Assurez-vous que le mandataire servicecatalog.amazonaws.com ou un mandataire régional tel que servicecatalog.us-east-1.amazonaws.com figure sur la liste blanche dans la stratégie d'approbation du rôle.

An error occurred (AccessDeniedException) when calling the StartAutomationExecution operation: User is not authorized to perform: ssm:StartAutomationExecution on the resource (Une erreur s'est produite (AccessDeniedException) lors de l'appel de l'opération StartAutomationExecution : l'utilisateur n'est pas autorisé à effectuer : ssm:StartAutomationExecution sur la ressource).

Le rôle spécifié dans la définition de l'action de service n'a pas les autorisations nécessaires pour appeler ssm:StartAutomationExecution. Assurez-vous que le rôle dispose des autorisations SSM appropriées.

Cannot find any resources with type (Impossible de trouver des ressources avec le type) TargetType dans le produit provisionné

Le produit provisionné ne contient aucune ressource correspondant au type cible spécifié dans le document SSM, telles que AWS::EC2::Instance. Vérifiez la présence de ces ressources dans votre produit provisionné ou confirmez que le document est correct.

Document with that name does not exist (Il n’existe aucun document portant ce nom)

Le document spécifié dans la définition de l'action de service n'existe pas.

Failed to describe SSM Automation document (La description du document SSM Automation a échoué)

AWS Service Catalog a rencontré une exception inconnue de SSM lors de la tentative de description du document spécifié.

Failed to retrieve credentials for role (La récupération des informations d'identification pour le rôle a échoué)

AWS Service Catalog a rencontré une erreur inconnue en assumant le rôle spécifié.

Parameter has value (Valeur du paramètre) « InvalidValue » introuvable dans {ValidValue1}, {ValidValue2}

La valeur du paramètre transmise à SSM ne figure pas dans la liste des valeurs autorisées pour le document. Vérifiez que les paramètres fournis sont valides et réessayez.

Parameter type error (Erreur de type de paramètre). La valeur fournie pour ParameterName n'est pas une chaîne valide.

La valeur du paramètre transmise à SSM n’est pas valable pour le type du document.

Parameter is not defined in service action definition (Le paramètre n'est pas défini dans la définition de l'action de service)

Un paramètre qui n'est pas défini dans la définition de l'action de service a été transmis à AWS Service Catalog. Vous pouvez uniquement utiliser des paramètres définis dans la définition de l'action de service.

Step fails when it is executing-cancelling action. (L'étape échoue lors de l’exécution/annulation de l'action.) Message d'erreur. Consultez le Guide de dépannage d'Automation Service pour plus de détails sur le diagnostic.

Une étape du document d'automatisation SSM a échoué. Consultez l'erreur dans le message pour dépanner ultérieurement.

The following values for the parameter are not allowed because they are not in the provisioned product: (Les valeurs suivantes pour le paramètre ne sont pas autorisées, car elles ne se trouvent pas dans le produit provisionné :) InvalidResourceId

L'utilisateur a demandé une action sur une ressource qui ne se trouve pas dans le produit provisionné.

TargetType not defined for SSM Automation document (TargetType non défini pour le document SSM Automation)

Les actions de service exigent que les documents d'automatisation SSM aient un TargetType défini. Vérifiez votre document d'automatisation SSM.