[Previous] [Next] [Contents] [Index]
This chapter describes NetCrusader/Web Access Control Lists (ACLs), the default ACL model, and access permissions. It contains the following sections:
3.2 Access Control Lists
3.3 A Closer Look at ACLs
3.1 The ACL Model
An ACL model is the set of permissions for operations associated with a set of objects. For example, read, write, and execute are permissions normally associated with files.
3.1.1 The Default ACL Model
Table 3-1 lists the permissions in the default ACL model.
However, the real strength of NetCrusader/Web is that you can create a custom ACL model and define your own set of operations for any object.
3.1.2 Custom ACL Models
Custom models replace the default ACL model. If you want to use any of the pre-defined permissions (listed in Table 3-3), you must define them yourself. For example, if you are creating a custom ACL model and want to use r, w, or x, you must define these permissions in your custom model.
The default NetCrusader ACL model applies to all objects by default.The default ACL model automatically gives you the permissions listed in Table 3-2.
| Symbol | Name |
|---|---|
|
c
|
control
|
|
t
|
test
|
|
I
|
Inherited ACL
|
|
D
|
Delete Explicit ACL
|
These four reserved permissions are available permanently, even when you define a custom model.
The default model also includes the permissions in Table 3-3. However, when you create a custom model, these permissions are not available automatically.
| Symbol | Name |
|---|---|
|
l
|
list
|
|
r
|
read
|
|
w
|
write
|
|
x
|
execute
|
|
T
|
Traverse (for directories or containers)
|
3.1.2.1 Providing Unauthenticated Access in Custom ACL Models
If you turn off Security Adapter authorization, the Security Adapter refuses all unauthenticated requests. If you want your application to grant any level of access to unauthenticated users, but you do not want the Security Adapter to perform any access checking, enable Security Adapter authorization but modify the root ACL to enable free access to the any_other and unauthenticated users (For information about the any_other and unauthenticated users, refer to Section 3.3). Then program the application to perform all desired ACL checking.
NetCrusader ACLs are similar to the file permission mechanisms provided by operating systems and web servers, but provide finer-grained access control because you can control access to any object for which the server provides access. Examples include a static HTML document, a directory, a server extension, a field in a database record, or a downstream extension or application. The actual objects protected in an application depend on the application.
3.2.1 Explicit ACLs Versus Inherited ACLs
Figure 3-1 uses documents and directories as an example to illustrate how explicit and inherited ACLs work.
You use NetCrusader Commander to view and modify ACLs. When you change an explicit ACL, your changes are automatically and immediately applied to all inheriting ACLs. When you view an inherited ACL using Commander, you see the permissions of the explicit ACL from which the viewed ACL inherits.
3.2.2 The Default Root ACL
Initially all objects inherit their permissions from the root ACL; that is, the ACL at the top of the object tree. The default root ACL protects the object tree and applies until you modify it or apply explicit ACLs at other points in the tree.
3.2.3 ACL Storage
In a sparse ACL mechanism, the actual ACL is not stored for objects which inherit their ACLs.
An explicit ACL, however, is stored in the NetCrusader ACL database file. The ACL database file is located on the same system as the web server, in <installation_directory>/netc_authz/<server name>.
3.3 A Closer Look at ACLs
Table 3-4 shows a sample set of ACLs for an object. This example uses the pre-defined permissions of the default ACL model.
| Entry | Entry Type | Name | Enabled Permissions |
|---|---|---|---|
|
|
user
|
alice
|
r w x T
|
|
|
group
|
employees
|
r w T
|
|
|
group
|
wccs-admin
|
r w x m u l T c t
|
|
|
any_other
|
|
r T
|
|
|
unauthenticated
|
|
r
|
The following describes the entries:
All of the entries in the table together make up the ACL for the object.
Using the ACLs shown in Table 3-4 on page 32, let us look at what happens if user Robert attempts to access the object protected by this ACL. The server authenticates Robert but determines that he is not listed in the ACL as a user and is not a member of any group listed in the ACL. The server grants Robert the access defined for the any_other permissions (read and traverse).
Now suppose a user named Susan, who has no NetCrusader identity, attempts to access this object. Because Susan is not listed in the ACL as a user and is not a member of any group listed in the ACL, the server classifies her as any_other. However, because Susan is unauthenticated, the server applies an AND mask to the unauthenticated controls and the any_other controls, resulting in read-only access.
3.3.1 ACL Entries for the Default Root ACL
The default root ACL for the default ACL model contains the entries shown in Table 3-5.
| Entry Type | Name | Enabled Permissions1 |
|---|---|---|
|
unauthenticated
|
|
r T
|
|
group
|
wccs-admin2
|
r w x m u l T c t
|
|
any_other
|
|
r T
|
| 1
See Table 3-1 on page 27 for definitions.
2
The wccs-admin group is for users who will be managing NetCrusader users, groups, and ACLs.
|
The default root ACL for a server is named <sec_domain_name>/subsys/WWW/netcacl-<hostname>.
[Previous] [Next] [Contents] [Index]
To make comments or ask for help, contact support@entegrity.com.