Skip to main content

An RDBMS solution for Yosai, featuring a flat RBAC data model

Project description

# Yosai AlchemyStore

This is an extension project for [Yosai](http://www.github.com/yosaiproject/yosai) that features a complete AccountStore data store solution intended for quick-start projects using Yosai.

An AccountStore is a data access object (DAO) that provides an interface to a datastore, in this case a relational database. YosaiAlchemyStore is named as such to indicate its use of the [SQLAlchemy](http://www.sqlalchemy.org) library to enable all RDBMS connectivity.

# Installation

Install YosaiAlchemyStore from PyPI using pip:

pip install yosai_alchemystore

## Setup

An AlchemyAccountStore can be configured through one of two ways:

  • Option 1: YAML Config File
    1. Define a system environment variable, YOSAI_ALCHEMYSTORE_SETTINGS, that points to the location of alchemystore_settings.yaml file and ensure that the file permissions make it readable.

    2. Instantiate an AlchemyAccountStore without arguments.

  • Option 2: Passing a dburl argument

## API

The AccountStore API consists of two abstract base classes within the yosai.core.account.abcs module. It’s a simple API, consisting of a request method to obtain Account credentials (passwords) and a request method to obtain Account authorization information (roles and permissions).

## Data Models

Following is the database schema used to facilitate a simple, “flat” Role Based Access Control (RBAC) authorization policy. This data model enables the most basic form of RBAC. ![](/doc/db_schema.png)

## Dev Status: as of v0.0.5

The project has been released after being tested as part of yosai integrated testing. Unit tests are pending development.

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

yosai_alchemystore-0.3.0.post1.tar.gz (24.5 kB view details)

Uploaded Source

Built Distribution

yosai_alchemystore-0.3.0.post1-py2.py3-none-any.whl (15.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file yosai_alchemystore-0.3.0.post1.tar.gz.

File metadata

File hashes

Hashes for yosai_alchemystore-0.3.0.post1.tar.gz
Algorithm Hash digest
SHA256 3adc9f96880fba5d9cf28d27e981ea70ff0cfa42c267afa424d1280627d29ced
MD5 f329ba43b9162cab3b4a534c5021c48a
BLAKE2b-256 e45f512cd50257487b16715a35ba94327bfb039f93e93ffff93d4b2a1d01e918

See more details on using hashes here.

File details

Details for the file yosai_alchemystore-0.3.0.post1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for yosai_alchemystore-0.3.0.post1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e49bfe571d99921910082b3fab115394e4c54c422b0ce24fc4a92516024d5cd7
MD5 0be0cc3c10a8fcd5304165040fdda9f9
BLAKE2b-256 5ae771efce7aa3f85d2eb1a723a96700c494491a9d64015f9d47b05091c4739d

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