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
| <aid="enduser-id"href="#enduser-id">`enduser.id`</a> | string | Unique identifier of an authenticated user in the system. |`<authenticated_user_id>`||
18
+
| <aid="enduser-id"href="#enduser-id">`enduser.id`</a> | string | Unique identifier of an authenticated user in the system. |`username`||
19
19
| <aid="enduser-pseudo-id"href="#enduser-pseudo-id">`enduser.pseudo.id`</a> | string | Pseudonymous identifier of an end user. This identifier is unique to the user but does not reveal their actual identity. |`QdH5CAWJgqVT4rOr0qtumf`||
| <aid="enduser-role"href="#enduser-role">`enduser.role`</a> | string | Actual/assumed role the client is making the request under extracted from token or application security context. |`admin`|<br>Removed. |
28
-
| <aid="enduser-scope"href="#enduser-scope">`enduser.scope`</a> | 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`|<br>Removed. |
28
+
| <aid="enduser-scope"href="#enduser-scope">`enduser.scope`</a> | string |Deprecated, no replacement at this time. |`read:message, write:files`|<br>Removed. |
|[`enduser.id`](/docs/attributes-registry/enduser.md)| string | Unique identifier of an authenticated user in the system. |`<authenticated_user_id>`|`Recommended`||
399
+
|[`enduser.id`](/docs/attributes-registry/enduser.md)| string | Unique identifier of an authenticated user in the system. |`username`|`Recommended`||
400
400
|[`enduser.pseudo.id`](/docs/attributes-registry/enduser.md)| string | Pseudonymous identifier of an end user. This identifier is unique to the user but does not reveal their actual identity. |`QdH5CAWJgqVT4rOr0qtumf`|`Recommended`||
401
401
402
402
<!-- markdownlint-restore -->
@@ -409,7 +409,47 @@ system. It is expected this information would be propagated unchanged from node-
409
409
using the Baggage mechanism. These attributes should not be used to record system-to-system
410
410
authentication attributes.
411
411
412
-
`enduser.pseudo.id` attribute can be set by a specific client component, e.g. through a cookie out of the Span's HTTP request headers. Client side application should be able to stamp this attribute on any telemetry item emitted by the application whenever this cookie is available.
412
+
Examples of where the `enduser.id` value is extracted from:
413
+
414
+
| Authentication protocol | Field or description |
|[OAuth 2.0 Bearer Token]|[OAuth 2.0 Client Identifier] value from `client_id` for the [OAuth 2.0 Client Credentials Grant] flow and `subject` or `username` from get token info response for other flows using opaque tokens. |
[Windows Communication Foundation]: https://docs.microsoft.com/dotnet/api/system.servicemodel.servicesecuritycontext?view=netframework-4.8
436
+
437
+
Given the sensitive nature of this information, SDKs and exporters SHOULD drop these attributes by
438
+
default and then provide a configuration parameter to turn on retention for use cases where the
439
+
information is required and would not violate any policies or regulations.
440
+
441
+
Enduser attributes capture end user identity. They are likely to contain PII and should be populated, processed, and stored with caution.
442
+
Information about the end user is usually available on the client side (in a mobile or browser application).
443
+
Enduser attributes are populated by the user application in coordination with OpenTelemetry SDK.
444
+
Some OpenTelemetry distributions auto-collect this information from HTTP cookies.
445
+
When user information is available, it's RECOMMENDED to add it to all spans and events emitted in the scope
446
+
of operation initiated by this user.
447
+
448
+
Application in coordination with OpenTelemetry SDK and Distro MAY propagate user information from the client application
449
+
to the front end and across different backend services using custom HTTP cookies and/or [Baggage]<https://github.com/open-telemetry/opentelemetry-specification/blob/v1.40.0/specification/baggage/api.md>.
450
+
451
+
Enduser information is collected and populated manually by user application or specialized components,
452
+
other instrumentations such as HTTP or RPC are not expected to populate these attributes by default.
0 commit comments