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 un problème de confusion chez les 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 recommandons d'utiliser les clés de contexte de condition aws:SourceAccountglobale aws:SourceArnet les clés de contexte dans les politiques de confiance relatives aux rôles de service Amazon EC2 Auto Scaling. Ces clés limitent les autorisations qu'Amazon EC2 Auto Scaling accorde à un autre service à 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 aws:SourceArn ou les clés de condition aws:SourceAccount globales, définissez la valeur sur le nom de ressource Amazon (ARN) ou le compte de la ressource stockée par Amazon EC2 Auto Scaling. 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 vous pouvez utiliser les clés contextuelles aws:SourceArn et les clés de contexte de condition aws:SourceAccount globale dans Amazon EC2 Auto Scaling pour éviter le problème de confusion des adjoints.

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.

JSON
{ "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, consultez les rubriques clés contextuelles des conditions AWS globales, Le problème des adjoints confus et Mettre à jour une politique de confiance dans les rôles dans le guide de l'utilisateur IAM.