Ajudar a melhorar esta página
Quer contribuir para este guia do usuário? Role até o final desta página e selecione Editar esta página no GitHub. Suas contribuições ajudarão a tornar nosso guia do usuário melhor para todos.
Obter as chaves de assinatura para validar os tokens OIDC
O Kubernetes emite um ProjectedServiceAccountToken
para cada Service
Account do Kubernetes. Este token é um token OIDC, que também é um tipo de JSON
web token (JWT). O Amazon EKS hospeda um endpoint público OIDC em cada cluster que contém as chaves de assinatura para o token de modo que sistemas externos possam validá-lo.
Para validar um ProjectedServiceAccountToken
, você precisa buscar as chaves públicas de assinatura OIDC, também chamadas de JSON Web Key Set (JWKS). Use essas chaves em sua aplicação para validar o token. Por exemplo, você pode usar a biblioteca PyJWT PythonProjectedServiceAccountToken
, consulte o Informações básicas do IAM, Kubernetes e OpenID Connect (OIDC).
Pré-requisitos
-
Um provedor OpenID Connect (OIDC) do AWS Identity and Access Management (IAM) existente para o cluster. Para determinar se você tem ou para criar uma, consulte Criar um provedor OIDC do IAM para o cluster.
-
AWS CLI – Uma ferramenta de linha de comando para trabalhar com os serviços AWS, incluindo o Amazon EKS. Para obter mais informações, consulte Installing, updating, and uninstalling the AWS CLI (Instalar, atualizar e desinstalar a ) no Manual do usuário da AWS Command Line Interface. Depois de instalar a AWS CLI, recomendamos que você também a configure. Para obter mais informações, consulte Quick configuration with
aws configure
(Configuração rápida com ) no Manual do usuário do AWS Command Line Interface.
Buscar chaves públicas de assinatura OIDC (AWS CLI)
-
Recupere o URL do OIDC do seu cluster do Amazon EKS usando a AWS CLI.
$
aws eks describe-cluster --name
"my-cluster
--query 'cluster.identity.oidc.issuer'https://oidc.eks.us-west-2.amazonaws.com/id/8EBDXXXX00BAE
" -
Recupere a chave de assinatura pública usando o curl ou uma ferramenta similar. O resultado é um JSON Web Key Set (JWKS)
. Importante
O Amazon EKS controla a utilização das chamadas para o endpoint do OIDC. Você deve armazenar em cache a chave pública de assinatura. Respeite o cabeçalho
cache-control
incluído na resposta.Importante
O Amazon EKS alterna a chave de assinatura OIDC a cada sete dias.
$
curl
{"keys":[{"kty":"RSA","kid":"2284XXXX4a40","use":"sig","alg":"RS256","n":"wklbXXXXMVfQ","e":"AQAB"}]}https://oidc.eks.us-west-2.amazonaws.com/id/8EBDXXXX00BAE
/keys