rbac_rls 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +86 -31
- data/app/models/concerns/manage_rls_migration_concern.rb +1 -1
- data/lib/rbac_rls/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 27a062559ce3ed39a8354ebde354c8d7977d14e9b1d9863e982987019bf7be4d
|
4
|
+
data.tar.gz: 3e7a744ca0cac8908a708685a3c198b0ec8d1608100445ad9712f30c15a5c228
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27559ee87603c01c7aed6426dfaefb81ee7ffdc3c36aa59116da0195c8e6555b7cce360173e5be35331ebbedbbb8d338758d53ccefda29f6a6b82ce1646887f2
|
7
|
+
data.tar.gz: 6a2fd3df7b7ed6447acc1c8c99925f51bf71a3ad1bbca8d06196ae075c3cfd0de797104f428a1b860da5cbe723b5bf27ca0fa59f72bbc0ee86051d3782b3a8db
|
data/README.md
CHANGED
@@ -1,66 +1,121 @@
|
|
1
1
|
# RbacRls
|
2
|
-
Short description and motivation.
|
3
2
|
|
4
|
-
|
5
|
-
|
3
|
+
Esta biblioteca tem por finalidade prover a funcionalidade de controle de acesso granular aos
|
4
|
+
dados, contribuindo para a segurança através de verificações de acesso a informação. Este
|
5
|
+
modelo tem como base os conceitos do recurso de controle de acesso RBAC(Role-Based
|
6
|
+
Access Control ) aplicados juntamente aos métodos de RLS(Row-Level Security).
|
6
7
|
|
7
|
-
|
8
|
-
|
8
|
+
O framework proposto tem por objetivo facilitar a implantação da funcionalidade
|
9
|
+
de segurança, auxiliando o programador na implementação das políticas de restrições no
|
10
|
+
banco de dados.
|
11
|
+
|
12
|
+
## RLS:
|
13
|
+
|
14
|
+
A segurança em nível de linha permite que você use um contexto de execução para controlar o acesso a
|
15
|
+
linhas em uma tabela de banco de dados, simplificando o design e a codificação de
|
16
|
+
segurança da sua aplicação.
|
17
|
+
|
18
|
+
## RBAC:
|
19
|
+
|
20
|
+
O controle de acesso baseado em função (RBAC) é um modelo de restrição de que tem como base as funções de usuários
|
21
|
+
individuais em um contexto hierárquico. O RBAC garante que os usuários acessem apenas as informações de que precisam
|
22
|
+
para realizar suas rotina e os impede de acessar informações que não pertencem a eles.
|
23
|
+
|
24
|
+
# Como utilizar esta Gem ?.
|
25
|
+
|
26
|
+
### Instalação:
|
27
|
+
|
28
|
+
Adicione esta linha no arquivo da sua aplicação Gemfile
|
9
29
|
|
10
30
|
```ruby
|
11
31
|
gem "rbac_rls"
|
12
32
|
```
|
13
33
|
|
14
|
-
|
34
|
+
E então execute o seguinte comando:
|
35
|
+
|
15
36
|
```bash
|
16
37
|
$ bundle
|
17
38
|
```
|
18
39
|
|
19
|
-
|
40
|
+
Ou Instale você mesmo manualmente com o comando abaixo :
|
41
|
+
|
20
42
|
```bash
|
21
43
|
$ gem install rbac_rls
|
22
44
|
```
|
23
|
-
|
24
|
-
|
45
|
+
|
46
|
+
Adicione no seu arquivo manifest.js:
|
47
|
+
|
48
|
+
```javascript
|
25
49
|
//= link rbac_rls/application.css
|
26
50
|
//= link rbac_rls/application.js
|
27
51
|
```
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
52
|
+
|
53
|
+
##### Adicione no seu arquivo application_record.rb:
|
54
|
+
|
55
|
+
```ruby
|
56
|
+
#Em application_record.rb
|
57
|
+
include ConnectionRlsConcern
|
32
58
|
```
|
59
|
+
|
60
|
+
##### Adicione no seu arquivo application_controller.rb:
|
61
|
+
|
62
|
+
```ruby
|
63
|
+
#Em application_controller.rb"
|
64
|
+
include ConnectionRlsUserConcern
|
65
|
+
```
|
66
|
+
|
33
67
|
```bash
|
34
|
-
|
35
|
-
|
68
|
+
Para fazer o uso desta biblioteca é necessário que a aplicação principal, acesse o banco de dados apartir de um
|
69
|
+
usuário que não é o dono do banco de dados pois, as regras de Segurança em nivél de linha não podem ser aplicadas a
|
70
|
+
este tipo de usuário do banco de dados.
|
71
|
+
Então: apenas para casos onde seja necessario rodar migrates como administrador utilize um novo Environment ou um método
|
72
|
+
diferente de conexão com o banco que não seja como da aplicação principal
|
73
|
+
Por exemplo:
|
74
|
+
a aplicação por padrão utilizará um usuário "app_user" para suas consultas.
|
75
|
+
para rodar as migrates da aplicação o usuário padrão será "data_base_admin"
|
76
|
+
logo no environment "development" o usuário do banco de dados será :app_user
|
77
|
+
e no environment "migrations" o usuário do banco de dados será :data_base_admin
|
36
78
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
79
|
+
Passos para criar um environment :
|
80
|
+
1º duplique um arquivo de app/config/environments
|
81
|
+
2º configure o deu database.yml como no exemplo abaixo:
|
82
|
+
exemplo:
|
83
|
+
-----------
|
84
|
+
migrations:
|
85
|
+
<<: *default
|
86
|
+
database: main_app_development
|
87
|
+
username: username
|
88
|
+
password: password
|
89
|
+
-----------
|
90
|
+
3º para rodar as migrates usando este environment use um comando análogo a "rake db:migrate RAILS_ENV=migrations"
|
91
|
+
|
45
92
|
```
|
46
93
|
|
47
|
-
|
94
|
+
Logo após estes passos, na linha de comando execute:
|
95
|
+
|
48
96
|
```bash
|
49
97
|
rake rbac_rls:install:migrations
|
50
98
|
```
|
51
99
|
|
52
|
-
|
53
|
-
|
54
|
-
|
100
|
+
##### Adicione na sua aplicação em config/routes.rb
|
101
|
+
|
102
|
+
```ruby
|
103
|
+
# Em config/routes.rb adicione
|
104
|
+
mount RbacRls::Engine => :rbac_rls
|
55
105
|
```
|
56
|
-
|
106
|
+
|
107
|
+
Execute na linha de comando:
|
108
|
+
|
57
109
|
```bash
|
58
|
-
|
110
|
+
rake db:migrate
|
111
|
+
|
112
|
+
yarn install
|
59
113
|
```
|
60
114
|
|
115
|
+
### após isso a bibilioteca está instalada, e pode ser acessada em /rbac_rls
|
61
116
|
|
62
|
-
## Contributing
|
63
|
-
Contribution directions go here.
|
117
|
+
[//]: # (## Contributing)
|
64
118
|
|
65
119
|
## License
|
120
|
+
|
66
121
|
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
@@ -11,7 +11,7 @@ module ManageRlsMigrationConcern
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def down_migrate(file_version = migration_version)
|
14
|
-
return true if system(Settings.down_migrate_command(file_version))
|
14
|
+
return true if system(RbacRls::Settings.down_migrate_command(file_version))
|
15
15
|
false
|
16
16
|
end
|
17
17
|
|
data/lib/rbac_rls/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbac_rls
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- FilipeBeserraMaia
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-10-
|
11
|
+
date: 2022-10-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|