Utilisation des rôles liés à un service pour Amazon ElastiCache - Amazon ElastiCache for Redis

Utilisation des rôles liés à un service pour Amazon ElastiCache

Amazon ElastiCacheutilise les rôles liés à un service AWS Identity and Access Management (IAM). Un rôle lié à un service est un type unique de rôle IAM directement lié à un service AWS, comme Amazon ElastiCache. Les rôles liés au service Amazon ElastiCache sont prédéfinis par Amazon ElastiCache. Ils comprennent toutes les autorisations requises par le service pour appeler des services AWS au nom de vos clusters.

Un rôle lié à un service simplifie la configuration d'Amazon ElastiCache, car vous n'avez pas besoin d'ajouter manuellement les autorisations requises. Ces rôles se trouvent dans votre compte AWS, mais sont liés à des cas d'utilisation Amazon ElastiCache et disposent d'autorisations prédéfinies. Seul Amazon ElastiCache peut endosser ces rôles et seuls ces rôles peuvent utiliser la politique d'autorisations prédéfinie. Vous pouvez supprimer les rôles uniquement après la suppression préalable de leurs ressources connexes. Vos ressources Amazon ElastiCache sont ainsi protégées, car vous ne pouvez pas involontairement supprimer les autorisations nécessaires pour accéder aux ressources.

Pour plus d’informations sur les autres services qui prennent en charge les rôles liés à un service, consultez AWS Services qui fonctionnent avec IAM et recherchez les services avec un Oui dans la colonne rôle lié au service. Choisissez un Yes (Oui) ayant un lien permettant de consulter la documentation du rôle lié à un service, pour ce service.

Autorisations du rôle lié à un service pour Amazon ElastiCache

Amazon ElastiCache utilise le rôle lié à un service nommé AWSServiceRoleForElasticache – Cette politique permet à ElastiCache de gérer des ressources AWS en votre nom selon les besoins, en vue de gérer votre cache.

La politique d’autorisations liée au rôle AWSServiceRoleForElastiCache permet à Amazon ElastiCache de réaliser les actions suivantes sur les ressources précisées :

Permission policy: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateNetworkInterface", "ec2:CreateSecurityGroup", "ec2:DeleteNetworkInterface", "ec2:DeleteSecurityGroup", "ec2:DescribeAvailabilityZones", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:ModifyNetworkInterfaceAttribute", "ec2:RevokeSecurityGroupIngress", "cloudwatch:PutMetricData", "outposts:GetOutpost", "outposts:GetOutpostInstanceTypes", "outposts:ListOutposts", "outposts:ListSites", "application-autoscaling:DeregisterScalableTarget", "application-autoscaling:DescribeScalableTargets" ], "Resource": "*" } ] }

Pour permettre à une entité IAM de créer des rôles liés à un service AWSServiceRoleForElastiCache

Ajoutez la déclaration de politique suivante aux autorisations de cette entité IAM :

{ "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::*:role/aws-service-role/elasticache.amazonaws.com/AWSServiceRoleForElastiCache*", "Condition": {"StringLike": {"iam:AWSServiceName": "elasticache.amazonaws.com"}} }

Pour permettre à une entité IAM de supprier des rôles liés à un service AWSServiceRoleForElastiCache

Ajoutez la déclaration de politique suivante aux autorisations de cette entité IAM :

