Code Monkey home page Code Monkey logo

rbac's Introduction

Role based access control

Solaris and Illumos provide sophisticated role-based access control for delegating authorizations within the system. Using RBAC, users can be given permissions to manage and update services without sudo.

This cookbook provides chef with LWRPs to manage RBAC and grant permissions.

At this time this cookbook ONLY manages SMF-related permissions (ie, ability of non-priviliged users to start/stop SMF services), but in the future it may be enhanced to support arbitrary Solaris permissions.

Installation

In order to add the RBAC LWRPs to a chef run, add the following recipe to the run_list:

rbac::default

This will do no work, but will load the providers.

LWRPs

rbac

Defines a set of authorizations that can be applied to SMF services and authorized to users, without actually applying them to users.

Actions:

  • create (default)

Attributes:

  • name

Example:

rbac "nginx" do
  action :create
end

This will update the authorizations file at /etc/security/auth_attr with the following lines:

solaris.smf.manage.nginx:::Manage nginx Service States::
solaris.smf.value.nginx:::Change value of nginx Service::

Users who are given these authorizations can change properties of the service as well as change its state (i.e. svcadm disable|enable|restart|clear service

rbac_auth

Adds the rbac definition created by auth to the user name.

Actions:

  • add (default)

Attributes:

  • name - for descriptive purposes and to ensure that each LWRP call is uniquely identified in the chef run
  • user
  • auth

Example:

rbac_auth "add nginx management permissions to my_user" do
  user "my_user"
  auth "nginx"
end

This adds both manage and value auths to user my_user.

TODO

  • separate manage auth from value auth
  • ability to delete all rbac attributes

rbac's People

Contributors

sax avatar

Watchers

James Cloos avatar Blufe avatar

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.