Chris Bui
10/27/2025, 10:14 PMMarvin
10/27/2025, 10:14 PMMarvin
10/27/2025, 10:18 PMChris Bui
10/27/2025, 10:22 PMMarvin
10/27/2025, 10:23 PMMarvin
10/27/2025, 10:27 PMChris Bui
10/27/2025, 10:37 PMMarvin
10/27/2025, 10:38 PMMarvin
10/27/2025, 10:38 PMChris Bui
10/27/2025, 10:40 PMMarvin
10/27/2025, 10:40 PMMarvin
10/27/2025, 10:42 PMChris Bui
10/27/2025, 10:44 PMMarvin
10/27/2025, 10:44 PMMarvin
10/27/2025, 10:45 PMprefect cloud login --key <NEW_KEY>.
- Auditing: Historical actions will remain attributed to the old user; that’s expected. Keep the old user around temporarily (without keys) if you need short-term traceability, then remove.
- Bookmarks/sign-in path: After SSO, all logins go through Okta. Make sure users know to use the Okta tile or SSO flow.
Optional safety net
- Parallel accounts: If you need true side-by-side auth for a short window, some teams spin up a separate Prefect Cloud account with Okta enabled and migrate workloads, then decommission the original. This isn’t required but can reduce perceived risk.
If you want, I can turn this into a concrete migration plan for your team, including:
- Service account setup and key rotation sequence
- Role/team mapping checklist
- Okta attribute and app assignment checklist
- Timeline and communications template for users
Do you plan to use SCIM with Okta, and do you currently have any workers or CI using personal user keys we should target first?Chris Bui
10/27/2025, 10:58 PMMarvin
10/27/2025, 10:58 PMMarvin
10/27/2025, 10:59 PMChris Bui
10/27/2025, 11:03 PMMarvin
10/27/2025, 11:03 PMMarvin
10/27/2025, 11:05 PMprefect cloud login --key <NEW_PERSONAL_API_KEY>
Verified help for this command: run prefect cloud login --help
- Validation:
- Confirm new identities can access the correct workspaces and operate deployments
- Confirm automation is running under service accounts, not personal keys
Phase 2 — Okta integration readiness (T-7 to T-3 days)
- Owners: Okta admin + Cloud admin
- Okta app setup:
- Create the Prefect app in Okta (OIDC or SAML)
- Map email attribute to the user’s primary email
- Assign test users/groups to the app in Okta
- Dry run in a sandbox:
- If possible, validate Okta SSO in a separate sandbox Prefect Cloud account to confirm attributes and group assignment
- Communication prep:
- Draft and circulate cutover comms (see template below)
Phase 3 — Cutover day (T-0)
- Owners: Cloud admin + Okta admin
- Final checks:
- All automations use service accounts or the new company-domain personal keys
- Cohort 2 has successfully tested new accounts
- Okta app assignments are correct
- Enable SSO on your production Prefect Cloud account:
- Follow the doc: Configure SSO
- Note: After this, interactive login is only via Okta for this account
- Post-enable smoke test:
- Sign in via Okta with a test user from each cohort
- Trigger a test deployment and confirm runs complete
- Verify workers/CI keep running (service accounts unaffected by SSO)
Phase 4 — Post-cutover cleanup (T+1 to T+7 days)Marvin
10/27/2025, 11:05 PMprefect cloud login --key <NEW_PERSONAL_API_KEY>
- Confirm you can access your usual workspaces
- Automation: We are moving all automation to service accounts; no user action needed if you don’t run workers/CI
- After <date>, all logins must use Okta; old Google logins won’t work
2) Cutover confirmation (T-0)
- Subject: Okta SSO is now enabled for Prefect
- Body:
- You must sign in via Okta to access Prefect
- If you see access issues, contact <internal support contact>
- Automation remains unaffected; report any anomalies
3) Cleanup reminder (T+3)
- Subject: Finalizing Prefect migration — remove old access
- Body:
- We will remove old Google-auth users and revoke remaining old keys on <date>
- If you still need to copy any settings or rotate any local credentials, please do so now
Key points and gotchas
- SSO enforcement: Once configured, SSO is immediately required for interactive login
- Email matching: Okta must provide the same primary email your users have in Prefect (for Cohort 1). Avoid aliases/plus addressing
- Keys don’t transfer between identities: Cohort 2 will generate new personal keys; service accounts avoid downtime
- Objects aren’t user-owned: Flows, deployments, work pools, and automations persist; just ensure the new users have the right roles
- Temporary double seats: You’ll temporarily have old and new users; plan for seat count during overlap
Useful docs
- Configure SSO (Okta): Configure SSO
- Manage teams and roles: Manage teams
- Service accounts: Service accounts
- API keys: API keys
Open questions to tailor further
- Will you use OIDC or SAML in Okta? Any SCIM plans?
- Do you have contractors who won’t be in Okta but still need access?
- How many workers/CI jobs currently use personal keys that we should target first?
- Do you want me to draft the exact Okta attribute mapping checklist (based on your chosen protocol) and a more detailed comms playbook?Chris Bui
10/27/2025, 11:12 PMMarvin
10/27/2025, 11:12 PMMarvin
10/27/2025, 11:15 PMChris Bui
10/27/2025, 11:38 PMMarvin
10/27/2025, 11:38 PMMarvin
10/27/2025, 11:41 PMDylan Rabdau
11/26/2025, 4:33 PMMarvin
11/26/2025, 4:33 PMMarvin
11/26/2025, 4:37 PMDylan Rabdau
11/26/2025, 4:39 PMMarvin
11/26/2025, 4:39 PMMarvin
11/26/2025, 4:39 PM