Web Administration Interface and File-Based Security: IBM Integration Bus
Web Administration Interface and File-Based Security: IBM Integration Bus
Web Administration Interface and File-Based Security: IBM Integration Bus
Featuring:
June 2015
Hands-on lab built at product
Version 10.0.0.0
IBM Integration Bus V10 Workshop June 2015
1. INTRODUCTION................................................................................................................................. 3
1. Introduction
IBM Integration Bus V10 has enhanced the web browser user Interface allowing administration of
Integration Nodes. This has replaced the majority of the admin function that was previously available
in the IB Explorer (IBX). A small amount of function was moved from the IBX to the Integration Toolkit
– Configurable Services, Policy sets.
The Web User Interface (known in this document as the Web UI) provides the following capabilities:
This lab will demonstrate some of these points, while others are the subject of separate labs.
The first part of this lab assumes that security has not been activated for IB10NODE. If security has
been activated on your system, deactivate it now. To check, run the command below in the Integration
Console:
mqsireportbroker IB10NODE
To set security off, use the following commands in an Integration Command Console:
mqsistop IB10NODE
mqsistart IB10NODE
1. One of the first enhancements that you will explore in the new Web UI is the ability to deploy BAR
files. If not already open, open the Web User Interface in your Browser.
From the Integration Toolkit, right-click IB10NODE and select ‘Start Web User Interface’:
2. You may get the ‘untrusted connection error’ when the Browser has opened.
4. If you have done previous labs, you may already have resources deployed in this server. We want to
deploy fresh copies of the applications to the integration server, so delete any current resources.
Under the ‘server1’ Integration Server, expand ‘Applications’, click to open the context menu available
for the application and select Delete.
9. A message is shown that there are ‘No configurable properties found’ in this shared library. This
means that the shared library that is being deployed does not include any configurable properties.
10. Repeat steps 5 and 6. This time select EmployeeService.V10.bar’ file and click ‘Open’.
In the ‘Deploy BAR File’ preview window you will see that the ‘Deploy Preview’ table has been
populated with properties existing in the BAR file. Note that you need to expand
‘EmployeeService.appzip’ to be able to see them.
In the ‘Values’ column some of the properties show <unset>. This means that these properties could
be configured (this will be shown later in the lab).
11. Repeat the above step and deploy ‘EmployeeService_JSONClient.V10.bar’ only this time import from
C:\student10\Integration_service_JSONClient\solution folder.
Again, feel free to explore the properties and their values in the deployment table.
Please note that it may take a few seconds to see the updated view while the resources are being
deployed.
You should now have resources on ‘server1’ under ‘Services’, ‘Applications’ and ‘Shared Libraries’
categories:
12. To see which applications or services reference the shared library, expand
‘EmployeeServiceInterface’ then ‘Referenced by’. You will see the service and application that you
imported in the previous steps.
1. The override file for this lab has been created and is provided for you.
2. In the override file, the properties that will be overridden are specified following the message flow name
that they refer to.
For the URL property in addition to the message flow name, the (HTTP) Node name is specified.
The property names can be seen from the ‘Deploy BAR File’ window (step 2.1.9)
No changes will be made here so once finished viewing the file close it.
3. In the Web UI click again on the context menu next to ‘server1’ and then ‘Deploy’.
Click ‘Open’.
5. In the ‘Deploy BAR File’ window you can see again the content of the BAR file expand
EmpServ_JSON_getEmployee.
In the ‘Value’ column you are presented with the properties that can be configured.
<unset> refers to a property that has not been set. You can set the property using an override file.
You will see two of the properties which were present in the override file.
The URLSpecifier is the third property that you will override in the next step.
From the context menu next to ‘Overrides’ click on ‘Select overrides file’.
Now they their values have been set accordingly based on the values in the override file.
10. To restore the original property values from the BAR file, click the down arrow beside Overrides and
click Clear overrides file and Cancel the deploy.
3.1 Administration
1. You may have noticed in the top right corner of your web browser that you are logged in as a ‘Default’
user.
2. Click IB10NODE. In ‘Quick View’, you will see that ‘Admin Security’ is ‘Off’.
In this scenario, the default user has full update access to all deployed broker resources.
If you have enabled the web admin http listener, and security is not active for the node, then any user
will be able to access the Web UI.
3. In the Servers section, expand ‘server1’. Expand the deployed Applications and Services. You should
see the applications you just deployed in the previous step.
4. You will see that you can Start and Stop the Services and Applications, as well as any defined server.
5. Wait for it to show stopped (red down arrow). Notice that you are not able to view any Services or
Applications (as in the Integration Toolkit when an Integration Server is stopped).
Select the context menu again and select Start. The server will start and show a green “up arrow”.
.
Page 17 of 56 Version 10.0.0.0
Web Administration and File-based Security
Provided by IBM BetaWorks
IBM Integration Bus V10 Workshop June 2015
2. This will open a table with various Integration Node properties. You can change any of the properties
by clicking the button in the far right column against each property.
4. To save any changes that you have made to the Integration Node’s properties, click the ‘Save’ button:
5. Click ‘server1’ and then the ‘Edit’ button on the right, to view/edit properties for the Integration Server:
6. This will open a table with the Integration Server’s properties, which you can edit if required:
Previously, users of IBM Integration Bus were able to change these parameters in Integration Explorer. As
IBM Integration Bus V10 has removed Integration Explorer, all the administration is available in the Web UI
tool.
7. You will not be making any changes here at this time, so when finished exploring click ‘Cancel’
IBM Integration Bus V10 provides the ability to control access to Integration node resources through the
Web user interface and REST application programming interface (API). All the Nodes administration
functions can be viewed and controlled, as well as all the functionality that in previous IIB releases was
available through IBM Integration Explorer. Different web users can have different access rights across
these functions, and access can be granted, denied or revoked quickly.
IBM Integration Bus V10 allows role-based security to be achieved by using one of two options:
While the user has the option to choose how to implement the role-based security, based on their
infrastructure, this guide will show the new functionality for IBM Integration Bus V10 - enabling file-based
security.
The access authorities are defined against a set of user definitions which represent the available security
roles. A role is a set of security permissions that control access to an integration node and its resources,
and each web user account is associated with a particular role. The permissions are checked to
determine a web user's authorization to perform tasks in the web user interface or the REST application
programming interface (API). Each web user is then defined to use one or more of these security roles.
For the purposes of this lab, you will create several user roles. Then you will create web users and assign
them to one of the defined roles:
Security can only be activated whilst the integration node is shutdown, so issue the following
commands
mqsistop IB10NODE
When you issue the mqsistop, you will see that the Browser page is greyed with a message
indicating that “Real-time updates are disabled”.
2. To view in the Integration Console if the administration security is active and the authorization mode
with the following command:
mqsireportauthmode IB10NODE
Since our Integration Node has been created using a Queue Manager, its default authorization mode
is ‘mq ’.
3. Turn on the administration security and change the authorization mode with the command:
mqsistart IB10NODE
4. After a short while, reload the browser page by clicking the indicator in the address page.
5. You are now presented with a sign-on screen since security has been activated.
Before you can continue, we must configure security so you are able to sign in, so continue with the
next step.
Three levels of authorization are supported for IBM Integration Bus administration security: read,
write, and execute. You can assign permissions to a role (user) by specifying the type of
permission followed by a plus (+) to grant permissions, or a minus (-) to revoke permissions.
The following table shows the file-based authorities that are required for different types of users in
this lab guide:
Role Authority
--------- ------------
iibRole1 read
iibRole2 read, write
iibRole3 read, write, execute (all)
1. Check if there are any roles defined on the Integration Node by running the command:
mqsireportfileauth IB10NODE -l
mqsichangefileauth IB10NODE
-r iibRole1
-p read+
Response:
BIP8071I: Successful command completion.
mqsichangefileauth IB10NODE
-r iibRole2
-p read+,write+
mqsichangefileauth IB10NODE
-r iibRole3
-p all+
mqsireportfileauth IB10NODE -l
mqsiwebuseradmin IB10NODE
-c
-u admin1
-a passw0rd
-r iibRole1
This command will define a new web user, admin1. The user will have the security profile
defined by the associated role, which in this case will mean that the user can only view the
broker and any deployed applications.
2. Define an Integration Bus web user for read/write access. This user will be able to see what
applications are deployed, and will have administration privileges to change properties on the
Integration Node and Integration Server.
mqsiwebuseradmin IB10NODE
-c
-u admin2
-a passw0rd
-r iibRole2
This command will define a new web user, admin2. The user will have the security profile
defined by the associated role, which in this case will mean that the user will be able to view
the broker and execution groups, and edit their properties. Also, the user will be able to view
the deployed resources.
3. Define an Integration Bus web user for all access. This user will be able to see what
applications are deployed, and will be able to control completely the resources (start/stop,
etc).
mqsiwebuseradmin IB10NODE
-c
-u admin3
-a passw0rd
-r iibRole3
This command will define a new web user, admin3. The user will have the security profile
defined by the associated role, which in this case will mean that the user will be able to view
the broker and execution groups, and any deployed applications, as well as control their
status.
mqsiwebuseradmin IB10NODE - l
1. You should have your Firefox web browser window still open with the ‘IBM Integration’ log in page.
Note that the Quick View will now show you that Admin Security is active.
3. You will see that you are presented with the available servers but you are not able to view any of the
resources.
Yes, you have guessed correctly – although we gave the role iibRole1 ‘read’ authorities, we
specified this at a Node level. This allows more ‘granular’ approach by authorization for individual
servers completed with a separate command (shown in the next step).
4. The IIB file-based authorization allows you to change the roles’ permissions without a restart of the
Integration Node – the changes are picked up dynamically
mqsichangefileauth IB10NODE
-e server1
-r iibRole1
-p read+
The Integration Server has been specified with the parameter -e server1, which means that
now you are applying the permissions at the integration server’s level.
5. Back in the Browser, refresh the page and log in again as user ‘admin1’
You will now see that to the left of ‘server1’ now there is a twisty, allowing you to view the resources
in ‘server1’.
Expand server1.
6. You can now view the resources on the Integration Server. Notice that although you are able to
expand the server1 resources folders you do not have permission to start, stop or other actions to
the deployed artefacts.
9. You will see a message is shown above the ‘Overview’ tab that the Integration Server cannot be
created. Hover with your mouse over the notification and you will notice that this is a hyperlink, so
click on it.
10. You will see a detailed message, explaining why the attempt has failed:
5.2 The Web Admin interface for a user with write access
Now that security has been configured for Web Admin users, we will login as the admin2 user which is
the ‘read/write’ user. This user has functionality for viewing resources, editing properties for Integration
Node and Integration Server and for creating Integration servers.
Click the pull-down beside the Welcome, admin1 banner and select Log Out.
3. Expand ‘Servers’ and you will see that although you can view the available servers, the role to which
admin2 is associated is not authorized for ‘server1’.
This is because admin2 has read/write access for IB10NODE, but not for any servers.
mqsichangefileauth IB10NODE
-e server1
-r iibRole2
-p read+,write+
This will allow this role to view the resources on server1, create and modify integration server.
5. In the Web UI, refresh the login for admin2 (F5 or refresh button).
You are now able to view the server resources as admin1 but again you are not able to do any
administration on the resources.
Highlight ‘server1’ server. You will see there is an ‘Edit’ button (which was not available for ‘admin1’).
6. The table with the server1’s properties is opened and the user ‘admin2’ has authorities to change its
settings.
You will not make any changes here, so when finished reviewing, click ‘Cancel’.
The user admin2 has the same permissions for changing setting on the IB10NODE.
9. Shortly, you will see that a new Integration server has been created. The user ‘admin2’ has ‘write’
authorities, which allows creating a new server on the Integration Node.
However, even though this user has created the Integration Server, the administrator has to authorize the
role to which ‘admin2’ is associated to perform any actions on the new server such us start/stop.
mqsichangefileauth IB10NODE
-e admin2server
-r iibRole2
-p read+,write+
This sets the permissions for this role on the ‘admin2server’ server as read and write.
11. Refresh the Browser window and log in as ‘admin2’ again (you may be automatically logged in after the
refresh).
Now, the web user is able to view the newly created server and its resources (although no resources
have been deployed at this point).
5.3 The Web Admin interface for a user with ‘all’ access
We will now login as the admin3 web user which has full authorities. This user has full functionality for the
resources including stop/ start deployment of applications and start/stop statistics.
1. Although admin3 has full authorities for the resources on the node, the administrator still has to give
permissions to the role, to which the web user is aligned for a particular Integration Server.
Run the command:
mqsichangefileauth IB10NODE
-e server1
-r iibRole3
-p all+
You may have noticed that now, on the right side of ‘server1’ there is an arrow, which was not there
for admin1 and admin2 web users. Click on it.
4. You will see that a new drop-down menu has opened showing all the administration tasks that web
user admin3 can perform. Click on ‘Stop’ to stop the Integration Server.
5. After a few seconds you will see that the integration server has stopped, shown with a little red arrow
pointing down.
6. Expand the menu again and click on ‘Start’ to start the Integration Server again. As expected, most of
the available actions have been greyed out because the server is stopped.
7. When the Integration Server starts, expand the ‘Applications’ group and then click on the twisty next to
the ‘EmployeeService_JSONClient’ application. From the pull-down menu, click on ‘Stop’:
8. The application and all its flows have been stopped, shown with red arrows pointing down:
10. Once the application has been started, click on ‘EmployeeService_JSONClient’. On the right, expand
‘Advanced Properties’ and ‘Deployed Properties’
The Quick View panel displays important information about the application such as its name, UUID,
Run Mode.
mqsicreatepolicy IB10NODE
-t MQEndpoint
–l WebAdminPolicy
-f MQEndpointSample.xml
Under IB10NODE, expand Operational Policy MQEndpoint and click on the newly created policy.
This user has ‘read-only’ permission and is only able to view the defined values.
The values specified have been taken from the policy configuration file.
This user has ‘all’ permissions and is able to re-configure the policy details and to delete it.
4. In the Integration console run the command from step 1, but this time use the flag –i to specify a user,
their password and hostname.
mqsicreatepolicy IB10NODE
-t MQEndpoint
-i tcp:\\admin3:passw0rd@betaworks-esb10
–l admin3_policy
-f MQEndpointSample.xml
5. In the command console a message will be returned (BIP1921S) notifying you that the node cannot
be reached (if you are using the workshop VMware image supplied).
The reason this message is returned is because on the IB10NODE the SSL has been enabled. If you
would like multiple users to connect to a remote integration node that has SSL enabled on its web
administration port to execute a command, you will need to use .broker file.
This is not subject of this lab. Please refer to IBM Knowledge Center for more information.
Click ‘ActivityLogTemplate’:
You remember that web user ‘admin1’ was assigned to a role that has only ‘read’ permissions.
Therefore admin1 can only view the Configurable Services but not their details.
Since admin2 web user has ‘read’ and ‘write’ permissions (assigned to the iibRole2), the user is able
to view the Configurable Service template and edit using the ‘Edit’ button.
In addition, you can see that next to Configurable Services and ActivityLogTemplate there are arrows.
Note that from the drop-down menu you are able to select and create any Configurable service. The
selected type will update its corresponding ‘Properties’ template.
Save the new Configurable Service without making any other changes.
5. You are now able to see the new Configurable Service that you created. Click the arrow next to it. You
will see that admin2 user has permissions to delete and export the configurable service. Click ‘Export
*.configurableservice’.
Now you have the Configurable Service saved on your file system.
Host: betaworks-esb10
Port: 4421
Integration Node: IB10NODE
Use SSL: ticked
3. Click ‘Finish’.
You may see a progress information window to which you may have to respond before continuing.
4. You will be presented with a dialog, where you will need to confirm the Trust certificate.
5. Expand server1 under the ‘remote’ connection and you will see all the deployed resources
User admin3 will also have the permissions to deploy resources from the Integration Tookit, which
will not be explored at this time.
7. Once the previous step has been completed, create a new connection repeating step 6.1 and 6.2,
only this time user will be admin1. Click ‘Finish’.
8. You will receive an error message, pointing that the role to which the user is assigned does not have
the required permissions.
Click OK.
9. In the Integration Nodes view you will see that the remote connection has been created.
However, even though you have connected as a user with ‘Read’ permissions, you are not able to
see the resources deployed to server1.
The reason for this restriction is that the Integration Toolkit is designed to ‘develop and deploy’.
Therefore, the user is not allowed to view resources on a node to which they do not have permission
to deploy.
Please note that you may be able to open Policy Sets editor and make edits, but you will not be
able to save them as admin1 does not have the permission for that.
7. Resource Statistics
In this part of the lab, you will explore the IBM Integration Bus Resource Statistics available in the
Web UI.
Once logged in, click the arrow next to ‘server1’ and from the menu select ‘Resource statistics on’.
2. A message will appear once the resource statistics have been turned on.
3. The data has started being collected and shortly you will see values for the three default parameters –
Initial memory, Used Memory and Committed Memory.
4. To the right of the graphs there are tables with data about the resource. This is where you can change
the resource shown on the graph.
Click the arrow to view the available resources. Currently displayed resource is highlighted.
Click to the left of each resource and you will see that a different colour is assigned to each resource.
Along with that, the selected resources are added colour coded to the graphs above so you can easily
identify the resource and compare it with others.
6. Hover over any of the graphs with the mouse. You will see that the graphs are highlighted and the
values used to draw them are shown as dots. Placing the mouse over any of the dots will show its
value.
Expand ‘EmployeeService’ completely and double-click on the saved test ‘Employee 000010’.
8. Back in the resource statistics view in the Browser you will see that this has reflected in the captured
resource statistics.
As a final step stop the integration node and turn off the administration security:
mqsistop IB10NODE
This concludes the Web Admin lab. Web users with the required authorization can administer services,
applications and other resources on the Integration Node.