Skip to content
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

Deploy certificates from DigiCert #22709

Closed
16 tasks
noahtalerman opened this issue Oct 7, 2024 · 12 comments
Closed
16 tasks

Deploy certificates from DigiCert #22709

noahtalerman opened this issue Oct 7, 2024 · 12 comments
Assignees
Labels
#g-mdm MDM product group :product Product Design department (shows up on 🦢 Drafting board) prospect-blondelet story A user story defining an entire feature

Comments

@noahtalerman
Copy link
Member

noahtalerman commented Oct 7, 2024

Goal

User story
As an IT admin,
I want Fleet to install a unique certificate (end user's email as the Common Name) from DigiCert 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.

Key results

Deliver customer promises and prioritized requests

Original requests

Context

Changes

Product

  • UI changes: Figma wireframes here
  • REST API changes: API changes required to support the UI. We won't document these in the REST API docs yet
    • @noahtalerman: UPDATE: Now that we have a DigiCert account ready to go, I think let's document the Fleet API changes as part of this story. I think we need a PR to the API reference docs before we continue working on this story.
  • Schedule a mock-demo w/ @nonpunctual, @allenhouchins, @noahtalerman, and @lukeheath
    • Demo includes:
      • Configuring RA certificate and templates in the UI
      • Adding configuration profile via GitOps
      • Deploying a configuration profile w/ Wi-Fi and certificate payload to a host. Certificate is delivered to the host.
    • UPDATE: @noahtalerman: Configuration using Fleet API + adding a configuration profile GitOps demo is on YouTube here: https://www.youtube.com/watch?v=3KlxGFY9cSo
  • Changes to paid features or tiers: Fleet Premium only
  • CLI (fleetctl) usage changes: No changes
  • YAML changes: No changes
  • Fleet's agent (fleetd) changes: No changes
  • Activity changes: No changes
  • Permissions changes: No changes
  • Other reference documentation changes: No changes
  • Once shipped, requester has been notified

Engineering

  • Feature guide changes: DCDC: Guide #24915
  • Database schema migrations: Draft
  • Load testing: Not expected to scale all at once

ℹ️  Please read this issue carefully and understand it. Pay special attention to UI wireframes, especially "dev notes".

QA

Risk assessment

  • Requires load testing: No
  • Risk level: Low
  • Risk description: increased time to call out to DC during profile crons

Manual testing steps

Spot-check NDES SCEP proxy to make sure we didn't break it with this feature.

  1. Step 1
  2. Step 2
  3. Step 3

Testing notes

Confirmation

  1. Engineer (@____): Added comment to user story confirming successful completion of QA.
  2. QA (@____): Added comment to user story confirming successful completion of QA.
@noahtalerman noahtalerman added story A user story defining an entire feature #g-mdm MDM product group :product Product Design department (shows up on 🦢 Drafting board) prospect-blondelet Epic DO NOT USE. Auto-created by ZenHub, cannot be disabled. and removed Epic DO NOT USE. Auto-created by ZenHub, cannot be disabled. labels Oct 7, 2024
@noahtalerman noahtalerman removed #g-mdm MDM product group :product Product Design department (shows up on 🦢 Drafting board) labels Oct 10, 2024
@noahtalerman noahtalerman changed the title Deploy certificates from DigiCert 🎸Deploy certificates from DigiCert Nov 15, 2024
@noahtalerman noahtalerman added :product Product Design department (shows up on 🦢 Drafting board) ~air-guitar labels Nov 15, 2024
@noahtalerman noahtalerman self-assigned this Nov 15, 2024
@noahtalerman noahtalerman changed the title 🎸Deploy certificates from DigiCert Deploy certificates from DigiCert Nov 20, 2024
@noahtalerman noahtalerman added the #g-mdm MDM product group label Nov 20, 2024
@lukeheath
Copy link
Member

@noahtalerman I updated the description to add a little more detail to the demo items.

@noahtalerman
Copy link
Member Author

Hey @georgekarrv @lukeheath now that drafting is wrapped up for this user story, do you think we're ready to move this to the release board? (off drafting)

Heads up that there's no estimate on it yet.

cc @getvictor @gillespi314

@lukeheath lukeheath added :release Ready to write code. Scheduled in a release. See "Making changes" in handbook. and removed :product Product Design department (shows up on 🦢 Drafting board) labels Nov 25, 2024
@lukeheath
Copy link
Member

@noahtalerman That makes sense, I'm moving to the release board since it's already being worked on.

@georgekarrv @getvictor When you have a moment, please add an overall estimate to the user story based on the total effort of completing the end-to-end flow with DigiCert per the Figma wireframes. Thanks!

@noahtalerman
Copy link
Member Author

Leaving Mike's UI feedback here for when we come back to the next iteration of the DigiCert feature.

@jmwatts
Copy link
Member

jmwatts commented Nov 27, 2024

@noahtalerman after the Product design check-in meeting I wanted to compile some thoughts and bring a little clarity to PKI in general. Created doc here: PKI Implementation Notes - General understanding and QA perspective

@gillespi314 gillespi314 self-assigned this Dec 3, 2024
@georgekarrv georgekarrv added this to the 4.62.0-tentative milestone Dec 11, 2024
@georgekarrv georgekarrv removed their assignment Dec 17, 2024
@lukeheath lukeheath removed the P1 Prioritize as critical label Dec 30, 2024
@lukeheath
Copy link
Member

@georgekarrv @noahtalerman @getvictor I'm removing the priority label on this for now.

@noahtalerman
Copy link
Member Author

@georgekarrv @lukeheath @getvictor @gillespi314 sounds like we need to estimate the remaining work so I moved this story back to the drafting board and assigned myself.

I think we want a PR to the API reference docs before we re-estimate this story.

Victor, do we already have the API changes spec'd somewhere?

@noahtalerman noahtalerman added :product Product Design department (shows up on 🦢 Drafting board) and removed :release Ready to write code. Scheduled in a release. See "Making changes" in handbook. labels Jan 6, 2025
@getvictor
Copy link
Member

Victor, do we already have the API changes spec'd somewhere?

No, we are just changing the configs, similar to NDES. The server will convert a PKCS12 payload with Fleet variables into a payload with a Digicert certificate.

If a Fleet admin clicks reload icon to reload the policy, we will go to Digicert and fetch a new certificate. Should we also revoke the old certificate?

Also, here is the Digicert API that we will use.

@noahtalerman noahtalerman removed the :product Product Design department (shows up on 🦢 Drafting board) label Jan 28, 2025
@allenhouchins
Copy link
Member

@noahtalerman One additional requirement for prospect-blondelet is ensuring automatic certificate renewal. See this Slack thread: https://fleetdm.slack.com/archives/C07AK6CUDFC/p1738262762662739

Jamf handles this for admins as such:

The automatic certificate renewal process runs every six hours on only the primary node. Jamf Pro automatically redistributes the certificates via a configuration profile 10 days before the certificate expires.

Do you want this tracked as a separate issue or user story?

@noahtalerman
Copy link
Member Author

noahtalerman commented Jan 31, 2025

@allenhouchins thanks!

No need for a new issue/story for now.

I tracked this in the original request so we don't lose it.

@noahtalerman noahtalerman removed this from the 4.62.0 milestone Feb 12, 2025
@noahtalerman noahtalerman added the Epic DO NOT USE. Auto-created by ZenHub, cannot be disabled. label Feb 13, 2025
@noahtalerman noahtalerman added :product Product Design department (shows up on 🦢 Drafting board) and removed Epic DO NOT USE. Auto-created by ZenHub, cannot be disabled. labels Feb 13, 2025
@marko-lisica
Copy link
Member

Closing this one as we'll implement this as part of #25822

@fleet-release
Copy link
Contributor

Certificates weave,
DigiCert and Fleet unite,
Secure access blooms.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
#g-mdm MDM product group :product Product Design department (shows up on 🦢 Drafting board) prospect-blondelet story A user story defining an entire feature
Projects
None yet
Development

No branches or pull requests

9 participants