Tutorial: Configure KnowBe4 Security Awareness Training for automatic user provisioning

This tutorial describes the steps you need to perform in both KnowBe4 Security Awareness Training and Azure Active Directory (Azure AD) to configure automatic user provisioning. When configured, Azure AD automatically provisions and de-provisions users and groups to KnowBe4 Security Awareness Training using the Azure AD provisioning service. For important details on what this service does, how it works, and frequently asked questions, see Automate user provisioning and deprovisioning to SaaS applications with Azure Active Directory.

Capabilities supported

  • Create users in KnowBe4 Security Awareness Training.
  • Remove users in KnowBe4 Security Awareness Training when they do not require access anymore.
  • Keep user attributes synchronized between Azure AD and KnowBe4 Security Awareness Training.
  • Provision groups and group memberships in KnowBe4 Security Awareness Training.
  • Single sign-on to KnowBe4 Security Awareness Training (recommended).

Prerequisites

The scenario outlined in this tutorial assumes that you already have the following prerequisites:

  • An Azure AD tenant.
  • A user account in Azure AD with permission to configure provisioning (for example, Application administrator, Cloud Application administrator, Application Owner, or Global administrator).
  • A user account in KnowBe4 Security Awareness Training with Admin permissions.

Step 1. Plan your provisioning deployment

  1. Learn about how the provisioning service works.
  2. Determine who will be in scope for provisioning.
  3. Determine what data to map between Azure AD and KnowBe4 Security Awareness Training.

Step 2. Configure KnowBe4 Security Awareness Training to support provisioning with Azure AD

Follow the steps below to configure your SCIM settings in the console.

Note

If you are switching from ADI to SCIM, please note that if you are using alias email addresses, our integration with SCIM does not support that connection, so this information will be removed once you disable Test Mode and a sync runs.

  1. From your KnowBe4 console, click your email address in the top right corner and select Account Settings.

  2. Navigate to the User Management > User Provisioning section of your settings.

  3. Select Enable User Provisioning (User Syncing) to display more provisioning settings.

    User Provisioning (User Syncing)

  4. By default, the toggle will be set to ADI. Click the SCIM toggle to begin setting up.

  5. Expand your SCIM settings by clicking + SCIM Settings.

    Tenant Url

  6. Click Generate SCIM Token. This will open a new window with your token ID. Copy this ID and save it to a place that you can easily access later. It is important that you save this token because once you close this window, you cannot view the token again. Once you’ve saved the information, click OK to close the window.

    Note

    Once your SCIM token is generated, this button will change to the Regenerate SCIM Token button. See the Troubleshooting Tips section of this article for more information.

    Note

    Your identity provider will need the token (step 5) and the tenant ID (step 6) in order to establish a connection with KnowBe4. Make sure that you save this information so it is readily available when you are ready to set up the connection with your identity provider.

  7. Copy the Tenant URL and save it to a place that you can easily access later.

  8. Make sure that the Test Mode option is selected.

    Tenant Mode

    Note

    We recommend keeping Test Mode enabled until you’ve configured the connection between KnowBe4 and your identity provider and have run a successful sync. Test Mode is used to generate a report of what will happen when SCIM is enabled. This means no changes are made to your console so you can configure your setup without worrying about changes to your console. When you are ready, you can disable Test Mode from your Account Settings to enable syncing.If you are switching from ADI to SCIM, Test Mode will be enabled automatically after you save your Account Settings.

  9. Scroll down to the bottom of the Account Settings page and click Save Changes. Now that you have enabled SCIM in your KnowBe4 account, you are ready to finalize the connection with your identity provider. See one of the articles below to find instructions on configuring SCIM for the identity provider that you are using.

Add KnowBe4 Security Awareness Training from the Azure AD application gallery to start managing provisioning to KnowBe4 Security Awareness Training. If you have previously setup KnowBe4 Security Awareness Training for SSO you can use the same application. However it is recommended that you create a separate app when testing out the integration initially. Learn more about adding an application from the gallery here.

Step 4. Define who will be in scope for provisioning

The Azure AD provisioning service allows you to scope who will be provisioned based on assignment to the application and or based on attributes of the user / group. If you choose to scope who will be provisioned to your app based on assignment, you can use the following steps to assign users and groups to the application. If you choose to scope who will be provisioned based solely on attributes of the user or group, you can use a scoping filter as described here.

  • Start small. Test with a small set of users and groups before rolling out to everyone. When scope for provisioning is set to assigned users and groups, you can control this by assigning one or two users or groups to the app. When scope is set to all users and groups, you can specify an attribute based scoping filter.

  • If you need additional roles, you can update the application manifest to add new roles.

Step 5. Configure automatic user provisioning to KnowBe4 Security Awareness Training

This section guides you through the steps to configure the Azure AD provisioning service to create, update, and disable users and/or groups in KnowBe4 Security Awareness Training based on user and/or group assignments in Azure AD.

