• Public

Okta Identity Governance (OIG)

Skip Feed
    • Paul S. (Okta, Inc.)

      Hello @VenkateshwarRaoG.85600 (Customer)​ Thank you for posting on our Community page!

       

      You are asking why the Okta Workflow creates the user account in Active Directory successfully, but no successful AD account creation event appears in the Okta System Log.

       

      The account creation event is usually not logged under a generic "user created" event type. Provisioning to Active Directory is recorded as an application-level event tied to the AD app instance, and it can be missed by a search that only looks for user lifecycle events. The Workflow execution history is also a separate record from the System Log.

      Root Cause: Okta records the AD account push as an application provisioning event (for example, a app.user_management event) with the AD application as the target, not as a standard user.lifecycle.create event on the user. Searches that filter only on the new user's login or on lifecycle create events will not return it.

       

      Solution: Follow these steps to locate the successful AD creation record:

      1. Navigate to Reports → System Log in the Okta Admin Console.
      2. Filter the log with the query target.displayName eq "<your AD application name>" and eventType sw "app.user_management", then add a second filter on the user's login or target.alternateId if the results are too broad.
      3. Review the events with an outcome of SUCCESS. Open the event and confirm the target user and the AD application in the Target section.
      4. Check the Workflow's execution history under the Workflow's Flow Logs to confirm the Create User step completed and to view its returned output, including the AD account identifier.
      5. Verify the account directly in Active Directory (Active Directory Users and Computers, under the expected OU) and confirm the AD Agent is running on the server that performs the push.
      6. Search for failed events with outcome.result eq "FAILURE" for the same AD application if no success event appears. A failure in the same time window explains the missing success record.

       

      If the user is not created in AD after these checks, confirm the group-to-application assignment and the AD app's provisioning settings (To App → Create Users enabled) under the application's Provisioning tab.

       

      Thank you for reaching out to our Community and have a great day!

      --

      Help others in the community by liking or hitting Select as Best if this response helped you.

      Expand Post

  1. Hello,

    ​

    My client's source data lives across several normalized tables (employee master, department, dual-position, dispatch, plus a separate contractor interface with a different schema) rather than one flat table (I'd guess this is fairly common in real-world/production environments).

    ​

    I'm not a DBA, so I'm not sure what's the recommended approach for the Get Users / Create / Update / Deactivate queries in this case:

    ​

    - Inline JOIN/UNION in the SQL field, or wrap it in a view/stored procedure?

    - If combining multiple sources (e.g., employees + contractors) into one flow, how do you handle that — UNION in a view, separate app instances, etc.?

    ​

    Not much public reference for this connector yet, so any patterns or lessons learned would help a lot!

    ​

    Thanks!

    Expand Post

    • Paul S. (Okta, Inc.)

      Hello @GayeongS.93038 (Customer)​ Thank you for posting on our Community page!

       

      You are asking about the recommended approach for configuring Okta provisioning queries when your source data is spread across multiple normalized tables (employee master, department, dual-position, dispatch, and a separate contractor interface) rather than a single flat table. Specifically, you want to know whether to use inline SQL JOINs/UNIONs or wrap them in views or stored procedures, and how to handle combining multiple sources into a single provisioning flow.

      Solution: Both approaches are technically viable, but stored procedures or database views are the recommended pattern for production environments because they abstract complexity, improve maintainability, and simplify troubleshooting.

      Inline JOINs vs. Views/Stored Procedures:

      1. Use a database view or stored procedure if your query involves:
        • Multiple JOINs across normalized tables
        • Complex business logic (e.g., determining primary vs. secondary positions)
        • Conditional logic to filter or transform data
        • Need to reuse the same query across multiple Okta provisioning operations (Get Users, Create, Update, Deactivate)
      1. Advantages: Easier to test independently, simpler to modify without touching Okta configuration, cleaner audit trail, and your DBA can optimize the query at the database layer.
      2. Inline SQL is acceptable only if your query is simple (a single table or one straightforward JOIN) and unlikely to change. For your multi-table scenario, inline SQL becomes difficult to maintain and debug.

      Combining Multiple Sources (Employees + Contractors):

      For combining employees and contractors into a single provisioning flow, use one of these patterns:

      • Single UNION view (recommended): Create a database view that UNIONs the employee and contractor result sets, ensuring both return the same column structure and naming. This keeps Okta configuration simple — you point to one view for Get Users, Create, Update, and Deactivate. The view handles the complexity of merging schemas.

      Example structure:

      SELECT emp_id AS user_id, emp_name AS name, emp_email AS email, 'EMPLOYEE' AS source_type FROM employee_master

      UNION

      SELECT contractor_id AS user_id, contractor_name AS name, contractor_email AS email, 'CONTRACTOR' AS source_type FROM contractor_interface

      • Separate app instances (if sources require different provisioning rules): If employees and contractors have fundamentally different provisioning lifecycles, deactivation rules, or attribute mappings, configure two separate Okta provisioning app instances — one pointing to the employee view and one to the contractor interface. This gives you independent control but requires managing two configurations.
      • Avoid mixing inline JOINs and UNIONs in Okta: Do not attempt to write the UNION or JOIN logic directly in Okta's SQL field. Instead, encapsulate it in a view or stored procedure and reference that from Okta.

      Best Practice Checklist:

      • Create a dedicated database view or stored procedure that handles all normalization and returns a flat result set matching Okta's expected schema.
      • Test the view independently before configuring it in Okta.
      • Ensure the view returns consistent column names and data types for all provisioning operations (Get Users, Create, Update, Deactivate).
      • For dual-source scenarios (employees + contractors), use a UNION view unless the sources have incompatible provisioning rules.
      • Document the view logic and any business rules (e.g., how dual positions are resolved) so future maintainers understand the data flow.

      This approach is common in production environments because it separates data transformation (database layer) from identity provisioning (Okta layer), making both easier to troubleshoot and evolve independently.

       

      Thank you for reaching out to our Community and have a great day!

      --

      Help others in the community by liking or hitting Select as Best if this response helped you.

      Expand Post

  2. Hello, I have few questions regarding OIG, can someone please help with this.

    Reference - https://developer.okta.com/docs/api/iga/openapi/governance-production-reference/reviews/getreview

    1. Access to Okta Identity Governance (OIG) in a Free Trial Account

    I have set up an Okta free trial environment and would like to confirm whether OIG features are included as part of the trial.

    We are attempting to retrieve data from the Campaign/Review API endpoint. However, during the setup process, the scope okta.governance.accessCertifications.read was not available under Okta API Scopes, nor was it visible in the Admin Console.

    Could someone please clarify whether this scope (and OIG overall) is accessible in a trial account, and if not, what would be the recommended next steps?

     

    2. Clarification on Review API Response Fields

    In the Review → Retrieve a Review sample response, we can clearly see the campaignId. There is also an "id": "…", located just above the "reviewerType" field.

    Can someone confirm:

    • Is this "id" value the Review ID?
    • Can this "id" also be considered the Certification ID associated with the specific campaign?

     

    3. Last Login Information in OIG APIs

    Is there any OIG-specific endpoint that provides “Last Login — the date/time when an account last signed in” as part of its response?

    Expand Post

    1 of 2

  3. I'm looking for any official documentation that states that the v1 option for Access Requests is being deprecated or at least highly recommended not to use. Instead, we should be using RCAR. When I searched Google it told me that v1 is being deprecated.

     

    Also know that I haven't already implemented ANY Access Requests so I don't have any legacy request to worry about.

     

    thanks!


    • Paul S. (Okta, Inc.)

      Hello @PhilG.96012 (SPS Commerce)​ Thank you for posting on our Community page!

       

      At this time there no formal "end-of-life" date for the v1 Request Types, the current documentation establishes the v2 model as the strategic standard.

       

      Thank you for reaching out to our Community and have a great day!

      --

      Help others in the community by liking or hitting Select as Best if this response helped you.

      Expand Post

  4. Hello! 

     

    We are currently working to grow our presence on Gartner Peer Insights, an online platform of ratings and reviews for IT software and services. If you are interested in providing details about your experience using Okta Identity Governance or Okta Lifecycle Management, please fill out this form and someone from our team will reach out to you with next steps!

     

    The review will be completely anonymous and you will have the option to receive a $25 gift card for your time! We look forward to hearing from you!

     

     

    Expand Post

    Mihai N. likes this.

  5. If you are using Okta Identity Governance, be sure to check out the (very useful) Realms feature. Also see the Okta Workflows Realms connector

    Blog post with use case: https://support.okta.com/help/s/blog/a67KZ0000010whWYAQ/enabling-secure-partner-and-vendor-access-with-okta-workflows?language=en_US

    ( Sample Flopack link is included in the post )


    RohitU.50441 and Mihai N. like this.

  6. Are you curious about Okta's latest innovations to our US public sector authorizations? Check out the Q2 2025 updates to our purpose-built identity platforms for US public sector blog to learn about Okta's commitment to bringing the latest commercially available identity security fabric to agency missions. See how the following additions can benefit your organization:

    • Okta Identity Governance
    • Workflows
    • Identity Threat Protection with Okta AI

    rqgvc and Mihai N. like this.

  7. User16370330549592969269 (Customer Support Online Experience)

    Okta Launch Week 2025 is here!

    Check out our latest corporate blog post for an inside look at the newest advancements in Identity Security, unveiled during Launch Week. As cyberthreats evolve, Okta continues to lead the charge in delivering seamless, secure access management solutions. Explore how our latest updates are empowering organizations to stay ahead of threats while securing workforce, customer, and AI-driven systems. Dive in to discover how Okta is shaping the future of Identity Security.

     

    We'd love to hear what excites you most about these new innovations! How do you think they’ll enhance your day-to-day? Drop a comment in the discussion post and let us know!


End of Feed
End of Feed
8 Chatter Feed Items

Group Details

Details