Accorder pods l'accès aux AWS ressources en fonction des balises - Amazon EKS

Aidez à améliorer cette page

Vous souhaitez contribuer à ce guide de l'utilisateur ? Faites défiler cette page vers le bas et sélectionnez Modifier cette page sur GitHub. Vos contributions aideront à améliorer notre guide de l'utilisateur pour tout le monde.

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.

Accorder pods l'accès aux AWS ressources en fonction des balises

L’identité du pod EKS attache des balises aux informations d’identification temporaires de chaque pod avec des attributs tels que le nom du cluster, l’espace de noms, le nom du compte de service. Ces balises de session de rôle permettent aux administrateurs de créer un rôle unique qui peut fonctionner avec tous les comptes de service en autorisant l'accès aux AWS ressources en fonction des balises correspondantes. En ajoutant la prise en charge des balises de session de rôle, les clients peuvent appliquer des frontières de sécurité plus strictes entre les clusters et les charges de travail au sein des clusters, tout en réutilisant les mêmes rôles IAM et politiques IAM.

Par exemple, la politique suivante autorise l’action s3:GetObject si l’objet est étiqueté avec le nom du cluster EKS.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectTagging" ], "Resource": "*", "Condition": { "StringEquals": { "s3:ExistingObjectTag/eks-cluster-name": "${aws:PrincipalTag/eks-cluster-name}" } } } ] }

Liste des balises de session ajoutées par l’identité du pod EKS

La liste suivante contient toutes les clés des balises qui sont ajoutées à la demande AssumeRole effectuée par Amazon EKS. Pour utiliser ces balises dans les politiques, utilisez ${aws:PrincipalTag/ suivi de la clé, par exemple ${aws:PrincipalTag/kubernetes-namespace}.

  • eks-cluster-arn

  • eks-cluster-name

  • kubernetes-namespace

  • kubernetes-service-account

  • kubernetes-pod-name

  • kubernetes-pod-uid

Balises inter-comptes

Toutes les balises de session ajoutées par l’identité du pod EKS sont transitives ; les clés et les valeurs des balises sont transmises à toutes les actions AssumeRole que vos charges de travail utilisent pour changer de rôle dans un autre compte. Vous pouvez utiliser ces balises dans les politiques d’autres comptes pour limiter l’accès dans des scénarios intercomptes. Pour plus d’informations, consultez Chaînage des rôles avec des balises de session dans le Guide de l’utilisateur IAM.

Balises personnalisées

L’identité du pod EKS ne peut pas ajouter de balises personnalisées supplémentaires à l’action AssumeRole qu’elle effectue. Cependant, les balises que vous appliquez au rôle IAM sont toujours disponibles sous le même format : ${aws:PrincipalTag/ suivi de la clé, par exemple ${aws:PrincipalTag/MyCustomTag}.

Note

Les balises ajoutées à la session via la demande sts:AssumeRole sont prioritaires en cas de conflit. Par exemple, supposons qu’Amazon EKS ajoute une clé eks-cluster-name et une valeur my-cluster à la session lorsque EKS assume le rôle de client. Vous avez également ajouté une balise eks-cluster-name au rôle IAM avec la valeur my-own-cluster. Dans ce cas, le premier a la priorité et la valeur de la balise eks-cluster-name sera my-cluster.