To configure automatic user provisioning for KnowBe4 Security Awareness Training in Azure AD:

  1. Sign in to the Azure portal. Select Enterprise Applications, then select All applications.

    Enterprise applications blade

  2. In the applications list, select KnowBe4 Security Awareness Training.

    The KnowBe4 Security Awareness Training link in the Applications list

  3. Select the Provisioning tab.

    Provisioning tab

  4. Set the Provisioning Mode to Automatic.

    Provisioning tab automatic

  5. Under the Admin Credentials section, input your KnowBe4 Security Awareness Training Tenant URL and Secret Token. Click Test Connection to ensure Azure AD can connect to KnowBe4 Security Awareness Training. If the connection fails, ensure your KnowBe4 Security Awareness Training account has Admin permissions and try again.

    Token

  6. In the Notification Email field, enter the email address of a person or group who should receive the provisioning error notifications and select the Send an email notification when a failure occurs check box.

    Notification Email

  7. Select Save.

  8. Under the Mappings section, select Synchronize Azure Active Directory Users to KnowBe4 Security Awareness Training.

  9. Review the user attributes that are synchronized from Azure AD to KnowBe4 Security Awareness Training in the Attribute-Mapping section. The attributes selected as Matching properties are used to match the user accounts in KnowBe4 Security Awareness Training for update operations. If you choose to change the matching target attribute, you will need to ensure that the KnowBe4 Security Awareness Training API supports filtering users based on that attribute. Select the Save button to commit any changes.

    Attribute Type Supported for filtering Required by KnowBe4 Security Awareness Training
    userName String
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:manager.value Reference
    active Boolean
    title String
    name.givenName String
    name.familyName String
    externalId String
    displayName String
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber String
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department String
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:division String
    urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:organization String
    urn:ietf:params:scim:schemas:extension:knowbe4:kmsat:2.0:User:customDate1 DateTime
    urn:ietf:params:scim:schemas:extension:knowbe4:kmsat:2.0:User:customDate2 DateTime
    urn:ietf:params:scim:schemas:extension:knowbe4:kmsat:2.0:User:customField1 String
    urn:ietf:params:scim:schemas:extension:knowbe4:kmsat:2.0:User:customField2 String
    urn:ietf:params:scim:schemas:extension:knowbe4:kmsat:2.0:User:customField3 String
    urn:ietf:params:scim:schemas:extension:knowbe4:kmsat:2.0:User:customField4 String
  10. Under the Mappings section, select Synchronize Azure Active Directory Groups to KnowBe4 Security Awareness Training.

  11. Review the group attributes that are synchronized from Azure AD to KnowBe4 Security Awareness Training in the Attribute-Mapping section. The attributes selected as Matching properties are used to match the groups in KnowBe4 Security Awareness Training for update operations. Select the Save button to commit any changes.

    Attribute Type Supported for filtering Required by KnowBe4 Security Awareness Training
    displayName String
    members Reference
    externalId String
  12. To configure scoping filters, refer to the following instructions provided in the Scoping filter tutorial.

  13. To enable the Azure AD provisioning service for KnowBe4 Security Awareness Training, change the Provisioning Status to On in the Settings section.

    Provisioning Status Toggled On

  14. Define the users and/or groups that you would like to provision to KnowBe4 Security Awareness Training by choosing the desired values in Scope in the Settings section.

    Provisioning Scope

  15. When you are ready to provision, click Save.

    Saving Provisioning Configuration

This operation starts the initial synchronization cycle of all users and groups defined in Scope in the Settings section. The initial cycle takes longer to perform than subsequent cycles, which occur approximately every 40 minutes as long as the Azure AD provisioning service is running.

Step 6. Monitor your deployment

Once you've configured provisioning, use the following resources to monitor your deployment:

  • Use the provisioning logs to determine which users have been provisioned successfully or unsuccessfully
  • Check the progress bar to see the status of the provisioning cycle and how close it is to completion
  • If the provisioning configuration seems to be in an unhealthy state, the application will go into quarantine. Learn more about quarantine states here.

Step 7. Troubleshooting Tips

  • Once SCIM has been enabled, you'll see three buttons in the SCIM section of your Account Settings that can be used for troubleshooting purposes. For more information on these options, see the list below.

    Troubleshooting Tips

    • Regenerate SCIM token: Use this button to generate a new SCIM token. This token can only be viewed once, so make sure you save this information before closing the window. The link between your identity providers and your KnowBe4 console will be disabled until you provide the new SCIM token.

    • Revoke SCIM token: Use this button to disable your current SCIM token. Identity providers currently using this token will no longer be linked to your KnowBe4 console.

    • Force Sync Now: Use this button to manually force a SCIM sync at any time, without requiring a change from your identity provider.

More resources

Next steps