Startseite

How-to use the Credential Store in FMW Middleware 11g

Introduction
Sometimes it is necessary to provide credentials to use a desired service. This credentials aren’t provided by a individual person via login dialog. They are so called “technical” accounts. This credentials can be a simple user name and password. As an example the preparing of a QueueConnection factory with a simple user name and password [...]

Introduction

Sometimes it is necessary to provide credentials to use a desired service. This credentials aren't provided by a individual person via login dialog. They are so called "technical" accounts. This credentials can be a simple user name and password. As an example the preparing of a QueueConnection factory with a simple user name and password in a JMS scenario can be used.

 

When preparing a QueueConnection in Java there exist the possibility to provide a username and password in the constructor:

...
QueueConnectionFactory qcf = (QueueConnectionFactory)context.lookup("jms.QueueConnectionFactory");
QueueConnection qconn = qcf.createQueueConnection("username", "password");
qconn.start();
...

Very often the credentials of such technical accounts are managed in a property file or hard coded in the source code itself. This kind of implementation is of course a huge security risk. So how-to deal with this requirement in a consistent and secure manner? The answer is the usage of Credential Store Framework provided by Oracle Platform Security Service (OPSS). The Credential Store Framework is only one part of OPSS and OPSS will not be described in general at this point! Find more detailed information about OPSS by following this link.

The Credential Store Framework (CSF) provides a set of APIs that applications can use to create, read, update and manage credentials securely. A typical use of the credential store is to store user names and passwords to access some external systems, such as a database or an LDAP-based repository.

Configuration Steps

Afterwards the detailed steps are described to configure and retrieve user name and password for a technical account to create a QueueConnection. OPSS and the Credential Store Framework are automatically available and configured when using Fusion Middleware. So the description is based on FMW 11.1.1.6. 

1. Open Enterprise Manager and navigate to farm_DomainName > WebLogic Domain 

WebLogic Domain in Enterprise Manager

 

2. Open context menu on the selected WebLogic domain entry in the hierarchy and navigate to Security > Credentials

Open Credential Store

 

3. Create a new map in the Credential Store by click on the button <Create Map>. The name of the new map should be "myCredentialMap"

Create a new Credential Map

 

The Credential Store is organized into maps. The map itself contains a multiplicity of keys.

4. Create a new key in the previously created map by click on the button <Create Key>. Call this key "myExampleKey".

Create a new Key in the Credential Map

 

Note: The Credential Store is by default stored in a file called cwallet.sso in $DOMAIN_HOME/config/fmwconfig. In a clustered environment there is a need to ensure that all Managed Servers gets access to a centralized Credential Store. This can be achieved by manual exchange the file cwallet.sso between the servers or putting the domain home on a file share or by configuring the Credential Store to use a database or a LDAP-directory, like Oracle Internet Directory. 

5. Create a new Java class to retrieve the credentials from the previously created Credential Map. As Library dependency configure the following Libraries for example in JDeveloper:

Library Dependency in JDeveloper

 

Create a new PrivilegedExceptionAction. In this PrivilegedExceptionAction obtain the CredentialStore and use the appropriate functions to retrieve the Credential Map and corresponding Key:

...
public String getPassword(final String mapName, final String key) {
String password; try {
password =
AccessController.doPrivileged(new PrivilegedExceptionAction<String>() {
public String run() throws CredStoreException, JpsException {
CredentialStore credentialStore = JpsServiceLocator.getServiceLocator().lookup(CredentialStore.class);
PasswordCredential pwCred =
(PasswordCredential)credentialStore.getCredential(mapName, key); String password = new String(pwCred.getPassword());
return password;
}
});
} catch (PrivilegedActionException ex) {
throw new RuntimeException(ex);
}
return password;
}
... 

6. Grant read access to the Credential Store for the JAR-Archive containing the Java Class implementing the Credential Store access. Access can be granted by adding a new grant under section jazn-policy in the file system-jazn-data.xml in $DOMAIN_HOME/config/fmwconfig.

