在我们通常的理解中user都是用来做authentication(登录)
,一旦登录成功,这个user就可以做一些分配给他的操作,当然AWS需要authentication
, 自然AWS就会有不同的user,在AWS中User分为三种:Root user
IAM Users
Federating Existing Users
Root user
当你使用你的邮箱和密码在AWS上创建一个account的同时,AWS会这个account创建第一个IAM User,这个User就是root
。
root拥有所有permission, 使用你的邮箱密码登录。
但是AWS推荐我们不要每天使用root user
登录,管理你account下的资源。只使用root user创建其他的IAM user,分配不同的权限,给不同的人使用。
IAM Users
操作AWS的第一步就是authentication
, 首先你得登录,那么在AWS中可以用来做authentication的资源是IAM Entity
, IAM user就是IAM Entity中的一种,可以用来做authentication。
每一个IAM User都有自己的用户名和密码,可以用来分配给team中不同成员,并且可以利用该成员的工作内容,仅分配给这个User所需的permission.
通常操作AWS资源有三种途径:
- AWS console
- AWS CLI
- AWS API
那么这三种方式都可以使用IAM User进行authentication:
- AWS console
对于AWS console通常使用IAM user的用户名和密码登录console即可
- AWS CLI
- AWS API
对于以上两种,我们会通过创建某一个IAM User来创建access key,让AWS CLI以及API使用access key pair做authentication
这种credential是一个key pair包含
Access key ID(用户名)
SECRET_ACCESS_KEY(密码)
,每次通常使用这个key pair进行request的authentication
Federating Existing Users
如果在你的公司或者team中所有成员已经有一个方式能够authentication
, 比如我们常用okta
做单点登录,team中的每一个成员都已经有了okta用户名和密码,在这种情况下,就没有必要为每一个成员再单独创建IAM User,而是直接将这些okta user集成到AWS中,用作AWS的authentication。
流程:
- 使用第三方的工具登录(OKTA)
- 第三方工具做
authentication
- authentication通过发放第三方
credential
给user - user通过使用第三方
credential
登录AWS - AWS分发short-term的
AWS security credential
给当前用户,当前用户可使用这个credential操作AWS资源
网友评论