Questo contenuto non è disponibile nella lingua selezionata.
8.7. Integrating with External Single Sign-on (SSO) Providers
Developers hosting applications on your OpenShift Enterprise instance may need to integrate their applications with external single sign-on (SSO) providers. To enable this, starting in OpenShift Enterprise 2.2.6 you can configure an SSO plug-in that broadcasts controller actions through ActiveMQ to be read and acted upon by an external SSO provider. These actions include:
- Gear creation and deletion
- Alias addition and removal
- Environment variables addition, modification, and deletion
The external SSO provider can then listen for certain events occurring in the OpenShift Enterprise environment that are critical for utilizing the external SSO solution.
Procedure 8.21. To Install and Configure the SSO Plug-in:
- On the broker host, install the rubygem-openshift-origin-sso-activemq package:
yum install rubygem-openshift-origin-sso-activemq
# yum install rubygem-openshift-origin-sso-activemq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Before enabling this plug-in, you must add a new user, topic, and queue to ActiveMQ. Edit the
/etc/activemq/activemq.xml
file and add the following user in the appropriate section:<authenticationUser username="ssoinfo" password="ssoinfopasswd" groups="ssoinfo,everyone"/>
<authenticationUser username="ssoinfo" password="ssoinfopasswd" groups="ssoinfo,everyone"/>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Also add the following topic and queue to the appropriate sections:<authorizationEntry topic="ssoinfo.>" write="ssoinfo" read="ssoinfo" admin="ssoinfo" /> <authorizationEntry queue="ssoinfo.>" write="ssoinfo" read="ssoinfo" admin="ssoinfo" />
<authorizationEntry topic="ssoinfo.>" write="ssoinfo" read="ssoinfo" admin="ssoinfo" /> <authorizationEntry queue="ssoinfo.>" write="ssoinfo" read="ssoinfo" admin="ssoinfo" />
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Restart ActiveMQ:
service activemq restart
# service activemq restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - To enable the plug-in, copy the
/etc/openshift/plugins.d/openshift-origin-sso-activemq.conf.example
file to/etc/openshift/plugins.d/openshift-origin-sso-activemq.conf
on the broker host:cp /etc/openshift/plugins.d/openshift-origin-sso-activemq.conf.example \ /etc/openshift/plugins.d/openshift-origin-sso-activemq.conf
# cp /etc/openshift/plugins.d/openshift-origin-sso-activemq.conf.example \ /etc/openshift/plugins.d/openshift-origin-sso-activemq.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - In the
/etc/openshift/plugins.d/openshift-origin-sso-activemq.conf
file you just created, uncomment the last line specifying the/opt/rh/ruby193/root/etc/mcollective/client.cfg
file:MCOLLECTIVE_CONFIG="/opt/rh/ruby193/root/etc/mcollective/client.cfg"
MCOLLECTIVE_CONFIG="/opt/rh/ruby193/root/etc/mcollective/client.cfg"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Alternatively, edit the values for theACTIVE_*
parameters with the appropriate information for your environment. - Restart the broker service for your changes take effect:
service openshift-broker restart
# service openshift-broker restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Create a listener that will connect to ActiveMQ on the new topic that was added. The listener can be run on any system that can connect to the ActiveMQ server. The following is an example that simply echoes any messages received:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Save and run your listener script. For example, if the script was saved at
/root/listener.rb
:ruby /root/listener.rb
# ruby /root/listener.rb
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - To verify that the plug-in and listener are working, perform several application actions with the client tools or Management Console using a test user account. For example, create an application, add an alias, remove an alias, and remove the application. You should see messages reported by the listener script for each action performed.