-
Notifications
You must be signed in to change notification settings - Fork 478
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
iOS/iPadOS automatic (DEP) enrollment and custom MDM commands (CLI/API) #18119
Comments
Hey @rachaelshaw here's the first iOS/iPadOS story. For designs, I think we want to think through what an iOS/iPadOS host looks like on the Hosts and Host details page. Also, while the goal of this story is a read-only view of iOS/iPadOS hosts, I think we should also wireframe lock/wipe as part of this story. We can carve these out later. Unless we find a way to install osquery (or something like it) on these hosts, I think Fleet will send the "Get Device Information" MDM command to get host vitals. We can see the info we'd get back by looking at the list of properties here: https://developer.apple.com/documentation/devicemanagement/deviceinformationcommand/command/queries |
Brock: Customer-preston might want BYOD as well. We don't know. JD: If there's an enrollment profile, we "support" BYOD. It's a matter of whether we document this workflow or build dedicated UI for it. |
Marko: Declaration (DDM) profiles are supported on iOS 15+ This means we might be able to subscribe to a status channel to get read-only info that we want to display in the UI. Instead of MDM commands. Advantage of status channel is the device sends updates to the Fleet server. Fleet server doesn't have to run a job to send an MDM commands. |
FYI @lucasmrod ^^ |
@noahtalerman OK, so I will assume we will build iOS/iPadOS support leveraging DDM, correct? |
@lucasmrod I'm not sure but I think we'll want to leverage both DDM and the MDM v1 protocol. We want to deliver MDM v1 profiles and DDM profiles. We want to deliver MDM v1 commands (lock, wipe, etc.) For the read-only information about the host (OS, software, etc.) what do we get from DDM v. the MDM v1 protocol? |
Main backend tasks for estimation today (I may be missing some details):
|
@xpkoala I've updated the QA section in the description. |
- iOS/iPadOS launch pushed from 6/30 => 7/15 - Why? We didn't have enough design nor engineering capacity. Bugs, dogfooding feature requests and features for the "Improve the self-service tech eval experience" were prioritized first Noah: I don't think we'll be ready for the public launch until we ship the following: - #19319 Why? We want iOS/iPadOS support to feel first class when we publicly announce it. Note that Fleet is shipping enrollment + custom MDM commands (#18119) for iOS/iPadOS and dogfooding profiles (#18866) starting 2024-06-03. `customer-eponym` will be an early adopter.
#18119 - [X] Added support on fleet's osquery simulator `cmd/osquery-perf` for new osquery data ingestion features. Sample on how to simulate 50 iPads and 50 iPhones: ```sh go run ./cmd/osquery-perf -host_count 100 -os_templates iphone_14.6.tmpl:50,ipad_13.18.tmpl:50 -mdm_scep_challenge <...> ```
Hey @lucasmrod, when you get the chance, can you please confirm that the above changes were shipped as part of this story? I updated the "Changes" section in the issue description. That should have been filled out prior to pulling this into a sprint. That's a miss from me. |
All has been implemented except this requirement:
I didn't add any restrictions to prevent iOS/iPadOS from enrolling on free instances. Let me know if we want to prevent iOS/iPadOS devices from enrolling on free instances and I can work on the changes. Also I'm confused by the first and third bullets here (they look like the same thing?):
|
@lucasmrod got it. I think that's ok. If I'm understanding correctly, free users can manually enroll iOS/iPadOS using an undocumented workflow of installing the manual enrollment profile. Only premium users can automatically enroll iOS/iPadOS because only premium users can connect Fleet to Apple Business Manager (ABM). Automatic enrollment requires Fleet <=> ABM connection.
Good to know. I think at some point soon we'll end up removing this restriction. Probably when we support BYOD iOS/iPadOS (aka manual enrollment).
Ah, sorry. The 3rd bullet is confusing (fixed it in my above comment). Instead it should be this: Add iOS/iPadOS commands to I think we added iOS/iPadOS support for this command but I'm just double checking before we close the issue. |
Ah yes, I can see commands sent to iPhone/iPads when running |
@noahtalerman TODO: open a new PR for docs changes a [Uploading... Screenshot 2024-06-27 at 17.00.55.png] |
Here's the PR: |
Hey @zayhanlon, @dherder, and @Patagonia121 heads up, "iOS/iPadOS automatic (DEP) enrollment and custom MDM commands (CLI/API)" was shipped in Fleet 4.51 🚀 |
Fleet's iOS embrace, |
- Zero-touch for iOS/iPadOS (#18119) shipped in Fleet 4.51 - Exclude labels from configuration profiles (#17315) shipped in 4.54 - `customer-rosner` commit - Configuration profiles for iOS/iPadOS (#19319) shipped in 4.54 - MDM commands for iOS/iPadOS (#18119) shipped in 4.51 - Deploy Apple App Store apps on macOS (#18867) and iOS/iPadOS (#19447) shipped in 4.55 - `customer-rosner` commit --------- Co-authored-by: Sarah Gillespie <73313222+gillespi314@users.noreply.github.com>
Goal
This is an MVP for dogfooding and early adopters. We won't include an announcement in the release blogpost.
What's included in the MVP?
ios
andipados
.fleetctl get hosts --mdm
filterContext
Changes
Product
fleetctl mdm run-command
against iOS/iPadOS hosts.mdm-command-results
fleetctl get mdm-commands
fleetctl get hosts --mdm
Engineering
QA
IMPORTANT: Given that we've made changes all over the place to support iOS/iPadOS, ALL macOS MDM features should be re-tested on this release (DEP, bootstrap packages, XML profiles and DDM profiles, Setup experience, DEP with SSO, Disk encryption, running commands, Wipe/Lock/Unlock, etc.).
NOTE: After being enrolled to MDM (after following the DEP setup on the device) it can take up to 10 minutes for iPhones and iPads to fetch their details (like OS version and disk utilization). Then these details are refetched every 1h.
The tests that should be executed on iPhone and iPads are well summarized in the
What's included in the MVP?
and how it should look like is on the linked Figma document.Risk assessment
Manual testing steps
Testing notes
Confirmation
The text was updated successfully, but these errors were encountered: