IBM®
Skip to main content
    Country/region [select]      Terms of use
 
 
    
     Home      Products      Services & solutions      Support & downloads      My account     
 
developerworks > My developerWorks >  Dashboard > WebSphere eXtreme Scale V6.1 User Guide > ... > ObjectGrid security > ObjectGrid security overview
developerWorks
Log In   View a printable version of the current page.
Overview Connect Spaces Forums Wikis
ObjectGrid security overview
Added by Jian.Tang, last edited by saif.patel@us.ibm.com on Feb 17, 2009  (view change)
Labels: 

Getting Started Examples Reference API documentation

See the WebSphere eXtreme Scale Wiki for links to eXtreme Scale Version 7.0 documentation.
If you log in with your developerWorks ID, you can leave comments and feedback for the development team.

ObjectGrid is a distributed caching system, and you can secure access to the cache data. Generally, security is based on three key concepts, as follows:

  • Trustable authentication: Reliably determine the identity of the requester. ObjectGrid supports both client-to-server and server-to-server authentication.
  • Authorization: Grant access rights to the requester with permissions. ObjectGrid supports different authorizations for different operations.
  • Secure transport: Safely transmit the data over the networks. ObjectGrid client server communication supports the Transport Layer Security/Secure Sockets Layer (TLS/SSL) protocol.

Authentication

ObjectGrid supports a distributed client-server framework. A client server security infrastructure is in place to secure access to ObjectGrid servers. For example, an ObjectGrid client must provide credentials to authenticate to the ObjectGrid server. These credentials can be a user name and password pair, a client certificate, a Kerberos ticket, or data that is presented in a format that is agreed upon by client and server.

Authorization

ObjectGrid authorizations are based on subjects and permissions. You can use the Java Authentication and Authorization Services (JAAS) to authorize access, or you can plug in a custom approach, such as Tivoli Access Manager (TAM), to handle the authorizations. The types of authorizations that ObjectGrid has are provided in the following list:

  • Map authorization: Clients or groups can be authorized to perform insert, read, update, invalidate, or delete operations on Maps.
  • ObjectGrid authorization: Clients or groups can be authorized to perform object queries, entity queries, and stream queries on grids.
  • Data Grid agent authorization: Clients or groups can be authorized to allow Data Grid agents to deploy to ObjectGrid.
  • Server-side map authorization: Clients or groups can be authorized to replicate a server map to the client side, or create a dynamic index to the server map.
  • Administration authorization: Clients or groups can be authorized to perform administrator tasks.

Transport Layer Security/Secure Sockets Layer (TLS/SSL) support

To secure the client server communication, ObjectGrid supports TLS/SSL for both the static and dynamic deployment model. The TLS/SSL protocol provides transport layer security with authenticity, integrity, and confidentiality for a secure connection between an ObjectGrid client and server.

ObjectGrid server-to-server security

In a secure environment, a server must be able to check the authenticity of another server. ObjectGrid uses a shared secret key string mechanism for this purpose. This secret key mechanism is similar to a shared password. All the ObjectGrid servers agree on a shared secret key. When a server joins the cluster, it is challenged to present the secret string. If the secret string of the joining server matches the one in the master server, the joining server can join the cluster. Otherwise, the join request is rejected.

Sending a clear text secret is not secure. ObjectGrid security infrastructure provides a SecureTokenManager plug-in to allow the server to secure this secret before sending it. You can choose how you implement the secure operation. ObjectGrid provides an implementation in which the secure operation is implemented to encrypt and sign the secret.

Gateway security

In the static configuration model, an ObjectGrid gateway serves as a point to delegate the client management requests to the ObjectGrid server. The management gateway houses a set of MBeans, and the gateway client invokes these MBeans to administer or monitor ObjectGrid servers.

The management gateway and server communication uses the ObjectGrid static client-server communication mechanism, in which the gateway is treated as an ObjectGrid client. Communication for the gateway client and gateway (the MBean server), can be secured by TLS/SSL. This capability is provided by the Java Management Extensions (JMX) connector layer, which is implemented by the open-source project MX4J . ObjectGrid requires that MX4J be in place to make gateway work.

For authentication, the gateway propagates the credential presented by the gateway client to the ObjectGrid server. Both authentication and authorization are enforced on ObjectGrid servers.

JMX security in dynamic deployment topology

JMX MBean security is supported in all versions of ObjectGrid when using the static deployment topology, and is also supported in the dynamic deployment topology in ObjectGrid Version 6.1.0.1 and later. Clients of catalog server MBeans and container server MBeans can be authenticated, and access to MBean operations can be enforced.

TLS/SSL is supported for MBean operations in dynamic environment.

Local ObjectGrid security

Different from the distributed ObjectGrid model, the application directly instantiates and uses an ObjectGrid instance in the local ObjectGrid model. Your application and ObjectGrid instances are in the same Java Virtual Machine (JVM). No client or server concept exists in this model. Authentication is not supported in the local ObjectGrid programming model. Your applications must manage their own authentication, and then pass the authenticated Subject object to the ObjectGrid. The authorization mechanism that is used for the local ObjectGrid programming model is the same as the one that is used for the client-server model.

Summary

Starting with the Version 6.1 release, ObjectGrid supports two configuration models: static and dynamic. While some security features apply to both of them, others do not. The following table summarizes the security features supported in both models:

Features Static configuration model Dynamic configuration model
Authentication Yes Yes
Authorization Yes Yes
TLS/SSL support Yes Yes
Server to Server authentication Yes Yes
Server to Server TLS/SSL support No Yes
Gateway security Yes N/A
JMX security Yes Yes

The remainder of this section provides details about first securing a simple program, and enhancing the program to utilize more advanced security features. Additionally, information about different security subjects is also provided.

Examples and tutorials

  1. J2SE security tutorial

Additional information

Wiki Disclaimer and License
© Copyright IBM Corporation 2007,2009. All Rights Reserved.
Docs Client authentication reference (WebSphere eXtreme Scale V6.1 User Guide)
Docs Client authorization reference (WebSphere eXtreme Scale V6.1 User Guide)
Docs Client server SSL support (WebSphere eXtreme Scale V6.1 User Guide)
Docs containerServer.props file (WebSphere eXtreme Scale V6.1 User Guide)
Docs Gateway cluster security (WebSphere eXtreme Scale V6.1 User Guide)
Docs J2SE security tutorial (WebSphere eXtreme Scale V6.1 User Guide)
Docs JMX security support in a dynamic deployment topology (WebSphere eXtreme Scale V6.1 User Guide)
Docs ObjectGrid cluster security (WebSphere eXtreme Scale V6.1 User Guide)
Docs ObjectGrid security interfaces (WebSphere eXtreme Scale V6.1 User Guide)
Docs Security integration with WebSphere Application Server (WebSphere eXtreme Scale V6.1 User Guide)
Docs security.ogclient.props file (WebSphere eXtreme Scale V6.1 User Guide)
Docs security.ogserver.props file (WebSphere eXtreme Scale V6.1 User Guide)


 
    About IBM Privacy Contact