对于在 AWS 上运行的工作负载,可以通过将 IAM 角色与 EC2、 ECS、EKS或Lambda资源关联来执行授权操作。这是安全且方便的,不必为相应的应用程序分发和管理 AWS 凭证,而是在进行 AWS API 调用时使用相关的临时凭证。
IAM Roles Anywhere 能够将 IAM 角色用于 AWS 外部的应用程序,以安全地访问 AWS API,就像将 IAM 角色用于 AWS 上的工作负载一样。借助 IAM Roles Anywhere,可以向本地服务器、容器或其他计算平台提供短期凭证。
当使用 IAM Roles Anywhere
时,可以不再需要长期 AWS的AK / SK
,这有助于提高安全性,并消除管理和轮换长期凭证的运营开销。还可以使用 IAM Roles Anywhere
来提供跨混合工作负载管理凭证的一致体验。
IAM Roles Anywhere
依靠公钥基础设施 (PKI) 在 AWS 账户和本地工作负载的证书颁发机构 (CA) 之间建立信任。AWS 外部的工作负载使用X.509 证书向 IAM Roles Anywhere
请求临时 AWS 凭证。证书由 IAM Roles Anywhere
中trust anchor
的 CA 颁发。
应用程序向IAM Roles Anywhere
发出身份验证请求,同时发送其公钥和签名过的私钥。当 IAM Roles Anywhere
收到请求时,它首先使用公钥验证签名,然后验证证书是否由账户中先前配置的trust anchor
颁发。
两次验证均成功后,应用程序通过身份验证,IAM Roles Anywhere
将通过调用AWS STS
为请求中指定的角色创建新的角色会话。
上面的介绍如果看不懂没关系,我们将通过后面的动手实践来解释