Puppet controls are Puppet defined types that ensure a certain security control is implemented. Puppet changes the system in order to make the system compliant.

Description of the control

Having roles that have been granted specific privileges, then assigning users to the roles, is usually considered the best way to grant application access. Because granting privileges to individual users can be more difficult to track and maintain against unauthorized access, users should be assigned to organization-defined database roles according to the needs of the business. As users leave the organization or change responsibilities within the organization, the appropriate roles for them change as well, so role membership needs to be reviewed and verified periodically.


Users who have excessive privileges not needed to do their jobs pose an unnecessary risk to the organization as an insider threat.


To deliberately skip this control (e.g. meaning don’t use Puppet to enforce this setting), we provide you with two ways:

1) Add db2_secured::controls::review_role_members: skip to your hiera data. This will skip this control for ALL systems.
3) Add an entry with the content review_role_members to the array value db2_secured::skip_list in your hiera data.


This control is used in the following benchmarks:


Attribute Name Short Description
title The database identifier to apply the control to.


The database identifier to apply the control to.

All controls need an database identifier to apply the control to. Here is a simple example:

db2_secured::controls::control_name { 'db2inst1/MYDB':}

In this example, the string dbinst1 is the instance, the string MYDB is the database to apply the control to.

Back to overview of controls::review_role_members