{"id":4172,"date":"2024-09-30T16:42:56","date_gmt":"2024-09-30T20:42:56","guid":{"rendered":"https:\/\/www.indigoconsulting.ca\/?p=4172"},"modified":"2024-12-05T15:49:46","modified_gmt":"2024-12-05T20:49:46","slug":"authorization-demystified-your-gateway-to-secure-access","status":"publish","type":"post","link":"https:\/\/www.indigoconsulting.ca\/fr\/blog\/authorization-demystified-your-gateway-to-secure-access\/","title":{"rendered":"Authorization Demystified: Your Gateway to Secure Access"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"4172\" class=\"elementor elementor-4172\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-cc835e9 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"cc835e9\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fa3a38f\" data-id=\"fa3a38f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-9caaf75 elementor-widget elementor-widget-text-editor\" data-id=\"9caaf75\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">This article provides foundational knowledge about the authorization aspect of identity and access management (IAM). Its goal is to introduce access control models commonly used today, with a deeper exploration of the Attribute Based Access Control model (ABAC). This model is having traction in the industry, but is often misunderstood.<\/span><\/p><p><span style=\"font-weight: 400;\">Before we start, here are key concepts referenced throughout the article.<\/span><\/p><p><b>Subject<\/b><\/p><p><span style=\"font-weight: 400;\">The entity that accesses an object. The subject can be, for instance, a user or an automatic process.<\/span><\/p><p><b>Object<\/b><\/p><p><span style=\"font-weight: 400;\">The resource that is being accessed. Examples include a file in an operating system, a field in a person\u2019s record, an API, etc.<\/span><\/p><h2><strong style=\"color: inherit; font-family: inherit; font-size: 2rem;\"><span style=\"color: #003b59;\">Access control models<\/span><\/strong><\/h2><p><img fetchpriority=\"high\" decoding=\"async\" class=\"alignright wp-image-4007\" src=\"https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2023\/11\/meeting-of-programmers-2021-09-24-02-55-20-utc-300x200.jpg\" alt=\"\" width=\"450\" height=\"300\" srcset=\"https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2023\/11\/meeting-of-programmers-2021-09-24-02-55-20-utc-300x200.jpg 300w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2023\/11\/meeting-of-programmers-2021-09-24-02-55-20-utc-1024x683.jpg 1024w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2023\/11\/meeting-of-programmers-2021-09-24-02-55-20-utc-768x512.jpg 768w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2023\/11\/meeting-of-programmers-2021-09-24-02-55-20-utc-370x247.jpg 370w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2023\/11\/meeting-of-programmers-2021-09-24-02-55-20-utc-690x460.jpg 690w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2023\/11\/meeting-of-programmers-2021-09-24-02-55-20-utc-1536x1024.jpg 1536w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2023\/11\/meeting-of-programmers-2021-09-24-02-55-20-utc-2048x1365.jpg 2048w\" sizes=\"(max-width: 450px) 100vw, 450px\" \/><\/p><p><span style=\"font-weight: 400;\">This section covers the main access control models that can be encountered in authorization solutions.<\/span><\/p><h3><span style=\"color: #003b59;\">Access control list (ACL)<\/span><\/h3><p><span style=\"font-weight: 400;\">This access control model is one of the earliest introduced. The first implementation of this model dates back to 1965 with the Multics operating system.<\/span><\/p><p><span style=\"font-weight: 400;\">In this model, the owner of a resource maintains a list of which subject (such as users, or accounts) that can access its resource and what actions they are permitted to perform.<\/span><\/p><p><span style=\"font-weight: 400;\">This model is used in various contexts. For instance, in an operating system, a file is associated with a list of subjects that can read, modify or delete them. In an LDAP directory, an ACL defines how a subject can interact with objects in the directory.<\/span><\/p><h3><span style=\"color: #003b59;\">Role-based access control (RBAC)<\/span><\/h3><p><span style=\"font-weight: 400;\">This model, developed by NIST researchers in 1992, introduces a key distinction from the ACL model by breaking the direct relationship between subjects and objects.<\/span><\/p><p><span style=\"font-weight: 400;\">In the RBAC model, permissions are not directly assigned to subjects. Instead, subjects are assigned to roles, and these roles are granted permissions to access specific objects.<\/span><\/p><p><span style=\"font-weight: 400;\">These roles can represent many concepts like the subject\u2019s business function or its department. A role can be used to group subjects and privileges together, simplifying their management. However, in practice, most organizations face a \u201crole explosion\u201d situation where a multitude of distinct roles is created to account for every exception or nuance in privileges. This situation makes role management a complex task.<\/span><\/p><h3><span style=\"color: #003b59;\">Attribute based access control (ABAC)<\/span><\/h3><p><span style=\"font-weight: 400;\">ABAC can be considered as a more flexible generalization of the RBAC model. In RBAC, a subject\u2019s privileges over an object are determined by its assigned roles. In contrast, with the ABAC model, the privileges can depend on any of the subject\u2019s attributes, not only its role. Examples of such attributes can include the subject\u2019s business unit, its seniority level in an organization, its security clearance level, etc.<\/span><\/p><p><span style=\"font-weight: 400;\">The ABAC model also incorporates object&#8217;s attributes and contextual attributes. An object\u2019s attributes define the resources that can be accessed and contextual attributes define the context in which an authorization request is performed. These three levels of attributes allow for complex and flexible policy. For instance, such a policy could be:<\/span><\/p><p><i><span style=\"font-weight: 400;\">A bank employee working at the Montr\u00e9al branch can access a VIP client\u2019s bank accounts, only during office hours and only if the request is made from within North-America.<\/span><\/i><\/p><p><span style=\"font-weight: 400;\">Note that we consider ABAC and Policy-based access control (PBAC) as synonymous. PBAC is sometimes used as a more business friendly termmarketing term for solutions that effectively implement the ABAC model. Both ABAC and PBAC solutions implement a model which allows the creation of authorization policies based on subjects, objects and contextual attributes.<\/span><\/p><h3><span style=\"color: #003b59;\">Relationship based access control (ReBAC)<\/span><\/h3><p><span style=\"font-weight: 400;\">The idea of an authorization model based on relationships was first discussed in 2006 in the context of information sharing in social networks. An application for this model is to allow an individual to share various pieces of information to other individuals based on their relationship.<\/span><\/p><p><span style=\"font-weight: 400;\">The ReBAC model is similar to ABAC in that both can define complex and fine-grained authorization policies. The main difference in the two models lies in how the policies are designed and evaluated. In ABAC model, a subject\u2019s, object\u2019s and contextual attributes are evaluated. In the ReBAC model, what is evaluated is the relationship between the subject and the object.<\/span><\/p><p><span style=\"font-weight: 400;\">For instance, in the ReBAC model, a <\/span><i><span style=\"font-weight: 400;\">document<\/span><\/i><span style=\"font-weight: 400;\"> object could have an <\/span><i><span style=\"font-weight: 400;\">editor<\/span><\/i><span style=\"font-weight: 400;\"> relationship to a specific subject. If that subject attempts to edit the document, the ReBAC system validates that the <\/span><i><span style=\"font-weight: 400;\">editor<\/span><\/i><span style=\"font-weight: 400;\"> relationship exists between the subject and the object. If no such relationship is found, the edit request is denied.<\/span><\/p><h2><span style=\"color: #003b59;\">ABAC model<\/span><\/h2><p><span style=\"font-weight: 400;\">This section focuses on the architecture and components of the ABAC model. <img decoding=\"async\" class=\"wp-image-4173 size-large aligncenter\" src=\"https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/09\/Screenshot-2024-09-30-at-4.34.18\u202fPM-1024x633.png\" alt=\"\" width=\"800\" height=\"495\" srcset=\"https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/09\/Screenshot-2024-09-30-at-4.34.18\u202fPM-1024x633.png 1024w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/09\/Screenshot-2024-09-30-at-4.34.18\u202fPM-300x185.png 300w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/09\/Screenshot-2024-09-30-at-4.34.18\u202fPM-768x474.png 768w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/09\/Screenshot-2024-09-30-at-4.34.18\u202fPM-370x229.png 370w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/09\/Screenshot-2024-09-30-at-4.34.18\u202fPM-745x460.png 745w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/09\/Screenshot-2024-09-30-at-4.34.18\u202fPM.png 1308w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/span><\/p><h3><span style=\"color: #003b59;\">ABAC architecture<\/span><\/h3><p><span style=\"font-weight: 400;\">The various components of an ABAC architecture were originally defined as part of the AAA Authorization Framework RFC (RFC 2904) published in 2000. This RFC established foundations of distributed policies which are now used in modern ABAC solutions.<\/span><\/p><p><span style=\"font-weight: 400;\">A flow for a request follows the following steps:<\/span><\/p><ol><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">A request is made to a system for an object (resource), such as retrieving records in a database or calling an API. This request is intercepted by the Policy Enforcement Point (PEP) which is usually part of the system that returns the request\u2019s response. The PEP can take many forms: a database plugin, a sidecar to a service mesh, code integrated within the application, etc.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The PEP forwards the request to the Policy Decision Point (PDP). The PDP is responsible for making the authorization decision. The PEP may also provide additional relevant information that was not included in the original request. This additional information can be application specific or contextual information in which the request was performed. The PDP is a component that can easily be centralized and potentially deployed in the cloud. A valid deployment strategy is to have many PEPs deployed in on-premises business applications. All these PEPs can then reach out to a single PDP deployed in the cloud.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The PDP may rely on additional data sources to make an authorization decision. This is necessary when the PDP doesn\u2019t have enough information with the authorization request itself and additional information that is provided by the PEP. When the PDP needs additional information, it can query one or many Policy Information Point (PIP). A PIP is a component that connects to various data sources (databases, LDAP, etc.) in order to provide information to the PDP so that the PDP can perform the authorization decision. The information provided by a PIP can be related to the subject making the request or the object that the subject wants to access.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Once the PDP has all the necessary information, it evaluates relevant policies in order to perform an authorization decision.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The PDP then returns the authorization decision to the PEP. The PEP is in charge of enforcing that decision.\u00a0<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The PEP enforces the authorization decision. This enforcement step is highly dependent on the implementation and the object that is being accessed by the subject. For instance, if a subject wants to do a GET on an API endpoint, the PEP could grant or deny the request. If a subject wants to do a SELECT SQL query on a database, the PEP could filter the rows and columns which the subject has access to.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">If access is granted to the subject, the PEP returns the requested object.<\/span><\/li><\/ol><p><span style=\"font-weight: 400;\">\u00a0<\/span><\/p><p><span style=\"font-weight: 400;\">In parallel to the request made by subjects to objects, administration tasks are also performed in the system.<\/span><\/p><ol><li><span style=\"font-weight: 400;\">An administrator uses the Policy Administration Point (PAP) to manage the various policies in the system. Like the PDP, the PAP is a component that can easily be centralized. The PAP, PDP and the policies managed and read by these two components can be deployed in a central location.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The PAP updates the policies that are read by the PDP when the PDP performs its policy evaluation task.<\/span><\/li><\/ol><h2>\u00a0<\/h2><h2><strong><span style=\"color: #003b59;\">ABAC access control policies and best practices <\/span><\/strong><\/h2><h3><span style=\"color: #003b59;\">Policy format<\/span><\/h3><h2><strong><span style=\"color: #003b59;\"> <img decoding=\"async\" class=\"wp-image-4174 alignright\" src=\"https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/10\/policy-300x300.png\" alt=\"\" width=\"422\" height=\"422\" srcset=\"https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/10\/policy-300x300.png 300w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/10\/policy-1024x1024.png 1024w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/10\/policy-150x150.png 150w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/10\/policy-768x768.png 768w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/10\/policy-370x370.png 370w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/10\/policy-460x460.png 460w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/10\/policy.png 1080w\" sizes=\"(max-width: 422px) 100vw, 422px\" \/><\/span><\/strong><\/h2><p>Policies in the ABAC model follow the format:<\/p><p><span style=\"font-weight: 400;\"> Here is the breakdown of the various elements of a policy:<\/span><\/p><p><b>Who<\/b><\/p><p><span style=\"font-weight: 400;\">The subject making a request. The subject can represent a user account, an employee, a client, a non human system, etc.<\/span><\/p><p><b>What<\/b><\/p><p><span style=\"font-weight: 400;\">The object or resource being accessed. A resource can be an API endpoint endpoint, a column in a database, a microservice, etc. The <\/span><i><span style=\"font-weight: 400;\">what<\/span><\/i><span style=\"font-weight: 400;\"> portion of a policy also describes the actions that can be done on the object. For instance, the <\/span><i><span style=\"font-weight: 400;\">what <\/span><\/i><span style=\"font-weight: 400;\">portion of the policy can specify that a given subject can perform a GET on an API endpoint to retrieve a document, but cannot perform a POST on that same API endpoint on that same document.<\/span><\/p><p><b>When<\/b><\/p><p><span style=\"font-weight: 400;\">The context in which the request can be performed. Contextual factors can include the time and date at which the request is performed, the geolocation from where the request originates or any other contextual information that the PEP can provide to the PDP when requesting a policy evaluation.<\/span><\/p><h3><span style=\"color: #003b59;\">Policy creation best practices<\/span><\/h3><p><span style=\"font-weight: 400;\">At a high level, the process of creating an ABAC policy follows these steps:<\/span><\/p><ol><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Define assets and resources to protect. In the ABAC model, these would be the <\/span><i><span style=\"font-weight: 400;\">objects<\/span><\/i><span style=\"font-weight: 400;\"> to protect and would represent the <\/span><i><span style=\"font-weight: 400;\">what<\/span><\/i><span style=\"font-weight: 400;\"> of the policies that are being designed. It is a good practice to start by defining <\/span><i><span style=\"font-weight: 400;\">objects<\/span><\/i><span style=\"font-weight: 400;\"> rather than <\/span><i><span style=\"font-weight: 400;\">subjects<\/span><\/i><span style=\"font-weight: 400;\">. Defining subjects first can lead to irrelevant or overlapping subjects definitions.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Identify the various objects\u2019 attributes that are relevant when performing an authorization decision. It is also important to identify the source of these attributes. The source could be in the request itself, it could come from a PEP or the attribute could be stored in a PIP.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Identify the actions and usage patterns for the various objects. This includes the design and implementation of authorization with user journey focus that considers authentication infrastructure and data dependencies inherent to the security ecosystem protecting access to objects.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Once the objects\u2019 actions and usage patterns are defined, define which subjects should be able to perform them.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Identify the subjects\u2019 attributes that can be used to properly identify them. Just like it was done for the objects\u2019 attributes, it is also important to determine the source of the subjects\u2019 attributes (the request, additional information by the PEP or PIP).<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Identify any additional contextual attributes that should be taken into consideration when a subject performs an action on an object. Examples of additional contextual information could include: only during business hours, only when in North-America, etc.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">After gathering all necessary data it is possible to put all of this together to design proper ABAC policies. To do that, identify control points between users and resources where context and attribute data intersect with sufficient information to make effective authorization decisions.<\/span><\/li><\/ol><h3><span style=\"color: #003b59;\">Policy design principles<\/span><\/h3><p><span style=\"font-weight: 400;\">Here are some design principles that should be taken into consideration when creating policies. Not all of these principles are applicable to every context, but it is a good practice to keep them in mind.<\/span><\/p><ul><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Additive<\/b><span style=\"font-weight: 400;\">: New rules and attributes add to, rather than replace, existing ones.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Encapsulation<\/b><span style=\"font-weight: 400;\">: rules are encapsulated within their own layer or module. Changes in one adopter&#8217;s advanced rules don&#8217;t affect others&#8217; implementations.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Shared foundation<\/b><span style=\"font-weight: 400;\">: Build upon a consistent common foundation without altering it.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Backward compatibility<\/b><span style=\"font-weight: 400;\">: Utilize base level authorization if advanced layers are not serviceable.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Gradual adoption<\/b><span style=\"font-weight: 400;\">: Introduce advanced capabilities at self-pace as use-case\/requirements mature.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Fallback mechanism<\/b><span style=\"font-weight: 400;\">: If an advanced rule fails or is inapplicable, the system can fall back to more basic rules. Ensures continued operation even if some advanced components are compromised.<\/span><\/li><\/ul><h2><strong><span style=\"color: #003b59;\">Conclusion<\/span><\/strong><\/h2><p><span style=\"font-weight: 400;\">Hopefully, this article has helped solidify your understanding of authorization\u2019s basic concepts and more specifically, the ABAC authorization model.<\/span><\/p><p><span style=\"font-weight: 400;\">In systems with advanced access control use cases and requirements, understanding the details of advanced access control models is essential. This article should have given you the high level understanding necessary to implement more complex authorization controls in your projects.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4c2db85 elementor-align-left elementor-invisible elementor-widget elementor-widget-button\" data-id=\"4c2db85\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeIn&quot;,&quot;_animation_delay&quot;:200}\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/www.indigoconsulting.ca\/fr\/contact\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Prendre rendez-vous<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b0d2849 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b0d2849\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-95025db\" data-id=\"95025db\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ee3b36f elementor-widget elementor-widget-testimonial\" data-id=\"ee3b36f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"testimonial.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-testimonial-wrapper\">\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-testimonial-meta elementor-has-image elementor-testimonial-image-position-aside\">\n\t\t\t\t<div class=\"elementor-testimonial-meta-inner\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial-image\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1080\" height=\"1080\" src=\"https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/09\/JT-Author.png\" class=\"attachment-full size-full wp-image-4197\" alt=\"\" srcset=\"https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/09\/JT-Author.png 1080w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/09\/JT-Author-300x300.png 300w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/09\/JT-Author-1024x1024.png 1024w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/09\/JT-Author-150x150.png 150w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/09\/JT-Author-768x768.png 768w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/09\/JT-Author-370x370.png 370w, https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2024\/09\/JT-Author-460x460.png 460w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial-details\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial-name\">Jonathan Tellier<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial-job\">Identity Solutions Architect<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>This article provides foundational knowledge about the authorization aspect of identity and access management (IAM). Its goal is to introduce access control models commonly used today, with a deeper exploration of the Attribute Based Access Control model (ABAC). This model is having traction in the industry, but is often misunderstood. Before we start, here are [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":4007,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"content-type":"","footnotes":""},"categories":[117],"tags":[],"class_list":["post-4172","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v27.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Introduction to Authorization Understanding Access Control Mechanisms<\/title>\n<meta name=\"description\" content=\"Discover the fundamentals of authorization in this comprehensive guide. Learn about access control mechanisms, best practices, and how effective authorization enhances security in your digital systems. Unlock the secrets to safeguarding your data today!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.indigoconsulting.ca\/fr\/blog\/authorization-demystified-your-gateway-to-secure-access\/\" \/>\n<meta property=\"og:locale\" content=\"fr_CA\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Authorization Demystified: Your Gateway to Secure Access\" \/>\n<meta property=\"og:description\" content=\"Discover the fundamentals of authorization in this comprehensive guide. Learn about access control mechanisms, best practices, and how effective authorization enhances security in your digital systems. Unlock the secrets to safeguarding your data today!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.indigoconsulting.ca\/fr\/blog\/authorization-demystified-your-gateway-to-secure-access\/\" \/>\n<meta property=\"og:site_name\" content=\"Indigo Consulting\" \/>\n<meta property=\"article:published_time\" content=\"2024-09-30T20:42:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-05T20:49:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2023\/11\/meeting-of-programmers-2021-09-24-02-55-20-utc-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1707\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Web Master\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Web Master\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Introduction to Authorization Understanding Access Control Mechanisms","description":"Discover the fundamentals of authorization in this comprehensive guide. Learn about access control mechanisms, best practices, and how effective authorization enhances security in your digital systems. Unlock the secrets to safeguarding your data today!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.indigoconsulting.ca\/fr\/blog\/authorization-demystified-your-gateway-to-secure-access\/","og_locale":"fr_CA","og_type":"article","og_title":"Authorization Demystified: Your Gateway to Secure Access","og_description":"Discover the fundamentals of authorization in this comprehensive guide. Learn about access control mechanisms, best practices, and how effective authorization enhances security in your digital systems. Unlock the secrets to safeguarding your data today!","og_url":"https:\/\/www.indigoconsulting.ca\/fr\/blog\/authorization-demystified-your-gateway-to-secure-access\/","og_site_name":"Indigo Consulting","article_published_time":"2024-09-30T20:42:56+00:00","article_modified_time":"2024-12-05T20:49:46+00:00","og_image":[{"width":2560,"height":1707,"url":"https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2023\/11\/meeting-of-programmers-2021-09-24-02-55-20-utc-scaled.jpg","type":"image\/jpeg"}],"author":"Web Master","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Web Master","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.indigoconsulting.ca\/blog\/authorization-demystified-your-gateway-to-secure-access\/#article","isPartOf":{"@id":"https:\/\/www.indigoconsulting.ca\/blog\/authorization-demystified-your-gateway-to-secure-access\/"},"author":{"name":"Web Master","@id":"https:\/\/www.indigoconsulting.ca\/#\/schema\/person\/38f543d7b3a9f166761affde4e68fb3f"},"headline":"Authorization Demystified: Your Gateway to Secure Access","datePublished":"2024-09-30T20:42:56+00:00","dateModified":"2024-12-05T20:49:46+00:00","mainEntityOfPage":{"@id":"https:\/\/www.indigoconsulting.ca\/blog\/authorization-demystified-your-gateway-to-secure-access\/"},"wordCount":1955,"publisher":{"@id":"https:\/\/www.indigoconsulting.ca\/#organization"},"image":{"@id":"https:\/\/www.indigoconsulting.ca\/blog\/authorization-demystified-your-gateway-to-secure-access\/#primaryimage"},"thumbnailUrl":"https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2023\/11\/meeting-of-programmers-2021-09-24-02-55-20-utc-scaled.jpg","articleSection":["Blog"],"inLanguage":"fr-CA"},{"@type":"WebPage","@id":"https:\/\/www.indigoconsulting.ca\/blog\/authorization-demystified-your-gateway-to-secure-access\/","url":"https:\/\/www.indigoconsulting.ca\/blog\/authorization-demystified-your-gateway-to-secure-access\/","name":"Introduction to Authorization Understanding Access Control Mechanisms","isPartOf":{"@id":"https:\/\/www.indigoconsulting.ca\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.indigoconsulting.ca\/blog\/authorization-demystified-your-gateway-to-secure-access\/#primaryimage"},"image":{"@id":"https:\/\/www.indigoconsulting.ca\/blog\/authorization-demystified-your-gateway-to-secure-access\/#primaryimage"},"thumbnailUrl":"https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2023\/11\/meeting-of-programmers-2021-09-24-02-55-20-utc-scaled.jpg","datePublished":"2024-09-30T20:42:56+00:00","dateModified":"2024-12-05T20:49:46+00:00","description":"Discover the fundamentals of authorization in this comprehensive guide. Learn about access control mechanisms, best practices, and how effective authorization enhances security in your digital systems. Unlock the secrets to safeguarding your data today!","breadcrumb":{"@id":"https:\/\/www.indigoconsulting.ca\/blog\/authorization-demystified-your-gateway-to-secure-access\/#breadcrumb"},"inLanguage":"fr-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.indigoconsulting.ca\/blog\/authorization-demystified-your-gateway-to-secure-access\/"]}]},{"@type":"ImageObject","inLanguage":"fr-CA","@id":"https:\/\/www.indigoconsulting.ca\/blog\/authorization-demystified-your-gateway-to-secure-access\/#primaryimage","url":"https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2023\/11\/meeting-of-programmers-2021-09-24-02-55-20-utc-scaled.jpg","contentUrl":"https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2023\/11\/meeting-of-programmers-2021-09-24-02-55-20-utc-scaled.jpg","width":2560,"height":1707},{"@type":"BreadcrumbList","@id":"https:\/\/www.indigoconsulting.ca\/blog\/authorization-demystified-your-gateway-to-secure-access\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.indigoconsulting.ca\/"},{"@type":"ListItem","position":2,"name":"Authorization Demystified: Your Gateway to Secure Access"}]},{"@type":"WebSite","@id":"https:\/\/www.indigoconsulting.ca\/#website","url":"https:\/\/www.indigoconsulting.ca\/","name":"Indigo Consulting","description":"A Leading IAM, Compliance, &amp; IT Consultant","publisher":{"@id":"https:\/\/www.indigoconsulting.ca\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.indigoconsulting.ca\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-CA"},{"@type":"Organization","@id":"https:\/\/www.indigoconsulting.ca\/#organization","name":"Indigo Consulting","url":"https:\/\/www.indigoconsulting.ca\/","logo":{"@type":"ImageObject","inLanguage":"fr-CA","@id":"https:\/\/www.indigoconsulting.ca\/#\/schema\/logo\/image\/","url":"https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2020\/03\/logo_indigo.png","contentUrl":"https:\/\/www.indigoconsulting.ca\/wp-content\/uploads\/2020\/03\/logo_indigo.png","width":363,"height":109,"caption":"Indigo Consulting"},"image":{"@id":"https:\/\/www.indigoconsulting.ca\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/indigo-technologies-canada-inc.\/"]},{"@type":"Person","@id":"https:\/\/www.indigoconsulting.ca\/#\/schema\/person\/38f543d7b3a9f166761affde4e68fb3f","name":"Web Master","image":{"@type":"ImageObject","inLanguage":"fr-CA","@id":"https:\/\/secure.gravatar.com\/avatar\/545c64cbccfbdd8a03700444efeb701f8d8efbce05186f326dae06e6d17e5575?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/545c64cbccfbdd8a03700444efeb701f8d8efbce05186f326dae06e6d17e5575?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/545c64cbccfbdd8a03700444efeb701f8d8efbce05186f326dae06e6d17e5575?s=96&d=mm&r=g","caption":"Web Master"},"url":"https:\/\/www.indigoconsulting.ca\/fr\/author\/webmaster\/"}]}},"_links":{"self":[{"href":"https:\/\/www.indigoconsulting.ca\/fr\/wp-json\/wp\/v2\/posts\/4172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.indigoconsulting.ca\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.indigoconsulting.ca\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.indigoconsulting.ca\/fr\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.indigoconsulting.ca\/fr\/wp-json\/wp\/v2\/comments?post=4172"}],"version-history":[{"count":0,"href":"https:\/\/www.indigoconsulting.ca\/fr\/wp-json\/wp\/v2\/posts\/4172\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.indigoconsulting.ca\/fr\/wp-json\/wp\/v2\/media\/4007"}],"wp:attachment":[{"href":"https:\/\/www.indigoconsulting.ca\/fr\/wp-json\/wp\/v2\/media?parent=4172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.indigoconsulting.ca\/fr\/wp-json\/wp\/v2\/categories?post=4172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.indigoconsulting.ca\/fr\/wp-json\/wp\/v2\/tags?post=4172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}