M
Michael Scott
I am at my wits' end trying to secure a database using DAO rather than
the built-in wizard. Please... someone tell me what I'm doing wrong!
Here are the steps I've taken to secure a target database (which is
currently completely unsecured).
A. Creation of new workgroup file.
1. Created a new workgroup file.
2. Created a new administration user and added it to the "Admins"
group.
3. Created all the necessary users and added them all to the "Users"
group.
4. Created a number of new groups with specific business roles -
DataInput, Manager, ReadOnly, Audit etc.
5. Added each of the new users to the Users collection of one or more
of the new groups, as necessary.
6. Removed the existing "Admin" user from the "Admins" group and
assigned it a password.
B. Assigning permissions.
1. Assigned permission dbSecDBOpen on the database itself (MSysDB) for
each of the new groups I created.
2. Assigned all specific permissions to objects for the new groups I
have created (I am assigning allpermissions to groups, not users)
3. Removed all permissions assigned to user "Admin" and group "Users".
I am doing this by looping through every document in every container,
setting its Owner property (first to "Admin" and then to "Users") and
then setting its Permissions to dbSecNoAccess.
4. Changed the owner of every object in the database by looping as
above and setting the Owner property of each document to the new
administration user I have created.
5. Belt and braces - set the Permission on MSysDb to dbSecNoAccess for
both group "Users" and user "Admin".
When I use the workgroup I have created everything works absolutely as
I think it should, with every user having precisely the permissions I
gave them
The problem is that when I rejoin the system.mdw workgroup I can get
straight into this secured database and have full access to
everything, without being prompted for an ID or password. It seems
that user Admin's permissions have not been revoked.
I'm developing in Access 2003 under XP. Can anyone tell me where I'm
going wrong? Have I missed a step or completely misunderstood
something?
Many thanks.
Michael
the built-in wizard. Please... someone tell me what I'm doing wrong!
Here are the steps I've taken to secure a target database (which is
currently completely unsecured).
A. Creation of new workgroup file.
1. Created a new workgroup file.
2. Created a new administration user and added it to the "Admins"
group.
3. Created all the necessary users and added them all to the "Users"
group.
4. Created a number of new groups with specific business roles -
DataInput, Manager, ReadOnly, Audit etc.
5. Added each of the new users to the Users collection of one or more
of the new groups, as necessary.
6. Removed the existing "Admin" user from the "Admins" group and
assigned it a password.
B. Assigning permissions.
1. Assigned permission dbSecDBOpen on the database itself (MSysDB) for
each of the new groups I created.
2. Assigned all specific permissions to objects for the new groups I
have created (I am assigning allpermissions to groups, not users)
3. Removed all permissions assigned to user "Admin" and group "Users".
I am doing this by looping through every document in every container,
setting its Owner property (first to "Admin" and then to "Users") and
then setting its Permissions to dbSecNoAccess.
4. Changed the owner of every object in the database by looping as
above and setting the Owner property of each document to the new
administration user I have created.
5. Belt and braces - set the Permission on MSysDb to dbSecNoAccess for
both group "Users" and user "Admin".
When I use the workgroup I have created everything works absolutely as
I think it should, with every user having precisely the permissions I
gave them
The problem is that when I rejoin the system.mdw workgroup I can get
straight into this secured database and have full access to
everything, without being prompted for an ID or password. It seems
that user Admin's permissions have not been revoked.
I'm developing in Access 2003 under XP. Can anyone tell me where I'm
going wrong? Have I missed a step or completely misunderstood
something?
Many thanks.
Michael