2020-12-9

1. STS Overview

AWS STS - Security Token Service

  • 作用:得到短暂的访问AWS服务的权限
  • AssumeRole:在您的账户内或跨账户担任角色
  • AssumeRoleWithSAML:返回用SAML登录的用户的creditials。
  • AssumeRoleWithWebIdentity:
    • 可以使用idP
    • Cognito Identity Pools已经替代使用这个

25. Advanced Identity - 图1

  • GetSessionToken:可以使用来做MFA
  • GetFederationToken:获得临时的证书
  • GetCallerIdentity:返回IAM user
  • DecodeAuthorizationMessage:当API不能访问之后能解码错误信息

25. Advanced Identity - 图2

Using STS to Assume a Role(使用STS来承担一个角色)

  • 使用AWS STS检索凭证并充当有权限的IAM角色。(AssumeRole API)

25. Advanced Identity - 图3

Cross account access with STS

25. Advanced Identity - 图4

STS with MFA

  • 使用 GetSessionToken

下面是过程:
25. Advanced Identity - 图5

2. Advanced IAM

Advanced IAM - Authorization Model (授权模式)

Evalution of Policies, simplified(政策评估)

Authorization Model and how policies are evaluated

  • deny优先,然后判断allow,默认deny

25. Advanced Identity - 图6

IAM Policies & S3 Bucket Polices

如果同时有 S3 Bucket Polices 和IAM Policies,需要将两个Policies融合在一起考虑(union)
25. Advanced Identity - 图7

Example 1

  • 在这个例子中,只有一个IAM的Policies,并且允许Read and Write to “my bucket”中
  • 所以如果EC2 instance想要R and W,是可以的

25. Advanced Identity - 图8

Example 2

  • 在这个例子中,有两个policy:分别是IAM的Policies和S3的Policies,前者允许Read and Write to “my bucket”中,但后者拒绝。
  • 所以如果EC2 instance想要R and W,是不可以的,因为有人不同意

25. Advanced Identity - 图9

Example 3

  • 在这个例子中,只有一个S3的Policies,并且允许Read and Write
  • 所以如果EC2 instance想要R and W,是可以的

25. Advanced Identity - 图10

Example 4

deny
25. Advanced Identity - 图11

Dynamic Policies with IAM

如何给每一个user一个自己的文件夹(/home/)在 S3 中呢?

方法1

分别给每个人创建
25. Advanced Identity - 图12

方法2

使用Dynamic policy with IAM
25. Advanced Identity - 图13
不同的人使用的这个variable不一样
e.g.
25. Advanced Identity - 图14

Inline vs Managed Policies

三种类型

  • AWS Managed Policy
  • Customer Managed Policy
  • Inline

25. Advanced Identity - 图15

Hands-On

25. Advanced Identity - 图16
在user中才能添加inline
25. Advanced Identity - 图17

3. Granting a User Permissions to Pass a Role to an AWS Service(授予用户将角色传递给AWS服务的权限)

目的:让role 能够访问AWS services
需要 IAM Permission:iam:PassRole
25. Advanced Identity - 图18

IAM PassRole example

25. Advanced Identity - 图19

Can a role be passed to any service?

只有 trust的service才可以
下图是EC2可以允许
25. Advanced Identity - 图20

Hands-On

25. Advanced Identity - 图21

4. Directory Services - Overview

What is Microsoft Active Directory(AD)?

像一棵树一样
25. Advanced Identity - 图22

AWS Directory Service

第一种模式是下面这种:
本地AD和AWS Managed AD 相互信任,左右两边的连接的路径都可以相互信任
支持MFA
25. Advanced Identity - 图23
第二种模式:使用AD Connector
用户只能在本地AD 中,connector只起连接作用
支持proxy
25. Advanced Identity - 图24
第三种模式:使用Simple AD
不使用本地AD,可以和EC2连接在一起
25. Advanced Identity - 图25

Hands-On

搜索进入 Directory Service
有四种可以进行选择
25. Advanced Identity - 图26