Prévention des problèmes d'adjoint confus entre services - Amazon Relational Database Service

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 des problèmes d'adjoint confus entre services

Le problème de l'adjoint confus est un problème de sécurité dans lequel une entité qui n'a pas l'autorisation d'effectuer une action peut contraindre une entité plus privilégiée à effectuer cette action. Dans AWS, l'emprunt d'identité entre services peut entraîner le problème de député confus.

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é pour utiliser ses autorisations et agir sur les ressources d'un autre client, d'une manière dont il ne devrait pas avoir accès. Pour éviter cela, AWS fournit des outils qui peuvent vous aider à protéger vos données pour tous les services avec des principaux de service qui ont eu accès aux ressources de votre compte. Pour de plus amples informations, veuillez consulter Le problème du député confus dans le Guide de l'utilisateur IAM.

Afin de limiter les autorisations octroyées par Amazon RDS à un autre service pour une ressource spécifique, nous vous recommandons d'utiliser les clés de contexte de condition globale aws:SourceArn et aws:SourceAccount dans les politiques de ressources.

Dans certains cas, la valeur aws:SourceArn ne contient pas l'ID du compte, par exemple lorsque vous utilisez l'Amazon Resource Name (ARN) pour un compartiment Amazon S3. Dans ces cas, veillez à utiliser les deux clés de contexte de condition globale pour limiter les autorisations. Dans certains cas, vous utilisez les deux clés de contexte de condition globale et la valeur aws:SourceArn contient l'ID du compte. Dans ces cas, assurez-vous que la valeur aws:SourceAccount et le compte dans le aws:SourceArn utilisent le même ID de compte lorsqu'ils sont utilisés dans la même instruction de politique. Utilisez aws:SourceArn si vous souhaitez qu'une seule ressource soit associée à l'accès entre services. Utilisez AWS si vous souhaitez autoriser une ressource du compte aws:SourceAccount spécifié à être associée à l'utilisation entre services.

Assurez-vous que la valeur de aws:SourceArn est un ARN d'un type de ressource Amazon RDS. Pour plus d'informations, consultez Utilisation des Amazon Resource Names (ARN) dans Amazon RDS.

Le moyen le plus efficace de se protéger contre le problème de député confus consiste à utiliser la clé de contexte de condition globale aws:SourceArn avec l'ARN complet de la ressource. Dans certains cas, vous ne connaissez pas l'ARN complet de la ressource ou vous spécifiez plusieurs ressources. Dans ces cas, utilisez la clé de contexte de condition globale aws:SourceArn avec des caractères génériques (*) pour les parties inconnues de l'ARN. Par exemple : arn:aws:rds:*:123456789012:*.

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

{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:rds:us-east-1:123456789012:db:mydbinstance" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } }

Pour obtenir d'autres exemples de politiques qui utilisent les clés de contexte de condition globale aws:SourceArn et aws:SourceAccount, veuillez consulter les sections suivantes :