How do you define "code-level access"? I've never seen that term before.
How do you define "code-level access"? I've never seen that term before.
What RDBMS are you using? ArcSDE doesn't have anything to do with security models -- Those are provided by the RDBMS.
I don't think that SDE permissions are that granular, perhaps you will need to split those private attributes into a separate table and use a primary/foreign key relationship. Then you can use a spatial join that combines the private attributes with the feature class and only grant access to private (internal) users. If the spatial view does not handle the one to many relationship well, you can add an extra step where you export the spatial view to a feature class and automate that process.
ArcSDE permissions aren't that granular, and database extensions that permit row/column level
security are not supported by Esri (if you can make it work, congrats, but Tech Support can't help
you if it doesn't work). You'd need to pay careful attention to the extra tables created by ArcSDE
for versioning, archiving, etc, since you couldn't use ArcGIS to grant the permissions. Adding
relationship classes, domains, etc into the equation increases the level of difficulty by an order of
magnitude. I certainly wouldn't want to attempt this, and I've been working with ArcSDE since
version 1.3 and SQL-Server since 6.0.
Using multiple tables and views to join them is a less fearsome approach, but it's unlikely you'll
find someone to donate days/weeks of time to give you detailed instructions on how to proceed.
The best you can hope for is someone having published a paper on how they did something
similar, then using that as a roadmap.
- V
If it is not supported by Esri, what then would be the usual procedure(steps) to follow to get this done?
I mean to forbid the access for an SQL Server 2008 R2 Database user, to an attribute field table, which could contain sensitive information?
Thank you.
I wrote that you can't use ArcGIS tools to accomplish this.
If the database supports this functionality, then a forum of the database in use would be a
better place to get help. You may need a great deal of geodatabase knowledge to avoid breaking ArcGIS functionality.
Do you have access either to ArcGIS Server or ArcGIS Online? If your need is to hide some attributes/fields, but show geometry, it can be accomplished using web-based tools. Otherwise, as noted by others, you invite complex and unsupported database behaviors and/or Desktop customization with ArcObjects.