Repository navigation
Deploy SCEP certificates from Network Device Enrollment Service (NDES) #21955
Copy link
Copy link
Closed
5 / 55 of 5 issues completedClosed
5 / 55 of 5 issues completed
Copy link
Labels
#g-apple-at-workProduct group focused on Apple devicesProduct group focused on Apple devices#g-endpoint-opsEndpoint ops product groupEndpoint ops product group:productProduct Design department (shows up on 🦢📨🎉 Product design intake & outtake board)Product Design department (shows up on 🦢📨🎉 Product design intake & outtake board)P2Urgent: Supported workflow not functioning as intended, newly drafted feature with urgent Fleet needUrgent: Supported workflow not functioning as intended, newly drafted feature with urgent Fleet needcustomer-interkosmoscustomer-numacustomer-pingalicustomer-pingouinstoryA user story defining an entire featureA user story defining an entire feature~experimentalThis feature is experimental, breaking changes may be made.This feature is experimental, breaking changes may be made.~pushedUser story was pushed to next release.User story was pushed to next release.
Milestone
Description
Goal
| User story |
|---|
| As an IT admin, |
| I want Fleet to install a unique SCEP certificate from NDES on all my macOS hosts as part of my Wi-Fi/Ethernet profile |
| so that I can grant end users access to my organization’s network. |
✅ "Grant Wi-Fi access" (Fleet Premium)
Context
- Product designer: @noahtalerman
Notes from call w/ prospect-numa are here (internal).
Original request: #13420
Changes
Product
- UI changes: Figma wireframes here
- Changes to paid features or tiers: Fleet Premium only. Pricing page updates are here: fleetdm.com/pricing: Grant Wi-Fi access (SCEP) #22900
- @noahtalerman: Still TODO is link to feature guide (once it's shipped) from the pricing page: https://github.com/fleetdm/fleet/pull/22900/files#diff-f109cc3f7421e05eddf317b7c6cc51395977e63a25dd9eed437985060ed796edR1113
- Once shipped, requester has been notified
- Permissions changes: TODO: @noahtalerman: Update the permissions guide
- Once shipped, dogfooding issue has been filed
- Issue is here: https://github.com/fleetdm/confidential/issues/8812
Engineering
-
Reference documentation changes: NDES REST API and config doc changes #22968
-
CLI (fleetctl) usage changes: "No changes"
-
YAML changes: New variables for populating SCEP challenge and end user email (from
mdm_idp_accountsinGET /device_mappingendpoint). NDES REST API and config doc changes #22968 -
REST API changes: NDES REST API and config doc changes #22968
-
Activity changes
-
Feature guide changes: NDES SCEP proxy guide #22966
- @noahtalerman: I think we want to explain how the IT admin connects their end users to Wi-Fi after the IT admin adds their SCEP server. Something like this:
- Get your SCEP root cert and add to a configuration profile
- Add a Wi-Fi profile w/ a SCEP payload
- @noahtalerman: I think we want to explain how the IT admin connects their end users to Wi-Fi after the IT admin adds their SCEP server. Something like this:
-
Database schema migrations
ℹ️ Please read this issue carefully and understand it. Pay special attention to UI wireframes, especially "dev notes".
Demo
QA
Risk assessment
- Requires load testing: No, because we don't expect a SCEP profile to be deployed to all hosts. We expect a SCEP profile to be deployed gradually as part of enrolling new devices.
- Risk level: High
- Risk description: Largely new functionality for Fleet (SCEP proxy) interacting with a complex 3rd party Windows Server NDES service.
Manual testing steps
- Set up NDES server (dev tested using Windows Server 2022, so maybe do Windows Server 2019 for QA)
- Configure NDES
- Test failure scenarios, like password cache full (defaults to 5 passwords)
- Create a profile using new fleet variables, and upload manually/GitOps. Example profile
$FLEET_VAR_NDES_SCEP_CHALLENGE$FLEET_VAR_HOST_END_USER_EMAIL_IDP$FLEET_VAR_NDES_SCEP_PROXY_URL- Try bad $FLEET_VAR values, such as $FLEET_VAR_BOZO
- Try deploying profile without NDES, or without an IDP email
- Note: dev testing was done by manually adding a
mdm_idp_accountssource email tohost_emailstable in DB - Try using these Fleet variables in Windows or DDM profiles -- should not work.
- NDES passwords expire after 60 minutes (this expectation is hard-coded in Fleet). Deploy SCEP profile to an offline host. After 1 hour, when host comes up, Fleet should re-send the profile with updated one time password.
- Make sure global activity feed shows up when NDES config is added/edited/deleted.
- Test with multiple devices. Dev testing was done with 2 devices and 10 SCEP profiles each. You will need to increase the password cache in NDES.
Testing notes
- try to use examples/directions from the feature guide as much as possible
- configs can be changed via UI, API, fleetctl apply, and fleetctl gitops -- focus the testing on UI and gitops
- macOS only
- restarting NDES server will cause password cache to clear
Confirmation
- Engineer (@getvictor): Added comment to user story confirming successful completion of QA.
- QA (@_____): Added comment to user story confirming successful completion of QA.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
#g-apple-at-workProduct group focused on Apple devicesProduct group focused on Apple devices#g-endpoint-opsEndpoint ops product groupEndpoint ops product group:productProduct Design department (shows up on 🦢📨🎉 Product design intake & outtake board)Product Design department (shows up on 🦢📨🎉 Product design intake & outtake board)P2Urgent: Supported workflow not functioning as intended, newly drafted feature with urgent Fleet needUrgent: Supported workflow not functioning as intended, newly drafted feature with urgent Fleet needcustomer-interkosmoscustomer-numacustomer-pingalicustomer-pingouinstoryA user story defining an entire featureA user story defining an entire feature~experimentalThis feature is experimental, breaking changes may be made.This feature is experimental, breaking changes may be made.~pushedUser story was pushed to next release.User story was pushed to next release.
Activity
[-]Install & renew unique certificate from NDES as part of Wi-Fi/Ethernet macOS configuration profile[/-][+]Deploy & renew certificates from NDES[/+][-]Deploy & renew certificates from NDES[/-][+]Deploy & renew certificates from Network Device Enrollment Service (NDES)[/+][-]Deploy & renew certificates from Network Device Enrollment Service (NDES)[/-][+]Deploy & renew SCEP certificates from Network Device Enrollment Service (NDES)[/+]noahtalerman commentedon Sep 10, 2024
Latest requirements:
Revoke? When end user leaves the organization, Fleet revokes the SCEP certificate (TBD)Enrollment? When a new host enrolls to Fleet, Fleet delivers a SCEP payloadnoahtalerman commentedon Sep 10, 2024
Proxy v. non-proxy. Looks like DigiCert can be configured as non-proxy (more here).
noahtalerman commentedon Sep 12, 2024
Hey @dherder, heads up, this didn't make the 3 week drafting timeline. I left it on the drafting board b/c we're going to continue working on it.
@lukeheath I think we want to bring this one through expedited drafting so that we can start working on it in the next engineering sprint.
51 remaining items
noahtalerman commentedon Nov 13, 2024
Hey @zayhanlon heads up this user story shipped in 4.59.
Leaving the user story open until we update the permissions docs. (TODO for @noahtalerman)
Follows to NDES: pricing page and permissions (#23764)
noahtalerman commentedon Nov 15, 2024
Permissions docs are updated: #23764
fleet-release commentedon Nov 15, 2024
Fleet certificates shine,
Network access aligns,
Ease for IT, divine.