AWS 专题学习 P13 (Advanced Identity)

专题总览

专题内容总览和系列博客目录
https://blog.csdn.net/weixin_40815218/article/details/135590291
辅助资料(PDF)
https://download.csdn.net/download/weixin_40815218/88741566

1. Organizational Units (OU) - Examples

Screenshot 2023-08-29 at 23.46.16.png

2. AWS Organizations

Screenshot 2023-08-30 at 22.03.10.png

  • 全球服务

  • 允许管理多个 AWS 账户

  • 主账户是管理账户

  • 其他账户是成员账户

  • 成员账户只能属于一个组织

  • 所有账户可以进行统一计费 - 单一付款方式

  • 聚合使用量(EC2、S3等)的定价优惠

  • 跨账户共享保留实例和储蓄计划折扣

  • 提供 API 以自动化创建 AWS 账户

  • 优势

    • 多账户与一个账户多 VPC
    • 使用标签规范进行计费
    • 在所有账户上启用 CloudTrail,将日志发送到中央S3账户
    • 将CloudWatch日志发送到中央日志账户
    • 为管理目的建立跨账户角色
  • 安全性:服务控制策略(SCP)

    • 将 IAM 策略应用于OU或账户以限制用户和角色
    • 不适用于管理账户(具有完整管理员权限)
    • 必须有明确的允许(默认不允许任何操作 - 与 IAM 类似)

3. SCP Hierarchy(Service Control Policies 层次结构)

Screenshot 2023-08-30 at 22.04.08.png

  • Management Account
    • Any Access
    • Except Athena (From itself)
  • Account A
    • Any Access
    • Except Redshift(From Prod OU)
  • Account B
    • Any Access
    • Except Redshift (From Prod OU
    • Except Lambda (From HR OU)
  • Account C
    • Any Access
    • Except Redshift (From Prod OU)

3.1 SCP 示例

黑名单和白名单策略

 # 黑名单
{
  "Version": "2012-10-17"
  "Statement": [
    {
      "Sid": "AllowsAllActions",
      "Effect": "Allow",
      "Action": "*",
      "Resource": "*"
    ],
    {
      "Sid": "DenyDynamoDB",
      "Effect": "Deny",
      "Action": "dynamodb:*",
      "Resource": "*"
    }
  ]
}

 # 白名单
{
	"Version": "2012-10-17"
	"Statement": [
  	{
  		"Effect": "Allow",
  		"Action": [
  			"ec2:*",
  			"cloudwatch:*"
  		],
  		"Resource": "*"
  	}
  ]
}

IAM Conditions

aws:SourceIp 限制 API 调用的客户端IP

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "*",
      "Resource": "*",
      "Condition": {
        "NotIpAddress": {
          "aws:SourceIp": [
            "192.0.2.0/24",
            "203.0.113.0/24"
          ]
        }
      }
    }
  ]
}

aws:RequestedRegion 限制 API 调用的区域

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "ec2:*",
        "rds:*",
        "dynamodb: *"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws: RequestedRegion": [
            "eu-central-1",
            "eu-west-1"
          ]
        }
      }
    }
  ]
}

ec2:ResourceTag 基于标签进行限制

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:startInstances",
        "ec2:StopInstances"
      ],
      "Resource": "arn:aws:ec2:us-east-1:123456789012:instance/*",
      "Condition": {
        "StringEquals": {
          "ec2:ResourceTag/Project": "DataAnalytics",
          "aws:PrincipalTag/Department": "Data"
        }
      }
    }
  ]
}

aws:MultiFactorAuthPresent 强制使用多重身份验证

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:*",
      "Resource": "*"
    },
    {
      "Effect": "Deny",
      "Action": [
        "ec2:StopInstances",
        "ec2:TerminateInstances"
      ],
      "Resource": "*",
      "Condition": {
        "BoolIfExists": {
          "aws :MultiFactorAuthPresent": false
        }
      }
    }
  ]
}

