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

ACCESSCTRL authority is the authority required to grant and revoke privileges on objects within a specific database. Some of these privileges include BINDADD, CONNECT, CREATETAB, CREATE_EXTERNAL_ROUTINE, LOAD, and QUIESCE_CONNECT. It has no inherent privilege to access data stored in tables, except the catalog tables and views. The ACCESSCTRL authority cannot be granted to PUBLIC.


The ACCESSCTRL authority gives the grantee access control to a specified database. With this authority, the grantee can grant/revoke privileges to other users. ACCESSCTRL can be granted to users, groups, or roles, but not PUBLIC. ACCESSCTRL authority can only be granted by the SECADM authority.


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::secure_accessctrl_authority: skip to your hiera data. This will skip this control for ALL systems.
3) Add an entry with the content secure_accessctrl_authority 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::secure_accessctrl_authority