Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fusillade-0.0.1.tar.gz (2.9 kB view details)

Uploaded Source

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

Hashes for fusillade-0.0.1.tar.gz
Algorithm Hash digest
SHA256 868ea60640b85c02ed60e86d1ad650c309dea12aa48678a9607e8a60681911b0
MD5 eb74f00af51450a4586d201de0d98446
BLAKE2b-256 6602a83d11a8b2b4aaa48d9e728db7bed2fa5a7dece668da7862bc8a2e00a166

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page