payal177/IAM-User-Access-Management
GitHub: payal177/IAM-User-Access-Management
该项目通过 AWS IAM 用户、用户组和托管/自定义策略的配置,演示了对 Amazon S3 资源实现基于最小权限原则的安全访问控制方案。
Stars: 0 | Forks: 0
# AWS IAM 用户与访问管理
## 项目概述
本项目通过创建用户、用户组、托管策略和自定义策略来演示 AWS Identity and Access Management (IAM),以实现对 Amazon S3 资源的安全访问控制。
本项目遵循最小权限原则,仅为用户分配其职责所需的权限。
## 使用的 AWS 服务
* AWS IAM (Identity and Access Management)
* Amazon S3
## 项目目标
* 创建 IAM 用户和用户组
* 分配 AWS 托管策略
* 创建并附加自定义 IAM 策略
* 实现基于角色的访问控制
* 通过用户测试验证权限
* 了解安全最佳实践
## 已创建的 IAM 用户
### cloud-user
* 用户组:S3-ReadOnly-Group
* 策略:AmazonS3ReadOnlyAccess
* 访问级别:只读
### s3-admin-user
* 用户组:S3-FullAccess-Group
* 策略:AmazonS3FullAccess
* 访问级别:完全管理访问权限
### custom-s3-user
* 用户组:Custom-S3-Group
* 策略:Custom-S3-ReadOnly-NoDelete
* 访问级别:具有限制删除的读取访问权限
## 已创建的 IAM 用户组
* S3-ReadOnly-Group
* S3-FullAccess-Group
* Custom-S3-Group
## 使用的 AWS 托管策略
* AmazonS3ReadOnlyAccess
* AmazonS3FullAccess
## 自定义 IAM 策略
策略名称:
Custom-S3-ReadOnly-NoDelete
## 自定义策略 JSON
本项目中使用的自定义 IAM 策略位于 policies 目录下:
policies/custom-s3-readonly-nodelete.json
目的:
* 允许用户列出 S3 存储桶
* 允许用户读取 S3 对象
* 明确拒绝删除 S3 对象
这演示了如何使用自定义 IAM 策略实现精细化的访问控制。
## 权限验证
对配置的权限进行了测试,以验证访问控制:
### cloud-user
* 可以查看 S3 资源
* 无法执行管理操作
### s3-admin-user
* 可以创建、修改和删除 S3 资源
* 拥有对 Amazon S3 的完全访问权限
### custom-s3-user
* 可以查看 S3 存储桶和对象
* 由于明确的拒绝规则,无法删除 S3 对象
## 展示的安全概念
* Identity and Access Management (IAM)
* 基于角色的访问控制 (RBAC)
* AWS 托管策略
* 自定义策略
* 最小权限原则
* 权限验证
* 访问治理
## 项目架构
IAM 用户
↓
IAM 用户组
↓
IAM 策略
↓
Amazon S3 资源
## 截图
* IAM 控制面板
* 用户创建
* 用户组创建
* AWS 托管策略分配
* 自定义策略创建
* ReadOnly 用户权限
* FullAccess 用户权限
* 自定义策略配置
* 权限验证
## 获得的技能
* AWS IAM
* 用户管理
* 用户组管理
* 策略管理
* 访问控制
* AWS 安全
* 最小权限原则
* 身份管理
## 成果
使用 IAM 用户、用户组、托管策略和自定义策略,成功在 AWS 中实现了安全的访问控制,同时演示了最小权限原则和基于角色的访问管理。
标签:AWS, DPI, Homebrew安装, IAM, S3, Streamlit, 权限管理, 模型越狱, 访问控制