Enhancing Security in Maximo OSLC JSON REST API

Phil Runion, Technical Account Manager, Projetech
July 10, 2023

Introduction

Maximo’s REST API is a powerful tool for exchanging data with external applications, but it's important to ensure that access is granted only to those who need it. In this article, we'll explore best practices for enhancing security in Maximo’s REST API, specifically focusing on object structure security, minimum privilege security models, security group creation, and the use of API keys for integration.

Understanding Object Structure Security in Maximo

Object structure security is a key component of securing Maximo’s REST API. By default, user-created object structures and the majority of out-of-the-box object structures in Maximo are open and available for use by authenticated Maximo users. This means that any user with credentials that can log into the system can access data exposed by object structures via the REST API. To address this vulnerability, it is important to turn on the "mxe.int.enableosauth" system property. This property enforces explicitly granted object structure access, meaning that users can only access the object structures that have been granted to them. This feature allows administrators to manage security with security groups in Maximo and ensures that users can only access the data to which they have been granted access.

Least Privilege Security Model for API Integrations in Maximo

Implementing a minimum or least privilege security model is a best practice for enhancing security in Maximo. Instead of using one user with administrator-level access, dedicated users with limited access can be created for each integration, using security groups to control access privileges. By creating a separate security group for each integration and granting them only the necessary access to perform their tasks, the risk of unauthorized access is minimized. In practice, an integration user will not have any front-end Maximo application and only access Maximo via the API. The object structures granted will be mostly at a read-only level, with a select few being granted save, insert, and delete access. 

How to Use API Keys for Integration in Maximo and Improve Security

Using API keys for integration is a secure option and works with SOAP, REST APIs, and other APIs that Maximo has. API keys are a better alternative than using usernames and passwords as they are more secure. API keys are the only method to authenticate with the Manage API once you move to Maximo Application Suite. They also have the advantage of working whether you are using NATIVE, LDAP, or SAML authentication. When using API keys, it is important to ensure that they are created and distributed in a secure manner. Additionally, API keys should be revoked when they are no longer needed.

What Can You Do Today?

  • Check System Property mxe.int.enableosauth. If this is true, your system already requires security to be explicitly granted.
  • Audit your system to determine what processes or integration should be connecting to object structures via Maixmo’s APIs. This can be accomplished in a few different ways and can be tedious. Implementation documentation and logs will help you do this.

  • Verify that all object structures used have object structure security configured. IBM Documentation: https://www.ibm.com/support/pages/node/6417041

  • Create dedicated users and security groups for each system that is connected to Maximo via an API. In the past, using MXINTADM was common. Multiple systems using the same user to connect pose a security risk but will prevent the implementation of least access principles.

  • Move all API access away from using MAXAUTH (username and password) and instead use an APIKEY to authenticate. Not all systems will be able to utilize an APIKEY, but implement one where you can.This will also help future-proof your system when moving to Maximo Application Suite.

  • Double-check your work by looking at the access from the database side. Object structure security is stored in the APPLICATIONAUTH table, just like application security. Checking this table will allow you to quickly check the actual security that is granted to each security group. 

select * from applicationauth

where app in ( select intobjectname from MAXINTOBJECT )

and optionname in ('READ','SAVE','INSERT','DELETE')

Implementing best practices for securing Maximo’s REST API with object structure security is critical to prevent security vulnerabilities and ensure that access is granted only to those who need it. By understanding object structure security, executing a minimum or at least privilege security model, creating security groups, and using API keys for integration, you can ensure that only authorized users can access the system and minimize the risk of unauthorized access. Following these best practices and security features enables a secure and robust system that minimizes the risk of data breaches and unauthorized access.

An important consideration is the need to periodically review and update your security settings. As business and IT requirements change, it's important to revisit your security settings to ensure  they are still appropriate for your needs. Regular security audits can help identify vulnerabilities and provide recommendations for improving security.

Share this post
Phil Runion, Technical Account Manager, Projetech
July 10, 2023
IBM Maximo Tips & Tricks

More Blogs

Projetech Successfully Completes a SOC 2 Assessment to Further Data Security

Projetech Successfully Completes a SOC 2 Assessment to Further Data Security

At Projetech, we continually invest in security best practices to ensure that our client’s data stays safe and secure. As a part of an on-going effort, we are excited to announce that we’ve successfully completed our SOC 2 report.
Read post
A Path to Becoming an IBM Champion

A Path to Becoming an IBM Champion

In today’s rapidly changing technology landscape, business leaders play an important role in shaping the future of technology adoption and community engagement. Representing a passion for technological innovation, community engagement, and educational opportunities, the IBM Champions program rewards thought and innovation leaders for their contributions by expanding their sphere of influence.
Read post
Navigating Control Desk End of Support and Understanding Maximo IT

Navigating Control Desk End of Support and Understanding Maximo IT

On September 19th, 2023, IBM announced that Control Desk would reach End of Support on September 30th, 2025. Since this announcement was made, there has been confusion about what the Control Desk end of support date means, and the options existing Control Desk customers have.
Read post

Become a part of our thriving community with over 4,000 Maximo users.

MORE offers users a platform to discover valuable resources and engage in insightful discussions surrounding the intricacies of Maximo software. Connect with peers and experts to explore the depths of possibilities and enhance your expertise.