From 2aa9319129e2d4110e5a5afd5618b2aedf6c00fc Mon Sep 17 00:00:00 2001 From: Andrew Baker <89049099+DrewBakerfdm@users.noreply.github.com> Date: Mon, 1 May 2023 19:16:08 -0400 Subject: [PATCH] Blog post 4.31 (#11462) Blog post ready to go whenever 4.31.0 drops --------- Co-authored-by: Eric --- articles/fleet-4.31.0.md | 106 ++++++++++++++++++ .../articles/fleet-4.31.0-1600x900@2x.png | Bin 0 -> 52879 bytes 2 files changed, 106 insertions(+) create mode 100644 articles/fleet-4.31.0.md create mode 100644 website/assets/images/articles/fleet-4.31.0-1600x900@2x.png diff --git a/articles/fleet-4.31.0.md b/articles/fleet-4.31.0.md new file mode 100644 index 0000000000..257f0d888a --- /dev/null +++ b/articles/fleet-4.31.0.md @@ -0,0 +1,106 @@ +# Fleet 4.31.0 | MDM enrollment workflow, API user role. +​ +![Fleet 4.31.0](../website/assets/images/articles/fleet-4.31.0-1600x900@2x.png) + +Fleet 4.31.0 is live. Check out the full [changelog](https://github.com/fleetdm/fleet/releases/tag/fleet-v4.31.0) or continue reading to get the highlights. +​ +For upgrade instructions, see our [upgrade guide](https://fleetdm.com/docs/deploying/upgrading-fleet) in the Fleet docs. +​ +​ +## Highlights +​ +​ +​ +* MDM enrollment workflow +* mTLS support in Fleet +* GitOps user role +​ +​ +### MDM enrollment workflow +​ +Hot on the heels of Fleet’s [public beta announcement](https://fleetdm.com/releases/fleet-introduces-mdm) for MDM, we continue to provide 🟢 Results by adding several new features in the enrollment workflow, including SAML authentication and complete support for bootstrap packages. +​ +Authentication for device enrollments enables you to integrate the MDM enrollment process with an identity provider. With Fleet, you can configure authentication for enrollments using any identity provider service that supports custom SAML integrations, including Google Workspace, Microsoft Azure, Okta, OneLogin, and JumpCloud, to name a few. Once set up, users must authenticate against their identity provider using their credentials to successfully enroll their devices into Fleet. +​ +In addition to Fleet Desktop, Fleet can also deliver a bootstrap software package or installer that to initiate the deployment and configuration of devices during the enrollment process. Use a bootstrap package to deploy your own configuration manager, such as Munki, Chef, or Puppet. With a seamless deployment and configuration of your preferred configuration manager on devices enrolled in Fleet, you will have more granular control and customized management of your organization's devices. +​ +​ +### mTLS support in Fleet +​ +_Available in Fleet Premium and Fleet Ultimate_ +​ +Mutual TLS (mTLS) ensures secure and authenticated communication between two parties. Unlike traditional TLS, where only the server's identity is verified, mTLS requires both the server and the client to authenticate each other using digital certificates. This additional layer of security helps prevent unauthorized access and enhances data privacy. mTLS is often leveraged in a zero-trust networking environment, because security measures are applied regardless of whether the user or device is inside or outside the network perimeter. +​ +Fleet is bringing 🟢 Results with support for TLS client certificates for authentication to the Fleet server and [TUF](https://theupdateframework.io/) server to ensure secure communication between fleetd (Orbit) and your Fleet Server. Learn more about [using mTLS certificates](https://fleetdm.com/docs/using-fleet/orbit#orbit-mtls-support) when generating your Fleet packages. +​ +​ +### GitOps user role +​ +_Available in Fleet Premium and Fleet Ultimate_ +​ +Take 🟠 Ownership of Fleet account roles with greater granularity. Fleet 4.31.0 includes a new user role, `gitops`. +​ +The `gitops` user role is ideal for automated workflows as part of continuous integration/continuous development (CI/CD) actions, such as MDM profile commitments and security profiles. The `gitops` user role can only access Fleet using the API and is unable to access the Fleet dashboard. +​ +​ +## More new features, improvements, and bug fixes +​ +​ +#### + List of features +​ +​ +​ +* Added `gitops` user role to Fleet. GitOps users are users that can manage configuration. +* Added the `fleetctl get mdm-commands` command to get a list of MDM commands that were executed. Added the `GET /api/latest/fleet/mdm/apple/commands` API endpoint. +* Added Fleet UI flows for uploading, downloading, deleting, and viewing information about a Fleet MDM bootstrap package. +* Added `apple_bm_enabled_and_configured` to app config responses. +* Added support for the `mdm.macos_setup.macos_setup_assistant` key in the 'config' and 'team' YAML payloads supported by `fleetctl apply`. +* Added the endpoints to set, get and delete the macOS setup assistant associated with a team or no team (`GET`, `POST` and `DELETE` methods on the `/api/latest/fleet/mdm/apple/enrollment_profile` path). +* Added functionality to gate Apple MDM login behind SAML authentication. +* Added new "verifying" status for MDM profiles. +* Migrated MDM status values from "applied" to "verifying" and updated associated endpoints. +* Updated macOS settings status filters and aggregate counts to more accurately reflect the status of FileVault settings. +* Filter out non-`observer_can_run` queries for observers in `fleetctl get queries` to match the UI behavior. +* Fall back to a previous NVD release if the asset we want is not in the latest release. +* Users can now click back to software to return to the filtered host details software tab or filtered manage software page. +* Users can now bookmark software table filters. +* Added a maximum height to the teams dropdown, allowing the user to scroll through a large number of teams. +* Present the 403 error page when a user with no access logs in. +* Back to hosts and back to software in host details and software details return to previous table state. +* Bookmarkable URLs are now the source of truth for Manage Host and Manage Software table states. +* Removed old Okta configuration that was only documented for internal usage. These configs are being replaced for a general approach to gate profiles behind SSO. +* Removed any host's packs information for observers and observer plus in UI. +* Added `changed_macos_setup_assistant` and `deleted_macos_setup_assistant` activities for the macOS setup assistant setting. +* Hide reset sessions in user dropdown for current user. +* Added a suite of UI logic for premium features in the Sandbox environment. +* In Sandbox, added "Premium Feature" icons for premium-only option to designate a policy as "Critical," as well as copy to the tooltip above the icon next to policies designated "Critical" in the Manage policies table. +* Added a star to let a sandbox user know that the "Probability of exploit" column of the Manage Software page is a premium feature. +* Added "Premium Feature" icons for premium-only columns of the Vulnerabilities table when in Sandbox mode. +* Inform prospective customers that Teams is a Premium feature. +* Fixed animation for opening edit user modal. +* Fixed nav bar buttons not responsively resizing when small screen widths cannot fit default size nav bar. +* Fixed a bug with and improved the overall experience of tabbed navigation through the setup flow. +* Fixed `/api/_version/fleet/logout` to return HTTP 401 if unauthorized. +* Fixed endpoint to return proper status code (401) on `/api/fleet/orbit/enroll` if secret is invalid. +* Fixed a bug where a white bar appears at the top of the login page before the app renders. +* Fixed bug in manage hosts table where UI elements related to row selection were displayed to a team observer user when that user was also a team and maintainer or admin on another team. +* Fixed bug in add policy UI where a user that is team maintainer or team admin cannot access the UI to save a new policy if that user is also an observer on another team. +* Fixed UI bug where dashboard links to hosts filtered by platform did not carry over the selected team filter. +* Fixed not showing software card on dashboard when clicking on vulnerabilities. +* Fixed a UI bug where fields on the "My account" page were cut off at smaller viewport widths. +* Fixed software table to match UI spec (responsively hidden vulnerabilities/probability of export column under 990px width). +* Fixed a bug where bundle information displayed in tooltips over a software's name was mistakenly hidden. +* Fixed an HTTP 500 on `GET /api/_version_/fleet/hosts` returned when `mdm_enrollment_status` is invalid. +​ +​ +## Ready to upgrade? +​ +Visit our [Upgrade guide](https://fleetdm.com/docs/deploying/upgrading-fleet) in the Fleet docs for instructions on updating to Fleet 4.31.0. + + + + + + + diff --git a/website/assets/images/articles/fleet-4.31.0-1600x900@2x.png b/website/assets/images/articles/fleet-4.31.0-1600x900@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3ec715fe75d92c36f8f517867d2de075871b2e5b GIT binary patch literal 52879 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 literal 0 HcmV?d00001