Documentation Nexus IQ Server 1.29

Our documentation site has moved. For the most current version, please see http://help.sonatype.com

9.9. Proprietary Component Configuration

Proprietary components are unique or internal to your organization. When you evaluate an application that uses proprietary components, IQ Server is unlikely to find data about those components; they are probably listed under “Unknown” on the “Policy Violations” tab in the Application Composition Report. However, you can configure IQ Server to recognize those components as proprietary.

When you configure proprietary components, you use system hierarchy levels to set the scope for identifying the components:

  • Root Organization - Identifies proprietary components in every organization and application.
  • Organization - Identifies proprietary components in a particular set of applications.
  • Application - Identifies proprietary components in a single application.

You also specify a string search pattern called a proprietary component matcher that IQ Server uses to find proprietary components. If matching components are found, they are displayed under Proprietary on the Policy Violations tab in the Application Composition Report. There are two types of proprietary component matchers: Package and Regular Expression, which are described below.

Package Matchers

For Package, you specify a package name, for example, com.sonatype. In this case, all components that contain a package com/sonatype will be marked as proprietary. You should be as specific as possible, for the provided package is compared greedily against your scanned binaries. For instance, com.sonatype will match all of the following content locations:

  • com/sonatype
  • com/sonatype/anything
  • com/sonatype/anything/more
  • shaded/and/relocated/com/sonatype
  • shaded/and/relocated/com/sonatype/anything

On the other hand, the following locations will not be matched:

  • org/sonatype
  • com/sonatypestuff
  • com/sonatypestuff/anything

Regular Expression Matchers

For Regular Expression, you specify a regular expression that will be compared against the paths of all files scanned. If a file is found in the path, it is flagged as proprietary. For example, test\.zip will recognize anything in the top level directory named test.zip as proprietary. If you wanted to find test.zip nested anywhere in the scanned binaries, use .*/test\.zip.

[Note]

Occurrences inside an identified archive will make the binary proprietary as well. For example, if a proprietary .zip is found inside a .jar, the .jar is also considered proprietary.

For more information on regular expressions, see Oracle’s Java documentation.

To configure proprietary components:

  1. Click the Organizations & Policies icon figs/web/clm-server-manage-app-org-icon.png on the IQ Server toolbar.
  2. In the sidebar, select the desired organization or application.
  3. In the Policies section, under Proprietary Component Configuration, click the chevron next to the number of matchers (local and/or inherited).
  4. In the Proprietary Component Configuration view, add or remove matchers as desired. To add, select a Package or Regular Expression matcher type and enter a string search value. To remove, click the Delete icon (looks like a trash can) for items in the Local section.
  5. Click Update to modify IQ Server’s list of proprietary component matchers for the selected organization or application.
figs/web/server-proprietary-config.png

Figure 9.13. Proprietary Component Configuration


Usage Suggestions for Proprietary Components
Once proprietary components are configured, you can use a policy to prevent them from triggering policy violations. There is an example of this in the Sonatype Sample Policy Set; the Component-Unknown policy has the following constraint:

The policy is in violation if all of the following are true:

  • Match State is Unknown
  • Proprietary is false

This constraint excludes proprietary components from triggering policy violations.