Securing the Campaigns Database
It is strongly recommended that you use Windows Authentication for access to your databases. When you configure your database connection strings for Windows Authentication, you must assign Business Desk users and run-time users (who use an anonymous domain account) the appropriate level of access to your databases.
To help you secure the Campaigns database, Commerce Server includes two security scripts: CampaignReaderRole.sql and CampaignWriterRole.sql. These scripts are located in the Program Files\Microsoft Commerce Server\Support folder.
These scripts create two roles on the Campaigns database, and assign the necessary permissions to the tables and stored procedures:
- CampaignReaderRole. Assign run-time users to this role.
- CampaignWriterRole. Assign design-time users to this role.
Important
- Business Desk users must be assigned to the CampaignWriterRole and the db_datareader role on the Campaigns database.
- To enable Business Desk users to delete campaign items, they must belong to the public role on the Direct Mailer database.
To create the CampaignReaderRole and the CampaignWriterRole
Click Start, point to Programs, point to Microsoft SQL Server, and then click SQL Query Analyzer.
In the Connect to SQL Server dialog box, specify the appropriate SQL server.
In Query Analyzer, in the database drop-down box, select the Campaigns database.
Click File, and then click Open.
Navigate to the scripts located in the Program Files\Microsoft Commerce Server\Support folder, and select CampaignReaderRole.
The script opens and the code appears in the Query Analyzer window.
On the toolbar, click to run the script against the selected database.
Repeat these steps to run the CampaignWriterRole script.
After you create the roles, assign the anonymous run-time user account and the Business Desk group account to the appropriate roles. For instructions, see Assigning SQL Server Database Roles.
The scripts create the roles and grant permissions on the following Campaign tables and stored procedures.
Table name | CampaignReaderRole (Run-time users) |
CampaignWriterRole (Business Desk users) |
---|---|---|
|
Select | Select Update Insert |
|
Select | Select Update Insert |
|
Select | Select Update Insert |
|
Select | Select Update Insert |
|
Select | Select |
|
Select | Select Update Insert |
|
Select | Select Update Insert |
|
Select | Select Update Insert Delete |
|
Select | Select Update Insert Delete |
|
Select | Select |
|
Select | Select |
|
Select | Select Update Insert |
|
No access | Select Update Insert Delete |
|
Select | Select |
|
Select | Select Update Insert Delete |
|
Select | Select Update Insert |
|
Select | Select Update Insert Delete |
|
Select | Select Update Insert Delete |
|
Select | Select Update Insert Delete |
|
Select | Select Update Insert Delete |
|
Select Update Insert |
Select |
|
Select | Select Update Insert Delete |
|
Select | Select Update Insert Delete |
|
Select | Select Update Insert Delete |
|
Select Update Insert |
Select Delete |
Campaigns Stored Procedures
The campaigns security scripts grant permissions on the following stored procedures as shown.
Campaigns stored procedures | CampaignReaderRole (Run-time users) |
CampaignWriterRole (Business Desk users) |
---|---|---|
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
Yes | Yes |
|
Yes | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
|
No | Yes |
List Manager: Dynamic Database Objects
The List Manager Service, which runs under a service account, creates a new table for each list that is imported. For example, it might create the following table:
LM_MAILLIST_40FBCA60_ABE8_4392_BB0B_2B02BA95AE03
The first time the List Manager service is invoked, it finds the appropriate database using its connection string and checks whether the database has the List Manager tables. If it does not, it creates the following two tables:
lm_master
lm_master_operations
When the Direct Mailer job runs and calls the List Manager service, the List Manager also creates tables in the Direct Mailer database.
The following table shows the permissions required by List Manager, Predictor (Commerce Server 2002 Enterprise Edition), Business Desk users, and the run-time users.
Table name | Run-time users | Business Desk users | List Manager Service account | Predictor Service account |
---|---|---|---|---|
Campaigns database | For security requirements, see the Campaigns tables. | For security requirements, see the Campaigns tables. | db_owner role | db_ddladmin db_datawriter db_datareader |
Direct Mailer database | For security requirements, see Securing the Direct Mailer Database. | For security requirements, see Securing the Direct Mailer Database. | db_owner role | No access |
|
No | No | Select Update Insert Delete |
Select Update Insert Delete |
|
No | No | Select Update Insert Delete |
Select Update Insert Delete |
|
No | No | Select Update Insert Delete |
Select Update Insert Delete |
List Manager Stored Procedures
Stored procedure | Run-Time users | Business Desk users | ListManager Service Account |
---|---|---|---|
|
No | No | Yes |
|
No | No | Yes |
|
No | No | Yes |
|
No | No | Yes |
|
No | No | Yes |
|
No | No | Yes |
|
No | No | Yes |
|
No | No | Yes |
|
No | No | Yes |
|
No | No | Yes |
|
No | No | Yes |
|
No | No | Yes |
|
No | No | Yes |
|
No | No | Yes |
|
No | No | Yes |
After these tables and stored procedures are created, if you change the account for List Manager, you must remember to grant the appropriate permissions to the new account.
See Also
Permissions Required to Export Static Reports and Segments to List Manager
Copyright © 2005 Microsoft Corporation.
All rights reserved.