reverse-diagrams 0.2.5__tar.gz → 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- reverse_diagrams-1.0.0/.github/workflows/publish-to-test-pypi.yml +117 -0
- reverse_diagrams-1.0.0/.pre-commit-config.yaml +38 -0
- reverse_diagrams-1.0.0/LICENSE +13 -0
- {reverse_diagrams-0.2.5 → reverse_diagrams-1.0.0}/PKG-INFO +36 -24
- {reverse_diagrams-0.2.5 → reverse_diagrams-1.0.0}/README.md +22 -0
- reverse_diagrams-1.0.0/diagrams/code/graph_org.py +86 -0
- {reverse_diagrams-0.2.5/docs → reverse_diagrams-1.0.0/diagrams/code}/graph_sso.py +13 -15
- {reverse_diagrams-0.2.5/docs → reverse_diagrams-1.0.0/diagrams/code}/graph_sso_complete.py +0 -108
- reverse_diagrams-1.0.0/diagrams/code/iam_identity_center.png +0 -0
- reverse_diagrams-1.0.0/diagrams/code/organizations-state.png +0 -0
- reverse_diagrams-1.0.0/diagrams/code/sso-state.png +0 -0
- reverse_diagrams-1.0.0/diagrams/json/account_assignments.json +363 -0
- reverse_diagrams-1.0.0/diagrams/json/groups.json +87 -0
- reverse_diagrams-1.0.0/diagrams/json/organizations.json +112 -0
- reverse_diagrams-1.0.0/organizations-state.png +0 -0
- {reverse_diagrams-0.2.5 → reverse_diagrams-1.0.0}/pyproject.toml +8 -11
- reverse_diagrams-1.0.0/src/aws/describe_identity_store.py +263 -0
- reverse_diagrams-1.0.0/src/aws/describe_organization.py +157 -0
- reverse_diagrams-1.0.0/src/aws/describe_sso.py +169 -0
- {reverse_diagrams-0.2.5 → reverse_diagrams-1.0.0}/src/banner/banner.py +7 -2
- {reverse_diagrams-0.2.5 → reverse_diagrams-1.0.0}/src/dgms/graph_mapper.py +76 -32
- {reverse_diagrams-0.2.5 → reverse_diagrams-1.0.0}/src/dgms/graph_template.py +4 -4
- reverse_diagrams-1.0.0/src/export_report/export_csv.py +5 -0
- reverse_diagrams-1.0.0/src/reports/__init__.py +0 -0
- reverse_diagrams-1.0.0/src/reports/save_results.py +24 -0
- reverse_diagrams-1.0.0/src/reverse_diagrams.py +325 -0
- reverse_diagrams-1.0.0/src/version.py +2 -0
- reverse_diagrams-1.0.0/sso-state.png +0 -0
- reverse_diagrams-1.0.0/test3.py +6 -0
- reverse_diagrams-0.2.5/LICENSE +0 -21
- reverse_diagrams-0.2.5/docs/graph_org.py +0 -8
- reverse_diagrams-0.2.5/src/aws/describe_identity_store.py +0 -140
- reverse_diagrams-0.2.5/src/aws/describe_organization.py +0 -102
- reverse_diagrams-0.2.5/src/aws/describe_sso.py +0 -56
- reverse_diagrams-0.2.5/src/export_report/export_csv.py +0 -4
- reverse_diagrams-0.2.5/src/reverse_diagrams.py +0 -169
- {reverse_diagrams-0.2.5 → reverse_diagrams-1.0.0}/.gitignore +0 -0
- {reverse_diagrams-0.2.5 → reverse_diagrams-1.0.0}/__init__.py +0 -0
- {reverse_diagrams-0.2.5 → reverse_diagrams-1.0.0}/docs/images/organizations-state-copy.png +0 -0
- {reverse_diagrams-0.2.5 → reverse_diagrams-1.0.0}/iam_identity_center.png +0 -0
- {reverse_diagrams-0.2.5 → reverse_diagrams-1.0.0}/src/__init__.py +0 -0
- {reverse_diagrams-0.2.5 → reverse_diagrams-1.0.0}/src/aws/__init__.py +0 -0
- {reverse_diagrams-0.2.5 → reverse_diagrams-1.0.0}/src/banner/__init__.py +0 -0
- {reverse_diagrams-0.2.5 → reverse_diagrams-1.0.0}/src/dgms/__init__.py +0 -0
- {reverse_diagrams-0.2.5 → reverse_diagrams-1.0.0}/test.py +0 -0
- {reverse_diagrams-0.2.5 → reverse_diagrams-1.0.0}/test2.py +0 -0
- {reverse_diagrams-0.2.5 → reverse_diagrams-1.0.0}/testdata.txt +0 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
name: Publish Python 🐍 distribution 📦 to PyPI and TestPyPI
|
|
2
|
+
|
|
3
|
+
on: push
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
build:
|
|
7
|
+
name: Build distribution 📦
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
|
|
10
|
+
steps:
|
|
11
|
+
- uses: actions/checkout@v4
|
|
12
|
+
- name: Set up Python
|
|
13
|
+
uses: actions/setup-python@v4
|
|
14
|
+
with:
|
|
15
|
+
python-version: "3.x"
|
|
16
|
+
- name: Install pypa/build
|
|
17
|
+
run: >-
|
|
18
|
+
python3 -m
|
|
19
|
+
pip install
|
|
20
|
+
build
|
|
21
|
+
--user
|
|
22
|
+
- name: Build a binary wheel and a source tarball
|
|
23
|
+
run: python3 -m build
|
|
24
|
+
- name: Store the distribution packages
|
|
25
|
+
uses: actions/upload-artifact@v3
|
|
26
|
+
with:
|
|
27
|
+
name: python-package-distributions
|
|
28
|
+
path: dist/
|
|
29
|
+
|
|
30
|
+
publish-to-pypi:
|
|
31
|
+
name: >-
|
|
32
|
+
Publish Python 🐍 distribution 📦 to PyPI
|
|
33
|
+
if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
|
|
34
|
+
needs:
|
|
35
|
+
- build
|
|
36
|
+
runs-on: ubuntu-latest
|
|
37
|
+
environment:
|
|
38
|
+
name: pypi
|
|
39
|
+
url: https://pypi.org/p/reverse-diagrams # Replace reverse-diagrams with your PyPI project name
|
|
40
|
+
permissions:
|
|
41
|
+
id-token: write # IMPORTANT: mandatory for trusted publishing
|
|
42
|
+
|
|
43
|
+
steps:
|
|
44
|
+
- name: Download all the dists
|
|
45
|
+
uses: actions/download-artifact@v3
|
|
46
|
+
with:
|
|
47
|
+
name: python-package-distributions
|
|
48
|
+
path: dist/
|
|
49
|
+
- name: Publish distribution 📦 to PyPI
|
|
50
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
51
|
+
|
|
52
|
+
github-release:
|
|
53
|
+
name: >-
|
|
54
|
+
Sign the Python 🐍 distribution 📦 with Sigstore
|
|
55
|
+
and upload them to GitHub Release
|
|
56
|
+
needs:
|
|
57
|
+
- publish-to-pypi
|
|
58
|
+
runs-on: ubuntu-latest
|
|
59
|
+
|
|
60
|
+
permissions:
|
|
61
|
+
contents: write # IMPORTANT: mandatory for making GitHub Releases
|
|
62
|
+
id-token: write # IMPORTANT: mandatory for sigstore
|
|
63
|
+
|
|
64
|
+
steps:
|
|
65
|
+
- name: Download all the dists
|
|
66
|
+
uses: actions/download-artifact@v3
|
|
67
|
+
with:
|
|
68
|
+
name: python-package-distributions
|
|
69
|
+
path: dist/
|
|
70
|
+
- name: Sign the dists with Sigstore
|
|
71
|
+
uses: sigstore/gh-action-sigstore-python@v1.2.3
|
|
72
|
+
with:
|
|
73
|
+
inputs: >-
|
|
74
|
+
./dist/*.tar.gz
|
|
75
|
+
./dist/*.whl
|
|
76
|
+
- name: Create GitHub Release
|
|
77
|
+
env:
|
|
78
|
+
GITHUB_TOKEN: ${{ github.token }}
|
|
79
|
+
run: >-
|
|
80
|
+
gh release create
|
|
81
|
+
'${{ github.ref_name }}'
|
|
82
|
+
--repo '${{ github.repository }}'
|
|
83
|
+
--notes ""
|
|
84
|
+
- name: Upload artifact signatures to GitHub Release
|
|
85
|
+
env:
|
|
86
|
+
GITHUB_TOKEN: ${{ github.token }}
|
|
87
|
+
# Upload to GitHub Release using the `gh` CLI.
|
|
88
|
+
# `dist/` contains the built packages, and the
|
|
89
|
+
# sigstore-produced signatures and certificates.
|
|
90
|
+
run: >-
|
|
91
|
+
gh release upload
|
|
92
|
+
'${{ github.ref_name }}' dist/**
|
|
93
|
+
--repo '${{ github.repository }}'
|
|
94
|
+
|
|
95
|
+
publish-to-testpypi:
|
|
96
|
+
name: Publish Python 🐍 distribution 📦 to TestPyPI
|
|
97
|
+
needs:
|
|
98
|
+
- build
|
|
99
|
+
runs-on: ubuntu-latest
|
|
100
|
+
|
|
101
|
+
environment:
|
|
102
|
+
name: testpypi
|
|
103
|
+
url: https://test.pypi.org/p/reverse-diagrams
|
|
104
|
+
|
|
105
|
+
permissions:
|
|
106
|
+
id-token: write # IMPORTANT: mandatory for trusted publishing
|
|
107
|
+
|
|
108
|
+
steps:
|
|
109
|
+
- name: Download all the dists
|
|
110
|
+
uses: actions/download-artifact@v3
|
|
111
|
+
with:
|
|
112
|
+
name: python-package-distributions
|
|
113
|
+
path: dist/
|
|
114
|
+
- name: Publish distribution 📦 to TestPyPI
|
|
115
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
116
|
+
with:
|
|
117
|
+
repository-url: https://test.pypi.org/legacy/
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
repos:
|
|
2
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
3
|
+
# Ruff version.
|
|
4
|
+
rev: v0.1.11
|
|
5
|
+
hooks:
|
|
6
|
+
# Run the linter.
|
|
7
|
+
- id: ruff
|
|
8
|
+
args: [ --fix ]
|
|
9
|
+
# Run the formatter.
|
|
10
|
+
- id: ruff-format
|
|
11
|
+
|
|
12
|
+
- repo: https://github.com/miki725/importanize
|
|
13
|
+
rev: 0.8.0-alpha2
|
|
14
|
+
hooks:
|
|
15
|
+
- id: importanize
|
|
16
|
+
|
|
17
|
+
#- repo: https://github.com/PyCQA/bandit
|
|
18
|
+
# rev: 1.7.6
|
|
19
|
+
# hooks:
|
|
20
|
+
# - id: bandit
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
# repo: https://github.com/Lucas-C/pre-commit-hooks-safety
|
|
24
|
+
# rev: v1.7.2
|
|
25
|
+
# hooks:
|
|
26
|
+
# - id: python-safety-dependencies-check
|
|
27
|
+
# args: [check, --full-report, --file]
|
|
28
|
+
|
|
29
|
+
- repo: https://github.com/PyCQA/pydocstyle
|
|
30
|
+
rev: 6.3.0
|
|
31
|
+
hooks:
|
|
32
|
+
- id: pydocstyle
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Copyright [2024] [Alejandro Velez]
|
|
2
|
+
|
|
3
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
you may not use this file except in compliance with the License.
|
|
5
|
+
You may obtain a copy of the License at
|
|
6
|
+
|
|
7
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
|
|
9
|
+
Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
See the License for the specific language governing permissions and
|
|
13
|
+
limitations under the License.
|
|
@@ -1,42 +1,32 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: reverse_diagrams
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary: Continuous Documentation Tool - Documentation as Code Tool -
|
|
5
|
-
This package create reverse diagrams based on your current state in your cloud environment
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Continuous Documentation Tool - Documentation as Code Tool - This package create reverse diagrams based on your current state in your cloud environment using diagrams library
|
|
6
5
|
Project-URL: Homepage, https://github.com/velez94/reverse_diagrams
|
|
7
6
|
Project-URL: Bug Tracker, https://github.com/velez94/reverse_diagrams/issues
|
|
8
7
|
Author-email: Alejandro Velez <avelez@labvel.io>
|
|
9
|
-
License:
|
|
8
|
+
License: Copyright [2024] [Alejandro Velez]
|
|
10
9
|
|
|
11
|
-
|
|
10
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
11
|
+
you may not use this file except in compliance with the License.
|
|
12
|
+
You may obtain a copy of the License at
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
15
|
-
in the Software without restriction, including without limitation the rights
|
|
16
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
17
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
18
|
-
furnished to do so, subject to the following conditions:
|
|
14
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
19
15
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
26
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
27
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
28
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
29
|
-
SOFTWARE.
|
|
16
|
+
Unless required by applicable law or agreed to in writing, software
|
|
17
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
18
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
19
|
+
See the License for the specific language governing permissions and
|
|
20
|
+
limitations under the License.
|
|
30
21
|
License-File: LICENSE
|
|
31
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
32
22
|
Classifier: Operating System :: OS Independent
|
|
33
23
|
Classifier: Programming Language :: Python :: 3
|
|
34
24
|
Requires-Python: >=3.8
|
|
35
25
|
Requires-Dist: boto3>=1.26.44
|
|
36
26
|
Requires-Dist: colorama>=0.4.4
|
|
37
|
-
Requires-Dist: diagrams>=0.
|
|
27
|
+
Requires-Dist: diagrams>=0.23.4
|
|
38
28
|
Requires-Dist: emoji>=2.2.0
|
|
39
|
-
Requires-Dist:
|
|
29
|
+
Requires-Dist: rich>=13.7.0
|
|
40
30
|
Description-Content-Type: text/markdown
|
|
41
31
|
|
|
42
32
|
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
|
@@ -157,3 +147,25 @@ reverse_diagrams -c aws -p my-profile -i -r us-east-2
|
|
|
157
147
|
reverse_diagrams -c aws -p my-profile -o -i -r us-east-2
|
|
158
148
|
```
|
|
159
149
|
|
|
150
|
+
## Extras
|
|
151
|
+
### Enable autocomplete
|
|
152
|
+
Argcomplete provides easy, extensible command line tab completion of arguments for your Python application.
|
|
153
|
+
|
|
154
|
+
It makes two assumptions:
|
|
155
|
+
|
|
156
|
+
* You’re using bash or zsh as your shell
|
|
157
|
+
|
|
158
|
+
* You’re using argparse to manage your command line arguments/options
|
|
159
|
+
|
|
160
|
+
Argcomplete is particularly useful if your program has lots of options or subparsers, and if your program can dynamically suggest completions for your argument/option values (for example, if the user is browsing resources over the network).
|
|
161
|
+
Run:
|
|
162
|
+
```bash
|
|
163
|
+
activate-global-python-argcomplete
|
|
164
|
+
```
|
|
165
|
+
and to make sure that bash knows about this script, you use
|
|
166
|
+
```bash
|
|
167
|
+
|
|
168
|
+
echo 'eval "$(register-python-argcomplete reverse_diagrams)"' >> ~/.bashrc
|
|
169
|
+
source ~/.bashrc
|
|
170
|
+
|
|
171
|
+
```
|
|
@@ -116,3 +116,25 @@ reverse_diagrams -c aws -p my-profile -i -r us-east-2
|
|
|
116
116
|
reverse_diagrams -c aws -p my-profile -o -i -r us-east-2
|
|
117
117
|
```
|
|
118
118
|
|
|
119
|
+
## Extras
|
|
120
|
+
### Enable autocomplete
|
|
121
|
+
Argcomplete provides easy, extensible command line tab completion of arguments for your Python application.
|
|
122
|
+
|
|
123
|
+
It makes two assumptions:
|
|
124
|
+
|
|
125
|
+
* You’re using bash or zsh as your shell
|
|
126
|
+
|
|
127
|
+
* You’re using argparse to manage your command line arguments/options
|
|
128
|
+
|
|
129
|
+
Argcomplete is particularly useful if your program has lots of options or subparsers, and if your program can dynamically suggest completions for your argument/option values (for example, if the user is browsing resources over the network).
|
|
130
|
+
Run:
|
|
131
|
+
```bash
|
|
132
|
+
activate-global-python-argcomplete
|
|
133
|
+
```
|
|
134
|
+
and to make sure that bash knows about this script, you use
|
|
135
|
+
```bash
|
|
136
|
+
|
|
137
|
+
echo 'eval "$(register-python-argcomplete reverse_diagrams)"' >> ~/.bashrc
|
|
138
|
+
source ~/.bashrc
|
|
139
|
+
|
|
140
|
+
```
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
|
|
2
|
+
from diagrams import Diagram, Cluster
|
|
3
|
+
|
|
4
|
+
from diagrams.aws.management import Organizations, OrganizationsAccount, OrganizationsOrganizationalUnit
|
|
5
|
+
|
|
6
|
+
with Diagram("Organizations-State", show=False, direction="TB"):
|
|
7
|
+
ou = OrganizationsOrganizationalUnit("OU")
|
|
8
|
+
oa = OrganizationsAccount("Account")
|
|
9
|
+
|
|
10
|
+
with Cluster('Organizations'):
|
|
11
|
+
|
|
12
|
+
oo = Organizations('o-9tlhkjyoii\n029921763173\nr-w3ow')
|
|
13
|
+
|
|
14
|
+
ou_Sandbox= OrganizationsOrganizationalUnit("ou-w3ow-1sumtdvp\nSandbox")
|
|
15
|
+
|
|
16
|
+
oo>> ou_Sandbox
|
|
17
|
+
|
|
18
|
+
ou_Security= OrganizationsOrganizationalUnit("ou-w3ow-oqvta8tc\nSecurity")
|
|
19
|
+
|
|
20
|
+
oo>> ou_Security
|
|
21
|
+
|
|
22
|
+
ou_Workloads= OrganizationsOrganizationalUnit("ou-w3ow-1lpmyfug\nWorkloads")
|
|
23
|
+
|
|
24
|
+
oo>> ou_Workloads
|
|
25
|
+
|
|
26
|
+
ou_Dev= OrganizationsOrganizationalUnit("ou-w3ow-k24p2opx\nDev")
|
|
27
|
+
|
|
28
|
+
oo>> ou_Dev
|
|
29
|
+
|
|
30
|
+
ou_DevSecOps= OrganizationsOrganizationalUnit("ou-w3ow-b334bby6\nDevSecOps")
|
|
31
|
+
|
|
32
|
+
oo>> ou_DevSecOps
|
|
33
|
+
|
|
34
|
+
ou_Core= OrganizationsOrganizationalUnit("ou-w3ow-93hiq3zr\nCore")
|
|
35
|
+
|
|
36
|
+
oo>> ou_Core
|
|
37
|
+
|
|
38
|
+
ou_PolicyStaging= OrganizationsOrganizationalUnit("ou-w3ow-18verpsm\nPolicy Staging")
|
|
39
|
+
|
|
40
|
+
oo>> ou_PolicyStaging
|
|
41
|
+
|
|
42
|
+
ou_Suspended= OrganizationsOrganizationalUnit("ou-w3ow-7vunsbkd\nSuspended")
|
|
43
|
+
|
|
44
|
+
oo>> ou_Suspended
|
|
45
|
+
|
|
46
|
+
ou_Shared= OrganizationsOrganizationalUnit("ou-w3ow-w7dzhzcz\nShared")
|
|
47
|
+
|
|
48
|
+
oo>> ou_Shared
|
|
49
|
+
|
|
50
|
+
ou_Infrastructure= OrganizationsOrganizationalUnit("ou-w3ow-9q06w8rz\nInfrastructure")
|
|
51
|
+
|
|
52
|
+
oo>> ou_Infrastructure
|
|
53
|
+
|
|
54
|
+
ou_BULab= OrganizationsOrganizationalUnit("ou-w3ow-qa633svy\nBU-Lab")
|
|
55
|
+
|
|
56
|
+
ou_Workloads>> ou_BULab
|
|
57
|
+
|
|
58
|
+
ou_Prod= OrganizationsOrganizationalUnit("ou-w3ow-4sdr4ejy\nProd")
|
|
59
|
+
|
|
60
|
+
ou_BULab>> ou_Prod
|
|
61
|
+
|
|
62
|
+
ou_SDLC= OrganizationsOrganizationalUnit("ou-w3ow-vop5vccd\nSDLC")
|
|
63
|
+
|
|
64
|
+
ou_BULab>> ou_SDLC
|
|
65
|
+
|
|
66
|
+
ou_Core>> OrganizationsAccount("884478634998\nLog archive")
|
|
67
|
+
|
|
68
|
+
ou_Security>> OrganizationsAccount("835863553119\nSecOps")
|
|
69
|
+
|
|
70
|
+
ou_Prod>> OrganizationsAccount("582441254763\nProd")
|
|
71
|
+
|
|
72
|
+
ou_Core>> OrganizationsAccount("895882538541\nSecurityTooling")
|
|
73
|
+
|
|
74
|
+
ou_DevSecOps>> OrganizationsAccount("105171185823\nDevSecOps")
|
|
75
|
+
|
|
76
|
+
ou_Infrastructure>> OrganizationsAccount("994261317734\nOps")
|
|
77
|
+
|
|
78
|
+
ou_Infrastructure>> OrganizationsAccount("155794986228\nSharedServices")
|
|
79
|
+
|
|
80
|
+
oo >> OrganizationsAccount("904985504252\nClowPiloto")
|
|
81
|
+
|
|
82
|
+
oo >> OrganizationsAccount("029921763173\nLabVel")
|
|
83
|
+
|
|
84
|
+
ou_Security>> OrganizationsAccount("837696987585\nOrganizationMana\nger")
|
|
85
|
+
|
|
86
|
+
oo >> OrganizationsAccount("571340586587\nDev")
|
|
@@ -10,30 +10,28 @@ with Diagram("SSO-State", show=False, direction="TB"):
|
|
|
10
10
|
|
|
11
11
|
with Cluster('Groups'):
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
gg_0= [User("velez94@protonma\nil.com"),]
|
|
13
|
+
gg_0= Users("AWSLogArchiveVie\nwers")
|
|
16
14
|
|
|
17
|
-
|
|
15
|
+
with Cluster("AWSControlTowerAdmins"):
|
|
18
16
|
|
|
19
|
-
|
|
17
|
+
gg_1= [User("velez94@protonma\nil.com"),]
|
|
20
18
|
|
|
21
|
-
|
|
19
|
+
gg_2= Users("AWSSecurityAudit\nors")
|
|
22
20
|
|
|
23
|
-
|
|
21
|
+
with Cluster("SecOps_Adms"):
|
|
24
22
|
|
|
25
|
-
|
|
23
|
+
gg_3= [User("w.alejovl+secops\n-labs@gmail.com"),]
|
|
26
24
|
|
|
27
|
-
|
|
25
|
+
gg_4= Users("AWSServiceCatalo\ngAdmins")
|
|
28
26
|
|
|
29
|
-
|
|
27
|
+
with Cluster("AWSAccountFactory"):
|
|
30
28
|
|
|
31
|
-
|
|
29
|
+
gg_5= [User("velez94@protonma\nil.com"),]
|
|
32
30
|
|
|
33
|
-
|
|
31
|
+
gg_6= Users("AWSSecurityAudit\nPowerUsers")
|
|
34
32
|
|
|
35
|
-
|
|
33
|
+
gg_7= Users("AWSLogArchiveAdm\nins")
|
|
36
34
|
|
|
37
|
-
with Cluster("
|
|
35
|
+
with Cluster("DevSecOps_Admins"):
|
|
38
36
|
|
|
39
|
-
|
|
37
|
+
gg_8= [User("DevSecOpsAdm"),]
|
|
@@ -105,18 +105,6 @@ with Diagram("IAM Identity Center", show=False, direction="LR"):
|
|
|
105
105
|
- mm_AWSSecurityAuditors
|
|
106
106
|
|
|
107
107
|
|
|
108
|
-
with Cluster('Group: AWSControlTowerAdmins'):
|
|
109
|
-
|
|
110
|
-
gg_AWSControlTowerAdmins=Users("AWSControlTowerA\ndmins")
|
|
111
|
-
gg_AWSControlTowerAdmins \
|
|
112
|
-
- Edge(color="brown", style="dotted", label="Permissions Set") \
|
|
113
|
-
- IAMPermissions("AWSOrganizations\nFullAccess")
|
|
114
|
-
mm_AWSControlTowerAdmins=[User("velez94@protonma\nil.com"),]
|
|
115
|
-
gg_AWSControlTowerAdmins \
|
|
116
|
-
- Edge(color="darkgreen", style="dotted", label="Member") \
|
|
117
|
-
- mm_AWSControlTowerAdmins
|
|
118
|
-
|
|
119
|
-
|
|
120
108
|
with Cluster('Account: Prod'):
|
|
121
109
|
|
|
122
110
|
with Cluster('Group: AWSSecurityAuditPowerUsers'):
|
|
@@ -162,18 +150,6 @@ with Diagram("IAM Identity Center", show=False, direction="LR"):
|
|
|
162
150
|
- mm_AWSSecurityAuditors
|
|
163
151
|
|
|
164
152
|
|
|
165
|
-
with Cluster('Group: AWSControlTowerAdmins'):
|
|
166
|
-
|
|
167
|
-
gg_AWSControlTowerAdmins=Users("AWSControlTowerA\ndmins")
|
|
168
|
-
gg_AWSControlTowerAdmins \
|
|
169
|
-
- Edge(color="brown", style="dotted", label="Permissions Set") \
|
|
170
|
-
- IAMPermissions("AWSOrganizations\nFullAccess")
|
|
171
|
-
mm_AWSControlTowerAdmins=[User("velez94@protonma\nil.com"),]
|
|
172
|
-
gg_AWSControlTowerAdmins \
|
|
173
|
-
- Edge(color="darkgreen", style="dotted", label="Member") \
|
|
174
|
-
- mm_AWSControlTowerAdmins
|
|
175
|
-
|
|
176
|
-
|
|
177
153
|
with Cluster('Account: SecurityTooling'):
|
|
178
154
|
|
|
179
155
|
with Cluster('Group: AWSSecurityAuditPowerUsers'):
|
|
@@ -212,18 +188,6 @@ with Diagram("IAM Identity Center", show=False, direction="LR"):
|
|
|
212
188
|
- mm_AWSControlTowerAdmins
|
|
213
189
|
|
|
214
190
|
|
|
215
|
-
with Cluster('Group: AWSAuditAccountAdmins'):
|
|
216
|
-
|
|
217
|
-
gg_AWSAuditAccountAdmins=Users("AWSAuditAccountA\ndmins")
|
|
218
|
-
gg_AWSAuditAccountAdmins \
|
|
219
|
-
- Edge(color="brown", style="dotted", label="Permissions Set") \
|
|
220
|
-
- IAMPermissions("AWSAdministrator\nAccess")
|
|
221
|
-
mm_AWSAuditAccountAdmins=[]
|
|
222
|
-
gg_AWSAuditAccountAdmins \
|
|
223
|
-
- Edge(color="darkgreen", style="dotted", label="Member") \
|
|
224
|
-
- mm_AWSAuditAccountAdmins
|
|
225
|
-
|
|
226
|
-
|
|
227
191
|
with Cluster('Group: AWSSecurityAuditors'):
|
|
228
192
|
|
|
229
193
|
gg_AWSSecurityAuditors=Users("AWSSecurityAudit\nors")
|
|
@@ -305,18 +269,6 @@ with Diagram("IAM Identity Center", show=False, direction="LR"):
|
|
|
305
269
|
- mm_AWSSecurityAuditors
|
|
306
270
|
|
|
307
271
|
|
|
308
|
-
with Cluster('Group: AWSControlTowerAdmins'):
|
|
309
|
-
|
|
310
|
-
gg_AWSControlTowerAdmins=Users("AWSControlTowerA\ndmins")
|
|
311
|
-
gg_AWSControlTowerAdmins \
|
|
312
|
-
- Edge(color="brown", style="dotted", label="Permissions Set") \
|
|
313
|
-
- IAMPermissions("AWSOrganizations\nFullAccess")
|
|
314
|
-
mm_AWSControlTowerAdmins=[User("velez94@protonma\nil.com"),]
|
|
315
|
-
gg_AWSControlTowerAdmins \
|
|
316
|
-
- Edge(color="darkgreen", style="dotted", label="Member") \
|
|
317
|
-
- mm_AWSControlTowerAdmins
|
|
318
|
-
|
|
319
|
-
|
|
320
272
|
with Cluster('Account: Ops'):
|
|
321
273
|
|
|
322
274
|
with Cluster('Group: AWSSecurityAuditPowerUsers'):
|
|
@@ -350,18 +302,6 @@ with Diagram("IAM Identity Center", show=False, direction="LR"):
|
|
|
350
302
|
- mm_AWSSecurityAuditors
|
|
351
303
|
|
|
352
304
|
|
|
353
|
-
with Cluster('Group: AWSControlTowerAdmins'):
|
|
354
|
-
|
|
355
|
-
gg_AWSControlTowerAdmins=Users("AWSControlTowerA\ndmins")
|
|
356
|
-
gg_AWSControlTowerAdmins \
|
|
357
|
-
- Edge(color="brown", style="dotted", label="Permissions Set") \
|
|
358
|
-
- IAMPermissions("AWSOrganizations\nFullAccess")
|
|
359
|
-
mm_AWSControlTowerAdmins=[User("velez94@protonma\nil.com"),]
|
|
360
|
-
gg_AWSControlTowerAdmins \
|
|
361
|
-
- Edge(color="darkgreen", style="dotted", label="Member") \
|
|
362
|
-
- mm_AWSControlTowerAdmins
|
|
363
|
-
|
|
364
|
-
|
|
365
305
|
with Cluster('Account: SharedServices'):
|
|
366
306
|
|
|
367
307
|
with Cluster('Group: AWSSecurityAuditPowerUsers'):
|
|
@@ -407,18 +347,6 @@ with Diagram("IAM Identity Center", show=False, direction="LR"):
|
|
|
407
347
|
- mm_AWSSecurityAuditors
|
|
408
348
|
|
|
409
349
|
|
|
410
|
-
with Cluster('Group: AWSControlTowerAdmins'):
|
|
411
|
-
|
|
412
|
-
gg_AWSControlTowerAdmins=Users("AWSControlTowerA\ndmins")
|
|
413
|
-
gg_AWSControlTowerAdmins \
|
|
414
|
-
- Edge(color="brown", style="dotted", label="Permissions Set") \
|
|
415
|
-
- IAMPermissions("AWSOrganizations\nFullAccess")
|
|
416
|
-
mm_AWSControlTowerAdmins=[User("velez94@protonma\nil.com"),]
|
|
417
|
-
gg_AWSControlTowerAdmins \
|
|
418
|
-
- Edge(color="darkgreen", style="dotted", label="Member") \
|
|
419
|
-
- mm_AWSControlTowerAdmins
|
|
420
|
-
|
|
421
|
-
|
|
422
350
|
with Cluster('Account: LabVel'):
|
|
423
351
|
|
|
424
352
|
with Cluster('Group: AWSSecurityAuditPowerUsers'):
|
|
@@ -469,18 +397,6 @@ with Diagram("IAM Identity Center", show=False, direction="LR"):
|
|
|
469
397
|
- mm_AWSSecurityAuditors
|
|
470
398
|
|
|
471
399
|
|
|
472
|
-
with Cluster('Group: AWSServiceCatalogAdmins'):
|
|
473
|
-
|
|
474
|
-
gg_AWSServiceCatalogAdmins=Users("AWSServiceCatalo\ngAdmins")
|
|
475
|
-
gg_AWSServiceCatalogAdmins \
|
|
476
|
-
- Edge(color="brown", style="dotted", label="Permissions Set") \
|
|
477
|
-
- IAMPermissions("AWSServiceCatalo\ngAdminFullAccess")
|
|
478
|
-
mm_AWSServiceCatalogAdmins=[]
|
|
479
|
-
gg_AWSServiceCatalogAdmins \
|
|
480
|
-
- Edge(color="darkgreen", style="dotted", label="Member") \
|
|
481
|
-
- mm_AWSServiceCatalogAdmins
|
|
482
|
-
|
|
483
|
-
|
|
484
400
|
with Cluster('Account: OrganizationManager'):
|
|
485
401
|
|
|
486
402
|
with Cluster('Group: AWSSecurityAuditPowerUsers'):
|
|
@@ -526,18 +442,6 @@ with Diagram("IAM Identity Center", show=False, direction="LR"):
|
|
|
526
442
|
- mm_AWSSecurityAuditors
|
|
527
443
|
|
|
528
444
|
|
|
529
|
-
with Cluster('Group: AWSControlTowerAdmins'):
|
|
530
|
-
|
|
531
|
-
gg_AWSControlTowerAdmins=Users("AWSControlTowerA\ndmins")
|
|
532
|
-
gg_AWSControlTowerAdmins \
|
|
533
|
-
- Edge(color="brown", style="dotted", label="Permissions Set") \
|
|
534
|
-
- IAMPermissions("AWSOrganizations\nFullAccess")
|
|
535
|
-
mm_AWSControlTowerAdmins=[User("velez94@protonma\nil.com"),]
|
|
536
|
-
gg_AWSControlTowerAdmins \
|
|
537
|
-
- Edge(color="darkgreen", style="dotted", label="Member") \
|
|
538
|
-
- mm_AWSControlTowerAdmins
|
|
539
|
-
|
|
540
|
-
|
|
541
445
|
with Cluster('Account: Dev'):
|
|
542
446
|
|
|
543
447
|
with Cluster('Group: AWSSecurityAuditPowerUsers'):
|
|
@@ -582,15 +486,3 @@ with Diagram("IAM Identity Center", show=False, direction="LR"):
|
|
|
582
486
|
- Edge(color="darkgreen", style="dotted", label="Member") \
|
|
583
487
|
- mm_AWSSecurityAuditors
|
|
584
488
|
|
|
585
|
-
|
|
586
|
-
with Cluster('Group: AWSControlTowerAdmins'):
|
|
587
|
-
|
|
588
|
-
gg_AWSControlTowerAdmins=Users("AWSControlTowerA\ndmins")
|
|
589
|
-
gg_AWSControlTowerAdmins \
|
|
590
|
-
- Edge(color="brown", style="dotted", label="Permissions Set") \
|
|
591
|
-
- IAMPermissions("AWSOrganizations\nFullAccess")
|
|
592
|
-
mm_AWSControlTowerAdmins=[User("velez94@protonma\nil.com"),]
|
|
593
|
-
gg_AWSControlTowerAdmins \
|
|
594
|
-
- Edge(color="darkgreen", style="dotted", label="Member") \
|
|
595
|
-
- mm_AWSControlTowerAdmins
|
|
596
|
-
|
|
Binary file
|
|
Binary file
|
|
Binary file
|