Multi-cloud environments are getting plenty of buzz in recent years. It’s no wonder, really, that increased flexibility, risk mitigation, performance optimization and compliance adherence associated with the practice have drawn in new multi-cloud evangelists across the industry.
For all the great benefits multi-cloud offers, it does present one significant challenge: how do you ensure a single point of control while establishing consistent security policies for all users?
Your answer might lie in Attribute Based Access Control (ABAC).
Let’s explore how IT departments leverage this technology to ensure security consistency across complex environments.
Traditionally, access control policies have followed role assignments — the Roles Based Access Control (RBAC) scheme. Users with specific role assignments get to access services, tools and information they need to complete their jobs.
The obvious issue here is that multiple roles can have overlapping access privileges when they share (at least some) similar responsibilities. In such a situation, the RBAC policy assumes identical permissions for users of different role groups. In a worst-case scenario, this means that overlapping permission levels can allow an unauthorized user to take advantage of this permission leakage.
To tackle this problem, we turn to a policy-based alternative: Attribute-Based Access Control (ABAC), which utilizes request attributes to determine whether a user qualifies for access permissions.
ABAC refers to the policy-based access control mechanism that evaluates the characteristics of the access request, context attributes, resource attributes, and entity and action characteristics against organizational security policies.
IAM is the practice of making sure people have access to what they need, and can't access things that they don't need. It's part cybersecurity, part operational efficiency. There are a few ways to action on an IAM policy — ABAC is one option, here’s how it works.
On a technical level, the policy rules assigned to the ABAC identity and access management controls are boolean functions and can change dynamically to account for changing organizational policies.
An ABAC policy checks that all request attributes match predetermined rules before granting access. These attributes generally include:
Security policies predicate over all of these values — if and only if all attributes collectively comply with all IAM policies, the ABAC returns a positive approval to the user requesting permission.
The context-aware nature of this IAM model is suitable for cloud-based environments where IT services are provisioned dynamically and often in constantly changing states. In practice, ABAC allows administrators to apply security checks at extremely granular levels.
Modular control over these values can allow organizations to ensure compliance, and enforce key security principles. ABAC IAM helps enforce two major security principles:
The principle of least privilege access refers to granting only the authorization necessary to complete a task. Enforcing this principle requires the IAM control to execute two capabilities:
According to the least privilege access principle, the approved permissions should only grant the bare minimum resources and access necessary to complete the task. The challenge here is to accurately map attributes to permissions in a way that minimizes permissions overlap and leakage between other users, roles and authorizations — luckily, this is exactly where ABAC shines.
It’s not at all uncommon that a user may require access to a resource only to complete one part of the larger process workflow. That workflow is likely distributed across multiple levels of permissions.
The principle of separation of duty enforces limitations to the scope of permissions approval such that users can only complete a part of that process workflow. This requires other users with different (and higher) levels of permission authorizations to complete or proceed with the process workflows.
In other words, the process of completing a critical task is separated into multiple steps. Each step requires a different set of permissions and no individual user can perform all process steps on their own. This separation is applied using IAM controls such as ABAC that extract attribute values corresponding to the request, its context, object entities and environment, among other security policy variables.
The key motivation here is that an individual user account may be compromised by way of an external cyber-attack or some malicious intent. As long as the compromised user is not handed the key to all critical resources and capabilities, they may not complete sensitive operations without obtaining authorization, support and contributions from other users.
The power and flexibility of ABAC comes down to the fact that request attributes are easy to collect and even the most complex policy rules can be succinctly specified using logic-based functions. In fact, such functions are only limited to the language itself.
The ABAC model may enforce IAM controls as a propositional logic problem: put simply, ABAC is a matter of understanding which attribute-value pairs satisfy a predefined security policy. If the attributes corresponding to a user request satisfy the requirements of a policy, the permissions are granted.
This is of course different from any Role Based Access Control IAM system that accounts for role assignments — often without consideration of the attribute-value pairs that carry a significantly richer knowledge about the request nature and its context.
Zooming out, ABAC policies present quite the list of benefits:
Unsurprisingly, the flexibility of ABAC itself also leads to a few challenges, some of which include:
Many of the challenges of ABAC policies share direct relations with the benefits. Because ABAC is so flexible, it requires diligent planning, governance and implementation strategy to minimize potential issues or capitalize on benefits.
The key objective here is to ensure that the functional advantages of ABAC controls remain intact while establishing a consistent, scalable and efficient IAM model.
As a starting point, your organization can work toward developing a set of holistic and consistent security policies and attribute definitions, which can then run through an automated propositional logic program that can be adopted by all user groups at scale. By prioritizing constraints such as separation of duty and least privilege access, your organization can achieve new peace of mind in compliance and IAM functionality — as long as you bear in mind the many potential pitfalls of using such a flexible approach.
See an error or have a suggestion? Please let us know by emailing ssg-blogs@splunk.com.
This posting does not necessarily represent Splunk's position, strategies or opinion.
The Splunk platform removes the barriers between data and action, empowering observability, IT and security teams to ensure their organizations are secure, resilient and innovative.
Founded in 2003, Splunk is a global company — with over 7,500 employees, Splunkers have received over 1,020 patents to date and availability in 21 regions around the world — and offers an open, extensible data platform that supports shared data across any environment so that all teams in an organization can get end-to-end visibility, with context, for every interaction and business process. Build a strong data foundation with Splunk.