OSF DCE Application Development Guide--Core Components

RPC and Other DCE Components
When a client establishes authenticated RPC, it must indicate which authorization
option it wants to use.
It is the server’s responsibility to implement the type of authorization appropriate for the
objects that it controls. When the server calls rpc_binding_inq_auth_caller() to return
information about an authenticated client, it gets back either the client’s principal name
or a pointer to the data structure that contains the client’s credentials. The value that is
returned depends on which type of authorization the client specified on its call to
establish authenticated RPC with that server.
Each server is responsible for implementing its own access checking by means of ACL
managers. When a server receives a client request for an object, the server invokes the
ACL manager appropriate for that type of object and passes the manager the client’s
authorization data. The manager compares the client authorization data to the
permissions associated with the object and either refuses or permits the requested
operation. In the case of certified (PAC-based) authorization, servers must implement
access checking by using the ACL facility provided by the DCE Security Service.
An ACL management API (dce_acl*) is also available.
14.2.2.1 Name-Based Authorization
Name-based authorization (rpc_c_authz_name) provides a server with the client’s
principal name. The server call to rpc_binding_inq_auth_caller() retrieves the name
from the binding handle associated with the client and returns it as a character string.
It is not recommended that names be used for authorization. To perform access checking
using client principal names, the names must be stored in the access lists associated with
the protected objects. Each time a name is changed, the change must be propagated
through all the access lists in which the name is defined.
14.2.2.2 DCE Authorization
DCE authorization (rpc_c_authz_dce) provides a server with the client’s credentials.
Credentials offer a trusted mechanism for conveying client authorization data to
authenticated servers. The security service generates a client’s credentials in a tamper-
proof manner. When a server receives a client credentials, it knows that the credentials
has been certified by DCE security.
Credentials are designed to be used with the DCE ACL facility. The ACL facility
provides an editor and a set of API routines that support the implementation of access
control lists and the managers to control them.
124245 Tandem Computers Incorporated 14 11