Home All Groups Group Topic Archive Search About

Security without signon

Author
31 Oct 2005 12:56 PM
BPH
I would like to rollout a basic application (1 form, 2 tables) to many users,
but I don't want the users to have to logon to the database with an ID and
Password.  However, I want to ensure they are only able to enter data in the
form and nothing else.  Of course, I would liike the administrator to have
full access.  What is the best way to do this?   Thanks

Author
31 Oct 2005 2:33 PM
Rick Brandt
BPH wrote:
> I would like to rollout a basic application (1 form, 2 tables) to
> many users, but I don't want the users to have to logon to the
> database with an ID and Password.  However, I want to ensure they are
> only able to enter data in the form and nothing else.  Of course, I
> would liike the administrator to have full access.  What is the best
> way to do this?   Thanks

Normally when applying Access User Level Security a primary requirement is
to remove all permissions and ownership from the group "Users" and the user
"Admin".  That is what forces users to use your mdw file and a login.

You can however, give limited permissions to the Users group.  Then any user
(using any mdw file) can open your file, but they are still limited to the
permissions that you granted to the Users group.  There is no need in this
setup to distribute an mdw file.  Anyone who needs to log in with higher
permissions though still needs to use your mdw file so they can log in as a
user with higher authority.

--
I don't check the Email account attached
to this message.     Send instead to...
RBrandt    at       Hunter      dot      com
Author
29 Nov 2005 6:18 PM
BPH
Thank you Rick,  That works except that when trying to limit users from being
able to link to the tables in my database, the users are not restricted.  I
have not split my database (FE/BE) and at this point would prefer not to.  I
have set up the form to run off a RWOP query, and I have removed all access
to the tables from the Users Group.  I have put the database on a network
drive and have not put the security.mdw file with it, thus users are not
prompted for a password.  I would expect that any user linking to the
database from another database would be stopped by not having sufficient
rights inherited from the Users group (I have removed the Admin user from the
Admins group).  But users are able to link to the table with full rights. 
Any thoughts???

Show quoteHide quote
"Rick Brandt" wrote:

> BPH wrote:
> > I would like to rollout a basic application (1 form, 2 tables) to
> > many users, but I don't want the users to have to logon to the
> > database with an ID and Password.  However, I want to ensure they are
> > only able to enter data in the form and nothing else.  Of course, I
> > would liike the administrator to have full access.  What is the best
> > way to do this?   Thanks
>
> Normally when applying Access User Level Security a primary requirement is
> to remove all permissions and ownership from the group "Users" and the user
> "Admin".  That is what forces users to use your mdw file and a login.
>
> You can however, give limited permissions to the Users group.  Then any user
> (using any mdw file) can open your file, but they are still limited to the
> permissions that you granted to the Users group.  There is no need in this
> setup to distribute an mdw file.  Anyone who needs to log in with higher
> permissions though still needs to use your mdw file so they can log in as a
> user with higher authority.
>
> --
> I don't check the Email account attached
> to this message.     Send instead to...
> RBrandt    at       Hunter      dot      com
>
>
>
Author
29 Nov 2005 7:19 PM
Rick Brandt
BPH wrote:
> Thank you Rick,  That works except that when trying to limit users
> from being able to link to the tables in my database, the users are
> not restricted.  I have not split my database (FE/BE) and at this
> point would prefer not to.  I have set up the form to run off a RWOP
> query, and I have removed all access to the tables from the Users
> Group.  I have put the database on a network drive and have not put
> the security.mdw file with it, thus users are not prompted for a
> password.  I would expect that any user linking to the database from
> another database would be stopped by not having sufficient rights
> inherited from the Users group (I have removed the Admin user from
> the Admins group).  But users are able to link to the table with full
> rights. Any thoughts???

Does the default user "Admin" own the database ir any of the objects within?
Owners have rights above and beyond those that are explicitly granted to
them.

--
I don't check the Email account attached
to this message.     Send instead to...
RBrandt    at       Hunter      dot      com
Author
29 Nov 2005 10:18 PM
BPH
OK, I have changed the owner of the database and the tables to a user (my
user id).  As an added precaution, I created a new (non-default) admin group
called SBAdmin and assigned full rights to the tables to this group and
removed all table rights from the default Admins group. 

However, users are still able to link to the tables with full rights. 
Further, if they open the database (I temporarily allowed Shiftkeybypass for
testing purposes) they have full rights to the tables as well.  The user is
using their default security.mdw file but seems to gain access to the tables
via the Admins group (all rights are checked for this group, but not checked
for the user Admin or for the group Users), despite the fact that I have
explicitly removed table access from the Admins group.  Is there something I
have to do to ensure my access changes take effect? 

Thanks for your continued help.

Show quoteHide quote
"Rick Brandt" wrote:

> BPH wrote:
> > Thank you Rick,  That works except that when trying to limit users
> > from being able to link to the tables in my database, the users are
> > not restricted.  I have not split my database (FE/BE) and at this
> > point would prefer not to.  I have set up the form to run off a RWOP
> > query, and I have removed all access to the tables from the Users
> > Group.  I have put the database on a network drive and have not put
> > the security.mdw file with it, thus users are not prompted for a
> > password.  I would expect that any user linking to the database from
> > another database would be stopped by not having sufficient rights
> > inherited from the Users group (I have removed the Admin user from
> > the Admins group).  But users are able to link to the table with full
> > rights. Any thoughts???
>
> Does the default user "Admin" own the database ir any of the objects within?
> Owners have rights above and beyond those that are explicitly granted to
> them.
>
> --
> I don't check the Email account attached
> to this message.     Send instead to...
> RBrandt    at       Hunter      dot      com
>
>
>
Author
30 Nov 2005 6:14 PM
Joan Wild
I am thinking that you didn't create a new workgroup file to secure it with.
That is still a requirement.

Create a new workgroup file; secure it, but grant limited permissions to the
Users Group.  Distribute the mdb without your workgroup file.


--
Joan Wild
Microsoft Access MVP

