Skip to content

Commit 4642bc7

Browse files
committed
BH Docs
1 parent 2a16e94 commit 4642bc7

23 files changed

Lines changed: 299 additions & 733 deletions

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
## Project-specific ignores
2+
Documentation/OfficialDocs/

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "OGDocsAutomation"]
2+
path = OGDocsAutomation
3+
url = https://github.com/SpecterOps/og-docs-automation
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# SCIM_Contains
2+
3+
## Edge Schema
4+
5+
- Source: [SCIM_Organization](../NodeDescriptions/SCIM_Organization.md)
6+
- Destination: [SCIM_User](../NodeDescriptions/SCIM_User.md), [SCIM_Group](../NodeDescriptions/SCIM_Group.md), [SCIM_Role](../NodeDescriptions/SCIM_Role.md)
7+
8+
## General Information
9+
10+
The [SCIM_Contains](SCIM_Contains.md) edge represents the containment relationship between an organization and its SCIM resources. Each SCIM user, group, and role belongs to exactly one organization, establishing a clear ownership boundary. This edge is significant for scoping identity governance — all resources contained by an organization are managed by that organization's identity provider.
11+
12+
```mermaid
13+
graph LR
14+
node1("SCIM_Organization Contoso")
15+
node2("SCIM_User dschrute")
16+
node3("SCIM_Group Sales Team")
17+
node4("SCIM_Role Sales")
18+
node1 -- SCIM_Contains --> node2
19+
node1 -- SCIM_Contains --> node3
20+
node1 -- SCIM_Contains --> node4
21+
```
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# SCIM_HasRole
2+
3+
## Edge Schema
4+
5+
- Source: [SCIM_User](../NodeDescriptions/SCIM_User.md)
6+
- Destination: [SCIM_Role](../NodeDescriptions/SCIM_Role.md)
7+
8+
## General Information
9+
10+
The [SCIM_HasRole](SCIM_HasRole.md) edge represents the relationship between users and their assigned roles, as defined by the `roles` attribute in the SCIM user schema. Roles are extracted from user attributes and represented as separate nodes to enable graph-based analysis of role assignments across the organization. This edge allows identifying all users who share a particular role.
11+
12+
```mermaid
13+
graph LR
14+
node1("SCIM_User dschrute")
15+
node2("SCIM_Role Sales")
16+
node1 -- SCIM_HasRole --> node2
17+
```
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# SCIM_ManagerOf
2+
3+
## Edge Schema
4+
5+
- Source: [SCIM_User](../NodeDescriptions/SCIM_User.md)
6+
- Destination: [SCIM_User](../NodeDescriptions/SCIM_User.md)
7+
8+
## General Information
9+
10+
The [SCIM_ManagerOf](SCIM_ManagerOf.md) edge represents the managerial relationship between users, as defined by the `manager` attribute in the SCIM Enterprise User schema extension. This edge captures the organizational hierarchy, connecting a manager to their direct reports. Manager relationships can be significant for understanding organizational structure and potential privilege escalation paths through social engineering or delegated approval workflows.
11+
12+
```mermaid
13+
graph LR
14+
node1("SCIM_User mscott")
15+
node2("SCIM_User dschrute")
16+
node1 -- SCIM_ManagerOf --> node2
17+
```
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# SCIM_MemberOf
2+
3+
## Edge Schema
4+
5+
- Source: [SCIM_User](../NodeDescriptions/SCIM_User.md), [SCIM_Group](../NodeDescriptions/SCIM_Group.md)
6+
- Destination: [SCIM_Group](../NodeDescriptions/SCIM_Group.md)
7+
8+
## General Information
9+
10+
The [SCIM_MemberOf](SCIM_MemberOf.md) edge represents group membership relationships, as defined by the `members` attribute of groups and the `groups` attribute of users in the SCIM schema. Users can be members of groups, and groups can be nested within other groups. Group membership propagated through SCIM is a primary mechanism for granting application access, making these edges critical for understanding transitive access paths.
11+
12+
```mermaid
13+
graph LR
14+
node1("SCIM_User dschrute")
15+
node2("SCIM_Group Sales Team")
16+
node3("SCIM_Group All Employees")
17+
node1 -- SCIM_MemberOf --> node2
18+
node2 -- SCIM_MemberOf --> node3
19+
```
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# SCIM_Provisioned
2+
3+
## Edge Schema
4+
5+
- Source: [SCIM_User](../NodeDescriptions/SCIM_User.md), [SCIM_Group](../NodeDescriptions/SCIM_Group.md)
6+
- Destination: [GH_ExternalIdentity](https://bloodhound.specterops.io/opengraph/extensions/githound/reference/nodes/gh_externalidentity), [GH_Group](https://bloodhound.specterops.io/opengraph/extensions/githound/reference/nodes/gh_group)
7+
8+
## General Information
9+
10+
The [SCIM_Provisioned](SCIM_Provisioned.md) edge represents the hybrid relationship between SCIM resources and their provisioned counterparts in downstream applications, such as GitHub. When an identity provider provisions a user or group via SCIM, this edge connects the SCIM source identity to the resulting application-specific identity. These edges are critical for tracing cross-domain access paths from cloud IdP identities to application-level permissions.
11+
12+
```mermaid
13+
graph LR
14+
node1("SCIM_User dschrute")
15+
node2("GH_ExternalIdentity dschrute")
16+
node3("SCIM_Group Sales Team")
17+
node4("GH_Group Sales Team")
18+
node1 -- SCIM_Provisioned --> node2
19+
node3 -- SCIM_Provisioned --> node4
20+
```

0 commit comments

Comments
 (0)