Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
218 commits
Select commit Hold shift + click to select a range
4d405a0
feat: add trusted devices feature flag and role
szwarckonrad Jul 22, 2025
254e119
feat: add dedicated product feature key for Trusted Devices management
szwarckonrad Jul 22, 2025
f1206c1
Merge branch 'main' into device-control-rbac
szwarckonrad Jul 22, 2025
b4a07ca
Merge branch 'main' into device-control-rbac
szwarckonrad Jul 23, 2025
b187040
Merge branch 'device-control-rbac' of https://github.com/szwarckonrad…
szwarckonrad Jul 23, 2025
168132c
Merge branch 'main' into device-control-rbac
szwarckonrad Jul 23, 2025
298cffc
feat: add USB device protection card with enterprise license check
szwarckonrad Jul 23, 2025
b231c5f
refactor: rename and update Device Control card component
szwarckonrad Jul 23, 2025
fabb491
Merge branch 'main' into device-control-rbac
szwarckonrad Jul 24, 2025
0662df5
Merge branch 'main' into device-control-rbac
szwarckonrad Jul 24, 2025
7c670d2
Merge branch 'main' into device-control-rbac
szwarckonrad Jul 24, 2025
8a42e2c
Merge branch 'refs/heads/main' into device-control-rbac
szwarckonrad Jul 25, 2025
a7a112f
feat: add device control settings to endpoint security policy
szwarckonrad Jul 25, 2025
9420353
feat: add device control settings to endpoint policy configuration
szwarckonrad Jul 25, 2025
a4a8dea
chore: remove legacy locked card upgrade message from translations
szwarckonrad Jul 25, 2025
8885331
Merge branch 'main' into device-control-rbac
szwarckonrad Jul 25, 2025
35cf852
feat: add device control license validation to endpoint policy config
szwarckonrad Jul 25, 2025
d6decda
Merge branch 'main' into device-control-rbac
szwarckonrad Jul 25, 2025
6708c91
Merge branch 'main' into device-control-rbac
szwarckonrad Jul 25, 2025
d0118aa
feat: add device control popup settings and update license checks to …
szwarckonrad Jul 25, 2025
9ac0f77
Merge branch 'main' into device-control-rbac
szwarckonrad Jul 28, 2025
7d0f505
feat: add trusted devices management functionality
szwarckonrad Jul 30, 2025
b94b6ca
Merge branch 'main' into device-control-manage
szwarckonrad Jul 30, 2025
9b21efe
Merge branch 'main' into device-control-rbac
szwarckonrad Jul 30, 2025
9988f8a
feat: add execute only access level to device control and update test…
szwarckonrad Jul 30, 2025
5ba098d
Merge branch 'main' into device-control-rbac
szwarckonrad Jul 30, 2025
c69573d
Merge branch 'main' into device-control-manage
szwarckonrad Jul 30, 2025
e84649a
feat: add endpoint_trusted_devices to detection alert schema and comm…
szwarckonrad Jul 30, 2025
c542419
[CI] Auto-commit changed files from 'yarn openapi:bundle'
kibanamachine Jul 30, 2025
546814d
[CI] Auto-commit changed files from 'make api-docs'
kibanamachine Jul 30, 2025
40946bd
[CI] Auto-commit changed files from 'yarn openapi:generate'
kibanamachine Jul 30, 2025
522fa33
feat: add trusted devices to endpoint artifact list types
szwarckonrad Jul 30, 2025
061df95
Merge branch 'main' into device-control-manage
szwarckonrad Jul 30, 2025
7d0503b
Merge branch 'main' into device-control-rbac
szwarckonrad Jul 30, 2025
03a4d9e
refactor: remove unnecessary comments from device control components
szwarckonrad Jul 30, 2025
6b588cb
Merge branch 'main' into device-control-rbac
szwarckonrad Jul 30, 2025
ff25c0b
fix: remove outdated upgrade messages from security solution endpoint…
szwarckonrad Jul 30, 2025
bc0737b
Merge branch 'device-control-manage' into device-control-combined
szwarckonrad Jul 30, 2025
4b06bf6
feat: add endpoint_trusted_devices to various lists and tests
szwarckonrad Jul 30, 2025
6bf163a
feat: add endpoint_trusted_devices to various lists and tests
szwarckonrad Jul 30, 2025
c05578e
Merge branch 'main' into device-control-combined
szwarckonrad Jul 31, 2025
b1d066f
Merge branch 'main' into device-control-combined
szwarckonrad Jul 31, 2025
867c16d
Trusted devices form component
szwarckonrad Jul 31, 2025
e87577c
Add TrustedDeviceConditionEntryField enum and update translations and…
szwarckonrad Aug 1, 2025
9137c88
Merge branch 'main' into device-control-combined
szwarckonrad Aug 1, 2025
a4c09d3
Merge branch 'main' into device-control-rbac
szwarckonrad Aug 1, 2025
3a797b8
Refactor TrustedDevicesApiClient to utilize separate transforms modul…
szwarckonrad Aug 1, 2025
5f54c99
Merge branch 'device-control-rbac' into device-control-manage
szwarckonrad Aug 1, 2025
5c69395
Merge device-control-rbac into device-control-combined
szwarckonrad Aug 1, 2025
74f2f5c
Add new translation for "Windows and Mac" and update OS selection in …
szwarckonrad Aug 1, 2025
9625f60
refactor: update device control access level labels for clarity
szwarckonrad Aug 1, 2025
14daca5
Merge branch 'main' into device-control-rbac
szwarckonrad Aug 1, 2025
807d7d5
refactor: update access level terminology in DeviceControlProtectionL…
szwarckonrad Aug 1, 2025
ae1b13d
Merge branch 'main' into device-control-rbac
szwarckonrad Aug 1, 2025
ea3b746
Merge branch 'main' into device-control-rbac
szwarckonrad Aug 4, 2025
4dcfe8a
Merge branch 'device-control-rbac' into device-control-manage
szwarckonrad Aug 4, 2025
b3f3e3d
Merge branch 'device-control-rbac' into device-control-combined
szwarckonrad Aug 4, 2025
071ba30
feat: add support for trusted devices with new schemas and artifact m…
szwarckonrad Aug 4, 2025
4b8b59d
cr
szwarckonrad Aug 4, 2025
3abead6
Merge branch 'main' into device-control-rbac
szwarckonrad Aug 4, 2025
b5b26b9
Merge branch 'device-control-rbac' into device-control-manage
szwarckonrad Aug 4, 2025
47915b2
Merge branch 'device-control-rbac' into device-control-combined
szwarckonrad Aug 4, 2025
d7aa239
fix: update experimental feature flag for trusted devices in subfeatu…
szwarckonrad Aug 4, 2025
1751538
Merge branch 'main' into device-control-manage
szwarckonrad Aug 5, 2025
eafc50e
Merge branch 'main' into device-control-manage
szwarckonrad Aug 5, 2025
cc8d208
Merge branch 'device-control-manage' of https://github.com/szwarckonr…
szwarckonrad Aug 5, 2025
e1464aa
Merge branch 'main' into device-control-combined
szwarckonrad Aug 5, 2025
4f4af33
Refactor trusted devices feature flag references to use unified key
szwarckonrad Aug 5, 2025
ad6858c
Merge branch 'main' into device-control-manage
szwarckonrad Aug 5, 2025
5baf52f
Merge branch 'device-control-manage' into device-control-combined
szwarckonrad Aug 5, 2025
a57b304
Merge branch 'device-control-combined' into device-control-artifacts
szwarckonrad Aug 5, 2025
c84c689
Fix TrustedDevicesArtifactCard to use correct artifacts path
szwarckonrad Aug 5, 2025
2629125
Merge branch 'main' into device-control-manage
szwarckonrad Aug 5, 2025
5786b57
Remove unused createEndpointTrustedDevicesList function and its refer…
szwarckonrad Aug 6, 2025
41a7afc
Merge branch 'main' into device-control-manage
szwarckonrad Aug 6, 2025
8cadd91
Merge branch 'device-control-manage' into device-control-combined
szwarckonrad Aug 6, 2025
d37c165
Merge branch 'device-control-combined' into device-control-artifacts
szwarckonrad Aug 6, 2025
fa311fd
Merge branch 'main' into device-control-manage
szwarckonrad Aug 7, 2025
099f6df
Update data-test-subj attribute in TrustedDevicesPolicyCard to "trust…
szwarckonrad Aug 7, 2025
5097bd3
Merge branch 'device-control-rbac' into device-control-combined
szwarckonrad Aug 7, 2025
dc0b1f8
Merge branch 'device-control-manage' into device-control-combined
szwarckonrad Aug 7, 2025
2cb9cc7
Merge branch 'device-control-combined' into device-control-artifacts
szwarckonrad Aug 7, 2025
efb0f1d
Merge branch 'main' into device-control-manage
szwarckonrad Aug 7, 2025
b05c3b9
Merge branch 'device-control-manage' into device-control-combined
szwarckonrad Aug 7, 2025
b6ae545
Merge branch 'main' into device-control-combined
szwarckonrad Aug 8, 2025
29592c6
remove redundant comments
szwarckonrad Aug 8, 2025
11985a1
Merge branch 'main' into device-control-combined
szwarckonrad Aug 8, 2025
816783d
Add tests for Trusted Devices API client, transforms, form, and list …
szwarckonrad Aug 8, 2025
806deff
Merge branch 'device-control-combined' into device-control-artifacts
szwarckonrad Aug 8, 2025
0949a8f
Merge branch 'main' into device-control-combined
szwarckonrad Aug 11, 2025
29fb9bd
Merge branch 'device-control-combined' into device-control-artifacts
szwarckonrad Aug 11, 2025
ae74be9
Unit coverage
szwarckonrad Aug 11, 2025
1cf678a
Merge branch 'main' into device-control-artifacts
szwarckonrad Aug 11, 2025
41ab373
Merge branch 'main' into device-control-combined
szwarckonrad Aug 12, 2025
2991187
Merge branch 'device-control-combined' into device-control-artifacts
szwarckonrad Aug 12, 2025
45fe76d
Merge branch 'main' into device-control-combined
szwarckonrad Aug 13, 2025
3ba08ee
Merge branch 'main' into device-control-artifacts
szwarckonrad Aug 13, 2025
cb75a3f
Merge branch 'main' into device-control-combined
szwarckonrad Aug 14, 2025
fb2be05
Merge branch 'device-control-combined' into device-control-artifacts
szwarckonrad Aug 14, 2025
cb20ec1
CR comments
szwarckonrad Aug 14, 2025
57f5a1e
Add user selection tracking for OS types in TrustedDevicesForm
szwarckonrad Aug 14, 2025
08f8bfc
Merge branch 'main' into device-control-combined
szwarckonrad Aug 14, 2025
5081394
Merge branch 'main' into device-control-validators
szwarckonrad Aug 14, 2025
7ddc578
feat: add trusted device validation
szwarckonrad Aug 14, 2025
afd2719
Merge branch 'main' into device-control-validators
szwarckonrad Aug 14, 2025
d75a630
Merge branch 'main' into device-control-artifacts
szwarckonrad Aug 14, 2025
a945c18
Merge branch 'main' into device-control-combined
szwarckonrad Aug 14, 2025
06a3f15
Merge branch 'main' into device-control-validators
szwarckonrad Aug 14, 2025
253dc5e
feat: enhance trusted device validation with feature flag checks
szwarckonrad Aug 18, 2025
5562369
Merge branch 'main' into device-control-combined
szwarckonrad Aug 18, 2025
115aace
Merge branch 'device-control-combined' into device-control-artifacts
szwarckonrad Aug 18, 2025
00d7154
Merge branch 'device-control-artifacts' into device-control-validators
szwarckonrad Aug 18, 2025
6b672ee
feat: add support for trusted devices in exception list and role mana…
szwarckonrad Aug 18, 2025
6b576f4
[CI] Auto-commit changed files from 'node scripts/lint_ts_projects --…
kibanamachine Aug 18, 2025
2d17172
[CI] Auto-commit changed files from 'yarn openapi:bundle'
kibanamachine Aug 18, 2025
c4dcdd0
[CI] Auto-commit changed files from 'make api-docs'
kibanamachine Aug 18, 2025
9fed67b
feat: add trusted devices feature to endpoint policy manager role
szwarckonrad Aug 18, 2025
bdedfca
Merge branch 'main' into device-control-combined
szwarckonrad Aug 18, 2025
f139fab
Merge branch 'device-control-combined' into device-control-artifacts
szwarckonrad Aug 18, 2025
bec3b4a
Merge branch 'device-control-artifacts' into device-control-validators
szwarckonrad Aug 18, 2025
425f9b2
Merge branch 'device-control-validators' of https://github.com/szwarc…
szwarckonrad Aug 18, 2025
f226a89
cr
szwarckonrad Aug 18, 2025
5fb8ded
Merge branch 'main' into device-control-combined
szwarckonrad Aug 18, 2025
d61c7c2
lint
szwarckonrad Aug 18, 2025
0d2dc30
Merge branch 'main' into device-control-combined
szwarckonrad Aug 18, 2025
b758c66
Merge branch 'main' into device-control-combined
szwarckonrad Aug 19, 2025
5138a55
Merge branch 'device-control-combined' into device-control-artifacts
szwarckonrad Aug 19, 2025
4d570a6
Merge branch 'device-control-artifacts' into device-control-validators
szwarckonrad Aug 19, 2025
ec11fa2
Initial cypress setup for trusted devices
szwarckonrad Aug 19, 2025
8f665d2
Add support for trusted devices in RBAC and navigation tests
szwarckonrad Aug 19, 2025
1c36e39
Add OS_OPTIONS_PLACEHOLDER translation for operating system selection
szwarckonrad Aug 19, 2025
df24319
Merge branch 'main' into device-control-combined
szwarckonrad Aug 19, 2025
8803f79
Merge branch 'device-control-combined' into device-control-artifacts
szwarckonrad Aug 19, 2025
37f4071
Merge branch 'device-control-artifacts' into device-control-validators
szwarckonrad Aug 19, 2025
793263a
Merge branch 'device-control-validators' into device-control-cypress
szwarckonrad Aug 19, 2025
f140dff
Merge branch 'main' into device-control-artifacts
szwarckonrad Aug 20, 2025
8d9d135
Refactor RBAC navigation tests to include SIEM version filtering for …
szwarckonrad Aug 20, 2025
b0f045b
Merge branch 'main' into device-control-artifacts
szwarckonrad Aug 20, 2025
1fb57bd
Merge branch 'device-control-artifacts' of https://github.com/szwarck…
szwarckonrad Aug 20, 2025
682e875
clean up comments
szwarckonrad Aug 20, 2025
d559a5a
Merge branch 'device-control-artifacts' into device-control-validators
szwarckonrad Aug 20, 2025
b55e8d9
Merge branch 'device-control-validators' into device-control-cypress
szwarckonrad Aug 20, 2025
a70302f
align cypress tests
szwarckonrad Aug 20, 2025
20fd5dd
Enable trusted devices feature and remove unnecessary experimental fl…
szwarckonrad Aug 20, 2025
1e1a5f9
enable feature in cypress test
szwarckonrad Aug 20, 2025
541ef01
Merge branch 'main' into device-control-artifacts
szwarckonrad Aug 20, 2025
80821a4
Merge branch 'device-control-artifacts' into device-control-validators
szwarckonrad Aug 20, 2025
5b66602
Merge branch 'device-control-validators' into device-control-cypress
szwarckonrad Aug 20, 2025
ff21a8e
Merge branch 'device-control-cypress' into device-control-enabled
szwarckonrad Aug 20, 2025
af47c46
remove experimental feature flag for trusted devices in security esse…
szwarckonrad Aug 20, 2025
848c1c8
enable trusted devices artifacts in manifest manager
szwarckonrad Aug 20, 2025
cc92161
add trusted devices privileges to security API tests
szwarckonrad Aug 20, 2025
d304a79
add trusted devices privileges to security API integration tests
szwarckonrad Aug 20, 2025
088aa77
add trusted devices privileges to authorization tests
szwarckonrad Aug 20, 2025
33e0fab
revert: conditionally include trusted devices artifacts in manifest b…
szwarckonrad Aug 20, 2025
ad604d9
add trusted devices privileges to authorization tests
szwarckonrad Aug 20, 2025
52365d1
Merge branch 'main' into device-control-artifacts
szwarckonrad Aug 21, 2025
74c3cb1
Merge branch 'device-control-artifacts' into device-control-validators
szwarckonrad Aug 21, 2025
bef97c6
Merge branch 'device-control-validators' into device-control-cypress
szwarckonrad Aug 21, 2025
3310815
Merge branch 'device-control-cypress' into device-control-enabled
szwarckonrad Aug 21, 2025
9348340
Merge branch 'main' into device-control-validators
szwarckonrad Aug 22, 2025
8994133
Merge branch 'device-control-validators' into device-control-cypress
szwarckonrad Aug 22, 2025
e24cbf4
Merge branch 'device-control-cypress' into device-control-enabled
szwarckonrad Aug 22, 2025
5ce5dbd
remove outdated comments
szwarckonrad Aug 22, 2025
d71ecae
Merge branch 'main' into device-control-validators
szwarckonrad Aug 25, 2025
e8ec84d
Merge branch 'main' into device-control-validators
szwarckonrad Aug 26, 2025
17ac822
refactor validation schemas
szwarckonrad Aug 26, 2025
801f034
Merge branch 'device-control-validators' into device-control-cypress
szwarckonrad Aug 26, 2025
fa4c349
Merge branch 'device-control-cypress' into device-control-enabled
szwarckonrad Aug 26, 2025
ee2db0c
Merge branch 'main' into device-control-cypress
szwarckonrad Aug 26, 2025
ae61845
Merge branch 'device-control-cypress' into device-control-enabled
szwarckonrad Aug 26, 2025
411f5c7
Merge branch 'main' into device-control-enabled
szwarckonrad Aug 28, 2025
539e0e1
lint
szwarckonrad Aug 28, 2025
e677d3f
Merge branch 'main' into device-control-enabled
szwarckonrad Aug 29, 2025
68be55b
OS-specific field validation and tests
szwarckonrad Aug 29, 2025
dbe7d53
[CI] Auto-commit changed files from 'node scripts/eslint_all_files --…
kibanamachine Aug 29, 2025
7a85db3
Merge branch 'main' into device-control-username-windows-only
szwarckonrad Sep 1, 2025
a8d9f3e
Update trusted devices tests to use 'Host' instead of 'Username'
szwarckonrad Sep 1, 2025
7eb7639
Merge branch 'main' into device-control-username-windows-only
szwarckonrad Sep 3, 2025
7bdd2d9
Refactor isTrustedDeviceFieldAvailableForOs to use constants for OS f…
szwarckonrad Sep 3, 2025
0a34a99
Merge branch 'main' into device-control-username-windows-only
szwarckonrad Sep 4, 2025
c5116b8
feat: Update Trusted Device fields and validations to include DEVICE_…
szwarckonrad Sep 5, 2025
b9d4e9a
Merge remote-tracking branch 'origin/device-control-username-windows-…
szwarckonrad Sep 5, 2025
bd35268
feat: Update Trusted Device fields to include DEVICE_TYPE and MANUFAC…
szwarckonrad Sep 5, 2025
0047597
Merge remote-tracking branch 'upstream/main' into device-control-fina…
szwarckonrad Sep 5, 2025
4eb7b2a
Merge branch 'main' into device-control-final-fields
szwarckonrad Sep 5, 2025
22c875c
Merge branch 'main' into device-control-final-fields
szwarckonrad Sep 5, 2025
be75c77
Merge branch 'main' into device-control-final-fields
szwarckonrad Sep 5, 2025
0ec89dc
Merge branch 'main' into device-control-final-fields
szwarckonrad Sep 5, 2025
8731a0a
Merge branch 'main' into device-control-final-fields
szwarckonrad Sep 8, 2025
914376e
Remove unnecessary comments and maintain field order in getFieldOptio…
szwarckonrad Sep 8, 2025
098b7b7
Merge branch 'main' into device-control-final-fields
szwarckonrad Sep 8, 2025
8ecae4f
Merge remote-tracking branch 'upstream/main' into device-control-fina…
szwarckonrad Sep 8, 2025
c39a27e
refactor: Reorder TrustedDeviceConditionEntryField in schemas for con…
szwarckonrad Sep 8, 2025
73f6d5c
Merge branch 'main' into device-control-enabled
szwarckonrad Sep 8, 2025
184a1e2
[Manifest Manager] Remove test for trusted devices artifacts when fea…
szwarckonrad Sep 8, 2025
ac60067
Merge branch 'device-control-final-fields' into device-control-enabled
szwarckonrad Sep 9, 2025
37b1811
Merge branch 'main' into device-control-final-fields
gergoabraham Sep 12, 2025
add070e
update field names to use dots instead of underscores
gergoabraham Sep 12, 2025
17b4f11
add field `device.product.name`
gergoabraham Sep 12, 2025
516c432
Merge branch 'device-control-final-fields' into device-control-enabled
gergoabraham Sep 12, 2025
ac1a836
Merge branch 'main' into device-control-final-fields
gergoabraham Sep 12, 2025
fa4e3a7
Merge branch 'device-control-final-fields' into device-control-enabled
gergoabraham Sep 12, 2025
f0e4626
Merge branch 'main' into device-control-final-fields
gergoabraham Sep 18, 2025
dc0f232
Merge branch 'device-control-final-fields' into device-control-enabled
gergoabraham Sep 18, 2025
e25c19f
Merge branch 'main' into device-control-enabled
gergoabraham Sep 19, 2025
8a8cda1
Merge branch 'main' into device-control-enabled
szwarckonrad Sep 25, 2025
bc0998a
Merge branch 'main' into device-control-enabled
szwarckonrad Sep 26, 2025
9ff18a2
Merge branch 'main' into device-control-enabled
szwarckonrad Sep 29, 2025
a41b890
Merge branch 'main' into device-control-enabled
szwarckonrad Sep 30, 2025
34a73cd
Merge branch 'main' into device-control-enabled
szwarckonrad Sep 30, 2025
fc05ca5
Merge branch 'main' into device-control-enabled
szwarckonrad Oct 1, 2025
4cd6397
Add trusted devices privileges and UI permissions
szwarckonrad Oct 1, 2025
d83b5b3
Merge branch 'main' into device-control-enabled
szwarckonrad Oct 2, 2025
cca3950
Merge branch 'main' into device-control-enabled
szwarckonrad Oct 7, 2025
eb804a6
Merge branch 'main' into device-control-enabled
szwarckonrad Oct 9, 2025
bdc9e94
Merge branch 'main' into device-control-enabled
szwarckonrad Oct 13, 2025
779021e
Merge branch 'main' into device-control-enabled
szwarckonrad Oct 15, 2025
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
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,8 @@ export default function ({ getService }: FtrProviderContext) {
'global_artifact_management_all',
'trusted_applications_all',
'trusted_applications_read',
'trusted_devices_all',
'trusted_devices_read',
'host_isolation_exceptions_all',
'host_isolation_exceptions_read',
'blocklist_all',
Expand Down Expand Up @@ -217,6 +219,8 @@ export default function ({ getService }: FtrProviderContext) {
'global_artifact_management_all',
'trusted_applications_all',
'trusted_applications_read',
'trusted_devices_all',
'trusted_devices_read',
'host_isolation_exceptions_all',
'host_isolation_exceptions_read',
'blocklist_all',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -314,6 +314,8 @@ export default function ({ getService }: FtrProviderContext) {
'file_operations_all',
'execute_operations_all',
'scan_operations_all',
'trusted_devices_all',
'trusted_devices_read',
'workflow_insights_all',
'workflow_insights_read',
],
Expand Down Expand Up @@ -341,6 +343,8 @@ export default function ({ getService }: FtrProviderContext) {
'read',
'trusted_applications_all',
'trusted_applications_read',
'trusted_devices_all',
'trusted_devices_read',
'file_operations_all',
'execute_operations_all',
'scan_operations_all',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ export const allowedExperimentalValues = Object.freeze({
* Enables Trusted Devices artifact management for device control protections.
* Allows users to manage trusted USB and external devices
*/
trustedDevices: false,
trustedDevices: true,

/**
* Enables the ability to import and migration dashboards through automatic migration service
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,6 @@ describe(
'Trusted Devices',
{
tags: ['@ess', '@serverless', '@skipInServerlessMKI'],
env: {
ftrConfig: {
kbnServerArgs: [
`--xpack.securitySolution.enableExperimental=${JSON.stringify(['trustedDevices'])}`,
],
},
},
},
() => {
let indexedPolicy: IndexedFleetEndpointPolicyResponse;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,6 @@ describe(
'Trusted devices RBAC',
{
tags: ['@ess', '@serverless', '@skipInServerlessMKI'],
env: {
ftrConfig: {
kbnServerArgs: [
`--xpack.securitySolution.enableExperimental=${JSON.stringify(['trustedDevices'])}`,
],
},
},
},

getArtifactMockedDataTests(getArtifactsListTestDataForArtifact('trustedDevices'), [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,10 +164,7 @@ describe(
cy.get('[data-test-subj~="sideNavPanel-id-securityGroup:assets"]');

for (const page of allPages) {
if (page.selector !== Selectors.TRUSTED_DEVICES) {
// Skip Trusted Devices for now — soc_manager does not yet have the required privilege in controller (MKI would fail otherwise).
cy.get(page.selector);
}
cy.get(page.selector);
}
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,6 @@ describe(
env: {
ftrConfig: {
productTypes: [{ product_line: 'security', product_tier: 'complete' }],
// This is not needed for this test, but it's a good example of
// how to enable experimental features in the Cypress tests.
kbnServerArgs: [
`--xpack.securitySolution.enableExperimental=${JSON.stringify(['trustedDevices'])}`,
],
},
},
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,6 @@ describe(
{ product_line: 'security', product_tier: 'complete' },
{ product_line: 'endpoint', product_tier: 'complete' },
],
kbnServerArgs: [
`--xpack.securitySolution.enableExperimental=${JSON.stringify(['trustedDevices'])}`,
],
},
},
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@ describe(
env: {
ftrConfig: {
productTypes: [{ product_line: 'security', product_tier: 'essentials' }],
kbnServerArgs: [
`--xpack.securitySolution.enableExperimental=${JSON.stringify(['trustedDevices'])}`,
],
},
},
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,6 @@ describe(
{ product_line: 'security', product_tier: 'essentials' },
{ product_line: 'endpoint', product_tier: 'essentials' },
],
kbnServerArgs: [
`--xpack.securitySolution.enableExperimental=${JSON.stringify(['trustedDevices'])}`,
],
},
},
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,6 @@ describe(
{ product_line: 'security', product_tier: 'complete' },
{ product_line: 'endpoint', product_tier: 'complete' },
],
kbnServerArgs: [
`--xpack.securitySolution.enableExperimental=${JSON.stringify(['trustedDevices'])}`,
],
},
},
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -393,6 +393,8 @@ describe('ManifestManager', () => {
ARTIFACT_NAME_BLOCKLISTS_MACOS,
ARTIFACT_NAME_BLOCKLISTS_WINDOWS,
ARTIFACT_NAME_BLOCKLISTS_LINUX,
ARTIFACT_NAME_TRUSTED_DEVICES_MACOS,
ARTIFACT_NAME_TRUSTED_DEVICES_WINDOWS,
];

const getArtifactIds = (artifacts: InternalArtifactSchema[]) => [
Expand Down Expand Up @@ -425,7 +427,7 @@ describe('ManifestManager', () => {

const artifacts = manifest.getAllArtifacts();

expect(artifacts.length).toBe(15);
expect(artifacts.length).toBe(17);
expect(getArtifactIds(artifacts)).toStrictEqual(SUPPORTED_ARTIFACT_NAMES);

for (const artifact of artifacts) {
Expand Down Expand Up @@ -480,7 +482,7 @@ describe('ManifestManager', () => {

const artifacts = manifest.getAllArtifacts();

expect(artifacts.length).toBe(15);
expect(artifacts.length).toBe(17);
expect(getArtifactIds(artifacts)).toStrictEqual(SUPPORTED_ARTIFACT_NAMES);

expect(getArtifactObject(artifacts[0])).toStrictEqual({
Expand Down Expand Up @@ -569,7 +571,7 @@ describe('ManifestManager', () => {

const artifacts = manifest.getAllArtifacts();

expect(artifacts.length).toBe(15);
expect(artifacts.length).toBe(17);
expect(getArtifactIds(artifacts)).toStrictEqual(SUPPORTED_ARTIFACT_NAMES);

expect(artifacts[0]).toStrictEqual(oldManifest.getAllArtifacts()[0]);
Expand Down Expand Up @@ -672,7 +674,7 @@ describe('ManifestManager', () => {

const artifacts = manifest.getAllArtifacts();

expect(artifacts.length).toBe(16);
expect(artifacts.length).toBe(18);
expect(getArtifactIds(artifacts)).toStrictEqual(SUPPORTED_ARTIFACT_NAMES);

expect(getArtifactObject(artifacts[0])).toStrictEqual({
Expand Down Expand Up @@ -784,7 +786,7 @@ describe('ManifestManager', () => {

const artifacts = manifest.getAllArtifacts();

expect(artifacts.length).toBe(16);
expect(artifacts.length).toBe(18);
expect(getArtifactIds(artifacts)).toStrictEqual(SUPPORTED_ARTIFACT_NAMES);

expect(getArtifactObject(artifacts[0])).toStrictEqual({
Expand Down Expand Up @@ -839,6 +841,8 @@ describe('ManifestManager', () => {
ARTIFACT_NAME_BLOCKLISTS_MACOS,
ARTIFACT_NAME_BLOCKLISTS_WINDOWS,
ARTIFACT_NAME_BLOCKLISTS_LINUX,
ARTIFACT_NAME_TRUSTED_DEVICES_MACOS,
ARTIFACT_NAME_TRUSTED_DEVICES_WINDOWS,
];

const getArtifactIds = (artifacts: InternalArtifactSchema[]) => [
Expand Down Expand Up @@ -890,7 +894,7 @@ describe('ManifestManager', () => {

const artifacts = manifest.getAllArtifacts();

expect(artifacts.length).toBe(15);
expect(artifacts.length).toBe(17);
expect(getArtifactIds(artifacts)).toStrictEqual(SUPPORTED_ARTIFACT_NAMES);

expect(getArtifactObject(artifacts[0])).toStrictEqual({
Expand Down Expand Up @@ -971,7 +975,7 @@ describe('ManifestManager', () => {

const artifacts = manifest.getAllArtifacts();

expect(artifacts.length).toBe(15);
expect(artifacts.length).toBe(17);
expect(getArtifactIds(artifacts)).toStrictEqual(SUPPORTED_ARTIFACT_NAMES);

expect(getArtifactObject(artifacts[0])).toStrictEqual({
Expand Down Expand Up @@ -1055,7 +1059,7 @@ describe('ManifestManager', () => {

const artifacts = manifest.getAllArtifacts();

expect(artifacts.length).toBe(15);
expect(artifacts.length).toBe(17);
expect(getArtifactIds(artifacts)).toStrictEqual(SUPPORTED_ARTIFACT_NAMES);

expect(getArtifactObject(artifacts[0])).toStrictEqual({ entries: [] });
Expand Down Expand Up @@ -1083,28 +1087,8 @@ describe('ManifestManager', () => {
});
});

describe('buildNewManifest with trustedDevices experimental feature', () => {
describe('buildNewManifest with trustedDevices', () => {
const SUPPORTED_ARTIFACT_NAMES_WITH_TRUSTED_DEVICES = [
ARTIFACT_NAME_EXCEPTIONS_MACOS,
ARTIFACT_NAME_EXCEPTIONS_WINDOWS,
ARTIFACT_NAME_EXCEPTIONS_LINUX,
ARTIFACT_NAME_TRUSTED_APPS_MACOS,
ARTIFACT_NAME_TRUSTED_APPS_WINDOWS,
ARTIFACT_NAME_TRUSTED_APPS_LINUX,
ARTIFACT_NAME_TRUSTED_DEVICES_MACOS,
ARTIFACT_NAME_TRUSTED_DEVICES_WINDOWS,
ARTIFACT_NAME_EVENT_FILTERS_MACOS,
ARTIFACT_NAME_EVENT_FILTERS_WINDOWS,
ARTIFACT_NAME_EVENT_FILTERS_LINUX,
ARTIFACT_NAME_HOST_ISOLATION_EXCEPTIONS_MACOS,
ARTIFACT_NAME_HOST_ISOLATION_EXCEPTIONS_WINDOWS,
ARTIFACT_NAME_HOST_ISOLATION_EXCEPTIONS_LINUX,
ARTIFACT_NAME_BLOCKLISTS_MACOS,
ARTIFACT_NAME_BLOCKLISTS_WINDOWS,
ARTIFACT_NAME_BLOCKLISTS_LINUX,
];

const SUPPORTED_ARTIFACT_NAMES_WITHOUT_TRUSTED_DEVICES = [
ARTIFACT_NAME_EXCEPTIONS_MACOS,
ARTIFACT_NAME_EXCEPTIONS_WINDOWS,
ARTIFACT_NAME_EXCEPTIONS_LINUX,
Expand All @@ -1120,25 +1104,16 @@ describe('ManifestManager', () => {
ARTIFACT_NAME_BLOCKLISTS_MACOS,
ARTIFACT_NAME_BLOCKLISTS_WINDOWS,
ARTIFACT_NAME_BLOCKLISTS_LINUX,
ARTIFACT_NAME_TRUSTED_DEVICES_MACOS,
ARTIFACT_NAME_TRUSTED_DEVICES_WINDOWS,
];

const getArtifactIds = (artifacts: InternalArtifactSchema[]) => [
...new Set(artifacts.map((artifact) => artifact.identifier)).values(),
];

test('builds manifest with trusted devices when feature flag enabled', async () => {
const context = buildManifestManagerContextMock({
experimentalFeatures: ['trustedDevices'],
});
// Set up licensing to allow trusted devices (both PLI and enterprise)
context.productFeaturesService.isEnabled = jest.fn().mockImplementation((key) => {
return (
key === ProductFeatureKey.endpointTrustedDevices ||
key === ProductFeatureKey.endpointArtifactManagement
);
});
context.licenseService = createLicenseServiceMock();
context.licenseService.isEnterprise = jest.fn().mockReturnValue(true);
test('builds manifest with trusted devices', async () => {
const context = buildManifestManagerContextMock({});
const manifestManager = new ManifestManager(context);

context.exceptionListClient.findExceptionListItem = mockFindExceptionListItemResponses({});
Expand Down Expand Up @@ -1182,66 +1157,13 @@ describe('ManifestManager', () => {
}
});

test('builds manifest without trusted devices when feature flag disabled', async () => {
const context = buildManifestManagerContextMock({
experimentalFeatures: [], // No trustedDevices feature
});
const manifestManager = new ManifestManager(context);

context.exceptionListClient.findExceptionListItem = mockFindExceptionListItemResponses({});
context.packagePolicyService.fetchAllItemIds = getMockPolicyFetchAllItemIds([
TEST_POLICY_ID_1,
]);

const manifest = await manifestManager.buildNewManifest();

expect(manifest?.getSchemaVersion()).toStrictEqual('v1');
expect(manifest?.getSemanticVersion()).toStrictEqual('1.0.0');
expect(manifest?.getSavedObjectVersion()).toBeUndefined();

const artifacts = manifest.getAllArtifacts();

expect(artifacts.length).toBe(15); // Standard artifacts only
expect(getArtifactIds(artifacts)).toStrictEqual(
SUPPORTED_ARTIFACT_NAMES_WITHOUT_TRUSTED_DEVICES
);

// Verify trusted devices artifacts are NOT present
const trustedDevicesMacosArtifact = artifacts.find(
(a) => a.identifier === ARTIFACT_NAME_TRUSTED_DEVICES_MACOS
);
const trustedDevicesWindowsArtifact = artifacts.find(
(a) => a.identifier === ARTIFACT_NAME_TRUSTED_DEVICES_WINDOWS
);

expect(trustedDevicesMacosArtifact).toBeUndefined();
expect(trustedDevicesWindowsArtifact).toBeUndefined();

for (const artifact of artifacts) {
expect(manifest.isDefaultArtifact(artifact)).toBe(true);
expect(manifest.getArtifactTargetPolicies(artifact)).toStrictEqual(
new Set([TEST_POLICY_ID_1])
);
}
});

test('builds manifest with trusted devices entries when feature flag enabled and trusted devices data present', async () => {
test('builds manifest with trusted devices entries when trusted devices data present', async () => {
const trustedDeviceListItem = getExceptionListItemSchemaMock({
os_types: ['windows'],
tags: ['policy:all'],
});

const context = buildManifestManagerContextMock({
experimentalFeatures: ['trustedDevices'],
});
context.productFeaturesService.isEnabled = jest.fn().mockImplementation((key) => {
return (
key === ProductFeatureKey.endpointTrustedDevices ||
key === ProductFeatureKey.endpointArtifactManagement
);
});
context.licenseService = createLicenseServiceMock();
context.licenseService.isEnterprise = jest.fn().mockReturnValue(true);
const context = buildManifestManagerContextMock({});
const manifestManager = new ManifestManager(context);

context.exceptionListClient.findExceptionListItem = mockFindExceptionListItemResponses({
Expand Down Expand Up @@ -1314,7 +1236,7 @@ describe('ManifestManager', () => {

const artifacts = manifest.getAllArtifacts();

expect(artifacts.length).toBe(15);
expect(artifacts.length).toBe(17);

expect(getArtifactObject(artifacts[0])).toStrictEqual({
entries: translateToEndpointExceptions([expectedExceptionListItem], 'v1', defaultFeatures),
Expand Down Expand Up @@ -1354,7 +1276,7 @@ describe('ManifestManager', () => {

const artifacts = manifest.getAllArtifacts();

expect(artifacts.length).toBe(15);
expect(artifacts.length).toBe(17);

expect(getArtifactObject(artifacts[0])).toStrictEqual({
entries: translateToEndpointExceptions([expectedExceptionListItem], 'v1', defaultFeatures),
Expand Down Expand Up @@ -2468,13 +2390,6 @@ describe('ManifestManager', () => {
manifestManager = new ManifestManager(context);
});

test('should return false for trusted devices artifacts when feature flag is disabled', () => {
const shouldRetrieve = (
manifestManager as unknown as ManifestManagerWithPrivateMethods
).shouldRetrieveExceptions(ENDPOINT_ARTIFACT_LISTS.trustedDevices.id);
expect(shouldRetrieve).toBe(false);
});

test('should return true for other artifact types regardless of feature flag', () => {
const shouldRetrieveExceptions = (
manifestManager as unknown as ManifestManagerWithPrivateMethods
Expand Down
Loading