Contents IndexUsing views and procedures for extra security Users and permissions in the system tables

User's Guide
   Part III. Using SQL Anywhere
     Chapter 24. Managing User IDs and Permissions
      How SQL Anywhere assesses user permissions

Groups do introduce complexities in the permissions of individual users. Suppose user M_Haneef has been granted select and update permissions on a specific table individually, but is also a member of two groups, one of which has no access to the table at all, and one of which has only select access. What are the permissions in effect for this user?

SQL Anywhere decides whether a user ID has permission to carry out a specific action in the following manner:

  1. SQL Anywhere looks to see if the user ID has DBA permissions: if so, the user ID can carry out any action in the database.
  2. If the user ID does not have DBA permissions, SQL Anywhere looks at the permissions assigned to the individual user. If the user ID has been granted permission to carry out the action, then the action is allowed to proceed.
  3. If no individual settings have been made for that user, SQL Anywhere looks at the permissions of each of the groups of which the user is a member. If any of these groups has permission to carry out the action, then the user ID has permission by virtue of membership in that group, and the action is allowed to proceed.

This approach minimizes problems associated with the order in which permissions are set.

Contents IndexUsing views and procedures for extra security Users and permissions in the system tables