BPH wrote:
Show quoteHide quote
> OK, I have changed the owner of the database and the tables to a user
> (my user id).  As an added precaution, I created a new (non-default)
> admin group called SBAdmin and assigned full rights to the tables to
> this group and removed all table rights from the default Admins group.
>
> However, users are still able to link to the tables with full rights.
> Further, if they open the database (I temporarily allowed
> Shiftkeybypass for testing purposes) they have full rights to the
> tables as well.  The user is using their default security.mdw file
> but seems to gain access to the tables via the Admins group (all
> rights are checked for this group, but not checked for the user Admin
> or for the group Users), despite the fact that I have explicitly
> removed table access from the Admins group.  Is there something I
> have to do to ensure my access changes take effect?
>
> Thanks for your continued help.
>
> "Rick Brandt" wrote:
>
>> BPH wrote:
>>> Thank you Rick,  That works except that when trying to limit users
>>> from being able to link to the tables in my database, the users are
>>> not restricted.  I have not split my database (FE/BE) and at this
>>> point would prefer not to.  I have set up the form to run off a RWOP
>>> query, and I have removed all access to the tables from the Users
>>> Group.  I have put the database on a network drive and have not put
>>> the security.mdw file with it, thus users are not prompted for a
>>> password.  I would expect that any user linking to the database from
>>> another database would be stopped by not having sufficient rights
>>> inherited from the Users group (I have removed the Admin user from
>>> the Admins group).  But users are able to link to the table with
>>> full rights. Any thoughts???
>>
>> Does the default user "Admin" own the database ir any of the objects
>> within? Owners have rights above and beyond those that are
>> explicitly granted to them.
>>
>> --
>> I don't check the Email account attached
>> to this message.     Send instead to...
>> RBrandt    at       Hunter      dot      com
Author
30 Nov 2005 2:49 AM
jacksonmacd
I think that your requirements are mutually exclusive. AFAIK, the
owner of the RWOP query must exist *in* the workgroup file that is in
effect during the Access session. In other words, the users must log
onto a special workgroup file that contains the query owner. But your
main requirement is that they *not* be required to logon. I don't see
how those two requirements can co-exist.

But I may be wrong... If so, I am sure somebody will correct me.

WRT their ability to link to the tables -- if they have read
permissions on the tables, they *will* be able to link to them. Can't
have it both ways...

Split or no split is irrelevant for the security. However, split is
highly recommended.

On Tue, 29 Nov 2005 10:18:05 -0800, BPH
<B**@discussions.microsoft.com> wrote:

Show quoteHide quote
>Thank you Rick,  That works except that when trying to limit users from being
>able to link to the tables in my database, the users are not restricted.  I
>have not split my database (FE/BE) and at this point would prefer not to.  I
>have set up the form to run off a RWOP query, and I have removed all access
>to the tables from the Users Group.  I have put the database on a network
>drive and have not put the security.mdw file with it, thus users are not
>prompted for a password.  I would expect that any user linking to the
>database from another database would be stopped by not having sufficient
>rights inherited from the Users group (I have removed the Admin user from the
>Admins group).  But users are able to link to the table with full rights. 
>Any thoughts???
>
>"Rick Brandt" wrote:
>
>> BPH wrote:
>> > I would like to rollout a basic application (1 form, 2 tables) to
>> > many users, but I don't want the users to have to logon to the
>> > database with an ID and Password.  However, I want to ensure they are
>> > only able to enter data in the form and nothing else.  Of course, I
>> > would liike the administrator to have full access.  What is the best
>> > way to do this?   Thanks
>>
>> Normally when applying Access User Level Security a primary requirement is
>> to remove all permissions and ownership from the group "Users" and the user
>> "Admin".  That is what forces users to use your mdw file and a login.
>>
>> You can however, give limited permissions to the Users group.  Then any user
>> (using any mdw file) can open your file, but they are still limited to the
>> permissions that you granted to the Users group.  There is no need in this
>> setup to distribute an mdw file.  Anyone who needs to log in with higher
>> permissions though still needs to use your mdw file so they can log in as a
>> user with higher authority.
>>
>> --
>> I don't check the Email account attached
>> to this message.     Send instead to...
>> RBrandt    at       Hunter      dot      com
>>
>>
>>

**********************
jackmacMACdon***@telusTELUS.net
remove uppercase letters for true email
http://www.geocities.com/jacksonmacd/ for info on MS Access security
Author
30 Nov 2005 4:11 AM
TC
jacksonmacd wrote:

> AFAIK, the
> owner of the RWOP query must exist *in* the workgroup file that is in
> effect during the Access session.

True.

> In other words, the users must log
> onto a special workgroup file that contains the query owner.

That doesn't follow imho. He only has to log on if the Admin user has a
password (as you know). If he used a shortcut with the /wrkgrp switch,
but the Admin user of that workgroup file did not have a password, he'd
be seeing the right user(s), but he would not have to log on.

HTH,
TC
Author
30 Nov 2005 2:01 PM
jacksonmacd
Show quote Hide quote
On 29 Nov 2005 20:11:57 -0800, "TC" <aatcbbtcc***@yahoo.com> wrote:

>
>jacksonmacd wrote:
>
>> AFAIK, the
>> owner of the RWOP query must exist *in* the workgroup file that is in
>> effect during the Access session.
>
>True.
>
>> In other words, the users must log
>> onto a special workgroup file that contains the query owner.
>
>That doesn't follow imho. He only has to log on if the Admin user has a
>password (as you know). If he used a shortcut with the /wrkgrp switch,
>but the Admin user of that workgroup file did not have a password, he'd
>be seeing the right user(s), but he would not have to log on.


You are correct.

Whether or not this is applicable to the OP depends on whether he is
prepared to distribute the workgroup file plus shortcut. I was
assuming that he wanted to use any arbitrary workgroup file without
employing a shortcut. He would also be stymied if he wanted
double-click access to the MDB file.

>
>HTH,
>TC

**********************
jackmacMACdon***@telusTELUS.net
remove uppercase letters for true email
http://www.geocities.com/jacksonmacd/ for info on MS Access security
Author
30 Nov 2005 2:08 PM
BPH
So if I understand both of you correctly, despite the fact that I have set up
a RWOP query, the fact that the user was not using the Security.mdw file
where I established secuirty makes the RWOP setting mute as the user was not
using this, rather the form worked because they had underlying access to the
table.  I understand this, and it seems then that my requirements conflict.

