认证与授权——AWS身份与访问管理
1. 引言
AWS资源是公司的核心资产,既不能让其毫无保护,也不能过度限制访问,以至于管理员和客户都无法使用。在AWS上,认证和授权主要由身份与访问管理(IAM)来处理。本文将介绍IAM身份(有时称为主体),身份代表AWS用户或角色,角色可以临时分配给应用程序、服务、用户或组。身份还可以进行联合,即没有AWS账户的用户或应用程序可以使用外部服务进行认证并获得对AWS资源的临时访问权限。身份通过附加策略来控制,策略可以附加到主体(基于身份的策略)或资源(基于资源的策略)。
2. IAM身份
每个新的AWS账户都有一个根用户,默认情况下,根用户对账户关联的所有服务和资源拥有完全权限。但这也使根用户成为黑客的目标,因为他们只需获取根密码或访问密钥就可以入侵整个账户。为了降低这种风险,AWS建议严格保护根账户,并将日常操作的特定权限委派给其他用户。
3. IAM策略
3.1 策略的定义
IAM策略是一个文档,它确定一个或多个与一个或多个AWS资源相关的操作,并决定该操作对资源允许的效果,效果值可以是“允许”或“拒绝”。例如,一个策略可以允许在S3中创建存储桶。
3.2 预设和自定义策略
IAM提供了数百个预设策略,可以在IAM控制台的策略页面查看,并使用关键字进行过滤搜索。也可以使用控制台的创建策略页面或手动编写JSON格式的文本来自定义策略。以下是一个JSON格式的AdministratorAccess策略文档示例:
{
"Version": "201