squirrelworks
Systems Architecture > Identity & Access Management

Phase 1: Provisioning the Okta Developer Tenant & Hybrid Directory Synchronization

Building an enterprise cloud identity plane requires bridging on-premises Active Directory structures with cloud-native IdP brokers. Here is how we provisioned our Okta developer tenant, established an AD agent integration, and configured delegated authentication.

okta toplogy

2. Deploying the Okta Active Directory Agent

Hybrid synchronization is handled using the lightweight Okta AD Agent. Installed directly on a Windows domain member server, the agent uses outbound HTTPS (port 443) long-polling to communicate with the tenant without requiring inbound firewall openings.

okta ad agent in services-msc
Pipeline Component Target Configuration Operational Mechanics
Member Server Host Dedicated Windows Server host joined to local domain. Executes agent service isolated from DC core components.
Service Account Scope Dedicated local AD domain service account. Read/Write directory permissions scoped exclusively to targeted user OUs.
Import Engine Rules Attribute mapping matched on UPN / email strings. Prevents object duplication while mapping on-prem attributes into Okta profiles.
Tech Fact Icon
Agent Connectivity Note

Because the agent polls Okta via encrypted outbound calls, domain controllers remain protected behind local firewall rules without exposing LDAP or Kerberos endpoints directly to the public Internet.

3. Delegated Authentication & Policy Verification

By enabling Delegated Authentication (DelAuth), password authority remains strictly with our local Active Directory domain controllers. Okta does not store local password hashes in the cloud; instead, login requests are sent down to the AD Agent for real-time evaluation.

Authentication Policy Customization

To streamline testing while maintaining security guardrails, we configured custom authentication policies within Okta:

  • Test Scope Exemption: Configured dedicated password-only authentication rules scoped strictly to our designated test identities to allow rapid validation testing.
  • Administrative Enforcement: Maintained strict Multi-Factor Authentication (MFA) requirements across all tenant administrative users.
Live Login Verification

We verified the hybrid bridge end-to-end by initiating a clean login sequence with local AD test credentials against the Okta end-user portal. The credentials successfully passed through the agent pipeline, confirming active Delegated Authentication and directory authority.

Scope Isolation & Directory Boundary Control

One of the most frequent operational pitfalls in hybrid identity deployments is initiating a broad, domain-wide directory import. Doing so ingests default domain containers, service accounts, domain admin accounts, and legacy objects directly into the cloud tenant.

To enforce strict Scope Isolation, we explicitly constrained the Okta AD Agent’s target query rules strictly to designated Organizational Units (OUs), isolating production workloads from lab testing targets.

Directory Target Sync State Security & Architectural Rationale
`OU=Users` EXPLICIT INCLUSION Ingests targeted human identities required for cloud SSO and application entitlement assignment.
`OU=Groups` EXPLICIT INCLUSION Synchronizes security groups to drive group-based policy assignment and app access in Okta.
`OU=Service Accounts` EXCLUDED (ISOLATED) Prevents non-human service principal credentials and elevated gMSAs from entering cloud scope.
`CN=Users` / Built-in EXCLUDED (ISOLATED) Blocks built-in Domain Admins, Krbtgt, and default schema objects from cloud exposure.
Tech Fact Icon
Principle of Least Privilege

By scoping the agent at the OU level rather than the domain root, you significantly reduce attack surface. Domain-level administrative accounts should never be synchronized to a cloud IdP unless explicitly required for privileged access management (PAM) architecture.

Architectural Boundary: App Single Sign-On vs. OS Domain Auth

A common misconception when deploying a hybrid Identity Provider is assuming that cloud integration overrides all endpoint authentication. It is critical to differentiate between Application SSO requests brokered by Okta and Native OS Logins handled by Active Directory.

1. Web Application & SaaS SSO (Diagram Flow)

When a user hits an Okta-protected web portal or app:

1. User submits credentials directly to the Okta Cloud Tenant.
2. Okta proxies password validation down to the on-prem AD Agent (`APP1`) via HTTPS.
3. The agent queries `DC1` locally and returns the pass/fail assertion to Okta.

2. Local Workstation Login (Native AD)

When a user logs directly into a domain-joined PC, Windows desktop, or SSH session:

The OS uses native Kerberos (Port 88) or NTLM protocol flows directly against `DC1`.

Okta is completely bypassed for standard OS logon, unless explicit credential provider agents (e.g., Okta MFA for Windows) are installed on the local endpoint.

Tech Fact Icon
Source of Truth Key Takeaway

Active Directory remains the authoritative password holder. Okta acts as an external identity broker for modern web services—evaluating credentials on demand through the hybrid agent without ever storing Active Directory password hashes in the cloud.



Accessibility
 --overview

API
 --REST best practices
 --REST demo
 --REST vs RPC
 --Wikipedia API

Blockchain
 --overview

Blog
 --The 'Brute Force' Mistake
 --The Bezosian Protocol: Eliminating Learned Helplessness
 --The Humility Protocol: Reality Over Reputation
 --The Jobsian Protocol: Systems Analysis as a War on Entropy
 --The Jordan Framework: Engineering a Competitive Edge

Cloud
 --AWS overview

CSS/HTML
 --Admissions Portal Simulation Lab
 --Bootstrap carousel
 --Grid demo
 --markdown demo

DevOps
 --Agile Principles
 --DevOps overview
 --Drupal, containerized
 --Prometheus & Grafana
 --RKE2: Deploying the Rancher Kubernetes Engine

Encoding
 --Overview

Ergonomics
 --Desk configuration
 --Device fleet
 --Input device array
 --keystroke mechanics
 --Phones & RSI

ERP
 --Anthology overview
 --Ellucian Banner
 --Higher Ed ERP Simulation Lab
 --PeopleSoft Campus Solutions
 --PESC standards
 --Slate data model

Git
 --syntax overview
 --troubleshooting libcrypto

Hardware
 --Device fleet
 --Electricity fundamentals
 --Homelab diagram

Identity & Access
 --Foundations
 --Provisioning Okta Dev Tenant

Java
 --Fundamentals

Javascript
 --Advanced Interaction: jQuery & UI Frameworks
 --input prompt demo
 --misc demo
 --Time and Date functions
 --Vue demo

Linux
 --Auditing the live interface state using ethtool
 --grep demo
 --HCI and Proxmox
 --Persistent Infrastructure Telemetry: TMUX
 --Proxmox install
 --xammp ftp server

Mail flow
 --DKIM, SPF, DMARC
 --MAPI

Microsoft
 --AZ-800: Administering Windows Server Hybrid Core Infrastructure
 --BAT scripting
 --Group Policy
 --IIS
 --robocopy
 --Server 2022 setup - Virtualbox

Misc
 --Applications
 --regex
 --Resources
 --Sustainable Computing
 --Terminology
 --Tribute to Computer Scientists

Networks
 --BGP Peering & Security Hardening Lab
 --CCNA Lammle Study Guide
 --Cisco 1921/K9 router
 --NGFW vs. Legacy
 --routing protocols
 --throughput calculations

PHP/SQL
 --Cookies
 --database interaction
 --demo, OSI Layers quiz
 --Foreign key constraint demo
 --fundamentals
 --MySQL and PHPmyAdmin setup
 --pagination
 --security
 --session variables
 --SQL fundamentals
 --structures
 --Tables display

Python
 --fundamentals

Security
 --Overview- GRC (Governance, Risk, and Compliance)
 --Security Blog
 --SSH fundamentals

Serialization
 --JSON demo
 --YAML demo