License Models

>What Is a License Model?

>Prerequisites for Copying a License Model

>License Model Status

>Associating a License Model with a Feature

>Copying a License Model

> Dynamic Substitution of License Model Attributes

>Actions for License Models

> Sentinel RMS Enforcement - License Models

> Sentinel LDK Enforcement - License Models

> Sentinel Fit Enforcement - License Models

> Services Enforcement - License Models

New to Sentinel EMS?
See How to Use Sentinel EMS?

What Is a License Model?

A license model is a combination of various attributes that define how and when a product or product suite* is sold to an end user. Each license model defines the conditions that control the use of a feature in a product. Sentinel EMS provides you with the flexibility to associate multiple license models with the features in your products or product suites*, so that you can secure the products or products suites* and generate different types of licenses according to your requirements.

License models use attributes to define how hardware, software applications, or services are deployed. License models map these license attributes into logical groups known as attribute groups.

You apply license models by associating them with features. You can use existing license models, or you can create your own license models by copying existing license models and changing their attributes. Each license model includes:

>Enforcement Technology: Sentinel RMS, Sentinel Fit, Services, and third-party enforcements. You must use SCL Add-on for Sentinel RMS in conjunction with Sentinel EMS to support Cloud Served- Lease and Cloud - Connected licenses.

>Attributes: The actual license model definitions including the name, data type, possible range, and other values. License model attributes define how hardware, software applications, or services are deployed.

>Attribute Groups: A collection of license model attributes.

Sentinel EMS is fully integrated with Sentinel RMS, Sentinel LDK, Sentinel Fit, and Services, and is also designed to support other licensing systems. For a detailed list of license models supported in Sentinel EMS, their attributes, default values, and other details, see:

> Sentinel RMS Enforcement - License Models

> Sentinel LDK Enforcement - License Models

> Sentinel Fit Enforcement - License Models

> Services Enforcement - License Models

Prerequisites for Copying a License Model

To create a new license model, you copy an existing license model and modify its attributes. You need:

> A role that includes the Add permission (at minimum) for:

License Model Management

The relevant namespace under Catalog (Namespace). (You cannot move an entity from one namespace to another.)

For details, see Roles.

>A predefined license model that you can copy, including custom license models from third-party enforcements.

License Model Status

The Status attribute for a license model can be one of the following:

>Enabled: The license model can be included in features.

>Disabled: The license model cannot be included in features.

Associating a License Model with a Feature

You can associate license models with features while:

> creating features. For details, see License Models.

> creating products. For details, see Associate Features.

>defining entitlements. For details, see Creating Entitlements.

Copying a License Model

After you copy an existing license model, you must modify at least one of its attributes to create a new license model.

Important

The following are the points to remember while copying a license model:

>Duplicate license models cannot be created for Sentinel EMS.

