Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BREAKING] Add ECS user namespace #731

Merged
merged 39 commits into from
May 28, 2024
Merged
Show file tree
Hide file tree
Changes from 21 commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
b3e81c5
add user namespace
trisch-me Feb 9, 2024
cffb01c
update PR number
trisch-me Feb 9, 2024
15a2aee
make lint happy
trisch-me Feb 9, 2024
343b1e4
Merge branch 'main' into user_ns
trisch-me Mar 4, 2024
9b43a8c
Merge branch 'main' into user_ns
trisch-me Mar 14, 2024
0ab5b3d
Merge branch 'main' into user_ns
trisch-me Apr 15, 2024
b4b9007
Merge branch 'main' of github.com:open-telemetry/semantic-conventions…
trisch-me Apr 15, 2024
ed561e3
update templates
trisch-me Apr 15, 2024
4a978a0
Merge branch 'user_ns' of github.com:trisch-me/semantic-conventions i…
trisch-me Apr 15, 2024
7f5a3f7
added stability
trisch-me Apr 15, 2024
1b4576a
Merge branch 'main' of github.com:open-telemetry/semantic-conventions…
trisch-me Apr 22, 2024
c9c1bda
Merge branch 'main' of github.com:open-telemetry/semantic-conventions…
trisch-me Apr 23, 2024
86638ef
deprecated enduser namespace
trisch-me Apr 23, 2024
59da928
Merge branch 'main' into user_ns
trisch-me Apr 25, 2024
441b6b0
Merge branch 'main' into user_ns
trisch-me Apr 30, 2024
05e1cb2
Merge branch 'main' of github.com:open-telemetry/semantic-conventions…
trisch-me May 7, 2024
cb13124
update PR for autogenerated registry
trisch-me May 7, 2024
57f610d
Merge branch 'user_ns' of github.com:trisch-me/semantic-conventions i…
trisch-me May 7, 2024
b0321fa
fix style
trisch-me May 7, 2024
1ac06d1
Merge branch 'main' into user_ns
trisch-me May 7, 2024
fd23327
Merge branch 'main' into user_ns
trisch-me May 7, 2024
bb97d7b
Merge branch 'main' of github.com:open-telemetry/semantic-conventions…
trisch-me May 8, 2024
526832e
add scope from enduser to the user to preserve this field for those w…
trisch-me May 8, 2024
684d9ad
Merge branch 'user_ns' of github.com:trisch-me/semantic-conventions i…
trisch-me May 8, 2024
0462328
Merge branch 'main' of github.com:open-telemetry/semantic-conventions…
trisch-me May 8, 2024
67a6717
Merge branch 'main' into user_ns
trisch-me May 10, 2024
5c62b99
Apply suggestions from code review
trisch-me May 13, 2024
7839302
Update model/registry/user.yaml
trisch-me May 14, 2024
93bcfc5
Merge branch 'main' into user_ns
trisch-me May 14, 2024
db339a8
update md files
trisch-me May 14, 2024
0258969
Merge branch 'main' of github.com:open-telemetry/semantic-conventions…
trisch-me May 22, 2024
6736d08
resolve semconv generation
trisch-me May 22, 2024
41ab0fc
Merge branch 'main' of github.com:open-telemetry/semantic-conventions…
trisch-me May 24, 2024
6013947
Merge branch 'main' of github.com:open-telemetry/semantic-conventions…
trisch-me May 24, 2024
6c95ab4
remove deprecated scope
trisch-me May 24, 2024
57154df
remove domain until further discussions
trisch-me May 24, 2024
a0aeac6
Apply suggestions from code review
trisch-me May 26, 2024
d8f0bc1
fix checks
trisch-me May 26, 2024
b10b875
Merge branch 'main' into user_ns
lmolkova May 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .chloggen/user_ns.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Use this changelog template to create an entry for release notes.
#
# If your change doesn't affect end users you should instead start
# your pull request title with [chore] or use the "Skip Changelog" label.

# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
change_type: new_component

# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db)
component: user

# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: Add new user namespace
trisch-me marked this conversation as resolved.
Show resolved Hide resolved

# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
# The values here must be integers.
issues: [731]

