Skip to content

Commit 655beda

Browse files
[entityanalytics_ad] Remove members from group information by default (#14173)
The `entityanalytics_ad.groups.member` field can be very large if the user is a member of a large group. We want information about groups a user belongs, but we don't need a list of every other member of the group, so this field is no longer populated by default. Alongside the existing advanced option to request specific group attributes, there is a new advanced option (off by default) to preserve the member list.
1 parent 57dfeca commit 655beda

File tree

6 files changed

+29
-15
lines changed

6 files changed

+29
-15
lines changed

packages/entityanalytics_ad/changelog.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
# newer versions go on top
2+
- version: "0.14.1"
3+
changes:
4+
- description: Remove members from group information by default.
5+
type: bugfix
6+
link: https://github.com/elastic/integrations/pull/14173
27
- version: "0.14.0"
38
changes:
49
- description: Remove redundant installation instructions.

packages/entityanalytics_ad/data_stream/user/_dev/test/pipeline/test-user.json-expected.json

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@
5454
"id": "S-1-5-21-372676048-1189045421-4047760665-520",
5555
"instance_type": "4",
5656
"is_critical_system_object": true,
57-
"member": "CN=Administrator,CN=Users,DC=testserver,DC=local",
5857
"member_of": "CN=Denied RODC Password Replication Group,CN=Users,DC=testserver,DC=local",
5958
"name": "Group Policy Creator Owners",
6059
"object_category": "CN=Group,CN=Schema,CN=Configuration,DC=testserver,DC=local",
@@ -85,7 +84,6 @@
8584
"id": "S-1-5-21-372676048-1189045421-4047760665-512",
8685
"instance_type": "4",
8786
"is_critical_system_object": true,
88-
"member": "CN=Administrator,CN=Users,DC=testserver,DC=local",
8987
"member_of": [
9088
"CN=Denied RODC Password Replication Group,CN=Users,DC=testserver,DC=local",
9189
"CN=Administrators,CN=Builtin,DC=testserver,DC=local"
@@ -119,7 +117,6 @@
119117
"id": "S-1-5-21-372676048-1189045421-4047760665-519",
120118
"instance_type": "4",
121119
"is_critical_system_object": true,
122-
"member": "CN=Administrator,CN=Users,DC=testserver,DC=local",
123120
"member_of": [
124121
"CN=Denied RODC Password Replication Group,CN=Users,DC=testserver,DC=local",
125122
"CN=Administrators,CN=Builtin,DC=testserver,DC=local"
@@ -153,7 +150,6 @@
153150
"id": "S-1-5-21-372676048-1189045421-4047760665-518",
154151
"instance_type": "4",
155152
"is_critical_system_object": true,
156-
"member": "CN=Administrator,CN=Users,DC=testserver,DC=local",
157153
"member_of": "CN=Denied RODC Password Replication Group,CN=Users,DC=testserver,DC=local",
158154
"name": "Schema Admins",
159155
"object_category": "CN=Group,CN=Schema,CN=Configuration,DC=testserver,DC=local",
@@ -396,16 +392,6 @@
396392
"id": "S-1-5-21-372676048-1189045421-4047760665-572",
397393
"instance_type": "4",
398394
"is_critical_system_object": true,
399-
"member": [
400-
"CN=Read-only Domain Controllers,CN=Users,DC=testserver,DC=local",
401-
"CN=Group Policy Creator Owners,CN=Users,DC=testserver,DC=local",
402-
"CN=Domain Admins,CN=Users,DC=testserver,DC=local",
403-
"CN=Cert Publishers,CN=Users,DC=testserver,DC=local",
404-
"CN=Enterprise Admins,CN=Users,DC=testserver,DC=local",
405-
"CN=Schema Admins,CN=Users,DC=testserver,DC=local",
406-
"CN=Domain Controllers,CN=Users,DC=testserver,DC=local",
407-
"CN=krbtgt,CN=Users,DC=testserver,DC=local"
408-
],
409395
"name": "Denied RODC Password Replication Group",
410396
"object_category": "CN=Group,CN=Schema,CN=Configuration,DC=testserver,DC=local",
411397
"object_class": [

packages/entityanalytics_ad/data_stream/user/agent/stream/entity-analytics.yml.hbs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ tags:
2525
{{#if preserve_duplicate_custom_fields}}
2626
- preserve_duplicate_custom_fields
2727
{{/if}}
28+
{{#if preserve_group_member_list}}
29+
- preserve_group_member_list
30+
{{/if}}
2831
{{#each tags as |tag|}}
2932
- {{tag}}
3033
{{/each}}

packages/entityanalytics_ad/data_stream/user/elasticsearch/ingest_pipeline/entity.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,18 @@ processors:
326326
value: true
327327
if: ctx.activedirectory?.user?.uac_list?.contains('TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION') == true
328328

329+
- foreach:
330+
tag: foreach_group
331+
field: activedirectory.groups
332+
if: ctx.tags?.contains('preserve_group_member_list') != true
333+
ignore_missing: true
334+
processor:
335+
remove:
336+
tag: remove_member_list_from_group
337+
description: Remove the member list because of its size and irrelevance to the user
338+
field: _ingest._value.member
339+
ignore_missing: true
340+
329341
- script:
330342
lang: painless
331343
ignore_failure: true

packages/entityanalytics_ad/data_stream/user/manifest.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,14 @@ streams:
112112
multi: true
113113
required: false
114114
show_user: false
115+
- name: preserve_group_member_list
116+
required: true
117+
show_user: false
118+
title: Preserve group member list
119+
description: Unless set, the member list will be deleted from group attributes to avoid large documents.
120+
type: bool
121+
multi: false
122+
default: false
115123
- name: tags
116124
type: text
117125
title: Tags

packages/entityanalytics_ad/manifest.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
format_version: "3.0.2"
22
name: entityanalytics_ad
33
title: Active Directory Entity Analytics
4-
version: "0.14.0"
4+
version: "0.14.1"
55
description: "Collect User Identities from Active Directory Entity with Elastic Agent."
66
type: integration
77
categories:

0 commit comments

Comments
 (0)