Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

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

Project description

# Yosai AlchemyStore

This is an extension project for [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]( 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.

Files for yosai-alchemystore, version 0.3.0.post1
Filename, size File type Python version Upload date Hashes
Filename, size yosai_alchemystore-0.3.0.post1-py2.py3-none-any.whl (15.4 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size yosai_alchemystore-0.3.0.post1.tar.gz (24.5 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page