> Special characters (/ \ $ ! @ # *) and internationalized characters (such as Japanese, German, Chinese font set) are not supported for cloud-served licenses.

To create a new license model:

1.From the navigation pane, select Catalog > License Models. The License Models page displays the available license models that you can use to create a new license model. The existing license models provide a fixed set of attributes.

2.Scroll to the license model that you want to copy and, in the Actions column, click the Copy button Copy button. The Copy License Model page appears.

3. In the Copy License Model page, enter the license model Name and Description. For more information on these attributes, see Common License Model Attributes.

4.Click to expand the attribute groups and edit the values of the license model attributes as required. The available attribute groups are dependent on the license model.

You can add dynamic information to string-type license model attributes that are used when activating a license by implementing dynamic substitution. You can also select the Base64 encode option to encode the dynamic expression in Base64 format. See Dynamic Substitution of License Model Attributes for more information.

NOTE

> For all trial license models, only the value of one of the fields, Trial Duration Hours or Trial Duration Days (under Limits), can be set to "No Limit".

> Trial Duration Days cannot be updated for an entitlement that is marked as completed.

>   If your Sentinel EMS instance and the license model that you are copying both include support for specifying a unique license file name for a license model, you can specify it here. The source license model must have been created using the Sentinel EMS REST API Guide.

> You can optionally add support for specifying a unique license file name for a license model. You do this by first creating the license model using the Sentinel EMS REST API. For details, see Sentinel EMS REST API Guide.

ClosedLearn how to define the license file name format for a specific license model

5.Click Save.

Common License Model Attributes

The following table explains the common attributes that are used to define every license model.

Attribute Description Required/Optional Valid Values
Name Name of the new license model. Required

>Alphanumeric

>1 to 255 characters

Enforcement Type The enforcement type and version, for example Sentinel RMS 10.2, Sentinel LDK 10.0, or Sentinel Fit 1.5. Required Read-only
Description Additional information about the license model. Optional

>Alphanumeric

>0 to 500 characters

For descriptions of license-model-specific attributes, see the relevant section in:

> Sentinel RMS Enforcement - License Models

> Sentinel LDK Enforcement - License Models

> Sentinel Fit Enforcement - License Models

> Supported Services License Models

Dynamic Substitution of License Model Attributes

You can dynamically modify string-type license model attributes that are used when activating a license by using dynamic expressions. A dynamic expression is information that changes using dynamic substitution and can be customized as required.

Dynamic expressions help software vendors add business critical payload to their licenses with just a few clicks without having to involve Thales Professional Services. Using dynamic expressions also eliminates the need for custom payload implementations. Vendor users with appropriate permissions can add dynamic information to licensing attributes of a license model. This information is added to licensing attributes of a license model.

Some important points about dynamic expressions are as follows:

>A dynamic expression comprises variables whose values change. You can customize dynamic expressions as required.

>Dynamic expressions are evaluated at the time of activation to generate the license strings.

>The JSON response of the Sentinel EMS REST APIs is used to build a dynamic expression.

>A dynamic expression can be created only for string-type license attributes.

>Dynamic substitution does not support traversing arrays, which means substitutions for lists in response JSONs cannot be performed. The only exception to this rule is custom attributes.

>The Base64 encode option can be used to encode the dynamic expression in Base64 format.

Dynamic Expression Syntax

You can use the JSON response of the provisioning endpoints in the Sentinel EMS REST APIs to build a dynamic expression. Dynamic expressions are similar to variables that are assigned as a value of a licensing attribute. Dynamic expressions are evaluated during activation to generate the license string. The expression is enclosed in curly brackets and preceded by the $ symbol. The value on the left side of the = symbol is the license attribute to which the value of the dynamic expression is assigned. For example:

${name}

In the example above, the computed value of ${name} will be assigned to the license attribute.



Within the curly brackets, you can enclose the dynamic expression in parentheses followed by an ! symbol. This ensures that a null pointer exception is not thrown if the value for the variable is not found. For example:

${(name)!}

In the above example, if ${name} does not have a value, the use of ! (as in the syntax) ensures that an error is not thrown. Another example—if an entitlement does not have a customer, using ${(data.entitlement.customer.name)!} ensures activation.


The JSON response of the Sentinel EMS REST APIs is stored in the data object. With the knowledge of Sentinel EMS REST API JSON response structures, the data object can be referenced to create dynamic expressions. For example:

${(data.entitlement.eid)!} 

In the example above, the dynamic expression is evaluated to display the value of the entitlement ID in an entitlement.

You can include market group information for an entity using the following:

${(data.marketGroup.name)!}  

 

The following table displays some examples for building dynamic expressions:

Dynamic Expression Details

${data.entitlement.externalId}

Evaluate the value inside an object node.

${data.entitlement.customer.id}

Evaluate the value inside an object node nested within another object node.

${(attributeValue("ATTRIBUTE_NAME", data.feature.customAttributes.customAttribute))}

Evaluate the value of a custom attribute by name.

${data.feature.nameVersion.version}|
${data.feature.identifier}|${data.feature.refId2}

Combination of dynamic expressions. You create these combinations by concatenating two or more of any of the examples specified above. Separators (; | , ) can also be used to combine dynamic expressions.

Dynamic Expressions Are Case-Sensitive

To ensure correct evaluation, the letter casing of data objects used in dynamic expressions must be exactly the same as specified in the REST API JSON response.

Incorrect: ${data.Customer.Name}

Correct: ${data.customer.name}

Object Nodes

Object nodes are entity-specific data objects in Sentinel EMS REST APIs that you can use to retrieve information to build your dynamic expression. Some data objects that you can use are:

>feature: The object node that contains information about features and their license models.

>product: The object node that contains information about products, which contain information about features and their associated license models.

> productSuite: The object node that contains information about product suites* (which contain product information).

>productKey: The object node for the line item that is being activated.

>customer: The object node that contains information about the customer.

>entitlement: The object node that contains information about entitlements.

>activation: The object node that contains activation details.

You cannot use the following Sentinel EMS REST API data objects to build dynamic expressions:

>Channel partner lists in entitlements

>Fingerprints in entitlements

>Downloads

Character Substitution in Dynamic Expressions

When using a dynamic expression, an evaluated value may include non-supported characters. Using such characters in your dynamic expression may generate an error. Sentinel EMS provides RMS Substitution Key Value Pair and Fit Substitution Key Value Pair in Administration Console to handle character substitution. If the Base64 encode option is used then the RMS Substitution Key Value Pair and Fit Substitution Key Value Pair properties will be ignored. For more information on these properties, see Administration Console.

Actions for License Models

The following table lists the actions available for license models:

Action Description
Copy button Copy Duplicates an existing license model, enabling you to edit the copy and create a new license model. For more information, see Copying a License Model.
Edit button Edit

Updates information for an existing license model.

Note:

>Only vendor users with appropriate permissions can modify license model details. For information, see Roles.

>You can modify the name, description, and attribute list of a license model.

> You can modify a license model only if it is not included in any product or not set as the default license model if included in a product. 

Delete button

Delete

Deletes a license model. You can delete a license model only if it is not associated with any feature.

Disable button

Enable button

Disable

Enable

Disables or enables a license model.

Note:

>You can disable or enable license models irrespective of the deployment status of the feature in which they are used.

>Disabled license models are not available for new features.