Récupérer les clés de signature pour valider les jetons OIDC - 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.

Récupérer les clés de signature pour valider les jetons OIDC

Kubernetes délivre un ProjectedServiceAccountToken à chaque compte de service Kubernetes. Ce jeton est un jeton OIDC, qui est lui-même un type de jeton web JSON (JWT). Amazon EKS héberge un point de terminaison OIDC public pour chaque cluster qui contient les clés de signature du jeton afin que les systèmes externes puissent le valider.

Pour valider un ProjectedServiceAccountToken, vous devez récupérer les clés de signature publiques OIDC, également appelées JSON Web Key Set (JWKS). Utilisez ces clés dans votre application pour valider le jeton. Par exemple, vous pouvez utiliser la bibliothèque Python PyJWT pour valider les jetons à l’aide de ces clés. Pour plus d’informations sur le ProjectedServiceAccountToken, consultez Informations générales sur IAM, Kubernetes et OpenID Connect (OIDC).

Prérequis

  • Un fournisseur OpenID Connect (OIDC) existant pour la gestion des identités et des accès (IAM) AWS pour votre cluster. Pour déterminer si vous en avez déjà un, ou pour en créer un, consultez Créer un fournisseur d'identité OIDC IAM pour votre cluster.

  • AWS CLI : Un outil de ligne de commande pour travailler avec les services AWS, y compris Amazon EKS. Pour plus d’informations, consultez la section Installation du Guide de l’utilisateur de l’interface de la ligne de commande AWS. Après avoir installé CLI AWS, nous vous recommandons de le configurer également. Pour plus d’informations, consultez la section Configuration rapide avec aws configure du Guide de l’utilisateur de l’interface de la ligne de commande AWS.

Procédure

  1. Récupérez l’URL OIDC de votre cluster Amazon EKS à l’aide de la CLI AWS.

    $ aws eks describe-cluster --name my-cluster --query 'cluster.identity.oidc.issuer' "https://oidc.eks.us-west-2.amazonaws.com/id/8EBDXXXX00BAE"
  2. Récupérez la clé de signature publique à l’aide de curl ou d’un outil similaire. Le résultat est un ensemble de clés web JSON (JWKS).

    Important

    Amazon EKS limite les appels vers le point de terminaison OIDC. Vous devez mettre en cache la clé de signature publique. Respectez l’en-tête cache-control inclus dans la réponse.

    Important

    Amazon EKS fait pivoter la clé de signature OIDC tous les sept jours.

    $ curl https://oidc.eks.us-west-2.amazonaws.com/id/8EBDXXXX00BAE/keys {"keys":[{"kty":"RSA","kid":"2284XXXX4a40","use":"sig","alg":"RS256","n":"wklbXXXXMVfQ","e":"AQAB"}]}