# (Optional) One or more lines of additional information to render under the primary note.
# These lines will be padded with 2 spaces and then inserted directly into the document.
# Use pipe (|) for multiline entries.
subtext:
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ body:
- area:device
- area:disk
- area:dns
- area:enduser
- area:error
- area:event
- area:exception
Expand Down Expand Up @@ -70,6 +69,7 @@ body:
- area:tls
- area:url
- area:user-agent
- area:user
- area:webengine
# End semconv area list
- type: textarea
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/change_proposal.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ body:
- area:device
- area:disk
- area:dns
- area:enduser
- area:error
- area:event
- area:exception
Expand Down Expand Up @@ -63,6 +62,7 @@ body:
- area:tls
- area:url
- area:user-agent
- area:user
- area:webengine
# End semconv area list
- type: textarea
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/new-conventions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ body:
- area:device
- area:disk
- area:dns
- area:enduser
- area:error
- area:event
- area:exception
Expand Down Expand Up @@ -72,6 +71,7 @@ body:
- area:tls
- area:url
- area:user-agent
- area:user
- area:webengine
# End semconv area list
- type: textarea
Expand Down
1 change: 1 addition & 0 deletions docs/attributes-registry/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ Currently, the following namespaces exist:
- [Thread](thread.md)
- [TLS](tls.md)
- [URL](url.md)
- [User](user.md)
- [User Agent](user-agent.md)
- [Webengine](webengine.md)

Expand Down
14 changes: 7 additions & 7 deletions docs/attributes-registry/enduser.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@

# Enduser

## Enduser Attributes
## Enduser Deprecated Attributes

This document defines attributes for operations with an authenticated and/or authorized enduser.
Describes deprecated enduser attributes. Complete enduser namespace has been deprecated

| Attribute | Type | Description | Examples | Stability |
| --------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------- | ---------------------------------------------------------------- |
| `enduser.id` | string | Username or client_id extracted from the access token or [Authorization](https://tools.ietf.org/html/rfc7235#section-4.2) header in the inbound request from outside the system. | `username` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `enduser.role` | string | Actual/assumed role the client is making the request under extracted from token or application security context. | `admin` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `enduser.scope` | string | Scopes or granted authorities the client currently possesses extracted from token or application security context. The value would come from the scope associated with an [OAuth 2.0 Access Token](https://tools.ietf.org/html/rfc6749#section-3.3) or an attribute value in a [SAML 2.0 Assertion](http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html). | `read:message, write:files` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| Attribute | Type | Description | Examples | Stability |
| --------------- | ------ | ------------------------------------- | --------------------------- | ---------------------------------------------------------------------------------------------- |
| `enduser.id` | string | Deprecated, use `user.id` instead. | `username` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)<br>use the `user.id` attribute. |
| `enduser.role` | string | Deprecated, use `user.roles` instead. | `admin` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)<br>use the `user.roles` attribute. |
| `enduser.scope` | string | Deprecated, use `user.scope` instead. | `read:message, write:files` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)<br>use the `user.scope` attribute. |
23 changes: 23 additions & 0 deletions docs/attributes-registry/user.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!--- Hugo front matter used to generate the website version of this page:
--->

<!-- NOTE: THIS FILE IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/attribute_namespace.md.j2 -->

# User

## User Attributes

Describes information about the user that is relevant to the event.

| Attribute | Type | Description | Examples | Stability |
| ---------------- | -------- | ---------------------------------------------------------------------------------------------------- | -------------------------------------------------- | ---------------------------------------------------------------- |
| `user.domain` | string | Name of the directory the user is a member of. For example, an LDAP or Active Directory domain name. | `internal.example.com` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `user.email` | string | User email address. | `a.einstein@example.com` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `user.full_name` | string | User's full name | `Albert Einstein` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `user.hash` | string | Unique user hash to correlate information for a user in anonymized form. [1] | `364fc68eaf4c8acec74a4e52d7d1feaa` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `user.id` | string | Unique identifier of the user. | `S-1-5-21-202424912787-2692429404-2351956786-1000` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `user.name` | string | Short name or login/username of the user. | `a.einstein` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `user.roles` | string[] | Array of user roles at the time of the event. | `admin`; `reporting_user` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |

