Quantcast
Channel: VMware Communities : Blog List - All Communities
Viewing all articles
Browse latest Browse all 3135

Workspace ONE - Okta Integration Part 3: SCIM Provisioning

$
0
0

In the third instalment of the Okta Integration with Workspace ONE, we are going to cover SCIM Provisioning from Okta to Workspace ONE.

 

NOTE: There is currently a known issue that will prevent you from enrolling a device with the Workspace ONE Intelligent Hub application using the Okta Unique Identifier. This should be fixed in the September time frame. However, if your UEM environment is CN135 the fix is already deployed.

 

If you follow these instructions, keep in mind that device enrollment will NOT work until this fix is in place.

 

These instructions will use a "CUSTOM" SCIM application. I will update this blog when the official WS1 application is released in OIN.

 

Please do not use in Production.

 

 

In the first release of this functionality, there will be a lot of manual steps. I fully expect a more seamless process in future releases.

 

This process will require some proficiency and knowledge in using Postman to manage identities in Workspace ONE Access (formerly known as VMware Identity Manager).  Please check out my blog on using Postman to Manage Workspace ONE Identities.

https://communities.vmware.com/blogs/steveIDM/2019/05/09/using-postman-to-manage-workspace-one-identities

Here is a high level overview of the process:

  1. Okta is configured to use Workspace ONE Provisioning Application
  2. Okta will SCIM the user to Workspace ONE Access
  3. The AirWatch Provisioning Adapter in Workspace ONE Access will provision the user to Workspace ONE UEM.

 

This blog will not going into detail on the provisioning to UEM. Please see the following blog on provisioning to UEM:

Workspace ONE - AirWatch Provisioning App

Step 1:  Create a Remote App Access Client

  1. Log into Workspace ONE Access
  2. Click on Catalog (Down Arrow) and then Settings
  3. Click on Remote App Access
  4. Click Create Client
  5. Select "Service Client Token"
  6. Enter a Client ID ie. OktaSCIM
  7. Expand Advanced
  8. Click Generate Shared Secret
  9. Update the Access Token TTL to something longer then the default. Note: If you choose 1 year, you will need to update the Okta configuration every year with a new bearer token.


  10. Copy the shared secret. You will need this later.
  11. Click Add

 

Step 2:  Configure Postman to use your OAuth Token

 

Note: Depending on your version of Postman, these steps below might be slightly different.

 

  1. Open a new Tab in Postman
  2. In the authorization section, select "OAuth 2.0" as the type:
  3. Click Get New Access Token
  4. Provide a Token Name (ie. Workspace ONE)
  5. Under "Auth URL", enter https:[Tenant URL]/SAAS/auth/oauth2/authorize
    ie. https://dsas.vmwareidentity.com/SAAS/auth/oauth2/authorize
  6. "Under Access Token URL", enter https:[Tenant URL]/SAAS/auth/oauthtoken
    ie. https://dsas.vmwareidentity.com/SAAS/auth/oauthtoken
  7. Under Client ID, enter your Client ID from step 1.
  8. Under Secret, enter your secret from step 1.
  9. Under Scope, leave blank.
  10. Under Grant Type, select "Client Credentials"
  11. Click Request Token
  12. Click on WorkspaceONE under Existing Tokens
  13. Select Use Token. Note: You will need to use this token later in the Okta Console.
  14. If you click on the headers tab you will see the "Authorization" header has been added with the correct token.

 

Step 3:  Create an "Other" Directory for your Okta Users.

  1. Open a new Tab in Postman
  2. Add the Authorization Header as per the previous section.
  3. For the HTTP Method, select "POST"
  4. For the URL, enter: https://[TENANTURL]/SAAS/jersey/manager/api/connectormanagement/directoryconfigs
    Replace the Tenant URL with your URL
    Replace the ID with the ID from the step 4 in this section.
    ie. https://dsas.vmwareidentity.com/SAAS/jersey/manager/api/connectormanagement/directoryconfigs
  5. Set the Content-Type to "application/vnd.vmware.horizon.manager.connector.management.directory.other+json"
  6. Use the following as a sample and Click Send

 

