InfoCenter Home > 5.7.6: Introduction to SAS programmingA fundamental concern within distributed systems in general is the protection of data and business assets available through the information system. This is no less true in distributed, object-oriented systems. Valuable information exists in business objects. This information can be manipulated and accessed remotely and therefore must be protected from unauthorized use. The Security Service in WebSphere Application Server helps to protect these assets. The Security Service is used primarily to prevent end users from accessing information and resources that they are not authorized to use. Although these resources are predominantly distributed objects, they can also include resources, neither object-oriented nor distributed, used by business objects. In many cases, WebSphere Application Server is used to wrap legacy resources, such as existing business applications and enterprise data. Such resources are often centralized resources, held in a physically secure environments or in environments with restricted access over controlled channels. A key objective of object-oriented programming and business re-engineering is to provide for the abstraction of business resources that enables them to be used more readily in new applications. This abstraction frequently has the effect of increasing access to those legacy resources, resources that have been traditionally, either by intent or because of the limitations of technology, more restricted. Thus, the object-oriented approach has the potential for undermining the protection that legacy resources require and have traditionally enjoyed. The Security Service must, therefore, compensate for any protections that can be otherwise lost due to the increased accessibility of business objects in a distributed object system. The Security Service must not limit any benefit an application programmer receives by using WebSphere Application Server, except by preventing unauthorized access to resources. When security policies for a set of legacy resources have been established for production systems, the Security Service uses these policies to protect resources in the object-oriented system. It is not necessary to specify existing security policies a second time or to keep two sets of policies in synchronization. Object systems tend to introduce many more independent objects than equivalent procedural systems, which tend to collect individual objects into larger-grained artifacts like resources managers and database tables. The presence of so many objects can introduce issues related to administrative scalability. These issues present their own security exposures: when administration becomes overwhelming, administrators just stop administering, and objects remain unprotected. The Security Service guards against this risk by factoring security policies across a server, forming an administrative boundary for controlling unauthorized access to both the objects that are contained within a server and the resources that are used by the server. WebSphere security provides support for the authentication of users, which prevents unauthenticated users from accessing secure servers. It also guarantees the identity associated with a request to a business object, so that object can determine if it should grant access. The Security Service also provides support for protecting message traffic between clients and servers and between servers acting as clients and other servers. The role of the Secure Association Service (SAS)Users and processes can be authenticated to the system. They can have identities, which means that they can be distinguished and that their access to resources can be controlled. Any entity that can be identified and authenticated in the system is referred to as a principal. A principal can be the user of a client program or it can be a server process. Other entities can also be principals if they can be associated with identities and have mechanisms for demonstrating their identities. When a principal is authenticated, the Security Service creates a credential object for that principal. The credential represents an authenticated principal; credentials are created only after the principals are authenticated. In a secure server, all activities occur on behalf of a specific principal, typically the identity associated with the user of the client. When a principal is authenticated at a client (a client principal), a credential is created for that client and associated with the thread of execution within the process. The credential is passed to the server when the client issues any requests to the server, and the thread of execution in the server is tagged with the credentials of the client principal that originated the request. If the server issues any subsequent requests as a result of the original request, the client's credential is passed along with any requests that originate from the server. The Security Service is able to efficiently and safely communicate the credentials for the client principal by establishing a secure association between the client and the server. Each client and server pair forms a unique association, even when the server acts as a client to another server. The secure association is also used to protect any message traffic between the client and the server processes. When to use SAS programmingSAS programming is useful when applications must login programmatically or manipulate the credentials on the thread of execution for the purpose of controlling the identity which is executing specific methods. (Examples of these uses are illustrated in this material.) SAS programming can be combined with other WebSphere Application Server programming techniques, including the use of security and standards-based models, like servlets, enterprise beans, Java ServerPages, HTTP programming, and many others. The SAS programming interfaces are based on CORBA Security Service specification from the Object Management Group (OMG). For more details, visit the OMG Web site and obtain the CORBA Security Service specification.
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|