**[1]:** Useful if `user.id` or `user.name` contain confidential information and cannot be used.
6 changes: 3 additions & 3 deletions docs/general/attributes.md
Original file line number Diff line number Diff line change
Expand Up @@ -311,9 +311,9 @@ These attributes may be used for any operation with an authenticated and/or auth
<!-- semconv identity -->
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|---|---|---|---|---|---|
| [`enduser.id`](/docs/attributes-registry/enduser.md) | string | Username or client_id extracted from the access token or [Authorization](https://tools.ietf.org/html/rfc7235#section-4.2) header in the inbound request from outside the system. | `username` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| [`enduser.role`](/docs/attributes-registry/enduser.md) | string | Actual/assumed role the client is making the request under extracted from token or application security context. | `admin` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| [`enduser.scope`](/docs/attributes-registry/enduser.md) | string | Scopes or granted authorities the client currently possesses extracted from token or application security context. The value would come from the scope associated with an [OAuth 2.0 Access Token](https://tools.ietf.org/html/rfc6749#section-3.3) or an attribute value in a [SAML 2.0 Assertion](http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html). | `read:message, write:files` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| [`enduser.id`](/docs/attributes-registry/enduser.md) | string | Deprecated, use `user.id` instead. | `username` | `Recommended` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)<br>use the `user.id` attribute. |
| [`enduser.role`](/docs/attributes-registry/enduser.md) | string | Deprecated, use `user.roles` instead. | `admin` | `Recommended` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)<br>use the `user.roles` attribute. |
| [`enduser.scope`](/docs/attributes-registry/enduser.md) | string | Deprecated, use `user.scope` instead. | `read:message, write:files` | `Recommended` | ![Deprecated](https://img.shields.io/badge/-deprecated-red)<br>use the `user.scope` attribute. |
<!-- endsemconv -->

These attributes describe the authenticated user driving the user agent making requests to the instrumented
Expand Down
24 changes: 24 additions & 0 deletions model/registry/deprecated/enduser.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
groups:
- id: registry.enduser.deprecated
prefix: enduser
type: attribute_group
brief: Describes deprecated enduser attributes. Complete enduser namespace has been deprecated
attributes:
- id: id
type: string
stability: experimental
deprecated: use the `user.id` attribute.
trisch-me marked this conversation as resolved.
Show resolved Hide resolved
brief: "Deprecated, use `user.id` instead."
examples: 'username'
- id: role
type: string
stability: experimental
deprecated: use the `user.roles` attribute.
trisch-me marked this conversation as resolved.
Show resolved Hide resolved
brief: "Deprecated, use `user.roles` instead."
examples: 'admin'
- id: scope
type: string
stability: experimental
deprecated: use the `user.scope` attribute.
trisch-me marked this conversation as resolved.
Show resolved Hide resolved
brief: "Deprecated, use `user.scope` instead."
examples: 'read:message, write:files'
29 changes: 0 additions & 29 deletions model/registry/enduser.yaml

This file was deleted.

50 changes: 50 additions & 0 deletions model/registry/user.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
groups:
- id: registry.user
prefix: user
type: attribute_group
brief: "Describes information about the user that is relevant to the event."
trisch-me marked this conversation as resolved.
Show resolved Hide resolved
attributes:
- id: domain
trisch-me marked this conversation as resolved.
Show resolved Hide resolved
type: string
stability: experimental
brief: >
Name of the directory the user is a member of. For example, an LDAP or Active Directory domain name.
examples: ['internal.example.com']
- id: email
type: string
stability: experimental
brief: >
User email address.
examples: ['a.einstein@example.com']
- id: full_name
type: string
stability: experimental
brief: >
User's full name
examples: ['Albert Einstein']
- id: hash
type: string
stability: experimental
brief: >
Unique user hash to correlate information for a user in anonymized form.
note: >
Useful if `user.id` or `user.name` contain confidential information and cannot be used.
examples: ['364fc68eaf4c8acec74a4e52d7d1feaa']
- id: id
type: string
stability: experimental
brief: >
Unique identifier of the user.
examples: ['S-1-5-21-202424912787-2692429404-2351956786-1000']
- id: name
lmolkova marked this conversation as resolved.
Show resolved Hide resolved
type: string
stability: experimental
brief: >
Short name or login/username of the user.
examples: ['a.einstein']
- id: roles
type: string[]
stability: experimental
brief: >
Array of user roles at the time of the event.
examples: ["admin", "reporting_user"]
8 changes: 8 additions & 0 deletions schema-next.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,14 @@ versions:
- db.client.connections.create_time
- db.client.connections.wait_time
- db.client.connections.use_time
all:
changes:
# https://github.com/open-telemetry/semantic-conventions/pull/731/
- rename_attributes:
attribute_map:
enduser.id: user.id
enduser.role: user.roles
trisch-me marked this conversation as resolved.
Show resolved Hide resolved
enduser.scope: user.scope
trisch-me marked this conversation as resolved.
Show resolved Hide resolved
trisch-me marked this conversation as resolved.
Show resolved Hide resolved

1.25.0:
spans:
Expand Down
Loading