You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
sed -i "s|https://github.com/browserstack/enigma-access-modules.git|https://qwe:[email protected]/browserstack/enigma-access-modules.git|g" config.json
This tool consists of 2 different components: a central webserver and pluggable access modules.
13
+
## What is Enigma?
14
+
15
+
Enigma is a web-based internal Access Management Tool that:
16
+
* helps employees get access to various in-house and third-party systems and components like git repositories, cloud machines (via ssh), and dashboards.
17
+
* facilitates book-keeping.
18
+
* helps with compliance.
19
+
* manages the inventory of all the tools in one place.
20
+
21
+
22
+
This tool consists of 2 different components: a central web server and pluggable access modules.
13
23
14
24
This repo is the code-base for the central webserver.
15
25
Refer to [this](https://github.com/browserstack/enigma-access-modules) for published access modules with this tool.
16
26
17
27
Refer to [this doc](/docs/%E2%80%9CHow-to%E2%80%9D%20guides/Adding%20Modules.md) on how to create custom access modules
18
28
29
+
### Problems Solved
30
+
31
+
Enigma access management tool was developed internally at BrowserStack to solve some of the problems we observed around access management for employees
32
+
33
+
* No single portal for an individual to view their access across tools
34
+
* No single portal to manage access for employees across vendors
35
+
* No central audit trail across tools for access granted and revoked for employees
36
+
* Repetitive Ops for DevOps teams and tool owners for access grant and revoke requests
37
+
* No standardized SOC2-compliant and GDPR-compliant method for managing individual and admin access for external tools
38
+
* No simple consolidated pipeline to trigger offboarding an exit-ing employee to revoke all employee access across tools
39
+
* No way for an individual to maintain separate identity per tool
40
+
* Individuals might have multiple accounts for a single tool, there can be multiple org-wide domains for certain tools
41
+
* No way to request, audit and track employee access outside of org-team hierarchy. Adhoc teams / groups support is needed.
42
+
* employees might migrate across teams, sometimes access are needed for temporary projects which are not required for the whole team
43
+
* No way of listing a bunch of access to grant to employees working on a project
44
+
* In case an individual is added to a project, access request for all relavant tools should be raised with a single click (based on knowledge-base build on other individuals working on the project)
45
+
19
46
## Usage
20
47
21
48
The following steps are for hosting Enigma locally from published docker container images.
22
49
23
50
For development setup, follow this [doc](/docs/one-click-dev.md)
24
51
25
-
### Pre-requisistes
52
+
####Pre-requisites
26
53
27
54
You will need to have docker daemon running locally to run the published containers.
28
55
If you don't have docker setup, follow the guidelines [here](https://docs.docker.com/get-docker/)
29
56
30
-
### Steps
57
+
####Steps
31
58
32
59
1. Ensure you have a valid `config.json` present locally.
33
60
34
61
The default [config.json.sample](https://github.com/browserstack/enigma/blob/main/config.json.sample) should be sufficient to start.
35
62
36
-
You can then add module-specific configuration for the modules you want integrated with Enigma.
63
+
You can then add module-specific configuration for the modules you want to be integrated with Enigma.
37
64
For detailed instructions on configuration, follow [this doc](/docs/Configuration%20Guide.md)
38
65
39
-
2. Run the enigma docker container by mounting the downloaded config to the container
66
+
2. Run the Enigma docker container by mounting the downloaded config to the container
40
67
41
68
```bash
42
69
docker run --rm --name enigma -p 8000:8000 -v "$(pwd)/config.json":/srv/code/dev/config.json browserstack/enigma:v1
43
70
```
44
71
45
-
Ensure that you 8000 port is free to use, and ensure that path to config.json is correct.
72
+
Ensure that the 8000 port is free to use, and ensure that path to config.json is correct.
46
73
47
74
That's it! Enigma should be running locally on port 8000
48
75
49
76
50
77
For first time user sign-in, follow [this doc](/docs/%E2%80%9CHow-to%E2%80%9D%20guides/User%20Guides/First%20User%20Setup.md)
51
78
52
79
53
-
## Contributing code
80
+
## Contributing to this tool
54
81
55
-
- Python 3.11.0
56
-
- pre-commit (see rules [below](#rules-enforced-by-the-pre-commit-hooks))
82
+
-The codebase is tested for Python 3.11.0
83
+
-Setup pre-commit hooks for development (see rules [below](#rules-enforced-by-the-pre-commit-hooks))
Copy file name to clipboardExpand all lines: docs/HTTPS setup/https-nginx-setup.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ Following are the steps to Setup Nginx in enigma
6
6
- Should have a host(domain) with ssl certificats that can be attached to nginx.
7
7
- Make sure the host points the public IP of the machine in which enigma is running on. (i.e., create an dns A record with host pointing to public IP of machine)
8
8
2. Create a folder in the root folder of enigma named `certs` which contains ssl certificate and key.
9
-
3. Copy `nginx.conf.sample` file to `nginx.conf`
9
+
3. Copy `nginx.conf.sample` file in this folder to `nginx.conf`
0 commit comments