Prévention interservices des adjoints confus dans Amazon EKS - Amazon EKS

Aidez à améliorer cette page

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.

Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page.

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 interservices des adjoints confus dans Amazon EKS

Le problème des adjoints confus est un problème de sécurité où une entité qui n'est pas autorisée à effectuer une action peut contraindre une entité plus privilégiée à effectuer l'action. 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 d'appel peut être manipulé pour utiliser ses autorisations afin d'agir sur les ressources d'un autre client d'une manière à laquelle il ne devrait pas être autorisé à 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 aws:SourceArnclés contextuelles de condition aws:SourceAccountglobale dans les politiques de ressources afin de limiter les autorisations qu'Amazon Elastic Kubernetes Service (Amazon EKS) accorde à un autre service à la ressource.

aws:SourceArn

Utilisez aws:SourceArn pour associer une seule ressource à l’accès interservice.

aws:SourceAccount

Utilisez aws:SourceAccount pour permettre à n’importe quelle ressource de ce compte d’être associée à l’utilisation interservice.

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. Si vous ne connaissez pas l'ARN complet de la ressource ou si vous spécifiez plusieurs ressources, utilisez la clé de condition contextuelle aws:SourceArn globale avec des caractères génériques (*) pour les parties inconnues de l'ARN. Par exemple, arn:aws:<servicename>:*:<123456789012>:*.

Si la valeur aws:SourceArn ne contient pas l'ID du compte, tel qu'un ARN de compartiment Amazon S3, vous devez utiliser à la fois aws:SourceAccount et aws:SourceArn pour limiter les autorisations.

Rôle du cluster Amazon EKS : interservices, prévention des adjoints confus

Un rôle IAM de cluster Amazon EKS est requis pour chaque cluster. Les clusters Kubernetes gérés par Amazon EKS utilisent ce rôle pour gérer les nœuds et l'ancien fournisseur de cloud utilise ce rôle pour créer des équilibreurs de charge avec Elastic Load Balancing for services. Ces actions de cluster ne peuvent affecter que le même compte. Nous vous recommandons donc de limiter chaque rôle de cluster à ce cluster et à ce compte. Il s'agit d'une application spécifique de la AWS recommandation de respecter le principe du moindre privilège dans votre compte.

Format ARN source

La valeur de aws:SourceArn doit être l'ARN d'un cluster EKS au format arn:aws: eks:region:account:cluster/cluster-name . Par exemple, arn:aws: eks:us-west-2:123456789012:cluster/my-cluster.

Format de politique de confiance pour les rôles du cluster EKS

L'exemple suivant montre comment vous pouvez utiliser les clés aws:SourceArn contextuelles de condition aws:SourceAccount globale dans Amazon EKS pour éviter le problème de confusion des adjoints.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:eks:us-west-2:123456789012:cluster/my-cluster" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] }