{"id":22808243,"url":"https://github.com/sixarm/sixarm_ruby_role_based_access_control","last_synced_at":"2025-03-30T21:15:15.289Z","repository":{"id":1123235,"uuid":"996223","full_name":"SixArm/sixarm_ruby_role_based_access_control","owner":"SixArm","description":"SixArm.com » Ruby » Role Based Access Control (RBAC) ANSI 359-2004 for authentication and authorization","archived":false,"fork":false,"pushed_at":"2023-09-15T19:29:00.000Z","size":303,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-06T00:24:20.649Z","etag":null,"topics":["access","authorization","gem","rbac","ruby"],"latest_commit_sha":null,"homepage":"http://sixarm.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SixArm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null}},"created_at":"2010-10-18T03:59:03.000Z","updated_at":"2023-09-15T19:29:06.000Z","dependencies_parsed_at":"2022-08-16T12:05:24.607Z","dependency_job_id":null,"html_url":"https://github.com/SixArm/sixarm_ruby_role_based_access_control","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SixArm%2Fsixarm_ruby_role_based_access_control","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SixArm%2Fsixarm_ruby_role_based_access_control/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SixArm%2Fsixarm_ruby_role_based_access_control/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SixArm%2Fsixarm_ruby_role_based_access_control/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SixArm","download_url":"https://codeload.github.com/SixArm/sixarm_ruby_role_based_access_control/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246379366,"owners_count":20767696,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["access","authorization","gem","rbac","ruby"],"created_at":"2024-12-12T11:08:50.218Z","updated_at":"2025-03-30T21:15:15.268Z","avatar_url":"https://github.com/SixArm.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SixArm.com → Ruby → \u003cbr\u003e Role Based Access Control (RBAC)\n\n* Doc: \u003chttp://sixarm.com/sixarm_ruby_role_based_access_control/doc\u003e\n* Gem: \u003chttp://rubygems.org/gems/sixarm_ruby_role_based_access_control\u003e\n* Repo: \u003chttp://github.com/sixarm/sixarm_ruby_role_based_access_control\u003e\n\u003c!--header-shut--\u003e\n\n\n## Introduction\n\nRuby interface for the Role Based Access Control (RBAC) specification:\n\n  * ANSI INCITS 359-2004\n  * American National Standards Institute, Inc.\n  * February 3, 2004\n\nFor docs go to \u003chttp://sixarm.com/sixarm_ruby_role_based_access_control/doc\u003e\n\nWant to help? We're happy to get pull requests.\n\n\n\u003c!--install-open--\u003e\n\n## Install\n\n### Gem\n\nTo install this gem in your shell or terminal:\n\n    gem install sixarm_ruby_role_based_access_control\n\n### Gemfile\n\nTo add this gem to your Gemfile:\n\n    gem 'sixarm_ruby_role_based_access_control'\n\n### Require\n\nTo require the gem in your code:\n\n    require 'sixarm_ruby_role_based_access_control'\n\n\u003c!--install-shut--\u003e\n\n\n## What is Core RBAC?\n\nCore RBAC includes sets of five basic data elements called users (USERS),\nroles (ROLES), objects (OBS), operations (OPS), and permissions (PRMS). \n\n\n## RBAC model\n\nThe RBAC model as a whole is fundamentally defined in terms of individual\nusers being assigned to roles and permissions being assigned to roles.\nA role is a means for naming many-to-many relationships \namong individual users and permissions. In addition, the core RBAC\nmodel includes a set of sessions (SESSIONS) where each session is \na mapping between a user and an activated subset of roles that are\nassigned to the user.\n\n\n## Users\n\nA user is defined as a human being. Although the concept of a user \ncan be extended to include machines, networks, or intelligent autonomous\nagents, the definition is limited to a person in this document for\nsimplicity reasons. \n\n\n## Roles\n\nA role is a job function within the context of an organization \nwith some associated semantics regarding the authority and \nresponsibility conferred on the user assigned to the role.\n\n\n## Permissions\n\nPermission is an approval to perform an operation on one or more\nRBAC protected objects.\n\n\n## Operations\n\nAn operation is an executable image of a program, which upon invocation\nexecutes some function for the user. The types of operations and objects\nthat RBAC controls are dependent on the type of system in which it will\nbe implemented. For example, within a file system, operations might \ninclude read, write, and execute; within a database management system, \noperations might include insert, delete, append and update.\n\n\n## Details\n\nThe purpose of any access control mechanism is to protect system resources (i.e.,\nprotected objects). Consistent with earlier models of access control an object is an entity\nthat contains or receives information. \n\n## System Implementations\n\nFor a system that implements RBAC, the objects\ncan represent information containers (e.g., files, directories, in an operating system,\nand/or columns, rows, tables, and views within a database management system) or\nobjects can represent exhaustible system resources, such as printers, disk space, and CPU\ncycles. \n\nThe set of objects covered by RBAC includes all of the objects listed in the\npermissions that are assigned to roles.\n\n\n## For More Information\n\nPlease see the complete ANSI 359-2004 pdf document.\n\nhttp://www.list.gmu.edu/journals/tissec/ANSI+INCITS+359-2004.pdf\n\n\n## Roadmap\n\nPossible future upgrades:\n\n  * 6.2 Hierarchical RBAC\n  * 6.3 Static Separation of Duty (SSD) Relations.\n  * 6.4 Dynamic Separation of Duty (SSD) Relations.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsixarm%2Fsixarm_ruby_role_based_access_control","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsixarm%2Fsixarm_ruby_role_based_access_control","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsixarm%2Fsixarm_ruby_role_based_access_control/lists"}