However, I still don't understand why my security settings for the tables
haven't taken effect for users logging onto the DB without access to my
security.mdw file.  Remember, I removed all access to the tables from
everyone but members of SBAdmins group, but users can link to the table. 
Coincidentally, when I try to test the access by changing the name of the
security.mdw so I effectively simulate a user, then I am restricted from
linking the tables and it seems to work as I would like it (I use a default
security.mdw file and am on as admin, not the owner - this is strange and
frustrating). 

Even though once I understand this, it seems my design is still flawed
because of the points above.

Thanks
Show quoteHide quote
"TC" wrote:

>
> jacksonmacd wrote:
>
> > AFAIK, the
> > owner of the RWOP query must exist *in* the workgroup file that is in
> > effect during the Access session.
>
> True.
>
> > In other words, the users must log
> > onto a special workgroup file that contains the query owner.
>
> That doesn't follow imho. He only has to log on if the Admin user has a
> password (as you know). If he used a shortcut with the /wrkgrp switch,
> but the Admin user of that workgroup file did not have a password, he'd
> be seeing the right user(s), but he would not have to log on.
>
> HTH,
> TC
>
>
Author
1 Dec 2005 4:20 AM
jacksonmacd
Sorry... I don't know. I went thru the same steps and *was* denied the
ability to link to the tables when logged on as an unpriviledged user.


On Wed, 30 Nov 2005 06:08:02 -0800, BPH
<B**@discussions.microsoft.com> wrote:

Show quoteHide quote
>So if I understand both of you correctly, despite the fact that I have set up
>a RWOP query, the fact that the user was not using the Security.mdw file
>where I established secuirty makes the RWOP setting mute as the user was not
>using this, rather the form worked because they had underlying access to the
>table.  I understand this, and it seems then that my requirements conflict.
>
>However, I still don't understand why my security settings for the tables
>haven't taken effect for users logging onto the DB without access to my
>security.mdw file.  Remember, I removed all access to the tables from
>everyone but members of SBAdmins group, but users can link to the table. 
>Coincidentally, when I try to test the access by changing the name of the
>security.mdw so I effectively simulate a user, then I am restricted from
>linking the tables and it seems to work as I would like it (I use a default
>security.mdw file and am on as admin, not the owner - this is strange and
>frustrating). 
>
>Even though once I understand this, it seems my design is still flawed
>because of the points above.
>
>Thanks
>"TC" wrote:
>
>>
>> jacksonmacd wrote:
>>
>> > AFAIK, the
>> > owner of the RWOP query must exist *in* the workgroup file that is in
>> > effect during the Access session.
>>
>> True.
>>
>> > In other words, the users must log
>> > onto a special workgroup file that contains the query owner.
>>
>> That doesn't follow imho. He only has to log on if the Admin user has a
>> password (as you know). If he used a shortcut with the /wrkgrp switch,
>> but the Admin user of that workgroup file did not have a password, he'd
>> be seeing the right user(s), but he would not have to log on.
>>
>> HTH,
>> TC
>>
>>

**********************
jackmacMACdon***@telusTELUS.net
remove uppercase letters for true email
http://www.geocities.com/jacksonmacd/ for info on MS Access security
Author
30 Nov 2005 6:13 PM
Joan Wild
jacksonmacd wrote:
> I think that your requirements are mutually exclusive. AFAIK, the
> owner of the RWOP query must exist *in* the workgroup file that is in
> effect during the Access session. In other words, the users must log
> onto a special workgroup file that contains the query owner.

That is not true.  The production workgroup file does not need to have the
owner in it for a RWOP query to work.

--
Joan Wild
Microsoft Access MVP
Author
1 Dec 2005 12:26 AM
BPH
Joan, that is good news for me, but then takes me back to my original
question.  Do you know why the security I have applied to the tables in my
database does not seem to restrict users from linking to the table when they
access the database via their default security.mdw?

Show quoteHide quote
"Joan Wild" wrote:

> jacksonmacd wrote:
> > I think that your requirements are mutually exclusive. AFAIK, the
> > owner of the RWOP query must exist *in* the workgroup file that is in
> > effect during the Access session. In other words, the users must log
> > onto a special workgroup file that contains the query owner.
>
> That is not true.  The production workgroup file does not need to have the
> owner in it for a RWOP query to work.
>
> --
> Joan Wild
> Microsoft Access MVP
>
>
>
Author
1 Dec 2005 4:17 PM
Joan Wild
As I said in my other reply, your symptoms tell me that you either secured
it using system.mdw or a copy of it.

There are steps at http://www.jmwild.com/SecureNoLogin.htm


--
Joan Wild
Microsoft Access MVP

BPH wrote:
Show quoteHide quote
> Joan, that is good news for me, but then takes me back to my original
> question.  Do you know why the security I have applied to the tables
> in my database does not seem to restrict users from linking to the
> table when they access the database via their default security.mdw?
>
> "Joan Wild" wrote:
>
>> jacksonmacd wrote:
>>> I think that your requirements are mutually exclusive. AFAIK, the
>>> owner of the RWOP query must exist *in* the workgroup file that is
>>> in effect during the Access session. In other words, the users must
>>> log onto a special workgroup file that contains the query owner.
>>
>> That is not true.  The production workgroup file does not need to
>> have the owner in it for a RWOP query to work.
>>
>> --
>> Joan Wild
>> Microsoft Access MVP
Author
1 Dec 2005 4:15 AM
jacksonmacd
On Wed, 30 Nov 2005 13:13:08 -0500, "Joan Wild"
<jwild@nospamtyenet.com> wrote:

>jacksonmacd wrote:
>> I think that your requirements are mutually exclusive. AFAIK, the
>> owner of the RWOP query must exist *in* the workgroup file that is in
>> effect during the Access session. In other words, the users must log
>> onto a special workgroup file that contains the query owner.
>
>That is not true.  The production workgroup file does not need to have the
>owner in it for a RWOP query to work.


I stand corrected.

