Intune Profile

This section details how to configure an Intune Profile.

Prerequisites

Intune Connector

PKI Connector

Credentials

Setting up an SCEP Authority requires you to issue a certificate from the underlying PKI with the following characteristics:

  • the issuing CA should be the same as the one that will issue certificates through the PKI Connector that will be linked to the Intune Profile

  • the certificate key usages must include Digital Signature and Key Encipherment

  • the certificate must be issued as PKCS#12 and then imported into Horizon

How to configure Intune Profile

1. Log in to Horizon Administration Interface.

2. Access Intune Profile from the drawer or card: Third Parties  Intune  Profiles.

3. Click on Add Connector.

4. Fill the mandatory fields.

Intune Profile Specific Configuration

General

  • Name* (string input):
    Enter a meaningful profile name. It must be unique for each profile. Horizon uses the name to identify the profile. As the name will be part of an URL, it is advised to use only lower case letters and dashes.

  • Enable* (boolean):
    Indicates whether the profile is enabled or not. Set to true by default.

  • Intune Connector* (select):
    Select an Intune Connector previously created.

  • PKI Connector (string select):
    Select a PKI connector previously created.

Assets identification

  • Device ID field name (string input):
    Subject DN field used to retrieve the Device ID. The selected field must be set to {{AAD_Device_ID}} on Intune side, e.g. if you select "L", the configured Subject DN in the SCEP profile in Intune must then contain L={{AAD_Device_ID}}. This is required to use the automated revocation feature upon device decommission.

  • Device ID separator (string input):
    Separator used to retrieve the Device ID in the device id field (if defined). This field is present for backward compatibility reasons and should normally be left to blank.

SCEP protocol parameters

  • Mode* (select):
    Choose from one of the two modes RA or CA. Usually this should be set to RA.

  • SCEP Authority (select):
    Select a SCEP Authority previously created. See Prerequisites for details.

  • CAPS (select):
    Select one or many SCEP Capabilities from the list. If unsure, leave the default.

  • Encryption algorithm (select):
    Select a SCEP Encryption Algorithm algorithms from the list. If unsure, leave the default.

Crypto Policy

  • Authorized Key Types (multiselect):
    Key Types that can be used for enrollment. An empty value means no restrictions.

Max Certificate per Holder Policy

  • Maximum (int):
    When specified, define the maximum number of active certificates for a given Holder.

  • Behavior (select):
    What behavior to have when the maximum number is reached:

    • revoke the previous certificates.

    • reject the current request.

  • Revocation reason (select):
    When the revoke behavior is selected, the revocation reason to revoke the certificate with.

Common configuration for profiles

Languages

You can add more languages by clicking Add.

  • Language* (select):
    Select a language. Supported languages are:

    • en: English

    • fr: French

  • Display Name (string input):
    Enter a display name. This will be the localized name of this profile.

  • Description (string input):
    Enter a description. This will be displayed on the list view of the profiles.

You can delete Delete Language the localization.

Grading Policies

You can select grading policies that will grade your certificate for a quick overview of its quality. For more information about the inner working of the grading policies in Horizon, please refer to the grading rules page.

Workflows builder

Configure custom rights for actions on this profile.

1. Select an authorization level for each workflow.

Schema 2

  • Everyone:
    No authentication is required.

  • Authenticated:
    User has to be authenticated.

  • Authorized:
    User has to be authenticated and have an explicit authorizations.

2. Select an access level for identity providers.

You can remove the access level for an identity provider by clicking on 'x'.

Requests time to live

Configure the time your requests have before expiring.

After expiration, requests are stored for an additional 30 days. This can be changed using configuration files.
  • Enrollment request* (finite duration):
    Must be a valid finite duration. The default value is set to seven days.

  • Renewal request* (finite duration):
    Must be a valid finite duration. The default value is set to seven days.

  • Revocation request* (finite duration):
    Must be a valid finite duration. The default value is set to seven days.

  • Update request* (finite duration):
    Must be a valid finite duration. The default value is set to seven days.

  • Migration request* (finite duration):
    Must be a valid finite duration. The default value is set to seven days.

  • Recover request (finite duration):
    Enabled on escrow: Must be a valid finite duration. The default value is set to seven days.

Self Permissions

These permissions apply to the owners of a certificate (team or owner). An owner can always request the following actions, but this permission allows them to perform the action without validation.

  • Revoke (boolean):
    Grant self revoke permission. The default value is set to false.

  • Update (boolean):
    Grant self update permission. The default value is set to false.

Constraints

  • Allowed email domains (string input):
    Enter a valid regular expression that the inputted emails should match. This includes RFC822NAME and UPN SANs as well as the contact email

    This matches the domain of the email, not including anything before @.
  • Allowed DNS domains (string input):
    Enter a valid regular expression that the inputted domain should match.

CSR Data Mapping

1. Click on Add to add a mapping.

2. Select a field and enter a value.

You can delete Delete mapping the CSR Data Mapping.

Certificate Metadata

This section details how to define a custom structure for the labels, ownership policy and technical metadata, allowing certificates to hold rich information.

Labels

