Prévention du problème de l’adjoint confus entre services - Amazon EC2 Auto Scaling

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.

Prévention du problème de l’adjoint confus entre services

Le problème de député confus est un problème de sécurité dans lequel une entité qui n’est pas autorisée à effectuer une action peut contraindre une entité plus privilégiée à le faire.

En AWS, l'usurpation d'identité interservices peut entraîner la confusion des adjoints. L’usurpation d’identité entre services peut se produire lorsqu’un service (le service appelant) appelle un autre service (le service appelé). Le service appelant peut être manipulé et ses autorisations utilisées pour agir sur les ressources d’un autre client auxquelles on ne serait pas autorisé d’accéder autrement.

Pour éviter cela, AWS fournit des outils qui vous aident à protéger vos données pour tous les services auprès des principaux fournisseurs de services qui ont obtenu l'accès aux ressources de votre compte. Nous vous recommandons d'utiliser les clés de contexte de condition globales aws:SourceArn et aws:SourceAccount dans les politiques d'approbation pour les rôles de service Amazon EC2 Auto Scaling. Ces clés limitent les autorisations qu'Amazon EC2 Auto Scaling accorde à un autre service pour la ressource.

Les valeurs des SourceAccount champs SourceArn et sont définies lorsqu'Amazon EC2 Auto Scaling utilise AWS Security Token Service (AWS STS) pour assumer un rôle en votre nom.

Pour utiliser les clés de condition globales aws:SourceArn ou aws:SourceAccount, définissez comme valeur l'Amazon Resource Name (ARN) ou le compte de la ressource qu'Amazon EC2 Auto Scaling stocke. Dans la mesure du possible, utilisez aws:SourceArn, qui est plus spécifique. Définissez comme valeur l'ARN ou un modèle d'ARN avec des caractères génériques (*) pour les parties inconnues de l'ARN. Si vous ne connaissez pas l'ARN de la ressource, utilisez aws:SourceAccount à la place.

L'exemple suivant montre comment utiliser les clés de contexte de condition globale aws:SourceArn et aws:SourceAccount dans Amazon EC2 Auto Scaling pour éviter le problème de l'adjoint confus.

Exemple : utilisation des clés de condition aws:SourceArn et aws:SourceAccount

Un rôle qu'un service endosse pour effectuer des actions en votre nom s'appelle un rôle de service. Si vous souhaitez créer des hooks de cycle de vie qui envoient des notifications à un autre endroit qu'Amazon EventBridge, vous devez créer un rôle de service pour permettre à Amazon EC2 Auto Scaling d'envoyer des notifications à une rubrique Amazon SNS ou à une file d'attente Amazon SQS en votre nom. Si vous souhaitez qu'un seul groupe Auto Scaling soit associé à l'accès interservice, vous pouvez spécifier la politique d'approbation de la fonction du service comme suit.

Cet exemple de politique d'approbation utilise des déclarations de condition pour limiter la capacité AssumeRole sur la fonction du service uniquement aux actions qui affectent le groupe Auto Scaling spécifié dans le compte spécifié. Les conditions aws:SourceArn et aws:SourceAccount sont évaluées indépendamment. Toute demande d'utilisation de la fonction du service doit répondre aux deux conditions.

Avant d'utiliser cette politique, remplacez la région, l'ID de compte, l'UUID, et le nom du groupe par des valeurs valides de votre compte.

{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "autoscaling.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:autoscaling:region:account_id:autoScalingGroup:uuid:autoScalingGroupName/my-asg" }, "StringEquals": { "aws:SourceAccount": "account_id" } } } }

Dans l'exemple précédent :

  • L’élément Principal spécifie le principal de service du service (autoscaling.amazonaws.com).

  • L’élément Action indique l’action sts:AssumeRole.

  • L’élément Condition spécifie les clés de condition aws:SourceArn et aws:SourceAccount globales. L'ARN de la source inclut l'ID de compte. Il n'est donc pas nécessaire d'utiliser aws:SourceAccount avec aws:SourceArn.

Informations supplémentaires

Pour plus d'informations, veuillez consulter la rubrique Clés de contexte de condition globales AWS, Le problème d'adjoint confus, et la Modification d'une politique d'approbation de rôle (console)dans le Guide de l'utilisateur IAM.