**********************
jackmacMACdon***@telusTELUS.net
remove uppercase letters for true email
http://www.geocities.com/jacksonmacd/ for info on MS Access security
Author
1 Dec 2005 6:24 AM
TC
Joan Wild wrote:
> jacksonmacd wrote:
> > I think that your requirements are mutually exclusive. AFAIK, the
> > owner of the RWOP query must exist *in* the workgroup file that is in
> > effect during the Access session. In other words, the users must log
> > onto a special workgroup file that contains the query owner.
>
> That is not true.  The production workgroup file does not need to have the
> owner in it for a RWOP query to work.


Um, are you sure? An RWOP query is executed with the permissions of the
user who owns the query. If that user does not exist in the current
workgroup file, those permisions will be "nil", AFAIK.

If you can contradict this, I'd be interested in a small example db &
mdw (preferably in A97 format) that I could take a look at with my
various tools.

Cheers,
TC
Author
1 Dec 2005 1:49 PM
BPH
Show quote Hide quote
>
> Joan Wild wrote:
> > jacksonmacd wrote:
> > > I think that your requirements are mutually exclusive. AFAIK, the
> > > owner of the RWOP query must exist *in* the workgroup file that is in
> > > effect during the Access session. In other words, the users must log
> > > onto a special workgroup file that contains the query owner.
> >
> > That is not true.  The production workgroup file does not need to have the
> > owner in it for a RWOP query to work.
>
>
> Um, are you sure? An RWOP query is executed with the permissions of the
> user who owns the query. If that user does not exist in the current
> workgroup file, those permisions will be "nil", AFAIK.

Well TC, I am no MVP, but I can tell you what I am seeing.  When the
database is distributed without the security file, and a user opens the
database, they gain full access to the "restricted" tables via the ADMINS
group.  Therefore, their permissions are not "nil" but rather FULL.  Perhaps
this is due to the fact that when I check the owner of all the objects as a
user logged in with their default security.mdw file, the owner appears as
"<unknown>"?  Thus the tables are not secure despite the fact that I have
secured them.  At this point the RWOP is not the problem.  Still looking for
ideas on how to ensure the tables are secure.  Thanks.


Show quoteHide quote
> If you can contradict this, I'd be interested in a small example db &
> mdw (preferably in A97 format) that I could take a look at with my
> various tools.
>
> Cheers,
> TC
>
>
Author
2 Dec 2005 2:11 AM
TC
Sorry, I really can't comment on your setup without following through
it all, detail. I just picked up on the comments regarding RWOP queries
& the owners thereof. I'm sure the others will help you get it sorted
:-)

TC
Author
1 Dec 2005 4:16 PM
Joan Wild
TC wrote:
>>
>> That is not true.  The production workgroup file does not need to
>> have the owner in it for a RWOP query to work.
>
> Um, are you sure? An RWOP query is executed with the permissions of
> the user who owns the query. If that user does not exist in the
> current workgroup file, those permisions will be "nil", AFAIK.

I'm positive.  I never ship the workgroup file that was used to secure a
database; always a production mdw.  The development mdw contains the user
that is owner, the production does not.


--
Joan Wild
Microsoft Access MVP
Author
2 Dec 2005 2:09 AM
TC
Could you post a small example mdb & mdw where I can get at them?

TC
Author
2 Dec 2005 2:45 AM
jacksonmacd
TC

I think Joan is right on this one -- although it contradicts what I
*thought* was correct. The attached A97 file has one secured table and
one RWOP query. I can open the query when Access is running under my
non-secured workgroup file, but I am denied permission to the
underlying table.

Contrary to the OP -- and what I would expect -- attempting to link to
the table from a different MDB file does not succeed.



On 1 Dec 2005 18:09:22 -0800, "TC" <aatcbbtcc***@yahoo.com> wrote:

>Could you post a small example mdb & mdw where I can get at them?
>
>TC

**********************
jackmacMACdon***@telusTELUS.net
remove uppercase letters for true email
http://www.geocities.com/jacksonmacd/ for info on MS Access security
Author
2 Dec 2005 2:55 AM
TC
Jack, I can't see the attachment. I use google groups for most of my
usenet work, maybe they don't allow attachments?

Could you email it to me please?  My address is aatcbbtccctc <you know
what comes here> Yahoo dot com.

Thanks,
TC
Author
2 Dec 2005 2:50 AM
jacksonmacd
TC

I think Joan is right on this one -- although it contradicts what I
*thought* was correct. Tried to attach a file to this message, but it
was rejected. Can you provide an email address or site for posting?

In the demo A97 file, I can open the query when Access is running
under my non-secured workgroup file, but I am denied permission to the
underlying table.

Contrary to the OP -- and what I would expect -- attempting to link to
the table from a different MDB file does not succeed.


On 1 Dec 2005 18:09:22 -0800, "TC" <aatcbbtcc***@yahoo.com> wrote:

>Could you post a small example mdb & mdw where I can get at them?
>
>TC

**********************
jackmacMACdon***@telusTELUS.net
remove uppercase letters for true email
http://www.geocities.com/jacksonmacd/ for info on MS Access security
Author
2 Dec 2005 7:15 AM
TC
Sorry, I just saw this. I think our posts got out of synch!

Please send the files to aatcbbtccctc (you know what comes here) Yahoo
dooooot com :-)

TC
Author
2 Dec 2005 9:13 PM
Joan Wild
If I felt better, I would take the time to do this.  However I would think
with your knowledge of security, that you could just as easily test this
yourself using Northwind.

--
Joan Wild
Microsoft Access MVP

TC wrote:
Show quoteHide quote
> Could you post a small example mdb & mdw where I can get at them?
>
> TC
Author
2 Dec 2005 9:17 PM
Joan Wild
You know, when you think about it, it makes sense that the owner doesn't
have to be in the mdw.  Permissions are stored in the mdb (and the rwop
flag).  The mdb just needs to know that it is RWOP, and what the owner
permissions are, to run the query.

--
Joan Wild
Microsoft Access MVP

TC wrote:
Show quoteHide quote
> Could you post a small example mdb & mdw where I can get at them?
>
> TC
Author
3 Dec 2005 8:43 AM
TC
Yes, you are right.

