Federated User Identity Login & Access Decision Engine
Project description
Fusillade (Federated User Identity Login & Access Decision Engine) is a service and library for managing user authentication and authorization in federated services. Fusillade is built to be simple and to leverage well-known auth protocols and standards toegther with existing global, scalable and supported IaaS APIs.
The AuthN functionality in Fusillade consists of a login endpoint that delegates user authentication to any configured OpenID Connect compatible identity providers.
The AuthZ part of Fusillade is an ABAC system leveraging the familiar syntax and reliable infrastructure of AWS IAM.
Together, these two subsystems provide an easy API for your application to answer the following questions:
How do I instruct the user to log in?
Who is the user performing this API request?
Is this user authorized to perform action A on resource R?
How do I delegate to the user an appropriately restricted ability to access cloud (IaaS) resources directly through IaaS (GCE, AWS) APIs?
To do this, your application should define an access control model consisting of the following:
A list of trusted OIDC-compatible identity providers
A naming schema for actions (for example, GetWidget, CreateFolder, DeleteAppointment, UpdateDocument)
A naming schema for resources in the following format: arn:org-name:service-name:*:*:path/to/resource
A default policy assigned to new users, for example: json { "Statement": [ { "Effect": "Allow", "Action": [ "dss:*", ], "Resource": "arn:hca:dss:*:*:subscriptions/FIXME/*" } ] }
Installing and configuring Fusillade
Using Fusillade as a service
Using Fusillade as a library
Using Fusillade as a proxy
Bundling native cloud credentials
AWS
GCP
Service access control
To use Fusillade, your service must itself be authenticated and authorized. The access control model for this depends on how you’re using Fusillade.
Library - Cooperative model
When using Fusillade as a library, your application’s AWS IAM role is also your Fusillade access role. The library uses AWS Cloud Directory and AWS IAM using your application’s IAM credentials. (TODO: add links for ACD/IAM IAM and show sample policy)
Service - Enforced model
When using Fusillade as a service, your application is itself subject to an IAM policy governing its ability to read and write permissions data. The Fusillade service administrator configures the Fusillade policy governing this in the service configuration.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file fusillade-0.0.1.tar.gz
.
File metadata
- Download URL: fusillade-0.0.1.tar.gz
- Upload date:
- Size: 2.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 868ea60640b85c02ed60e86d1ad650c309dea12aa48678a9607e8a60681911b0 |
|
MD5 | eb74f00af51450a4586d201de0d98446 |
|
BLAKE2b-256 | 6602a83d11a8b2b4aaa48d9e728db7bed2fa5a7dece668da7862bc8a2e00a166 |