Planning Security for the MicroKernel Engine
After you install PSQL v12, the default behavior for security is the same as the previous release. That is, the database engine uses Classic or OS-based authentication and authorization. Any user with permission to access a given data file through the operating system will have the same level of permission to access the data records contained within the file, unless you are using Btrieve owner names to restrict access to the data files.
This section describes the steps you must follow to set up the default database, authorized users, and other aspects of the Btrieve security policies.
Available Options
There are three security options available to you. The features of these options are described next to help you choose which is best for you. Encryption is optional in every configuration.
*1
*1
1 The login dialog may appear if the requester cannot establish an identity through the operating system.
Under Database security, database user accounts are completely unrelated to OS user accounts.
In contrast, under Classic security, a user who successfully logs into the computer has access to the database contents, at whatever level of file system rights that the user has been assigned to the file that contains the data.
Lastly, the Mixed security policy has aspects of both of the other policies. Under this scheme, users log in using their OS user names and passwords, but then the users access rights to the data are governed by user permissions set up in the database.
Choosing Your Policy
This section describes some of the major reasons you might choose one security policy over another.
Reasons to Choose Classic
Reasons to Choose Mixed
Reasons to Choose Database
Preparing to Set Up Security
Setting up security for the MicroKernel Engine is a simple process, but it affords enough flexibility that some preparation is necessary. This section describes the information you should know before you begin to set up Btrieve security.
How Many Databases?
For Mixed or Database security, you must either assign all users the same level of permissions, or create a set of defined users for each database.
In some cases where your Btrieve data files encompass two or more completely unrelated bodies of data, you may want to set up two or more separate databases, each with its own set of authorized users. Generally speaking, however, you want to minimize the number of separate databases so that you do not have to create and maintain multiple sets of defined users. Often, a single database is sufficient. User permissions within the database will allow you to regulate each user’s access to the database, so you do not need to create separate databases just to limit certain users’ access.
If you determine that you need only one database, you may use the pre-existing database, DefaultDB, as the database associated with your Btrieve files. You may also set up your own named database instead.
Where are the Data Files?
You associate a Btrieve data file with a database by specifying the directory containing the data file as a Data Directory for the given named database. Thus, you need to know the directories containing all the data files that you want to associate with the database. If all the data files reside in a sub-directory tree within a specific directory, all you need to know is the top-level directory path name. You can even use "C:\" if you wish to include all data files on the hard drive.
What are the User Names?
If you plan to use Mixed security, you must either assign all users the same permissions, or set up user accounts for the users whose rights differ. If you are going to set up individual users, you must have a list of the operating system user names that you want to make into database user names. The database user names that you set up must match the operating system user names exactly. You can always add additional user names later, but it is more efficient to create several users at once.
What Security Policy?
Before you set up security, you must know what policy you plan to use. The setup process varies somewhat for each policy. Considerations in choosing a policy are presented in Choosing Your Policy.
Process Overview
This section outlines the high-level procedure used to set up security for a database. Detailed, step-by-step instructions are provided in the section that follows.
1
Preparation. As specified above in Preparing to Set Up Security, gather the information you need and make the decisions necessary to get started. How many databases? Where are the Btrieve files located? What are the user names? What security policy will you use?
2
For details on this step, see To use an existing database, including the predefined DefaultDB, with your PSQL files in PSQL User's Guide.
3
For details on this step, see To turn on security using PSQL Explorer in PSQL User's Guide.
4
For the fastest, easiest way to grant users access, see To assign permissions to all users using PSQL Explorer in PSQL User's Guide.
5
For details on this step, see To set or change the security policy for a database in PSQL User's Guide.
6
Summary of Tasks for MicroKernel Engine Security
The following table illustrates the basic level of effort required using the different security models. The tasks required to implement the security models, see Security Tasks in PSQL User's Guide.