The database file does not need the workgroup file, in order to know:
- that the query is an RWOP query;
- what SID owns the RWOP query, and
- what permissions that SID has, to other objects in that database.

So, if an RWOP query is executed: "with the permissions of the user who
owns that query", then, it would seem that the database file has all
the information that it needs to do that, regardless of whether a user
with that SID does or doesn't exist in the current workgroup file.

With one exception!  (luckily for me!!)

When you are using a workgroup file in which the owner of the RWOP
query /does/ exist, the query would also have the permissions of all of
the groups to which that owner/user belonged. For example, the RWOP
query might obtain some extra permissions from its owner being a member
of the BlahBlah group. But in a workgroup file where the owner of the
RWOP query does /not/ exist, those group-based permissions would not be
added to the query.

So it is quite possible that the RWOP query would work 100% correctly
when its owner /does/ exist in the current workgroup, file, but not
when that user does not.

My error, as I see now, was in saying that an RWOP query will /never/
work when the owner of that query does not exist in the current
workgroup file. I should hav said, "an RWOP query will probably BUT NOT
NECESSARILY work corectly, when its owner is not a member of the
current workgroup file".

Gasp!
TC
Author
3 Dec 2005 8:16 PM
Joan Wild
TC wrote:
>
> With one exception!  (luckily for me!!)
>
> When you are using a workgroup file in which the owner of the RWOP
> query /does/ exist, the query would also have the permissions of all
> of the groups to which that owner/user belonged. For example, the RWOP
> query might obtain some extra permissions from its owner being a
> member of the BlahBlah group.

I disagree.  The query would only have permissions for the BlahBlah group,
if that group were given permissions on the query.

> So it is quite possible that the RWOP query would work 100% correctly
> when its owner /does/ exist in the current workgroup, file, but not
> when that user does not.

Again I disagree.  The RWOP query will work 100% whether the owner is in the
mdw or not.  Please describe a scenario where it wouldn't.


--
Joan Wild
Microsoft Access MVP
Author
4 Dec 2005 8:09 AM
TC
Ok, clearly we won't resolve this by further theory-based discussion.
I'll do some actual experiements & reply in due course. But that will
have to fit within the requirements of other work on my plate.

Cheers,
TC
Author
28 Jan 2009 1:10 AM
Zardoz
Sorry to post so long after the fact, but I just came upon this very
interesting discussion while researching my own related problem with RWOP
queries.

After seeing Joan state so unequivocally that RWOP queries will work even if
the owner is not in the production mdw, I decided to investigate further why
this was not my experience.  Turns out that she is right, of course, but I'll
share with you why it wasn't working for me.

The owner of all of the objects in my front-end mdb, including the queries,
was an individual "super user" (i.e., not a group).  When I secured the
back-end mdb, I gave table permissions to the administrator group (not
Admins) that this user was a member of and gave no table permissions
explicitly to the individual "super user", assuming that permissions would
flow through to the "super user" by virtue of membership in the administrator
group.

Well, with one important 'Gotcha', it appears as if the permissions do flow
through as you would normally expect, as the "Super User" was able to access
the tables as per usual.  However, anyone using the default System mdw would
get error 3112 (no read permission) even though the default Admin user had
appropriate permissions on the queries in the secured front-end.  When I
changed security in the back-end so that the "Super User" was explicitly
granted permissions on the tables, then everything worked for users with the
default System mdw just as Joan suggested it would.

So the 'Gotcha' is that, with RWOP queries, permissions do not flow-through
from a Group to a user.  If an individual user is specified as the owner of
the query, then for that query to work as a RWOP query, that individual owner
must have explicit permissions on the back-end table, not permissions that
are inherited by virtue of group membership.

It will also work if the owner of the query is a group and the group has
permissions on the back-end table.  You can change the ownership of the query
to a group if you want.  The important point is that the names must
match--the owner of the query must also have explicit permissions on the
back-end table, whether that be a group or an individual user.
Author
28 Jan 2009 6:55 PM
Joan Wild
Not my experience.  I have never had to give the query owner explicit
permissions on the tables (shouldn't need to since the query owner is
the owner of the tables as well).

Your super user should not need to inherit any permissions from any
group, as the owner trumps all.

Your explanation makes sense to me, but only if Super User did not own
the tables.

Joan

Zardoz wrote:
Show quoteHide quote
> Sorry to post so long after the fact, but I just came upon this very
> interesting discussion while researching my own related problem with RWOP
> queries.
>
> After seeing Joan state so unequivocally that RWOP queries will work even if
> the owner is not in the production mdw, I decided to investigate further why
> this was not my experience.  Turns out that she is right, of course, but I'll
> share with you why it wasn't working for me.
>
> The owner of all of the objects in my front-end mdb, including the queries,
> was an individual "super user" (i.e., not a group).  When I secured the
> back-end mdb, I gave table permissions to the administrator group (not
> Admins) that this user was a member of and gave no table permissions
> explicitly to the individual "super user", assuming that permissions would
> flow through to the "super user" by virtue of membership in the administrator
> group.
>
> Well, with one important 'Gotcha', it appears as if the permissions do flow
> through as you would normally expect, as the "Super User" was able to access
> the tables as per usual.  However, anyone using the default System mdw would
> get error 3112 (no read permission) even though the default Admin user had
> appropriate permissions on the queries in the secured front-end.  When I
> changed security in the back-end so that the "Super User" was explicitly
> granted permissions on the tables, then everything worked for users with the
> default System mdw just as Joan suggested it would.
>
> So the 'Gotcha' is that, with RWOP queries, permissions do not flow-through
> from a Group to a user.  If an individual user is specified as the owner of
> the query, then for that query to work as a RWOP query, that individual owner
> must have explicit permissions on the back-end table, not permissions that
> are inherited by virtue of group membership.
>
> It will also work if the owner of the query is a group and the group has
> permissions on the back-end table.  You can change the ownership of the query
> to a group if you want.  The important point is that the names must
> match--the owner of the query must also have explicit permissions on the
> back-end table, whether that be a group or an individual user.
Author
29 Jan 2009 10:02 PM
Zardoz
Thanks for the response, Joan.  You gave me more pause for thought, just when
I thought I had a handle on this.

