Accordez aux Pods l'accès aux ressources {aws} en fonction de balises - 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.

Accordez aux Pods l'accès aux ressources {aws} en fonction de balises

Le contrôle d'accès basé sur les attributs (ABAC) accorde des droits aux utilisateurs par le biais de politiques qui combinent les attributs entre eux. EKS Pod Identity attache des balises aux informations d'identification temporaires de chaque pod avec des attributs tels que le nom du cluster, l'espace de noms et 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:ListBucket" ], "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

EKS Pod Identity ne peut pas ajouter de balises personnalisées supplémentaires à l'AssumeRoleaction qu'il exécute. 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, disons que :

  • Amazon EKS ajoute une clé eks-cluster-name et une valeur my-cluster à la session lorsqu'EKS assume le rôle de client et

  • Vous ajoutez une eks-cluster-name balise au rôle IAM avec la valeurmy-own-cluster.

Dans ce cas, le premier prévaut et la valeur de la eks-cluster-name balise seramy-cluster.