The DB2_EXTSECURITY registry variable determines whether extended security is enabled on Windows. Extended security enables file permissions for all Db2 objects so they can be accessed by users in DB2ADMNS and DB2USERS groups. It is recommended that extended security be enabled. This registry variable only applies to Db2 Servers running on Windows.


Extended security provides file permission protection for Db2 objects when running in a multi-user environment.


Before enabling extended security for an existing installation, you should ensure you have added users to the DB2ADMNS and DB2USERS groups so that you are able to access Db2 once the permission have been applied. Once extended security is enabled, it is not recommended to be directly disabled, instead a full re-install should be used.

Excelent Compliance Solution.

Puppet is an excellent solution to ensure your databases are CIS or STIG compliant. Now you’re looking at information about only one compliance control, but managing total compliance isn’t hard either!

If you you like he prospect of easy way into continuous compliancy with minimal fuss and bother, we suggest taking a look at our solution as your go-to option. Plus, our team can help you get up and running so that you can focus on other areas of your business. What are you waiting for? Get started today!


This control is used in the following benchmarks:


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

1) Add db2_secured::controls::enable_extended_security: skip to your hiera data. This will skip this control for ALL databases.
2) Add db2_secured::controls::enable_extended_security::instance_name::dbname: skip to your hiera data. This will skip this control for specified database only.
3) Add an entry with the content enable_extended_security to the array value db2_secured::skip_list in your hiera data.


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::enable_extended_security