AWS IAM 相关知识点。
AWS IAM (Identity and Access Management)
一、AWS IAM (Identity and Access Management) 概述

基于身份的策略 (Identity-based Policies):附加到IAM用户、组或角色。这些策略可让您指定该身份可执行哪些操作(其权限)。例如,您可以将策略附加到名为 John 的
IAM用户,以声明允许他执行Amazon EC2RunInstances 操作。基于资源的策略 (Resource-based Policies):附加到某个资源。例如,您可以将基于资源的策略附加到
Amazon S3存储桶、Amazon SQS队列、VPC 端点、AWS Key Management Service加密密钥以及Amazon DynamoDB表和流。
IAM 用户、组、角色和策略
一、IAM 用户、组、角色和策略基本概念

角色是一种IAM身份,可以让需要的用户代入进来从而拥有相应的权限
二、IAM 用户

- 个人用户在创建后默认没有任何权限
三、IAM 组

四、IAM 角色 (Roles)


- ⭐ 角色可以让
IAM用户、应用程序和服务代入 - ⭐
IAM角色的信任策略 (Trust policies) 定义了谁可以承担这个角色 IAM的资源策略定义了这个角色可以访问、操作哪些 AWS 资源
五、IAM 策略 (Policies)

- ⭐ 默认情况下策略是隐式拒绝的,即:不分配允许策略那就是拒绝的
IAM 验证和 MFA
一、IAM 身份认证方式

二、多因素身份验证 (MFA, Multi Factor Authentication)


- ⚠️ AWS 并不提供官方的硬件 MFA 设备,如果有需要的话得前往第三方自行购买
AWS Security Token Service (STS)
一、AWS Security Token Service 基本概念

- 使用
AWS Security Token Service (AWS STS)创建可控制对您的 AWS 资源的访问的临时安全凭证,并将这些凭证提供给受信任用户
二、AWS Security Token Service 使用案例

三、IAM 角色与 AWS Security Token Service 的运作原理
- ⭐ AccessKeyId、SecretAccessKey 等临时凭证并不是
IAM角色生成的,而是STS服务生成的 IAM角色与STS服务建立信任关系- ⭐
IAM角色允许指定的IAM用户、应用程序和服务代入该角色,并通过sts:AssumeRole获取临时安全凭证


基于身份的策略和基于资源的策略
一、基于身份的策略 (Identity-based policies) 基本概念

- ⭐
内联策略 (Inline policies)是直接添加到单个用户、组和角色的策略,并与其保持严格的一对一关系删除绑定的身份,内联策略也将被删除。
- ⭐
托管策略 (Managed policies)是基于身份的独立策略,支持附加到 AWS 账户中的多个用户、组和角色AWS 托管策略是由 AWS 创建和管理的策略客户托管策略 (Customer managed policies)是由客户创建和管理的策略
二、基于资源的策略 (Resource-based Policies) 基本概念


- ⭐
IAM角色的信任策略就是基于资源的策略,定义了谁可以承担这个角色
理解最小权限原则 (PoLP, Principle of Least Privilege)
一、最小权限原则 (PoLP) 基本概念

二、最小权限原则 (PoLP) 案例

IAM 策略评估逻辑 (Policy evaluation logic)
一、IAM 策略评估逻辑基本概念


- 默认情况下所有请求都被拒绝(隐式拒绝)
- 评估所有附加的策略
- 如果有显式拒绝则拒绝请求 ❌
- 如果有显式允许则允许请求 ✅
- 否则默认隐式拒绝请求 ❌
二、显式拒绝案例

IAM 最佳实践
一、⭐ IAM 最佳实践清单


- 定期轮换凭证 (rotation)