Skip to content

pachirode/iam_study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iam_study

身份识别与访问管理,一个 Web 服务用于给第三方用户提供访问控制服务,即资源授权功能

授权步骤

  • 用户名和密码进行认证
  • 用户需要在 IAM 中创建属于自己的密钥资源,访问资源通过密钥
  • 通过授权策略完成授权
  • IAM 会根据用户的请求内容和授权策略来决定一个授权请求是否被允许

组件

  • iam-apiserver
    • 通过 RESTful API 完成用户、密钥和授权策略的增删改查
  • iam-authz-server
    • iam-apiserver 拉取密钥和授权策略,并缓存在内存中,用户通过请求 iam-authz-server 提供的 /v1/authz 接口来完成资源的授权
  • iam-pump
    • Redis 中拉取缓存的授权日志,分析后存入 Mongo 数据库中
  • iam-sdk
    • 参考 K8Sclient-go,封装了 iam-apiserveriam-authz-server 的接口
  • iamctl
    • 参考了 kubectl 的实现,通过 iam-sdk 来操作 iam-apiserveriam-authz-server
  • 旁路
    • 第三方应用
  • iam-webconsole
    • 系统的前端,调用 iam-apiserver 实现用户、密钥和策略的增删改查
  • iam-operating-system
    • 运营系统,展示运营数据
  • loadbalance
    • 负载均衡器

数据库

  • Redis
    • 缓存数据库,用来缓存密钥和授权策略,降低访问延时,同时也会缓存授权日志作为运营系统的数据来源
  • MariaDB
    • 持久化用户、密钥和授权策略信息
  • MongoDB
    • 存储授权日志,供后期运营系统展示和分析

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published