{  
"type":"OTHER_DIRECTORY",  
"domains":["Okta"],  
"name":"Okta"  
}  

 

Copy the "userStoreId" that is returned by the above command.

 

Step 4:  Add the Workspace ONE SCIM Provisioning App in Okta

 

At the time of writing this blog, the Workspace ONE Provisioning APP is not published on the OIN.

 

In the meanwhile, I will document the steps to create on manually.

  1. Log into the Okta Admin Console
  2. Click on Applications -> Applications
  3. Search for the "SCIM 1.1 Test App (OAuth Bearer Token)" application
  4. Provide a Name for the application and check both "Do not display" checkboxes
  5. Click Next
  6. Click Done
  7. Click on Sign On
  8. Under application format, select Email prefix
    Note: This step is required to avoid an issue with using email addresses as usernames when deploying SCEP certificates in Workspace ONE UEM.
  9. Screen Shot 2019-08-13 at 3.58.43 PM.png
  10. Click on the Provisiong Tab and Click Configure API Integration
  11. Click Enable API Integration
  12. Enter the SCIM 1.1 Base URL in the following format: https://[tenant url]/SAAS/jersey/manager/scim
  13. Paste your bear token that was created in the earlier step with postman.
  14. Click Test API Credentials
  15. Ensure you have a "Success" before proceeding.
  16. Click Save
  17. Scroll down to the Attribute Mapping Section
  18. Delete the following attributes
    -entitlements
    -roles
  19. Click "Go to Profile Editor"
  20. Click "Add Attribute"
    1. Enter "internalUserType" as the Display name, Variable Name and External Name
    2. Enter "urn:scim:schemas:extension:workspace:1.0" as the External Namespace
    3. Select Attribute Required
    4. Save
  21. Click Add Attribute
    1. Enter "userStoreUuid" as the Display name, Variable Name and External Name
    2. Enter "urn:scim:schemas:extension:workspace:1.0" as the External Namespace
    3. Select Attribute Required
    4. Save
  22. Click Add Attribute
    1. Enter "userPrincipalName" as the Display name, Variable Name and External Name
    2. Enter "urn:scim:schemas:extension:workspace:1.0" as the External Namespace
    3. Select Attribute Required
    4. Save
  23. Click Add Attribute
    1. Enter "domain" as the Display name, Variable Name and External Name
    2. Enter "urn:scim:schemas:extension:workspace:1.0" as the External Namespace
    3. Select Attribute Required
    4. Save
  24. Click Add Attribute
    1. Enter "ws1_externalID" as the Display name, Variable Name
    2. Enter "externalID" as the External Name
    3. Enter "urn:scim:schemas:core:1.0" as the External Namespace
    4. Select Attribute Required
    5. Save
  25. Click on Mappings
  26. Click on the Okta to Workspace ONE SCIM Tab
  27. Scroll  down to the new attributes we created and map the attributes as per below:
    Okta User ProfileWorkspace ONE SCIM User Profile
    'PROVISIONED'internalUserType
    Enter the UserStoreID returned in Step 3userStoreUuid
    user.emailuserPrincipalName
    Enter the Domain Used in Step 3domain
    user.getInternalProperty("id")ws1_externalID
  28. Remove the mappings for displayName and locale
  29. Click Save Mappings
  30. Click Apply Updates Now
  31. Click on the Provisioning Tab again
  32. Click Edit and Enable Provisioning for Create Users and Deactivate Users. Note: Do not select update users
  33. Click Save
  34. Using a test user, assign the user the Workspace ONE SCIM application
  35. If you receive an error such as below you might need to un-map additional attributes.

Viewing all articles
Browse latest Browse all 3135

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>