3.2 针对 S3 的 IAM

  • s3:ListBucket 权限适用于 arn:aws:s3:::test
  • => 桶级权限
  • s3:GetObject, s3:PutObject, s3:DeleteObject 权限适用于 arn:awn:s3:::test**/***
  • => 对象级权限
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:ListBucket"],
      "Resource": "arn:aws:s3:::test"
    },
    {
      "Effect": "Allow",
      "Action": ["s3:PutObject", "s3:GetObiect", "s3:DeleteObject"],
      "Resource": "arn:aws:s3:::test/*"
    }
  ]
}

Resource Policies & aws:PrincipalOrgID

  • aws:PrincipalOrgID 可用于任何资源策略,以限制对 AWS 组织成员账户的访问

Screenshot 2023-08-30 at 22.52.05.png

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:PutObject", "s3:GetObject"],
      "Resource": "arn:aws:s3:::2022-financial-data/*",
      "Condition": {
        "StringEquals": {
          "aws:Principal0rgID": [
            "o-yyyyyyyyy"
          ]
        }
      }
    }
  ]
}

3.3 IAM Roles vs Resource-Based Policies

  • 跨账户:
    • 将基于资源的策略附加到资源(例如 S3 存储桶策略)
    • 或 使用角色作为代理

Screenshot 2023-08-30 at 22.56.04.png

  • 当您扮演一个角色(用户、应用程序或服务)时,您放弃自己的原始权限并获得分配给该角色的权限
  • 使用基于资源的策略时,主体不必放弃其权限
  • 示例:账户A中的用户需要扫描账户A中的 DynamoDB 表,并将其导出到账户B的S3存储桶中。
  • 受支持的服务:Amazon S3 buckets、SNS topics、SQS queues等…

4. Amazon EventBridge - 安全性

在使用 EventBridge 时,当规则触发时,它需要对其指定的目标资源具有适当的权限。这可以通过两种方式来实现:

  • 基于资源的策略:Lambda、SNS、SQS、CloudWatch Logs、API Gateway…
  • IAM角色:Kinesis stream、Systems Manager Run Command、ECS task…

Screenshot 2023-08-30 at 22.56.45.png

5. IAM 权限边界

  • IAM 权限边界 适用于用户和角色(不适用于组)

  • 使用 托管策略 设置 IAM 实体可以获得的最大权限的高级功能

  • 可以确保 IAM 实体仅具有符合其职责的最小权限

  • 可以与 AWS Organizations SCP 结合使用

Screenshot 2023-08-30 at 23.02.13.png

用例

  • 在其权限边界内委派非管理员的责任,例如创建新的 IAM 用户
  • 允许开发人员自行分配策略和管理自己的权限,同时确保他们无法“提升”自己的特权(=成为管理员)
  • 用于限制一个特定用户(而不是使用组织和 SCP 限制整个帐户)

6. IAM 策略评估逻辑

Screenshot 2023-08-30 at 23.05.44.png

IAM 策略示例

Screenshot 2023-08-30 at 23.06.35.png

  • 是否可以执行sqs:CreateQueue操作?
  • 是否可以执行sqs:DeleteQueue操作?
  • 是否可以执行ec2:DescribeInstances操作?

7. AWS IAM 身份中心(AWS Single Sign-On 的后继者)

  • 一次登录(单点登录)适用于以下所有内容
    • AWS 组织中的所有 AWS 帐户
    • 业务云应用程序(例如 Salesforce, Box, Microsoft 365…)
    • 支持 SAML 2.0 的应用程序
    • EC2 Windows实例
  • 身份提供者
    • IAM 身份中心中的内置身份存储
    • 第三方:Active Directory(AD),OneLogin,Okta…

AWS IAM 身份中心 - 登录流程

Screenshot 2023-08-30 at 23.07.18.png

AWS IAM 身份中心

Screenshot 2023-08-30 at 23.07.36.pngScreenshot 2023-08-30 at 23.07.56.png

AWS IAM 身份中心 - 细粒度权限和分配

Screenshot 2023-08-30 at 23.08.36.png

  • 多账户权限
    • 在 AWS 组织中管理访问权限
    • 权限集合 - 一个或多个 IAM 策略的集合,分配给用户和组以定义 AWS 访问权限
  • 应用程序分配
    • 对许多 SAML 2.0 业务应用程序(Salesforce, Box, Microsoft 365 等)的 SSO 访问
    • 提供所需的 URL,证书和元数据
  • 基于属性的访问控制(ABAC)
    • 基于用户属性的细粒度权限
    • 示例:成本中心,职位,位置…
    • 用例:定义一次权限,然后通过更改属性修改 AWS 访问权限

8. Microsoft Active Directory(AD)

  • 在具有 AD 域服务的任何 Windows 服务器上找到
  • 对象数据库:用户帐户,计算机,打印机,文件共享,安全组
  • 集中的安全管理,创建帐户,分配权限
  • 对象组织成树状结构
  • 一组树构成一个域

Screenshot 2023-08-30 at 23.09.05.png

9. AWS Directory Services

  • AWS 托管的 Microsoft AD
    • 在AWS中创建自己的 AD,本地管理用户,支持 MFA
    • 与本地 AD 建立“信任”连接
  • AD连接器
    • 目录网关(代理),用于重定向到本地AD,支持 MFA
    • 在本地 AD 上管理用户
  • 简单 AD
    • 在 AWS 上 AD 兼容的托管目录
    • 无法加入本地 AD

10. IAM 身份中心 - Active Directory 设置

  • 连接到 AWS 托管的 Microsoft AD(目录服务)
    • 集成开箱即用

Screenshot 2023-08-30 at 23.10.19.png

  • 连接到自管理目录
    • 使用 AWS 托管的 Microsoft AD 创建双向信任关系
    • 创建 AD 连接器

Screenshot 2023-08-30 at 23.11.16.png

11. AWS Control Tower

  • 根据最佳实践方式,设置和管理安全合规的多账户 AWS 环境的简单方法
  • AWS控制塔使用 AWS 组织来创建账户
  • 优势:
    • 点击几下自动设置环境
    • 使用守护栏自动管理持续策略
    • 检测策略违规并修复
    • 通过交互式仪表板监视合规性

AWS Control Tower - Guardrails

  • 为您的 Control Tower环境(AWS 帐户)提供持续的治理
  • 预防性 Guardrail - 使用 SCP(例如,限制所有帐户的区域)
  • 探测性 Guardrail - 使用 AWS Config(例如,识别未标记的资源)

Screenshot 2023-08-30 at 23.11.42.png

  • 22
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值