Attribute-Based Access Control (ABAC) is an authorization policy that lets you create fine-grained permissions based on user attributes such as department, title, and team name. User attributes make permissions more intuitive and simplify the admin experience. Let’s learn more about AWS ABAC and how it’s become an important part SaaS ingredient.
Amazon Web Services (AWS) fully supports ABAC. You can use attributes to specify permissions, reducing the number of individual permissions required to control access, and letting you scale authorization much more easily.
For example, instead of creating an AWS Identity and Access Management (IAM) role with a separate policy for each team or individual, you can use ABAC to specify a group of attributes indicating which resources users should be able to access. When you add new users and resources, these properties will ensure that the right users have access to the right resources. There’s no longer a need to update existing policies to explicitly grant access to new users.
Using ABAC with AWS provides the following benefits:
Here are three primary use cases for ABAC in AWS:
Role-based access control (RBAC) is the standard authorization approach in IAM. RBAC defines access permissions based on a user’s job function or “role” (usually referred to as an IAM role in AWS). IAM includes managed policies that assign permissions to specific roles.
RBAC in IAM involves creating separate policies for each job function and attaching them to identities (i.e., IAM users, user groups). It is best to grant the minimum required permissions for each role (least privilege) and list the resources that a role should access.
The drawback of the traditional RBAC model is that it requires policy updates when users add resources. Otherwise, the users cannot access the new resources. It also requires assigning new roles to employees when they change jobs (individuals can have multiple roles).
Attribute-based access control (ABAC) offers several advantages over traditional RBAC, including:
Related: RBAC vs ABAC
The administrator can use the “Attributes for access control” part of the AWS SSO console to specify user attributes applied in various access control policies. The administrator can use existing attributes from a user’s identity source to assign that user to a workload.
There are many ways to configure attributes for access control depending on the identity source used. Creating or modifying policies is necessary after selecting user attributes, regardless of the identity source. These attribute-based policies need to enable users to access AWS resources based on identity. Here are some guidelines for choosing attributes:
Using AWS SSO—if you choose AWS SSO as your ABAC identity source, you must first add users and set up their attributes. Go to the “Attributes for access control” page and choose the policies’ attributes. Return to the “AWS accounts” page to create or modify the permissions (or permission sets) to incorporate the attributes into your ABAC policies.
Using AWS Managed Microsoft AD—if you configure AWS Managed Microsoft AD as an identity source in AWS SSO, you must choose the attributes in Active Directory. You can then map these to the user attributes in AWS SSO. Then go to “Attributes for access control” and select the attributes for your policy in the ABAC configuration. Choose attributes based on your existing SSO attributes in Active Directory. Use these access control attributes in your permissions sets to create ABAC rules granting user identity-based access to your AWS resources.
Using an external IdP—there are two ways to apply attributes for ABAC policies if you use an external identity provider as an identity source:
User management has become an important component of the modern SaaS application for the simple reason that customers now have different needs and requirements – from basic RBAC scenarios all the way to complex B2B use cases. Frontegg’s self-served and end-to-end platform helps implement dynamic authentication and authorization flows, all with minimal effort.
This is helping businesses focus on their core technology and scale-up faster, all in a secure way, making Frontegg a true gamechanger in the SaaS space.
Start For Free