Hierarchy and Inheritance Best Practices

Hierarchy and Inheritance Best Practices

Lifecycle uses a hierarchy model of organizations and applications for configuration management. Configuration is set at the highest required level and inherited downwards.

Lifecycle Hierarchy Model

Level Details
Root Organization - default level for reference policies

- can be renamed to your organization

- uses the static ROOT_ORGANIZATION_ID through the API
Repositories
(Sonatype Firewall)
- container for connect Sonatype Firewall proxy reports

- only for Sonatype Firewall users
Organization - container used to organize application

- free form naming can use prefixes and suffixes

- an internal organization id is set when created

- the "Sandbox Organization" is created by default
Application - a scan point for analysis and reporting

- created with a custom PublicID for scripting and scanning

- free form naming may include version numbers

The following table displays common considerations for organizing your application hierarchy model. The top three (highlighted in yellow) are the most common.

Use case Details
User access control - applications by business units to mirror directory service groups

- access is granted, not revoked
Policy differentiation - applications with shared enforcement requirements

- ie. separating legacy from active development

- ie. enable enforcement for critical applications
Regulatory requirement - sensitive applications which need to remain isolated

- deprecated applications where the component data needs to be retained
Shared configuration - common SCM, grandfathering*, reporting, and monitoring configuration

* As part of our inclusive language initiatives, we have renamed this feature to Legacy Violations starting with release 167.
Reporting grouping - grouping applications together that need to be in a shared report
Micro-service architecture - individual microservices built as an overall application
Application versioning - monitoring multiple active application versions in development and production

Start with an inventory of your applications

Avoid using a complicated hierarchy

Policies are inherited, they cannot be revoked

Pilot enforcement using policy action overrides

Scope policies to an application category when they apply to only a subset of applications

Create policies at the organization or application level when needing a unique requirement

Using organizations for maintenance tasks

Using organization prefixes for sorting