Federação de identidades da AWS para serviços externos
A federação de identidades de saída do IAM permite que suas workloads da AWS acessem com segurança serviços externos sem armazenar credenciais de longo prazo. Suas workloads da AWS podem solicitar JSON Web Tokens (JWTs) de curta duração do AWS Security Token Service (AWS STS) chamando a API GetWebIdentityToken. Esses tokens são assinados criptograficamente, verificáveis publicamente e contêm um conjunto abrangente de dados que comprovam a identidade da sua workload da AWS em serviços externos. Você pode usar esses tokens com uma ampla variedade de provedores de nuvem terceiros, plataformas SaaS e aplicações auto-hospedadas. Os serviços externos verificam a autenticidade do token usando as chaves de verificação da AWS publicadas em endpoints conhecidos e usam as informações nos tokens para tomar decisões de autenticação e autorização.
A federação de identidades de saída elimina a necessidade de armazenar credenciais de longo prazo, como chaves de API ou senhas, no código da aplicação ou nas variáveis de ambiente, melhorando sua postura de segurança. Você pode controlar o acesso à geração de tokens e aplicar propriedades de tokens, como algoritmos de assinatura, públicos permitidos e a duração, usando políticas do IAM. Todas as solicitações de token são registradas em log na AWS, fornecendo trilhas de auditoria completas para monitoramento de segurança e relatórios de conformidade. Você também pode personalizar tokens com tags que aparecem como reivindicações personalizadas, permitindo que serviços externos implementem um controle de acesso refinado e baseado em atributos.
Casos de uso comuns
Usando a federação de identidades de saída, suas workloads da AWS podem:
-
Acessar recursos e serviços em provedores de nuvem externos. Por exemplo, uma função do Lambda que processa dados pode gravar resultados no serviço de armazenamento de um provedor de nuvem externo ou consultar seu banco de dados.
-
Integrar-se com provedores externos de software como serviço (SaaS) para analytics, processamento de dados, monitoramento etc. Por exemplo, suas funções do Lambda podem enviar métricas para plataformas de observabilidade.
-
Autenticar-se com suas próprias aplicações hospedadas na AWS, em provedores de nuvem externos ou em data centers on-premises, permitindo arquiteturas híbridas e multinuvem seguras. Por exemplo, suas workloads da AWS podem interagir com aplicações em contêineres em execução no seu cluster do Kubernetes on-premises.
Como funciona
-
A função do Lambda chama a API GetWebIdentityToken para solicitar um JSON Web Token (JWT) do AWS Security Token Service (AWS STS).
-
O AWS STS valida a solicitação e retorna um JWT assinado para a função do Lambda.
-
A função do Lambda envia o JWT para o serviço externo.
-
O serviço externo extrai o URL do emissor do token, verifica se ele corresponde a um emissor confiável conhecido e obtém os metadados e as chaves de verificação da AWS do endpoint de descoberta do OIDC.
-
O serviço externo usa as chaves de verificação para verificar a assinatura do token e valida as reivindicações como prazo de validade, assunto e público.
-
Após a validação com êxito, o serviço externo concede acesso à função do Lambda.