联合用户身份登录和访问决策引擎
fusillade的Python项目详细描述
fusillade(联合用户身份登录和访问决策引擎)是 用于管理用户身份验证和授权的服务和库 在联邦服务中。Fusillade的构造非常简单 著名的AUTH协议和标准与现有的全球 可扩展且受支持的iaas api。
- Fusillade中的AuthN功能由登录端点组成 将用户身份验证委托给任何配置的OpenID Connect兼容标识 提供者
- Fusillade的AuthZ部分是 ABAC 系统利用熟悉的语法和可靠的基础设施 AWS IAM。
这两个子系统一起为您的应用程序提供了一个简单的api 回答以下问题:
- 如何指示用户登录?
- 执行此API请求的用户是谁
- 此用户是否被授权对资源r执行操作a?
- 如何将适当限制的能力委托给用户 直接通过iaas(gce,aws)api访问云(iaas)资源?
为此,应用程序应该定义一个访问控制模型 由以下部分组成:
- 可信的与oidc兼容的身份提供程序列表
- 操作的命名模式(例如,GetWidget, CreateFolder,DeleteAppointment,UpdateDocument)
- 以下格式的资源命名架构: arn:org-name:service-name:*:*:path/to/resource
- 分配给新用户的默认策略,例如: json { "Statement": [ { "Effect": "Allow", "Action": [ "dss:*", ], "Resource": "arn:hca:dss:*:*:subscriptions/FIXME/*" } ] }
安装和配置Fusillade
使用Fusillade作为服务
将Fusillade用作库
使用Fusillade作为代理
绑定本机云凭据
aws
gcp
服务访问控制
要使用Fusillade,您的服务本身必须经过身份验证,并且 经授权的。这种访问控制模型取决于 使用引信
图书馆-合作模式
当使用fusillade作为库时,应用程序的aws iam角色是 还有你的Fusillade访问角色。库使用AWS云目录 以及使用应用程序的iam凭据的aws iam。(TODO:添加链接 对于ACD/IAM IAM和显示示例策略)
服务强制模式
当使用Fusillade作为服务时,应用程序本身受 控制其读写权限数据能力的iam策略。 Fusillade服务管理员配置Fusillade策略 在服务配置中对此进行管理。