<grant>
<grantee>
<codesource>
<url>file:///oraapps/admin/domains/soa2_domain/lib/credentialstore-service.jar</url>
</codesource>
</grantee>
<permissions>
<permission>
<class>oracle.security.jps.service.credstore.CredentialAccessPermission</class>
<name>context=SYSTEM,mapName=myCredentialMap,keyName=*</name>
<actions>read</actions>
</permission>
<permission>
<class>oracle.security.jps.service.credstore.CredentialAccessPermission</class>
<name>context=SYSTEM,mapName=myCredentialMap,keyName=myExampleKey</name>
<actions>read</actions>
</permission>
</permissions>
</grant>

The element codesource contains the complete url to the the JAR-Archive containing the Java class implementing the Credential Store access. The permissions element contains the permission configuration for every Credential Map in the Credential Store. The Element name contains the CredentialMap and corresponding Key. The context is always SYSTEM. Furthermore the element name shouldn't contain any blank spaces! keyName can also contains a wildcard *. In this case the access is granted for every Key in the Credential Map.

Note: Recommendation is to use always one permission configuration with the wildcard * in KeyName and one permission configuration with the concrete name of the key. The rational behind this is that when you use the function credentialStore.getCredentialMap(name).getCredential(keyName) than the permission configuration with the wildcard is verified when you use the function  credentialStore.getCredential(mapName, keyName) the permission configuration with the concrete key name is verified.

7. Save the changes in system-jazn-data.xml and restart the WebLogic domain.

Now you are able to managed and access technical account information in a concrete and secure manner with Fusion Middleware.

Resources

- Introduction to Oracle Platform Security Service

- Managing the Credential Store

- Developing with the Credential Store Framework

 

Markus Lohn

Arbeiten mit dem Oracle WebLogic Server

Der Oracle WebLogic Server als essentieller Bestandteil der Oracle Fusion Middleware Plattform, stellt eine Laufzeitumgebung und leistungsfähige Infrastruktur für Enterprise-Applikationen dar. Unser Consultant Bernhard Vogel berichtet über seine Erfahrungen mit WLS und gibt erste Tipps&Tricks für die Konfiguration.

Der Betrieb von WebLogic Server ist oft ein komplexes Zusammenspiel verschiedener Komponenten.  Eine der Kombinationsmöglichkeiten ist zum Beispiel: WebLogicServer, WLS Management Pack, Coherence, Active Cache und Active Grid Link.

Eine Standard-Konfiguration von WLS setzt sich zusammen aus einem Admin Server (Node Manager), der die Steuerung von Managed Servern übernimmt und den Managed Servern selbst, diese verrichten die eigentliche Arbeit. Der Aufbau und die Konfiguration der Domain und Cluster Architektur sind dabei entscheidend.

Die Konfiguration

Die Einrichtung selbst kann per GUI oder auf dem Terminal durchgeführt werden. Die Managed Server können über ein Cluster verteilt werden um eine hohe Performance zu gewährleisten. Active Grid Link kümmert sich je nach Serverlast um das Failover oder LoadBalancing.

Erweiterbar ist  das ganze mit dem Coherence Server, der die Session-Informationen auch über einen Neustart aller Middleware Systeme behält. Coherence sorgt je nach Konfiguration für replicated oder partinioned Caching. So kann die Anwendung neu gestartet werden ohne das Sessions verloren gehen.

Die Integration von WebLogic und Coherence heißt Active Cache. Mit Coherence und TopLink Grid profitiert man vom Objektcaching. Querys mit Primary Key werden gecached, dadurch kann der Cache für Unterobjekte genutzt werden, auch wenn die eigentliche Query nicht im Cache war.

Die Steuerung, das Monitoring und eine Analyse werden über das WLS Management Pack über ein Webinterface ermöglicht.

Nützliche Werkzeuge

Als JRE kann JRockit genutzt werden, das einige nützliche Tools mitbringt. JRockit benötigt zum Starten vergleichweise lange, da alles vorgeladen wird. Wenn es läuft, ist es allerdings schnell (JIT Compilation only) und die Performance der Anwendung ist entsprechend hoch.

Weitere nützliche Tools kommen vom HotSpot JDK.

