Prévention du cas de figure de l’adjoint désorienté entre services - AWS CodeDeploy

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 cas de figure de l’adjoint désorienté 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 recommandons d'utiliser les clés contextuelles de condition SourceAccount globale aws : SourceArn et aws : dans les politiques de ressources afin de limiter les autorisations qui CodeDeploy accordent un autre service à la ressource. Si vous utilisez les deux clés de contexte de condition globale et que la valeur aws:SourceArn contient l'ID de compte, la valeur aws:SourceAccount et le compte dans la valeur aws:SourceArn doivent utiliser 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. À utiliser aws:SourceAccount si vous souhaitez qu'une ressource de ce compte soit associée à l'utilisation interservices.

Pour les déploiements EC2/on-premises AWS , Lambda et Amazon ECS classiques, la valeur de doit aws:SourceArn inclure l'ARN du CodeDeploy groupe de déploiement avec lequel il CodeDeploy est autorisé à assumer le rôle IAM.

Pour les déploiements bleu/vert Amazon ECS créés par le biais de AWS CloudFormation, la valeur de aws:SourceArn doit inclure l' CloudFormation ARN de pile avec lequel CodeDeploy il est autorisé à assumer le rôle IAM.

Le moyen le plus efficace de se protéger contre le problème de confusion des adjoints est d'utiliser la aws:SourceArn clé avec l'ARN complet de la ressource. Si vous ne connaissez pas l'ARN complet ou si vous spécifiez plusieurs ressources, utilisez des caractères génériques (*) pour les parties inconnues.

Par exemple, vous pouvez utiliser la politique de confiance suivante dans le cadre d'un déploiement EC2/sur site, AWS Lambda ou Amazon ECS standard :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "codedeploy.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:codedeploy:us-east-1:111122223333:deploymentgroup:myApplication/*" } } } ] }

Pour un déploiement bleu/vert Amazon ECS créé via AWS CloudFormation, vous pouvez utiliser :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "codedeploy.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:cloudformation:us-east-1:111122223333:stack/MyCloudFormationStackName/*" } } } ] }