Protecting repository storage tables and granting user permissions

The last step to creating shared repository storage is to specify whether the shared repository storage tables will be protected from unauthorized users.

About this task

Several tables in repository storage are used by QMF to store processing information. Some of these tables store sensitive information, for example the permissions table. By default all users can access these repository storage tables and make changes to the tables. You can choose to protect the repository storage tables. In protection mode the repository storage tables are accessed using a collection of stored procedures or static SQL packages depending on what the database that is hosting the repository storage supports. Users of the repository storage must then be granted permission to run the stored procedures or static SQL packages.

To protect the repository storage tables:

Procedure

  1. Open the Create New Shared Repository Storage wizard and navigate to the Protect repository storage tables page.
  2. Specify whether the shared repository storage tables will be protected from unauthorized users.
    By default the Protection method check box is not selected. This means that all users will have access to the repository storage tables and can make changes to any of those tables. To specify that you will protect the repository storage tables, select the Protection method check box. The fields that you will use to specify the protection method become available.
  3. Select one of the following protection methods:
    • Select Stored procedures to specify that you will use stored procedures to protect the repository storage tables. You can select this option if the repository storage tables are located on one of the following databases:
      • Informix®
      • DB2® UDB LUW V10 and later
      • DB2 iSeries (when accessed with IBM Toolbox JDBC driver)
      • Microsoft SQL Server
    • Select Static SQL packages to specify that you will use static SQL packages to protect the repository storage tables. You can select this option if the repository storage tables are located on a Db2 database that you will connect to using the IBM® DB2 Universal driver for JDBC.
  4. Type, or select from the drop-down list, the name that you want to use to identify the collection of stored procedures or static SQL packages in the Collection ID field.
  5. Optionally you can type the owner name in the Owner ID field, if you work with Db2® databases. The Owner ID provides the administrator privileges to the user who operates under the login without SYSADM authority.
  6. Click Create. The stored procedures are created or the static SQL packages are bound. A message is issued that informs you of the success of the either process. You can also use the Delete button to remove a collection of stored procedures or packages.
  7. Specify which users will have permission to run the stored procedures or static SQL packages for the repository storage tables on this database. To grant permission to all users, enter PUBLIC in the User IDs field and click Grant. To grant permission to specific users, type their user IDs in the field and click Grant. A message is issued that informs you that the selected user IDs have been granted permission to run the stored procedures or packages.

    Optionally, you can revoke permission to run the stored procedures or static SQL packages from any user that is listed in the User IDs list box. To revoke permission from one or more users, highlight one or more of the user IDs and click Revoke. A message is issued informing you that permission to run the stored procedures or static SQL packages has been revoked from the selected user IDs.

  8. Click Finish.
    The repository storage tables are created. The location of the new repository storage tables is listed in the Repositories view. After you have created the shared repository storage in the database, you can add one or more repositories that will share the storage. Each repository that you create can have its own independent objects, security models, and users.