{ "Effect": "Allow", "Action": [ "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ], "Resource": "arn:aws:iam::*:role/aws-service-role/elasticache.amazonaws.com/AWSServiceRoleForElastiCache*", "Condition": {"StringLike": {"iam:AWSServiceName": "elasticache.amazonaws.com"}} }

Vous pouvez également utiliser une politique gérée par AWS pour fournir un accès complet à Amazon ElastiCache.

Création d'un rôle lié à un service (IAM)

Vous pouvez créer un rôle lié à un service à l'aide de la console IAM, de la CLI ou de l'API.

Création d'un rôle lié à un service (console IAM)

Vous pouvez utiliser la console IAM pour créer un rôle lié à un service.

Pour créer un rôle lié à un service (console)

  1. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation de la console IAM, choisissez Rôles. Ensuite, choisissez Create new role (Créer un nouveau rôle).

  3. Sous Sélectionner un type d’entité de confiance, choisissez AWS Service.

  4. Sous Or select a service to view its use cases (Ou sélectionner un service pour afficher ses cas d'utilisation, choisissez ElastiCache.

  5. Sélectionnez Next : Permissions (Étape suivante : autorisations).

  6. Sous Policy name (Nom de la politique), notez que la ElastiCacheServiceRolePolicy est nécessaire pour ce rôle. Choisissez Suivant : Balises.

  7. Notez que les balises ne sont pas prises en charge pour les rôles liés à un service. Choisissez Next: Review.

  8. (Facultatif) Dans le champ Description du rôle, modifiez la description du nouveau rôle lié à un service.

  9. Passez en revue les informations du rôle, puis choisissez Créer un rôle.

Création d'un rôle lié à un service (CLI IAM)

Vous pouvez utiliser les opérations IAM de la AWS Command Line Interface pour supprimer un rôle lié à un service. Ce rôle peut inclure la politique d'approbation et les politiques en ligne dont le service a besoin pour endosser le rôle.

Pour créer un rôle lié à un service (CLI)

Utilisez l'opération suivante :

$ aws iam create-service-linked-role --aws-service-name elasticache.amazonaws.com

Création d'un rôle lié à un service (API IAM)

Vous pouvez utiliser l'API IAM pour créer un rôle lié à un service. Ce rôle peut contenir la politique d'approbation et les politiques en ligne dont le service a besoin pour endosser le rôle.

Pour créer un rôle lié à un service (API)

Utilisez l'appel d'API CreateServiceLinkedRole. Dans la demande, spécifiez un nom de service sous la forme elasticache.amazonaws.com.

Modification de la description d'un rôle lié à un service pour Amazon ElastiCache

Amazon ElastiCache ne vous autorise pas à modifier le rôle lié à un service AWSServiceRoleForElastiCache. Une fois que vous avez créé un rôle lié à un service, vous ne pouvez pas modifier le nom du rôle, car plusieurs entités peuvent faire référence à ce rôle. Néanmoins, vous pouvez modifier la description du rôle à l'aide d'IAM.

Modification de la description d'un rôle lié à un service (console IAM)

Vous pouvez utiliser la console IAM pour modifier la description d'un rôle lié à un service.

Pour modifier la description d'un rôle lié à un service (console)

  1. Dans le panneau de navigation de la console IAM, choisissez Rôles.

  2. Choisissez le nom du rôle à modifier.

  3. A l'extrême droite de Description du rôle, choisissez Modifier.

  4. Saisissez une nouvelle description dans la zone et choisissez Save (Enregistrer).

Modification de la description d'un rôle lié à un service (CLI IAM)

Vous pouvez utiliser les opérations IAM de la AWS Command Line Interface pour modifier la description d'un rôle lié à un service.

Pour changer la description d'un rôle d'un rôle lié à un service (CLI)

  1. (Facultatif) Pour afficher la description courante d'un rôle, utilisez la AWS CLI pour l'opération IAM get-role.

    $ aws iam get-role --role-name AWSServiceRoleForElastiCache

    Utilisez le nom du rôle, pas l'ARN, pour faire référence aux opérations de la CLI. Par exemple, si un rôle a l'ARN : arn:aws:iam::123456789012:role/myrole, faites référence au rôle en tant que myrole.

  2. Pour mettre à jour la description d'un rôle lié à un service, utilisez la AWS CLI pour l'opération IAM update-role-description.

    Pour Linux, macOS ou Unix :

    $ aws iam update-role-description \ --role-name AWSServiceRoleForElastiCache \ --description "new description"

    Pour Windows :

    $ aws iam update-role-description ^ --role-name AWSServiceRoleForElastiCache ^ --description "new description"

Modification de la description d'un rôle lié à un service (API IAM)

Vous pouvez utiliser l'API IAM pour modifier la description d'un rôle lié à un service.

Pour changer la description d'un rôle d'un rôle lié à un service (API)

  1. (Facultatif) Pour afficher la description courante d'un rôle, utilisez l'opération d'API IAM GetRole.

    https://iam.amazonaws.com/ ?Action=GetRole &RoleName=AWSServiceRoleForElastiCache &Version=2010-05-08 &AUTHPARAMS
  2. Pour mettre à jour la description d'un rôle, utilisez l'opération d'API IAM UpdateRoleDescription.

    https://iam.amazonaws.com/ ?Action=UpdateRoleDescription &RoleName=AWSServiceRoleForElastiCache &Version=2010-05-08 &Description="New description"

Suppression d'un rôle lié à un service pour Amazon ElastiCache

Si vous n'avez plus besoin d'utiliser une fonction ou un service qui nécessite un rôle lié à un service, nous vous recommandons de supprimer ce rôle. De cette façon, vous n'avez aucune entité inutilisée qui n'est pas surveillée ou gérée activement. Cependant, vous devez nettoyer votre rôle lié à un service avant de pouvoir le supprimer.

Amazon ElastiCache ne supprime pas automatiquement le rôle lié à un service.

Nettoyage d'un rôle lié à un service

Avant de pouvoir utiliser IAM pour supprimer un rôle lié à un service, confirmez d'abord qu'aucune session n'a de ressources (clusters ou groupes de réplication) associées au rôle.

Pour vérifier si une session est active pour le rôle lié à un service dans la console IAM

  1. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation de la console IAM, choisissez Rôles. Choisissez ensuite le nom (et non pas la case à cocher correspondante) du rôle AWSServiceRoleForElastiCache.

  3. Sur la page Récapitulatif du rôle sélectionné, choisissez l'onglet Access Advisor.

  4. Dans l'onglet Access Advisor, consultez l'activité récente pour le rôle lié à un service.

Pour supprimer les ressources Amazon ElastiCache qui nécessitent AWSServiceRolefoRelastiCache (console)

Suppression d'un rôle lié à un service (console IAM)

Vous pouvez utiliser la console IAM pour supprimer un rôle lié à un service.

Pour supprimer un rôle lié à un service (console)

  1. Connectez-vous à la AWS Management Console et ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation de la console IAM, choisissez Rôles. Cochez ensuite la case en regard du nom du rôle que vous souhaitez supprimer, sans sélectionner le nom ou la ligne.

  3. Pour les actions sur les Rôle en haut de la page, sélectionnez Supprimer.

  4. Dans la boîte de dialogue de confirmation, vérifiez les dernières données consultées dans le service qui indiquent quels rôles, parmi ceux sélectionnés, ont accédé en dernier à un service AWS. Cela vous permet de confirmer si le rôle est actif actuellement. Si vous souhaitez continuer, sélectionnez Oui, supprimer pour lancer la tâche de suppression du rôle.

  5. Consultez les notifications de la console IAM pour surveiller la progression de la suppression du rôle lié à un service. Dans la mesure où la suppression du rôle lié à un service IAM est asynchrone, une fois que vous soumettez le rôle afin qu'il soit supprimé, la suppression peut réussir ou échouer. Si la tâche échoue, vous pouvez choisir Afficher les détails ou Afficher les ressources à partir des notifications pour connaître le motif de l'échec de la suppression.

Suppression d'un rôle lié à un service (CLI IAM)

Vous pouvez utiliser les opérations IAM de la AWS Command Line Interface pour supprimer un rôle lié à un service.

Pour supprimer un rôle lié à un service (CLI)

  1. Si vous ne connaissez pas le nom du rôle lié à un service que vous souhaitez supprimer, saisissez la commande suivante. Cette commande répertorie les rôles et leurs noms Amazon Resource Name (ARN) dans votre compte.

    $ aws iam get-role --role-name role-name

    Utilisez le nom du rôle, pas l'ARN, pour faire référence aux opérations de la CLI. Par exemple, si un rôle a l'ARN arn:aws:iam::123456789012:role/myrole, vous faites référence au rôle en tant que myrole.

  2. Dans la mesure où un rôle lié à un service ne peut pas être supprimé s'il est utilisé ou si des ressources lui sont associées, vous devez envoyer une demande de suppression. Cette demande peut être refusée si ces conditions ne sont pas satisfaites. Vous devez capturer l'information deletion-task-id de la réponse afin de vérifier l'état de la tâche de suppression. Saisissez la commande suivante pour envoyer une demande de suppression d'un rôle lié à un service.

    $ aws iam delete-service-linked-role --role-name role-name
  3. Tapez la commande suivante pour vérifier l'état de la tâche de suppression.

    $ aws iam get-service-linked-role-deletion-status --deletion-task-id deletion-task-id

    L'état de la tâche de suppression peut être NOT_STARTED, IN_PROGRESS, SUCCEEDED ou FAILED. Si la suppression échoue, l'appel renvoie le motif de l'échec, afin que vous puissiez apporter une solution.

Suppression d'un rôle lié à un service (API IAM)

Vous pouvez utiliser l'API IAM pour supprimer un rôle lié à un service.

Pour supprimer un rôle lié à un service (API)

  1. Pour envoyer une demande de suppression pour un rôle lié à un service, appelez DeleteServiceLinkedRole. Dans la demande, spécifiez le nom d'un rôle.

    Dans la mesure où un rôle lié à un service ne peut pas être supprimé s'il est utilisé ou si des ressources lui sont associées, vous devez envoyer une demande de suppression. Cette demande peut être refusée si ces conditions ne sont pas satisfaites. Vous devez capturer l'information DeletionTaskId de la réponse afin de vérifier l'état de la tâche de suppression.

  2. Pour vérifier l'état de la suppression, appelez GetServiceLinkedRoleDeletionStatus. Dans la demande, spécifiez l'information DeletionTaskId.

    L'état de la tâche de suppression peut être NOT_STARTED, IN_PROGRESS, SUCCEEDED ou FAILED. Si la suppression échoue, l'appel renvoie le motif de l'échec, afin que vous puissiez apporter une solution.