AWS EKS 中使用什么凭证来访问 AWS 服务,例如 SNS。

What credential is used inside AWS EKS to access AWS service such as SNS.

如何配置凭证以从 EKS 内部使用 AWS 服务。我不能将 AWS SDK 用于此特定目的。我在 yaml 文件中提到了一个具有所需权限的角色,但它似乎并没有选择这个角色。

谢谢 感谢您的帮助。

通常,您希望应用某种级别的逻辑来允许 pods 自己从 STS 获取 IAM 凭据。 AWS 目前不(它现在 re:Invent 所以你永远不知道)提供一种本地方式来做到这一点。我们实施的两个社区解决方案是:

kube2IAM:https://github.com/jtblin/kube2iam

kIAM:https://github.com/uswitch/kiam

根据我的经验,两者在 production/large 环境中都运行良好。我更喜欢 kIAM 的安全模型,但两者都能完成工作。

基本上工作方式相同...拦截(找不到更好的词)通信 b/t 容器和 STS 中的 SDK 库,将 pod 的身份与内部角色字典匹配,然后获取该角色的 STS 凭据并将这些凭据交还给容器。 SDK 本身并不知道它在容器中,它只是在做它在任何地方所做的事情......遍历它的访问树,直到它看到需要从 STS 获取信用并接收这些信用。