Java Hostpot: Optimierung der Performance für die häufigsten Aufrufe.

Diese Tools sind in JRockit Mission Control integriert und ermöglichen das grafische Monitoring und Auffinden von Störungen. Nützliche Features von JRMC sind: Thread Monitoring, Flight Recorder und Memory Leak Detector.

Mein persönliches Fazit

Die Konfiguration von WLS ist nicht trivial. Das ist beim Zusammenspiel mehrerer komplexer Technologien VWE aber auch nicht zu erwarten. Wie bei Oracle Produkten üblich, muss man auch hier die Lizensierung der einzelnen Komponenten beachten. WLS ist eine mächtige Serverplattform, die mit Hilfe des Coherence Server und Active Caching ihre Stärken ausspielen kann.

Kombiniert mit JRockit und Active Grid hat man damit ein solides und performantes Server-Framework.

352606

Weitere Informationen:

http://www.oracle.com/weblogicserver

Bernhard Vogel

Oracle On Track und Oracle WebCenter Connect - Effektive Zusammenarbeit im Zeitalter von Social Media

Nachdem wir bereits ausführlich über Oracle On Track und die neue Struktur des Oracle WebCenter berichtet haben, möchten wir nun einen detaillierteren Blick auf die Möglichkeiten der neuen Oracle Produkte werden und in mehreren Beiträgen konkrete Beispiele zum Einsatz der neuen oder verbesserten Oracle Enterprise 2.0 Lösungen bieten.

Oracle On Track und Oracle WebCenter Connect - Wo ist der Unterschied?

Eine einfache Frage kann in diesem Fall auch schnell beantwortet werden. Zwischen dem Produkt Oracle On Track und dem WebCenter Connect besteht rein funktionell kaum ein Unterschied. Es handelt sich um ein und dasselbe Grundprodukt, welches nur in unterschiedlichem Kontext vermarket wird. Wir gehen davon aus, dass früher oder später der Name "On Track" vom Markt genommen wird und im Rahmen der Neupositionierung von Oracles Enterprise 2.0 Lösungen die On Track Funktionen nur noch unter dem Namen WebCenter Connect vermarktet werden.

Was ist ein "Track" ?

Der Name ist Programm bei On Track. Der sogenannte "Track" ist das zentrale Element des Dashboards. Je nach Firmenstruktur kann ein Track entweder die Themen bestimmter Abteilungen beinhalten oder aber, wie wir es vor allem im Projektmanagementbereich verstehen, kann ein Track auch einem dedizierten Projekt entsprechen. Je Track ist es möglich, Mitarbeiter zuzuordnen und die Berechtigungen zum Lesen, Ändern oder Verfassen von Meldungen innerhalb eines Tracks zu vergeben.

Das On Track Dashboard

Was ist eine "Conversation" ?

Jeder Track kann aus einer nicht limitierten Anzahl von Conversations bestehen. Die Conversation ist DAS zentrale Objekt in On Track und damit der Dreh- und Angelpunkt der Zusammenarbeit. Hier fließen alle Daten zusammen, dabei besteht eine Conversation nicht nur aus Textmitteilungen, sondern kann Dokumente, aufgezeichnete Voice- und Videochats oder Bilder enthalten. Benutzer, egal ob intern oder extern, können nachträglich in eine Conversation aufgenommen werden und sehen dann alles, was bisher in der Conversation gepostet wurde. Somit hat jeder Mitarbeiter und jedes Mitglied der Conversation jederzeit die Möglichkeit sich ein ganzheitliches Bild zu verschaffen.

Eine On Track Conversation

Integration von Dokumenten und weiteren Kollaborationselementen

Durch die lückenlose Integration in Oracle CRM Produkte und in Fusion Applications  entsteht eine ganzheitliche Kommunikationslandschaft. Tracks und Conversations werden in bestehende CRM-Aufgaben integriert und erstmals ist die Kommunikation ganzheitlich integriert. Komplexe Orderstrukturen mit einer bald nicht mehr überschaubaren Struktur verschwinden, da alle Daten direkt mit den Tracks und Conversations verbunden sind. Für die Datenstrukturen und die Bereitstellung des Contents sorgen Oracles Contentmanagementsysteme aus der WebCenter Familie.

