Recupera le chiavi di firma per convalidare i token OIDC - Amazon EKS

Contribuisci a migliorare questa pagina

Per contribuire a questa guida per l’utente, seleziona il link Edit this page on GitHub che si trova nel riquadro destro di ogni pagina.

Recupera le chiavi di firma per convalidare i token OIDC

Kubernetes rilascia un ProjectedServiceAccountToken a ciascun account di servizio Kubernetes. Questo token è un token OIDC, che è un tipo di token web JSON (JWT). Amazon EKS ora ospita un endpoint pubblico OIDC per ogni cluster che contiene le chiavi di firma per i token in modo che i sistemi esterni possano convalidarlo.

Per convalidare un ProjectedServiceAccountToken, devi recuperare le chiavi di firma pubbliche OIDC, chiamate anche set di chiavi Web JSON (JWKS). Utilizza queste chiavi nell’applicazione per convalidare il token. Ad esempio, puoi usare PyJWT Python library per convalidare i token utilizzando queste chiavi. Per ulteriori informazioni su ProjectedServiceAccountToken, consultare Informazioni di base su IAM, Kubernetes e OpenID Connect (OIDC).

Prerequisiti

  • Un provider OpenID Connect (OIDC) esistente di AWS Identity and Access Management (IAM) per il cluster. Per determinare se disponi già di un provider IAM o per crearne uno, consulta Per creare un provider di identità IAM OIDC per il cluster.

  • AWS CLI: uno strumento a riga di comando per usare i servizi AWS, tra cui Amazon EKS. Per ulteriori informazioni, consulta Installing nella Guida per l’utente dell’interfaccia a riga di comando AWS. Dopo aver installato AWS CLI, si consiglia di procedere anche con la configurazione. Per ulteriori informazioni, consulta Quick configuration with aws configure nella Guida per l’utente di AWS per l’interfaccia a guida di comando.

Procedura

  1. Recupera l’URL OIDC del cluster Amazon EKS utilizzando AWS CLI.

    $ aws eks describe-cluster --name my-cluster --query 'cluster.identity.oidc.issuer' "https://oidc.eks.us-west-2.amazonaws.com/id/8EBDXXXX00BAE"
  2. Recupera la chiave di firma pubblica usando curl o uno strumento simile. Il risultato è un JSON Web Key Set (JWKS).

    Importante

    Amazon EKS limita le chiamate all’endpoint OIDC. È necessario caricare nella cache la chiave di firma pubblica. Rispetta l’intestazione cache-control inclusa nella risposta.

    Importante

    Amazon EKS ruota la chiave di firma OIDC ogni sette giorni.

    $ 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"}]}