AWS各类用户承担IAM角色的方式及相关概念澄清
关于AWS各类用户承担IAM角色的疑问
背景与核心困惑
我一直在梳理AWS里用户/身份的关系,以及不同类型用户承担IAM角色的方式,但越理越懵——尤其是Cognito相关的术语和场景,还有“未认证用户也能承担角色”这点,让我搞不清认证到底是不是承担角色的前提。
我先列了目前想到的几类用户/身份:
- IAM User/Identity(已认证,比如用AWS CLI通过密钥认证的用户)
- Cognito User Pool User/Identity(已认证)
- Cognito Federated Identity Pool User/Identity(已认证)
- 想问问还有没有其他常见的用户类型?
针对IAM User的疑问
我理解IAM User是通过AWS控制台登录,或者CLI/SDK用访问密钥ID/密钥识别的身份。这类用户可以通过控制台切换角色,或者调用assume-role接口来承担IAM角色,这个理解对吗?
针对Cognito User Pool User的疑问
我知道Cognito User Pool的用户和IAM User完全无关,而且目前没法把IAM用户映射到Cognito的用户池或联合身份池里。关于这类用户分配IAM角色的方式,我了解到两种:
- 给用户所属的Cognito User Pool Group绑定IAM角色,已认证用户会自动承担这个角色;
- 通过关联的Cognito Federated Identity Pool分配角色,此时已认证的User Pool用户就等同于已认证的Federated Identity Pool用户。
我想搞清楚两个点:
- 用户通过Federated Identity Pool完成User Pool认证后,能不能同时承担Group映射的角色和Federated Identity Pool映射的角色?还是只能二选一?
- 如果AWS组织里有多个账户,是每个账户都要建Cognito User Pool来管理同一批用户,还是可以在一个账户建User Pool,通过Federated Identity Pool跨账户共享用户?
针对Cognito Federated Identity Pool User的疑问
如果联合的身份不是Cognito(比如Facebook),那这类Federated Identity Pool的用户就是Facebook用户,和Cognito User Pool完全没关系。而且这类用户哪怕是未认证状态,也能承担Federated Identity Pool映射的IAM角色,这个说法对吗?
另外,我翻了AWS Re:Invent视频和官方文档,但还是对Cognito的术语和逻辑摸不清,有没有更清晰易懂的解释方式?
内容的提问来源于stack exchange,提问作者mon
相关产品推荐
相关产品推荐

