fleet/server
Nico 0a98ce5582
Enable JIT provisioning for Technician role (#41286)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #41242

# Checklist for submitter

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.

## Testing

- [x] Added/updated automated tests

- [x] QA'd all new/changed functionality manually

Configured SAML app in Okta following
https://fleetdm.com/docs/deploy/single-sign-on-sso#okta (needs update):

<img width="1069" height="790" alt="Screenshot 2026-03-10 at 9 10 05 AM"
src="https://github.com/user-attachments/assets/7a160599-524e-4118-922b-5f9b601129eb"
/>

Defined a Custom SAML Attribute Statement following
https://support.okta.com/help/s/article/How-to-define-and-configure-a-custom-SAML-attribute-statement?language=en_US.
This is to add `FLEET_JIT_USER_ROLE_GLOBAL` to the default User profile.

<img width="2536" height="1299" alt="Screenshot 2026-03-10 at 9 22
03 AM"
src="https://github.com/user-attachments/assets/68193815-4abd-4a3b-9e95-147b1b3105d3"
/>

Within the new Okta app > Sign On tab, added this expression:

<img width="765" height="444" alt="Screenshot 2026-03-10 at 9 35 41 AM"
src="https://github.com/user-attachments/assets/40073cfc-931c-492e-bd5f-e8e89434b107"
/>

Within Okta, added a new user in Directory > People and assigned it to
the new Okta app.

<img width="1050" height="515" alt="Screenshot 2026-03-10 at 9 36 14 AM"
src="https://github.com/user-attachments/assets/1b0a2847-208a-4251-8d9c-6bd0cba33d13"
/>

Logged in to fleet with the new user via SSO and verified its role is
Technician:

<img width="714" height="507" alt="Screenshot 2026-03-10 at 9 32 15 AM"
src="https://github.com/user-attachments/assets/cf44d99c-78bc-4d7c-9f46-5c25fc745778"
/>

<img width="1356" height="339" alt="Screenshot 2026-03-10 at 9 37 11 AM"
src="https://github.com/user-attachments/assets/baa028cb-6b3b-4c9b-b02e-ac2e16ec9262"
/>



For unreleased bug fixes in a release candidate, one of:

- [x] Confirmed that the fix is not expected to adversely impact load
test results
- [ ] Alerted the release DRI if additional load testing is needed

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 10:15:01 -03:00
..
acl/activityacl Move NewActivity to activity bounded context (#39521) 2026-02-25 14:11:03 -06:00
activity Renamed activity tables and moved host activities cleanup to activity bounded context. (#41194) 2026-03-08 21:54:06 -05:00
archtest Refactor endpoint_utils for modularization (#36484) 2025-12-31 09:12:00 -06:00
authz Fix observer query bypass: prevent cross-team targeting (#40717) 2026-03-05 15:12:04 -03:00
aws_common Feat 1817 add iam auth to mysql and redis (#32488) 2025-09-04 10:08:47 -05:00
bindata Allow users to be readded if they were ever removed (#1945) 2021-09-07 13:33:40 -03:00
config Increase body size limits for osquerylog and osquery/dist/write endpoints (#40946) 2026-03-09 13:49:07 -04:00
contexts Move PostJSONWithTimeout to platform/http package and activity cleanup (#40561) 2026-02-26 17:39:10 -06:00
cron slog migration: initLogger + serve.go + cron + schedule (#40699) 2026-02-27 14:29:27 -06:00
datastore return only 1 row per active installer (#41300) 2026-03-10 09:13:22 -04:00
dev_mode Only allow FLEET_DEV_* env vars when --dev is passed, allow overriding configs one at a time in dev (#38652) 2026-01-27 14:32:56 -06:00
errorstore Incremental migration to slog (#40120) 2026-02-19 15:35:35 -06:00
fleet Enable JIT provisioning for Technician role (#41286) 2026-03-10 10:15:01 -03:00
goose Use UTC timestamps for DB migrations (#36228) 2025-11-24 15:49:10 -06:00
health slog migration: service layer + subsystem libraries (#40661) 2026-02-26 17:40:46 -06:00
launcher Final slog migration PR: test infrastructure + tools + remaining standalone files (#40727) 2026-02-28 05:52:21 -06:00
live_query Incremental migration to slog (#40120) 2026-02-19 15:35:35 -06:00
logging Migrated logging and google calendar files to use slog (#40541) 2026-02-26 12:48:54 -06:00
mail [Bug fix] Unclear error message: Update users email via API (#36579) 2025-12-02 10:52:31 -06:00
mdm Bump supported MySQL versions (#40892) 2026-03-04 12:25:20 -06:00
mock Renamed activity tables and moved host activities cleanup to activity bounded context. (#41194) 2026-03-08 21:54:06 -05:00
platform Increase body size limits for osquerylog and osquery/dist/write endpoints (#40946) 2026-03-09 13:49:07 -04:00
policies Migrating maintained apps, failing policies, and webhooks to slog. (#40149) 2026-02-23 08:50:40 -06:00
ptr Clean up android app config data layer, fix no-team persist bug (#37740) 2025-12-30 09:35:41 -06:00
pubsub Incremental migration to slog (#40120) 2026-02-19 15:35:35 -06:00
service Enable JIT provisioning for Technician role (#41286) 2026-03-10 10:15:01 -03:00
shellquote Updating golangci-lint to 1.61.0 (#22973) 2024-10-18 12:38:26 -05:00
sso End-user authentication for Window/Linux setup experience: backend (#34835) 2025-10-31 11:16:42 -05:00
test Move NewActivity to activity bounded context (#39521) 2026-02-25 14:11:03 -06:00
variables DCSW: Support all IDP variables in Windows config profiles (#34707) 2025-10-24 10:10:58 -03:00
version Move external dependency fleetdm/kolide-kit to monorepo (#15861) 2024-01-02 18:22:52 -03:00
vulnerabilities Migrating vulnerabilities pkgs to slog. (#40106) 2026-02-20 15:36:38 -06:00
webhooks Rework conditional access policy bypass conditions to use critical column (#40736) 2026-03-05 17:05:03 -05:00
websocket Enable errcheck linter for golangci-lint (#8899) 2022-12-05 16:50:49 -06:00
worker Dismiss gosec G602 and G115 in test code (#40960) 2026-03-04 13:34:35 -05:00
utils.go Move PostJSONWithTimeout to platform/http package and activity cleanup (#40561) 2026-02-26 17:39:10 -06:00
utils_test.go feature: target profiles by labels (#16202) 2024-01-26 11:00:58 -05:00