1. STS Overview
AWS STS - Security Token Service
- 作用:得到短暂的访问AWS服务的权限
- AssumeRole:在您的账户内或跨账户担任角色
- AssumeRoleWithSAML:返回用SAML登录的用户的creditials。
- AssumeRoleWithWebIdentity:
- 可以使用idP
- Cognito Identity Pools已经替代使用这个
- GetSessionToken:可以使用来做MFA
- GetFederationToken:获得临时的证书
- GetCallerIdentity:返回IAM user
- DecodeAuthorizationMessage:当API不能访问之后能解码错误信息
Using STS to Assume a Role(使用STS来承担一个角色)
- 使用AWS STS检索凭证并充当有权限的IAM角色。(AssumeRole API)
Cross account access with STS
STS with MFA
- 使用 GetSessionToken
2. Advanced IAM
Advanced IAM - Authorization Model (授权模式)
Evalution of Policies, simplified(政策评估)
Authorization Model and how policies are evaluated
- deny优先,然后判断allow,默认deny
IAM Policies & S3 Bucket Polices
如果同时有 S3 Bucket Polices 和IAM Policies,需要将两个Policies融合在一起考虑(union)
Example 1
- 在这个例子中,只有一个IAM的Policies,并且允许Read and Write to “my bucket”中
- 所以如果EC2 instance想要R and W,是可以的
Example 2
- 在这个例子中,有两个policy:分别是IAM的Policies和S3的Policies,前者允许Read and Write to “my bucket”中,但后者拒绝。
- 所以如果EC2 instance想要R and W,是不可以的,因为有人不同意
Example 3
- 在这个例子中,只有一个S3的Policies,并且允许Read and Write
- 所以如果EC2 instance想要R and W,是可以的
Example 4
Dynamic Policies with IAM
如何给每一个user一个自己的文件夹(/home/)在 S3 中呢?
方法1
方法2
使用Dynamic policy with IAM
不同的人使用的这个variable不一样
e.g.
Inline vs Managed Policies
三种类型
- AWS Managed Policy
- Customer Managed Policy
- Inline
Hands-On
3. Granting a User Permissions to Pass a Role to an AWS Service(授予用户将角色传递给AWS服务的权限)
目的:让role 能够访问AWS services
需要 IAM Permission:iam:PassRole
IAM PassRole example
Can a role be passed to any service?
Hands-On
4. Directory Services - Overview
What is Microsoft Active Directory(AD)?
AWS Directory Service
第一种模式是下面这种:
本地AD和AWS Managed AD 相互信任,左右两边的连接的路径都可以相互信任
支持MFA
第二种模式:使用AD Connector
用户只能在本地AD 中,connector只起连接作用
支持proxy
第三种模式:使用Simple AD
不使用本地AD,可以和EC2连接在一起
Hands-On
搜索进入 Directory Service
有四种可以进行选择