Umwandlung von Conversations

Doch was genau ist eine Conversation, entspricht die Conversation gleichzeitig einer Aufgabe oder sprechen wir nur von Kommunikation? Die Antwort ist leicht, es kann sich bei der Neuanlage einer Conversation um beides Handeln. Erst im Laufe der Zeit entscheidet sich, ob Teile einer Conversation auch direkt in eine Aufgabe, mit den entsprechenden Verantwortlichkeiten umgewandelt werden muss. Dadurch erhält man eine ganz neue Sicht auf Aufgaben, Dokumente und Kommunikationselemente.

Erstes Fazit:

Durch die zentrale "Conversation" wird die Kommunikation, egal über welchen Kanal diese stattfindet, endlich der Mittelpunkt des Handelns. Dieser Ansatz im Stile von Social Media ist der Beginn einer ganz neuen Kommunikations- und Organisationskultur! Mehr Lösungen zeigen wir Ihnen demnächst, gerne können Sie mit uns in Kontakt treten, wir freuen uns auch auf Ihre Ideen zur Neustrukturierung der Kommunikation 2.0.

Michael Krebs

Social Media in der Enterprise 2.0 - Wie genau gelingt der Einstieg ins Enterprise Social Networking mit Oracle - Teil 1

Die E-Mail verliert in der Business Kommunikation weiter an Bedeutung! Diese Aussage ließt man fast täglich wenn es um Themen wie Enterprise Social Networking, Enterprise 2.0 oder auch um Social Media in Kombination mit Oracle Produkten geht. Doch was sind eigentlich die Probleme der guten alten E-Mail und wie sehen neue Konzepte aus, um zielgerichteter und zeitsparender zu kommunizieren? Diese beiden Fragestellungen wollen wir in unsere zweiteiligen Serie näher beleuchten und mit Tipps aus der Praxis aufzeigen, wie ein Unternehmen die erste Schritte hin zu einem Enterprise Social Network gestalten kann.

Garnter kam in einer Studie im November 2010 bereits zu dem Ergebnis, dass Social Networking Services den Email Verkehr innerhalb der Kommunikation der Unternehmen bis 2014 um 20% sinken lassen. Doch wo genau liegt das Problem innerhalb der E-Mail Kommunikation? Ein Auszug aus der Studie ist hierbei elementar: Monica Basso hebt in der Studie heraus, dass in der Vergangenheit die Kollaboration innerhalb von Unternehmen nur durch E-Mail und hoch strukturierte Anwendungen stattgefunden hat. Heute aber prägen neue Arten der Zusammenarbeit unsere private Welt und werden auch in die Unternehmenskultur übernommen. Dabei liegt es nicht an den technischen Vorraussetzungen, an denen eine Einführung von sozialen Kommunikationsmitteln im Unternehmen scheitert, sondern  an der Verfügbarkeit und der Akzeptanz in allen Unternehmensebenen. Es geht also mehr um einen kulturellen Wandel, die Technik ist nur ein "Enabler" für diese kulturellen Wandel einer Enterprise 2.0.

Warum eigentlich ein Enterprise Social Network?

Immer wieder werden wir aber auch gefragt, was eigentlich unproduktiv und schlecht wäre an der E-Mail und warum wir neue Wege zur Kommunikation brauchen. Dazu möchte ich einfach ein paar Fragen in den Raum stellen, die wir im zweiten Teil unser Serie mit Lösungsbeispielen aus der Praxis kommentieren und beantworten werden:

  • Wie viel Zeit verwenden Sie pro Tag mit der Abarbeitung von E-Mails, die eigentlich gar nicht direkt durch Sie bearbeitet werden müssten oder die in keinem direkten Kontext zu einer bestimmten Aufgabe stehen, die Sie zu bearbeiten haben?
  • Wie lange brauchen Sie, um den gesamten Kontext und alle Informationen aufzurufen, die Sie zur Bearbeitung oder zum Verständnis einer zielgerichteten Mail benötigen?
  • Wie oft bekommen Sie Mails, deren Inhalt mit einer kurzen Nachricht im Twitter Stil oder einer Instant Message schneller zu bearbeiten wäre?
  • Wie oft behalten Sie eine Information für sich, weil Ihnen der Aufwand, eine formelle E-Mail zu schreiben zu groß ist?
  • Wie viel Zeit benötigen Sie, um alle E-Mails zu einer speziellen Problemstellung zu finden, um sich einen Gesamtüberblick verschaffen zu können?
  • Wie oft sind Sie wirklich in der Lage, Ihren Posteingang bei neuen Mails zu ignorieren und sich weiterhin auf Ihre Aufgaben zu konzentrieren?
  • Wie oft müssen Sie neue Verteiler anlegen oder manuell Verteilerlisten erstellen, damit Sie alle Empfänger erreiche