I double- and triple-checked, and the superuser is the owner of the tables
in the backend database.

I have retested this scenario several times, and my original findings hold,
but I can add one more piece to the apparent puzzle.

Recall that the superuser is the member of a 'supergroup', and the
'supergroup' has explicit permissions on the tables in the backend database
but the superuser does not have any explicit permissions on the tables in the
backend database.

When I go in as the Admin user using the mdw that I used to secure the
database, everything works fine.

However, as noted above, when I go in as the Admin user using the default
System.mdw, error 3112 is generated (no permissions on the table).  If I give
the superuser explicit permissions on the table, then this error goes away
and everything works fine.

Any suggestions on what else I can check?
Thanks.

Show quoteHide quote
"Joan Wild" wrote:

> Not my experience.  I have never had to give the query owner explicit
> permissions on the tables (shouldn't need to since the query owner is
> the owner of the tables as well).
>
> Your super user should not need to inherit any permissions from any
> group, as the owner trumps all.
>
> Your explanation makes sense to me, but only if Super User did not own
> the tables.
>
> Joan
>
> Zardoz wrote:
> > Sorry to post so long after the fact, but I just came upon this very
> > interesting discussion while researching my own related problem with RWOP
> > queries.
> >
> > After seeing Joan state so unequivocally that RWOP queries will work even if
> > the owner is not in the production mdw, I decided to investigate further why
> > this was not my experience.  Turns out that she is right, of course, but I'll
> > share with you why it wasn't working for me.
> >
> > The owner of all of the objects in my front-end mdb, including the queries,
> > was an individual "super user" (i.e., not a group).  When I secured the
> > back-end mdb, I gave table permissions to the administrator group (not
> > Admins) that this user was a member of and gave no table permissions
> > explicitly to the individual "super user", assuming that permissions would
> > flow through to the "super user" by virtue of membership in the administrator
> > group.
> >
> > Well, with one important 'Gotcha', it appears as if the permissions do flow
> > through as you would normally expect, as the "Super User" was able to access
> > the tables as per usual.  However, anyone using the default System mdw would
> > get error 3112 (no read permission) even though the default Admin user had
> > appropriate permissions on the queries in the secured front-end.  When I
> > changed security in the back-end so that the "Super User" was explicitly
> > granted permissions on the tables, then everything worked for users with the
> > default System mdw just as Joan suggested it would.
> >
> > So the 'Gotcha' is that, with RWOP queries, permissions do not flow-through
> > from a Group to a user.  If an individual user is specified as the owner of
> > the query, then for that query to work as a RWOP query, that individual owner
> > must have explicit permissions on the back-end table, not permissions that
> > are inherited by virtue of group membership.
> >
> > It will also work if the owner of the query is a group and the group has
> > permissions on the back-end table.  You can change the ownership of the query
> > to a group if you want.  The important point is that the names must
> > match--the owner of the query must also have explicit permissions on the
> > back-end table, whether that be a group or an individual user.
>
Author
30 Jan 2009 1:24 AM
David W. Fenton
=?Utf-8?B?WmFyZG96?= <Zar***@discussions.microsoft.com> wrote in
news:254F0D98-752F-43B4-9D11-D9076E432BF0@microsoft.com:

> I double- and triple-checked, and the superuser is the owner of
> the tables in the backend database.

What about the table links in the front end? Permissions on those
are completely independent of the back-end table permissions.

--
David W. Fenton                  http://www.dfenton.com/
usenet at dfenton dot com    http://www.dfenton.com/DFA/
Author
30 Jan 2009 5:11 PM
Zardoz
Thanks for the suggestion, David.  I rechecked the ownership of the front-end
table objects (which as you state are just links to the back-end) and the
owner of these objects is my SuperUser, so I don't think that's it.  But
please keep the ideas coming.