You can add more labels by clicking Add.

  • Name (select):
    Select a preexisting label.

  • Mandatory (boolean):
    Should the label be mandatory. The default value is set to false.

  • Editable by requester (boolean):
    Tells whether the label should be editable by the requester. The default value is set to false.

  • Editable by approver (boolean):
    Tells whether the label should be editable by the approver. The default value is set to false.

  • Default value (string input):
    Set a default value to the label.

  • Label value restriction

    • Whitelist (string input multiple):
      The label value will have to be in the whitelist. Open the popup, enter the label value and press "enter" to add this value to the accepted value list. An empty whitelist means no restriction.

    • Suggestions (string input multiple):
      Add suggestions that will be displayed to the user. The user will be able to choose one of these values or enter its own. Open the popup, enter your suggestions and press enter to add this value to the suggestions. An empty suggestions list means no restriction.

    • Regex (regex):
      The label value will have to match the regex. Open the popup, enter the regular expression and click on the submit button to set the regex. An empty regex means no restrictions.

  • Computation rule (Computation rule input):
    Set the value of this label to the value of the evaluated computation rule. This value will override any other value including the user input and the default value.

You can delete Delete label or reorder (drag and drop) Reorder label the label template.

Ownership policy

  • Owner

    • Mandatory (boolean):
      Specify if the certificate’s owner is mandatory when submitting a request.

    • Editable by requester (boolean):
      Specify if the certificate’s owner can be overridden by the requester when submitting a request.

    • Editable by approver (boolean):
      Specify if the certificate’s owner can be overridden by the requester when approving a request.

    • Computation rule (Computation rule input):
      Set the value of the owner to the value of the evaluated computation rule. This value will override any other value including the user input.

  • Contact email

    • Mandatory (boolean):
      Specify if the certificate’s contact email is mandatory when submitting a request.

    • Editable by requester (boolean):
      Specify if the certificate’s contact email can be overridden by the requester when submitting a request.

    • Editable by approver (boolean):
      Specify if the certificate’s contact email can be overridden by the requester when approving a request.

    • Default contact email (string input):
      Set a default contact email. This value must comply with the contact email restriction.

    • Contact email restriction

      • Whitelist (string input multiple):
        The contact email will have to be in the whitelist. Open the popup, enter the email and press "enter" to add this value to the accepted whitelist. An empty whitelist means no restriction.

      • Regex (regex):
        The contact email will have to match the regex. Open the popup, enter the regular expression and click on the submit button to set the regex. An empty regex means no restrictions.

    • Computation rule (Computation rule input):
      Set the value of the contact email to the value of the evaluated computation rule. This value will override any other value including the user input and the default value.

  • Team

    • Mandatory (boolean):
      Specify if the certificate’s team is mandatory when submitting a request.

    • Editable by requester (boolean):
      Specify if the certificate’s team can be overridden by the requester when submitting a request.

    • Editable by approver (boolean):
      Specify if the certificate’s team can be overridden by the requester when approving a request.

    • Default team (string input):
      Set a default team. This value must comply with the team restriction.

    • Team restriction

      • Whitelist (string input multiple):
        The team will have to be in the whitelist. Enter the team and press "enter" to add this value to the accepted whitelist. An empty whitelist means no restriction.

      • Regex (regex):
        The team will have to match the regex. Open the popup, enter the regular expression and click on the submit button to set the regex. An empty regex means no restrictions.

    • Computation rule (Computation rule input):
      Set the value of the team to the value of the evaluated computation rule. This value will override any other value including the user input and the default value.

Metadata policy (overridable metadata)

These metadata are technical metadata. They are used by Horizon or Third party connectors, updating them should be done with utmost care.
Metadata edition is not allowed on enroll.
Metadata edition is not available via the User Interface. It must be changed with API, using horizon-cli.

You can allow the override of technical metadata by clicking Add.

  • Metadata* (select):
    Select a metadata.

  • Editable by requester (boolean):
    Tells whether the metadata is editable by the requester. The default value is set to false.

  • Editable by approver (boolean):
    Tells whether the metadata is editable by the approver. The default value is set to false.

You can delete Delete metadata policy a metadata policy. This will not delete the metadata but will make it non editable.

Notifications

This section details how to configure notifications on certificate and request lifecycle events.

Certificate lifecycle notifications

Notifications are sent when one of the following event is triggered by a certificate:

Enrollment

Revocation

Expire

Update

Migrate

Renew

Select a preexisting email, REST or groupware notification to associate it with an event.

Request lifecycle notifications

Notifications are sent when one of the following event is triggered by an Enroll/Revocation/Update/Migrate/Renew request:

Submit

Cancel

Revoke

Approve

Pending

Select a preexisting email, REST or groupware notification to associate it with an event.

Submit request events are not triggered when the user has the permission to perform the action directly.

5. Click on the save button.

You can update Edit Connector or delete Delete Connector the Intune Profile once it has been created.

You won’t be able to delete an Intune Profile if it is referenced somewhere else.

Last steps

Once the profile is created in Horizon, you need to setup a SCEP profile in Intune by following Microsoft documentation. You will need to match the parameters in the Intune SCEP profile with what has been set up in Horizon and in the underlying PKI. You need to pay special attention to:

  • the certificate lifetime and renewal interval, which must match throughout the solution

  • the Subject and Subject Alternative Name settings must match throughout the solution. In the end, the issued certificate must contain exactly what was configured in Intune for these fields, or the renewal will not work.

  • the SCEP server URL, where you need to input the URL given in the Intune Profile that you created in Horizon

Sample Intune SCEP Profile configuration

To enroll Windows machines or users using Intune, you need to remove the trailing " pkiclient.exe " from the SCEP server URL