Wie wir in unseren täglichen Kundengesprächen feststellen, bringen genau diese Fragestellungen viele Mitarbeiter zum Nachdenken. Allerdings gibt es in den wenigsten Fällen echte Alternativen, um den "Zeit- und Aufmerksamkeitsfresser" E-Mail sinnvoll zu ersetzen. Genau an dieser Stelle fängt der Kulturwechsel zur Enterprise 2.0 an.

Social Media im privaten Umfeld und die Übertragung auf Enterprise Social Networks

Zum Einstieg wieder ein paar Fragen, die uns einen Schiritt weiter bringen im Sinne des Wandels, welcher in den meisten Unternehmen noch am Anfang steht:

  • Wenn Sie privat soziale Netzwerke nutzen, wie viele der dort zur Verfügung gestellten Informationen hätten Sie auch per E-Mail bekommen?
  • Hätten Sie eine Nachricht bei Twitter auch als Email-Verteiler an alle Ihre Bekannten und Freunde versendet?
  • Halten Sie bei einer Nachricht auf Facebook oder Google+ formale Vorgaben ein?
  • Wie oft hätten Sie einen alten Bekannten oder Freund, mit dem Sie vor kurzem auf Facebook Kontakt hatten, angerufen oder eine E-Mail geschrieben?

Kombinieren wir alle in gestellten Fragen und Ihre persönlichen Antworten kommen wir meistens zu einem einheitlichen Ergebnis:  Unser privates Verhalten in Social Networks ist im Unternehmen noch nicht angekommen! Doch wie kann der Weg und die Migration hin zum Enterprise 2.0 sinnvoll gestalten werden?

Enterprise 2.0 wird man nicht von heute auf morgen - Enterprise Social Networks schrittweise einführen

Eine Umstellung und Transformation kann nicht immer eine 180-Grad Wende der Unternehmenskommunikation bedeuten und auch der finanzielle und technische Aufwand lässt sich in mehrere Stufen sinnvoll verteilen. Als Oracle Partner kennen wir professionelle Lösungen und sind Fans von Oracles WebCenter und den zugehörigen Social-Komponenten wie Oracle On Track. Im ersten Schritt kann zu allererst die Grundlage moderner IT- Strukturen durch den Einsatz einer Oracle Datenbank und dem Application Server Weblogic geschaffen werden.

socialpm_pf

Im Frontend setzt man  zunächst auf schlanke Lösungen wie z.B. Social PM von esentri. Durch ein einfaches und intuitives Frontend erleichtert Social PM es, den kulturellen Wandel im Unternehmen voranzutreiben. Zu einem späteren Zeitpunk kann dann der Kreis geschlossen werden und man kombiniert die Lösungen mit Portalen wie Oracle WebCenter und schafft somit ein vollumfängliches Enterprise 2.0, welches den Content intern wie auch extern in modernen Portalen zur Verfügung stellt und das Content Management automatisiert und stark vereinfacht.

Corporate Social Networks - Tipps und Tricks aus dem Projektalltag

Wie unsere Lösungen im Einzelnen aussehen und was unsere Tipps zur Einleitung des kulturellen Wandels hin zum Corporate Social Network sind, erfahren Sie in wenigen Tagen im zweiten Teil unserer Serie.

Michael Krebs
Copyright © 2009 esentri corporate Blog