GithubHelp home page GithubHelp logo

oracle / speedle Goto Github PK

View Code? Open in Web Editor NEW
157.0 26.0 52.0 10.82 MB

Speedle is an open source project for access control.

Home Page: https://speedle.io

License: Universal Permissive License v1.0

Makefile 0.23% Go 98.44% Dockerfile 0.05% Shell 1.09% Smarty 0.19%
access-control entitlements microservices cloudnative authorization rbac abac policy compliance

speedle's Introduction

Wercker status

中文版

Speedle

Speedle is a general purpose authorization engine. It allows users to construct their policy model with user-friendly policy definition language and get authorization decision in milliseconds based on the policies. Speedle is very user-friendly, efficient, and extremely scalable.

Speedle open source project consits of a policy definition language, policy management module, authorization runtime module, commandline tool, and integration samples with popular systems.

Documentation

Latest documentations are available at https://speedle.io/docs.

Get Started

See Getting Started at https://speedle.io/quick-start/.

Build

Prerequisites

Step

$ go get github.com/oracle/speedle/cmd/...
$ ls $GOPATH/bin
spctl  speedle-ads  speedle-pms

Test

$ cd $GOPATH/src/github.com/oracle/speedle
$ make test

Get Help

Get Involved

speedle's People

Contributors

bill828 avatar caiwl avatar junyioracle avatar totalamateurhour avatar xinnong-wang avatar zjmtlab avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

speedle's Issues

Python Integration

design and implement PEP API for Python. The API will help Python programmers to enforce authorization check in their applications.

keyword "role" is treated as role name by mistake

Seems the keyword "role" is treated as role name in below scenario. It is a bug.

spctl create rolepolicy -c "grant user wcai role admin if b =c" --service-name=sjSXI7xvE6uRtohxQWDiVSK9v8zPpXxHL
rolepolicy created
{"id":"4c2tsjz4s2kae3getn2j","name":"","effect":"grant","roles":["role"],"principals":["user:wcai"],"metadata":{"createtime":"2019-04-09T11:38:08Z"}}

Connection refused when running make test

src/github.com/oracle/speedle/setTestEnv.sh: connect: Connection refused
dev/src/github.com/oracle/speedle/setTestEnv.sh: line 80: /dev/tcp/localhost/6733: Connection refused

Does the script spin up the sever or not?
If not, can you enhance the script to do so?

Graceful shutdown for all the services

Currently, we do nothing when users try to shut down services such as PMS, ADS. We need to handle a signal SIGQUIT and shut down services gracefully.

Add benchmark test cases

currently, we don't have performance data. We need to add benchmark test cases for Evaluator.IsAllowed().

NodeJS Integration

design and implement PEP API for NodeJS. The API will help NodeJS programmers to enforce authorization check in their applications.

hello world

Please ignore it, this is the first issue.

PHP Integration

design and implement PEP API for PHP. The API will help PHP programmers to enforce authorization check in their applications.

Duplicated policies/role-policies can be created

> spctl create policy -c "grant user user1 get,del res1" --service-name=sbqoJ3xoe0Xj4vHe3fOVEeL-SgRj0mg0X
policy created
{"id":"2l5i5cjttxdfxf7aqu2w","name":"","effect":"grant","permissions":[{"resource":"res1","actions":["get","del"]}],"principals":[["user:user1"]],"metadata":{"createtime":"2019-04-09T13:23:36Z"}}
> spctl create policy -c "grant user user1 get,del res1" --service-name=sbqoJ3xoe0Xj4vHe3fOVEeL-SgRj0mg0X
policy created
{"id":"keg3dzc6f6dlv3mhpuc7","name":"","effect":"grant","permissions":[{"resource":"res1","actions":["get","del"]}],"principals":[["user:user1"]],"metadata":{"createtime":"2019-04-09T13:23:38Z"}}

We should order principals/resources/permissions and compare the policies (ignore name and metadata), if they are the same, return an error.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.