One thing I noticed is that, when a query is set as RWOP (in the
RunPermissions property of the query), I cannot change the owner of the
query, even when I am logged in as the owner of the query (i.e., as the
SuperUser).  I would get the message "You don't have permission to change the
owner of <Name of query>.  To change the owner of a database object, you must
have Administer permission for it...."  My SuperUser does have Administer
permission for all queries.  This had me wondering whether somehow my
SuperUser was not actually being recognized as the owner of the query.  But
when I researched this, I found that this behaviour is actually by design, at
least in MS Access 2000 (see http://support.microsoft.com/kb/208929) and
earlier versions (see http://support.microsoft.com/kb/120885).  I am using MS
Access 2003, and I could not find a similar article for my version,, but
presumably this behaviour continues to be by design.

So my situation continues to be that, using RWOP queries, I can achieve what
the title of this thread refers to as 'security without signon' only if the
owner of the RWOP query is given explicit permissions on the back-end tables
rather than inherited permissions by virtue of group membership.  This is
fine for my purposes, but given Joan's statements above, it sounds as if this
should work with inherited permissions as well, in which case I would like to
understand why this isn't working for me in case there is an underlying
problem with my security implementation.

Actually, the more I think about this, the more I am convinced that my
findings make sense, which leads me to wonder whether my scenario is somehow
different from the one implied by Joan.  It is the different experiences of
the default Admin user in my scenario that might be the key to understanding
what is going on here.

As we know, the default Admin user is the same across all mdw files.  There
are two mdw files at play in my scenario:  the one that I created to secure
my database (SecureMDW), and the default one that comes with Access
(SystemMDW).  SystemMDW contains the default Admin user account plus the two
default group accounts (Admins, Users).  SecureMDW contains these default
accounts plus the account for my SuperUser and the account for my SuperGroup,
and SuperUser is a member of SuperGroup.

If I log in as the Admin user through SecureMDW, inherited permissions
(through SuperUser's membership in SuperGroup) work; if I log in as the Admin
user through SystemMDW, inherited permissions do not work.

What I suspect is happening is that the Admin user (or any user) connecting
through SecureMDW can see that SuperUser is a member of SuperGroup because
these accounts and this membership is defined within SecureMDW.  The Admin
user connecting through SystemMDW knows nothing about the existence of
accounts for SuperUser or SuperGroup (and certainly does not know that
SuperUser is a member of SuperGroup) because these accounts and membership do
not exist in SystemMDW.

Both Admin users will see that someone named SuperUser is the owner of the
objects in the database (such as queries, etc.) because object ownership is
part of the permissions that reside with the database file.  When SuperUser's
back-end table permssions are inherited through SuperGroup, the SecureMDW
Admin user will recognize SuperGroup is (because SuperGroup is also a member
of SecureMDW) and will be able to trace this inheritance back to recognize
that the owner of the query also has permissions on the back-end table;
however, SystemMDW Admin user will have no idea who this SuperGroup is
(because SuperGroup is not defined in SystemMDW) and, since SuperGroup is
different from the name of the owner of the query (SuperUser), this Admin
user will conclude that the query owner (SuperUser) does not have any
permissions on the back-end table.

My only hesitation in thinking that this is reasonably correct is that Joan
has asserted above that inherited permissions should work in this context and
that her users use the production mdw (which I assume is SystemMDW) and she
has never had to give explicit back-end table permissions to the query owner.
So I am hoping that her scenario is somehow different from mine; otherwise,
I will still have some work to do to understand why inherited permissions are
not working for me.  

Show quoteHide quote
"David W. Fenton" wrote:

> =?Utf-8?B?WmFyZG96?= <Zar***@discussions.microsoft.com> wrote in
> news:254F0D98-752F-43B4-9D11-D9076E432BF0@microsoft.com:
>
> > I double- and triple-checked, and the superuser is the owner of
> > the tables in the backend database.
>
> What about the table links in the front end? Permissions on those
> are completely independent of the back-end table permissions.
>
> --
> David W. Fenton                  http://www.dfenton.com/
> usenet at dfenton dot com    http://www.dfenton.com/DFA/
>
Author
30 Jan 2009 6:19 PM
Joan Wild
The only thing I see different, is that I use the Admins Group in
securemdw, whereas you created a separate SuperGroup.

Joan Wild
MS Access MVP

Zardoz wrote:
Show quoteHide quote
> Thanks for the suggestion, David.  I rechecked the ownership of the front-end
> table objects (which as you state are just links to the back-end) and the
> owner of these objects is my SuperUser, so I don't think that's it.  But
> please keep the ideas coming.
>
> One thing I noticed is that, when a query is set as RWOP (in the
> RunPermissions property of the query), I cannot change the owner of the
> query, even when I am logged in as the owner of the query (i.e., as the
> SuperUser).  I would get the message "You don't have permission to change the
> owner of <Name of query>.  To change the owner of a database object, you must
> have Administer permission for it...."  My SuperUser does have Administer
> permission for all queries.  This had me wondering whether somehow my
> SuperUser was not actually being recognized as the owner of the query.  But
> when I researched this, I found that this behaviour is actually by design, at
> least in MS Access 2000 (see http://support.microsoft.com/kb/208929) and
> earlier versions (see http://support.microsoft.com/kb/120885).  I am using MS
> Access 2003, and I could not find a similar article for my version,, but
> presumably this behaviour continues to be by design.
>
> So my situation continues to be that, using RWOP queries, I can achieve what
> the title of this thread refers to as 'security without signon' only if the
> owner of the RWOP query is given explicit permissions on the back-end tables
> rather than inherited permissions by virtue of group membership.  This is
> fine for my purposes, but given Joan's statements above, it sounds as if this
> should work with inherited permissions as well, in which case I would like to
> understand why this isn't working for me in case there is an underlying
> problem with my security implementation.
>
> Actually, the more I think about this, the more I am convinced that my
> findings make sense, which leads me to wonder whether my scenario is somehow
> different from the one implied by Joan.  It is the different experiences of
> the default Admin user in my scenario that might be the key to understanding
> what is going on here.
>
> As we know, the default Admin user is the same across all mdw files.  There
> are two mdw files at play in my scenario:  the one that I created to secure
> my database (SecureMDW), and the default one that comes with Access
> (SystemMDW).  SystemMDW contains the default Admin user account plus the two
> default group accounts (Admins, Users).  SecureMDW contains these default
> accounts plus the account for my SuperUser and the account for my SuperGroup,
> and SuperUser is a member of SuperGroup.
>
> If I log in as the Admin user through SecureMDW, inherited permissions
> (through SuperUser's membership in SuperGroup) work; if I log in as the Admin
> user through SystemMDW, inherited permissions do not work.
>
> What I suspect is happening is that the Admin user (or any user) connecting
> through SecureMDW can see that SuperUser is a member of SuperGroup because
> these accounts and this membership is defined within SecureMDW.  The Admin
> user connecting through SystemMDW knows nothing about the existence of
> accounts for SuperUser or SuperGroup (and certainly does not know that
> SuperUser is a member of SuperGroup) because these accounts and membership do
> not exist in SystemMDW.
>
> Both Admin users will see that someone named SuperUser is the owner of the
> objects in the database (such as queries, etc.) because object ownership is
> part of the permissions that reside with the database file.  When SuperUser's
> back-end table permssions are inherited through SuperGroup, the SecureMDW
> Admin user will recognize SuperGroup is (because SuperGroup is also a member
> of SecureMDW) and will be able to trace this inheritance back to recognize
> that the owner of the query also has permissions on the back-end table;
> however, SystemMDW Admin user will have no idea who this SuperGroup is
> (because SuperGroup is not defined in SystemMDW) and, since SuperGroup is
> different from the name of the owner of the query (SuperUser), this Admin
> user will conclude that the query owner (SuperUser) does not have any
> permissions on the back-end table.
>
> My only hesitation in thinking that this is reasonably correct is that Joan
> has asserted above that inherited permissions should work in this context and
> that her users use the production mdw (which I assume is SystemMDW) and she
> has never had to give explicit back-end table permissions to the query owner.
>  So I am hoping that her scenario is somehow different from mine; otherwise,
> I will still have some work to do to understand why inherited permissions are
> not working for me.  
>
> "David W. Fenton" wrote:
>
>> =?Utf-8?B?WmFyZG96?= <Zar***@discussions.microsoft.com> wrote in
>> news:254F0D98-752F-43B4-9D11-D9076E432BF0@microsoft.com:
>>
>>> I double- and triple-checked, and the superuser is the owner of
>>> the tables in the backend database.
>> What about the table links in the front end? Permissions on those
>> are completely independent of the back-end table permissions.
>>
>> --
>> David W. Fenton                  http://www.dfenton.com/
>> usenet at dfenton dot com    http://www.dfenton.com/DFA/
>>
Author
30 Jan 2009 8:16 PM
Zardoz
Thanks Joan.  Then presumably your SuperUser/Owner is a member of Admins and
Admins has permissions on the back-end tables?

The Admins group, as I understand it, isn't portable across mdw files.  So
the Admins group in SecureMDW will not be recognized as the same as the
Admins group in SystemMDW (unless, perhaps, SystemMDW is copied to make
SecureMDW).

If this is true, then theoretically the Admin user coming in through
SystemMDW (who is a member of the Admins group in SystemMDW) in your scenario
should get the same 3112 error that the Admin user coming in through
SystemMDW in my scenario gets.  This is because your Admin user will still
have no way of knowing that your SuperUser/Owner is a member of Admins (as
this membership is defined only in your SecureMDW), and will thus not be able
to trace the inherited permissions back from Admins through to your
SuperUser/Owner.

So there must be more to it.

Show quoteHide quote
"Joan Wild" wrote:

> The only thing I see different, is that I use the Admins Group in
> securemdw, whereas you created a separate SuperGroup.
>
> Joan Wild
> MS Access MVP
>
> Zardoz wrote:
> > Thanks for the suggestion, David.  I rechecked the ownership of the front-end
> > table objects (which as you state are just links to the back-end) and the
> > owner of these objects is my SuperUser, so I don't think that's it.  But
> > please keep the ideas coming.
> >
> > One thing I noticed is that, when a query is set as RWOP (in the
> > RunPermissions property of the query), I cannot change the owner of the
> > query, even when I am logged in as the owner of the query (i.e., as the
> > SuperUser).  I would get the message "You don't have permission to change the
> > owner of <Name of query>.  To change the owner of a database object, you must
> > have Administer permission for it...."  My SuperUser does have Administer
> > permission for all queries.  This had me wondering whether somehow my
> > SuperUser was not actually being recognized as the owner of the query.  But
> > when I researched this, I found that this behaviour is actually by design, at
> > least in MS Access 2000 (see http://support.microsoft.com/kb/208929) and
> > earlier versions (see http://support.microsoft.com/kb/120885).  I am using MS
> > Access 2003, and I could not find a similar article for my version,, but
> > presumably this behaviour continues to be by design.
> >
> > So my situation continues to be that, using RWOP queries, I can achieve what
> > the title of this thread refers to as 'security without signon' only if the
> > owner of the RWOP query is given explicit permissions on the back-end tables
> > rather than inherited permissions by virtue of group membership.  This is
> > fine for my purposes, but given Joan's statements above, it sounds as if this
> > should work with inherited permissions as well, in which case I would like to
> > understand why this isn't working for me in case there is an underlying
> > problem with my security implementation.
> >
> > Actually, the more I think about this, the more I am convinced that my
> > findings make sense, which leads me to wonder whether my scenario is somehow
> > different from the one implied by Joan.  It is the different experiences of
> > the default Admin user in my scenario that might be the key to understanding
> > what is going on here.
> >
> > As we know, the default Admin user is the same across all mdw files.  There
> > are two mdw files at play in my scenario:  the one that I created to secure
> > my database (SecureMDW), and the default one that comes with Access
> > (SystemMDW).  SystemMDW contains the default Admin user account plus the two
> > default group accounts (Admins, Users).  SecureMDW contains these default
> > accounts plus the account for my SuperUser and the account for my SuperGroup,
> > and SuperUser is a member of SuperGroup.
> >
> > If I log in as the Admin user through SecureMDW, inherited permissions
> > (through SuperUser's membership in SuperGroup) work; if I log in as the Admin
> > user through SystemMDW, inherited permissions do not work.
> >
> > What I suspect is happening is that the Admin user (or any user) connecting
> > through SecureMDW can see that SuperUser is a member of SuperGroup because
> > these accounts and this membership is defined within SecureMDW.  The Admin
> > user connecting through SystemMDW knows nothing about the existence of
> > accounts for SuperUser or SuperGroup (and certainly does not know that
> > SuperUser is a member of SuperGroup) because these accounts and membership do
> > not exist in SystemMDW.
> >
> > Both Admin users will see that someone named SuperUser is the owner of the
> > objects in the database (such as queries, etc.) because object ownership is
> > part of the permissions that reside with the database file.  When SuperUser's
> > back-end table permssions are inherited through SuperGroup, the SecureMDW
> > Admin user will recognize SuperGroup is (because SuperGroup is also a member
> > of SecureMDW) and will be able to trace this inheritance back to recognize
> > that the owner of the query also has permissions on the back-end table;
> > however, SystemMDW Admin user will have no idea who this SuperGroup is
> > (because SuperGroup is not defined in SystemMDW) and, since SuperGroup is
> > different from the name of the owner of the query (SuperUser), this Admin
> > user will conclude that the query owner (SuperUser) does not have any
> > permissions on the back-end table.
> >
> > My only hesitation in thinking that this is reasonably correct is that Joan
> > has asserted above that inherited permissions should work in this context and
> > that her users use the production mdw (which I assume is SystemMDW) and she
> > has never had to give explicit back-end table permissions to the query owner.
> >  So I am hoping that her scenario is somehow different from mine; otherwise,
> > I will still have some work to do to understand why inherited permissions are
> > not working for me.  
> >
> > "David W. Fenton" wrote:
> >
> >> =?Utf-8?B?WmFyZG96?= <Zar***@discussions.microsoft.com> wrote in
> >> news:254F0D98-752F-43B4-9D11-D9076E432BF0@microsoft.com:
> >>
> >>> I double- and triple-checked, and the superuser is the owner of
> >>> the tables in the backend database.
> >> What about the table links in the front end? Permissions on those
> >> are completely independent of the back-end table permissions.
> >>
> >> --
> >> David W. Fenton                  http://www.dfenton.com/
> >> usenet at dfenton dot com    http://www.dfenton.com/DFA/
> >>
>