Ensuring the Security, Compliance and Agility of Digital Initiatives with Dynamic Authorization
Even before 2020, digital transformation initiatives were monopolizing the attention of most enterprises. Lines of business were attempting to outmaneuver the competition with experiences that would win customer loyalty and steal market share. IT departments were focusing on access and data security and technical enablement of the initiatives. And compliance departments were striving to ensure adherence to GDPR, CCPA and other regulatory requirements.
Then earlier this year the pandemic appeared. Suddenly, everyone was working from home and any customers still physically interacting with brands shifted to 100% digital—or very close to it. Organizations with five-year digital transformation plans have been forced to get their digital infrastructure in order much faster than previously anticipated.
To accomplish this shift successfully, organizations must keep their eyes on three fundamental aspects of digital business:
These three things are among the most difficult aspects of digital transformation. If left unaddressed, they can slow digital initiatives to a crawl.
And oftentimes, one culprit makes this transition extremely difficult: authorization.
One of the reasons organizations overlook authorization as a cause of slowed digital transformation is because authorization is often done using OAuth throughout the organization. In these enterprises, authorization enforcement is coded into various applications, API gateways and other layers of infrastructure. This makes it incredibly difficult to audit or update, and It’s not until you step back and look at the big picture that you begin to really see some of the issues.
You might be thinking: “But Dustin, that’s why we have an authorization standard called OAuth!” You’d be right for calling that out, since OAuth is the gold standard of authorization and the recommended way to do it. However, there are a few areas where OAuth falls a little short.
Gold standard or not, enforcement of access via OAuth is often implemented in various apps and layers of your infrastructure. As mentioned above, that can make it very difficult to audit or update. Imagine a situation where you need to change the authorization rules in a similar way across all applications, or a situation where you need to evaluate how access is granted to any app that has access to sensitive customer data. Pretty much any scenario that requires you to evaluate authorization beyond a single app will be difficult with OAuth alone.
OAuth generates tokens that are then passed to a resource (e.g., an application or a section of an application). If the token is valid, then access to that resource is granted. It does not help control access to data. For example, once access to a resource is granted, that resource or application may need to access data about a customer. Access to that data is not easily controlled by OAuth. Once access to the resource is granted, the resource’s access to data is out of scope—no pun intended.
OAuth is great at controlling access to resources in static situations. If a certain type of user is always allowed to have access to certain types of resources, then OAuth works well. However, with more and more digital initiatives, we’re frequently seeing complex authorization scenarios that aren’t easy for OAuth to handle. The common thread in these scenarios is that the rules for authorization change depending on the situation. Take an example where customers are granted access to reports based on how many points they’ve purchased with a company. Just because a person is a “customer” doesn’t mean they should have access to a particular report, and the rules will change from customer to customer, depending on how many points they have. Consent enforcement also falls into this category. The consent a customer has given will vary from customer to customer and differ every time. We’ll dive into additional dynamic authorization use cases in the “Use Case” section below.
Another complexity that comes with dynamic authorization scenarios is that the authorization logic is often determined before it is enforced. The system that mints an OAuth token isn’t the same as the server that gives access to the resource. What if an attorney is authorized to access only 20 specific documents that pertain to their case out of millions of documents in the system? It is potentially inefficient to sift through the millions of potential documents and stuff authorizations to those 20 specific documents into a token. Practical limits to token data also can come into play. This situation can be problematic at scale with traditional authorization.
The good news is that there is a type of solution that can overcome these fundamental authorization issues and streamline authorization to ensure agility, security and compliance with new digital initiatives. They’re called “dynamic authorization” solutions.
Dynamic authorization is:
Real-time enforcement of the fine-grained business logic around what users can see and do, in what context, and for what purpose.
Dynamic authorization generally goes above and beyond traditional authorization in four key areas:
Unlike traditional authorization, dynamic authorization can make real-time decisions on what to authorize. This means you don’t have to pre-determine what access is needed when a token is minted, and token data limitations or computation do not need to be taken into account.
Traditional authorization is focused around identity attributes and roles, but dynamic authorization can consider any data that an organization has at its disposal. This can include identity data and roles, third-party APIs, accounting systems, custom logic or any other data source.
Dynamic authorization is fine-grained. This means that it considers the context of each request—unlike traditional authorization, which typically has static rules for access.
Centralized Administration
Dynamic authorization gives you a centralized policy administration point where any user—GRC, business owners or anyone else—can manage policies. Tools like PingAuthorize have an easy-to-use drag-and-drop interface for business users to manage policies.
Now that we have dynamic authorization defined, let’s talk about how it can help you speed your digital initiatives. Dynamic authorization:
Even if traditional authorization is centrally managed, your resources servers or API gateways still have to understand how to respond to a token and appropriately enforce access. This logic is likely hard-coded, especially in advanced use cases. With dynamic authorization, your business logic can be centrally administered and enforced. This means that applications teams don’t have to change their code. They never even have to know their request for data or for an action is going through dynamic authorization policies. All they see is whether the action is approved or the authorized data that is returned.
Auditing authorization can be a resource drain that slows your digital initiatives. Trying to get a hold of numerous business units to determine where the code is for authorization, and what its enablement is, is a tall order. Even getting the right people onto a meeting is probably tough. Centralized administration makes it simple to see all of the authorization logic across all apps in one place, smoothing the path for audits. Centralized enforcement also improves auditing and reporting by ensuring the administrative rules are being adhered to by all apps.
A central administration point that appropriate stakeholders can be granted access to ensures that changes will be easy to implement. Changes can range from new security rules, new privacy rules that need to take consent into account in different ways, or new business use cases that require new authorization rules.
Use Case Examples by Industry
Numerous dynamic authorization use cases across industries are tough to handle with OAuth and traditional authorization. While every use case is unique, a frequent commonality among these situations is that the authorization rules are based on user consent, internal or third-party data sources, or other information outside of “identity data” that can change from user to user.
The problem is that if you have issues dynamic authorization can solve, those issues usually are not labeled with “// dynamic authorization issue” in the code. For that reason, I’ll list a few examples of use cases where dynamic authorization can help in a few industries. This list is by no means exhaustive. Instead, it’s meant to help you identify areas where dynamic authorization may be able to help in your own business.
Healthcare
Manufacturing
Higher Education
Financial Services
Again, this list is not exhaustive. It is only meant to give you an idea of the types of scenarios in which dynamic authorization can help.
Dive Deeper into Dynamic Authorization
As enterprises move faster than ever embarking on new digital initiatives, they must ensure that they are secure, compliant and agile. With new and more complex digital use cases emerging, relying on OAuth alone might create complexities that slow digital initiatives. In these cases, dynamic authorization solutions like PingAuthorize can help.
If you want to join the discussion on dynamic authorization, reserve your seat at one of our industry-specific dynamic authorization roundtables on September 30.