> For the complete documentation index, see [llms.txt](https://docs.euno.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.euno.ai/developer-reference/technical-concepts/users-as-a-resource.md).

# Users as a Resource

Euno recognizes users as native resources within the data model, treating them as first-class citizens alongside tables, dashboards, dbt models, and other data assets. This enables comprehensive tracking of user relationships, and dependencies across your entire data stack.

By modeling users as resources, you can:

* Query relationships between users and data assets
* Perform impact analysis involving users
* Understand who depends on what data and who produces it

### Resource Types <a href="#resource-types" id="resource-types"></a>

#### User Account (`user`) <a href="#user-account-user" id="user-account-user"></a>

Represents an individual user in your organization.

**URI Format:**

```
user.<EMAIL_ADDRESS>
```

The email address is normalized by replacing `@` with `_at_` and converting to lowercase.

**Examples:**

* `user.john_at_example.com`
* `user.data.engineer_at_company.com`

#### User Group (`user_group`) <a href="#user-group-user_group" id="user-group-user_group"></a>

Represents a group of users, typically synchronized from identity providers like Microsoft Entra ID or Google Workspace.

**URI Format:**

```
user_group.<GROUP_ID>
```

The group ID is typically a unique identifier from the identity provider (e.g., Microsoft Entra ID group ID).

**Examples:**

* `user_group.cf9fa9ef-3315-459c-893f-a44ec0e26ac1`
* `user_group.4f5024be-9361-4dd9-8996-14c1f06a5dc3`

### Properties <a href="#properties" id="properties"></a>

#### User Account Properties <a href="#user-account-properties" id="user-account-properties"></a>

| Property        | Description                                               |
| --------------- | --------------------------------------------------------- |
| `name`          | Display name of the user                                  |
| `email_address` | Email address of the user (primary identifier)            |
| `label`         | Display label for the user                                |
| `subtype`       | Source of the user (e.g., `google_workspace`, `entra_id`) |

#### User Group Properties <a href="#user-group-properties" id="user-group-properties"></a>

| Property     | Description                                                |
| ------------ | ---------------------------------------------------------- |
| `name`       | Display name of the group                                  |
| `subtype`    | Source of the group (e.g., `google_workspace`, `entra_id`) |
| `native_id`  | Native identifier from the source system                   |
| `created_at` | Timestamp when the group was created                       |
| `members`    | List of user and group members belonging to this group     |

### Relationships <a href="#relationships" id="relationships"></a>

Users participate in the same relationship model as other resources in Euno. For a complete reference on relationship types, see [Relationships](https://file+.vscode-resource.vscode-cdn.net/Users/giladirim/code/documentation/developer-reference/technical-concepts/relationships.md).

#### Membership Relationships <a href="#membership-relationships" id="membership-relationships"></a>

Users and groups can belong to supported BI items, and groups can contain users or nested groups.

```
user ──[is member of]──> user_group
user_group ──[is member of]──> user_group (nested groups)
user ──[is member of]──> Power BI report, dashboard, semantic model, app-backed report row, or dataflow
user_group ──[is member of]──> Power BI report, dashboard, semantic model, app-backed report row, or dataflow
```

#### Usage Relationships <a href="#usage-relationships" id="usage-relationships"></a>

Track which resources users access and consume.

```
user ──[is user of]──> dashboard, report, table
```

### Querying Users with EQL <a href="#querying-users-with-eql" id="querying-users-with-eql"></a>

#### Find All Users <a href="#find-all-users" id="find-all-users"></a>

```eql
type = "user"
```

#### Find All User Groups <a href="#find-all-user-groups" id="find-all-user-groups"></a>

```eql
type = "user_group"
```

#### Find Users by Email Domain <a href="#find-users-by-email-domain" id="find-users-by-email-domain"></a>

```eql
type = "user" AND email_address ~ "@company.com"
```

#### Find Groups a User Belongs To <a href="#find-groups-a-user-belongs-to" id="find-groups-a-user-belongs-to"></a>

```eql
type = "user_group" AND has member(uri = "user.john_at_example.com")
```

#### Find All Members of a Group <a href="#find-all-members-of-a-group" id="find-all-members-of-a-group"></a>

```eql
type = "user" AND has group(name = "Data Engineering Team")
```

#### Find Dashboards Used by a User <a href="#find-dashboards-used-by-a-user" id="find-dashboards-used-by-a-user"></a>

```eql
type = "looker_dashboard" AND is used by(uri = "user.john_at_example.com")
```

#### Find Tables Consumed by Users in a Specific Group <a href="#find-tables-consumed-by-users-in-a-specific-group" id="find-tables-consumed-by-users-in-a-specific-group"></a>

```eql
type = "table" AND is used by(type = "user" AND has group(name = "Analytics Team"))
```

### Use Cases <a href="#use-cases" id="use-cases"></a>

#### Impact Analysis <a href="#impact-analysis" id="impact-analysis"></a>

Determine which users will be affected by changes to a specific resource:

```eql
type = "user" AND is user of(uri = "snowflake.db.schema.critical_table")
```

#### Access Pattern Analysis <a href="#access-pattern-analysis" id="access-pattern-analysis"></a>

Understand how users interact with data assets by querying user-resource relationships.

#### Team Dependencies <a href="#team-dependencies" id="team-dependencies"></a>

Analyze which data assets a team depends on:

```eql
is used by(has group(name = "Finance Team"))
```

### Enabling User Observation <a href="#enabling-user-observation" id="enabling-user-observation"></a>

User observation is enabled through supported BI integrations. Currently, the following integrations support user observation:

| Integration                                                       | User Types Discovered | Setup                                                               |
| ----------------------------------------------------------------- | --------------------- | ------------------------------------------------------------------- |
| [Looker](/sources/business-intelligence/looker-integration.md)    | `user`, `user_group`  | Enable "Observe users" and/or "Observe groups" in advanced settings |
| [Power BI](/sources/business-intelligence/powerbi-integration.md) | `user`, `user_group`  | Enable "Observe users" and/or "Observe groups" in advanced settings |
| [Tableau](/sources/business-intelligence/tableau-integration.md)  | `user`                | Automatic with standard integration                                 |

### Related Topics <a href="#related-topics" id="related-topics"></a>

* [Relationships](/developer-reference/technical-concepts/relationships.md) - Complete relationship reference
* [Universal Resource Identifier (URI)](/developer-reference/technical-concepts/universal-resource-identifier-uri.md) - URI format reference
* [EQL Query Language](/using-euno/euno-query-language-eql.md) - Query language documentation


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.euno.ai/developer-reference/technical-concepts/users-as-a-resource.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
