SlideShare a Scribd company logo
© 2013, Axiomatics AB
Authorization
The Missing Piece of the Puzzle
@srijith
@axiomatics
Srijith Nair
Director, Developer Relations
© 2013, Axiomatics AB
Show of Hands:
Authorization?
XACML?
© 2013, Axiomatics AB
Identity is key
Services need to know who you are
You need to prove who you are
Several protocols exist to support Authentication
Authentication (AuthN)
“Authentication is the act of confirming the truth
of an attribute of a datum or entity. This might
involve confirming the identity of a person or
software program (…)”
© 2013, Axiomatics AB
Identity is key, but it is not everything
Authentication proves your identity
It does not decide what that identity entails
Enter Authorization
Authorization (AuthZ)
“The authorization function determines whether a
particular entity is authorized to perform a given
activity, typically inherited from authentication
when logging on to an application or service.”
© 2013, Axiomatics AB
Some frameworks, stds. confuse both phases
Often AuthN ≡ AuthZ
If you have authenticated then you are in…
AuthZ is part of a bigger process
Identify
Authenticate
Authorize
Think of the access to your APIs…
AuthN vs. AuthZ
© 2013, Axiomatics AB
Business-driven authorization
Let “Gold” customers access APIs 1,2 but not 3
Let “Platinum” customers access all APIs
Compliance-driven authorization
Do not let traders approve transactions they
requested
Privacy-driven authorization
Do not disclose medical data to non-employee users
AuthZ addresses various concerns
© 2013, Axiomatics AB
Mandatory Access Control (MAC)
Discretionary Access Control (DAC)
Role-Based Access Control (RBAC)
It’s widely adopted
It’s well understood and industry-standard
It’s simple
Most apps support some form of RBAC
Authorization Approaches
© 2013, Axiomatics AB
Inflexible & static
Difficult to define fine-grained access control rules
Doesn’t scale
Role explosion
How to implement the rule:
Doctors should be able to view the records of patients
assigned to their unit and edit the records of those patients
with whom they have a care relationship
Where’s the role? Doctor
What’s a patient? A record? A care relationship?
Problem with RBAC?
© 2013, Axiomatics AB
Pull out the highlighter
What if we were not limited to roles?
Doctors should be able to view the
records of patients assigned to their
unit and edit the records of those
patients with whom they have a care
relationship
Attributes, Attributes, Attributes!
© 2013, Axiomatics AB
Attribute-Based Access Control (ABAC)
uses attributes as building blocks
in a structured language used to define access control
rules and
to describe access requests
Attributes
Are sets of labels or properties
Describe all aspects of entities that must be considered
for authorization purposes
Each attribute consists of a key-value pair such as
“Class=Gold”, “OS=Windows”
Attribute-based access control
© 2013, Axiomatics AB
ABAC – beyond RBAC
Role-Based Access Control Attribute-Based Access Control
User  Role  Permissions User + Action + Resource + Context
Attributes
Policies
Example: doctors can open & edit a patient’s health
record in the hospital emergency room at 3PM.
Static & pre-defined Dynamic & Adaptive
Role 1
Role 2
P
P
P
P
P
P
© 2013, Axiomatics AB
eXtensible Authorization – Future Proofing
External to
Applications
Standards-
Compliant
Authorization Service
Fine-
Grained
Context-Aware
Attribute-based Access Control
© 2013, Axiomatics AB
Enter XACML
© 2013, Axiomatics AB
Pronunciation
eXtensible Access Control Markup Language
OASIS standard
V 3.0 approved in January 2013
V 1.0 approved in 2003 (10 years ago!)
XACML is expressed as
A specification document and
An XML schema
REST profile for XACML exists (CSD)
http://www.oasis-open.org/committees/xacml/
14
What is XACML?
© 2013, Axiomatics AB
15
What does XACML contain?
XACML
Reference
Architecture
Policy
Language
Request /
Response
Protocol
© 2013, Axiomatics AB
16
XACML-Architecture
Access request
© 2013, Axiomatics AB
17
XACML-Architecture
Enforce
Policy Enforcement Point
© 2013, Axiomatics AB
18
XACML-Architecture
Enforce
Policy Enforcement Point
Decide
Policy Decision Point
© 2013, Axiomatics AB
19
XACML-Architecture
Enforce
Policy Enforcement Point
Decide
Policy Decision Point
Support
Policy Information Point
Policy Retrieval Point
© 2013, Axiomatics AB
20
XACML-Architecture
Enforce
Policy Enforcement Point
Decide
Policy Decision Point
Manage
Policy Administration Point
Support
Policy Information Point
Policy Retrieval Point
© 2013, Axiomatics AB
21
What does XACML contain?
XACML
Reference
Architecture
Policy
Language
Request /
Response
Protocol
© 2013, Axiomatics AB
Everything can be described in terms of attributes
Attributes can be grouped into categories
And many more… It’s all about Attributes! ABAC
22
Attributes & Categories
Environment
Subject Action
Resource
© 2013, Axiomatics AB
23
Examples of attributes
Subject Action Resource Environment
A user … … wants to do
something …
… with an
information asset …
… in a given context
Examples:
A claims
administrator…
…wants to
register a …
… claim receipt for a
new claim…
… via a secure channel
authenticated using the
corporate smart card
An adjuster… …wants to approve
payments of …
… claim payment … …from his office computer
during regular business hours
A manager
wants to …
… assign a claim… …to a claim
adjuster…
… at 2 o’clock at night from a
hotel lounge in Chisinau…
© 2013, Axiomatics AB
<xacml-ctx:Request ReturnPolicyIdList="true" CombinedDecision="false" xmlns:xacml-
ctx="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17">
<xacml-ctx:Attributes Category="urn:oasis:names:tc:xacml:3.0:attribute-category:environment" >
<xacml-ctx:Attribute AttributeId=”http://www.axiomatics.com/tmp/env/devicetype" IncludeInResult="true">
<xacml-ctx:AttributeValue DataType=http://www.w3.org/2001/XMLSchema#string>Laptop</xacml-ctx:AttributeValue>
</xacml-ctx:Attribute>
</xacml-ctx:Attributes>
<xacml-ctx:Attributes Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action" >
<xacml-ctx:Attribute AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" IncludeInResult="true">
<xacml-ctx:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">approve</xacml-ctx:AttributeValue>
</xacml-ctx:Attribute>
</xacml-ctx:Attributes>
<xacml-ctx:Attributes Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" >
<xacml-ctx:Attribute AttributeId=”http://www.axiomatics.com/acs/role" IncludeInResult="true">
<xacml-ctx:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#boolean">Manager</xacml-ctx:AttributeValue>
</xacml-ctx:Attribute>
</xacml-ctx:Attributes>
<xacml-ctx:Attributes Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" >
<xacml-ctx:Attribute AttributeId="location" IncludeInResult="true">
<xacml-ctx:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">SE</xacml-ctx:AttributeValue>
</xacml-ctx:Attribute>
<xacml-ctx:Attribute AttributeId=”http://www.axiomatics.com/asm/entity/type" IncludeInResult="true">
<xacml-ctx:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Purchase Order</xacml-ctx:AttributeValue>
</xacml-ctx:Attribute>
</xacml-ctx:Attributes>
</xacml-ctx:Request>
Example XACML 3.0 Request, XML
© 2013, Axiomatics AB
<xacml-ctx:Response xmlns:xacml-ctx="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17">
<xacml-ctx:Result>
<xacml-ctx:Decision>Permit</xacml-ctx:Decision>
<xacml-ctx:Status>
<xacml-ctx:StatusCode Value="urn:oasis:names:tc:xacml:1.0:status:ok"/>
</xacml-ctx:Status>
</xacml-ctx:Result>
</xacml-ctx:Response>
Example XACML 3.0 Response
© 2013, Axiomatics AB
3 levels of elements
PolicySet
Policy
Rule
At root is PolicySet or Policy
PolicySet can contain PolicySet
and Policy
Policy can contain Rule
Rule evaluation returns
PERMIT, DENY, Indeterminate,
NotApplicable
Rule Combining Algorithms
Policy Combining Algorithms
26
Language Elements of XACML
PolicySet
PolicySet
Policy
Rule
Effect
Permit
Deny
Policy
Rule
Rule
© 2013, Axiomatics AB
All 3 elements can
contain Target elements
At the heart of most
Rules is a Condition
Obligation/Advice can
be specified at all 3
levels
27
Language Structure: Russian dolls
PolicySet
PolicySet
Policy
Rule
Effect
Target
T
T
TC
Permit
Deny
O
Obligation
O
O
O = Obligation / Advice
C = Condition
T = Target
© 2013, Axiomatics AB
28
What does XACML contain?
XACML
Reference
Architecture
Policy
Language
Request /
Response
Protocol
© 2013, Axiomatics AB
Environment
Subject Action
Resource Environment
Action
Resource
Subject
29
XACML Concepts
It’s all about Attributes!
ABAC = Attribute Based Access Control
XACML Policies
XACML Request
XACML Response
© 2013, Axiomatics AB
• Subject
User id = Alice
Role = Manager
• Action
Action id = approve
• Resource
Resource type = Purchase Order
PO #= 12367
• Environment
Device Type = Laptop
30
Structure of a XACML Request / Response
XACML Request XACML Response
Can Manager Alice approve
Purchase Order 12367?
Yes, she can
• Result
Decision: Permit
Status: ok
The core XACML specification does not
define any specific transport /
communication protocol:
-Developers can choose their own.
-The SAML profile defines a binding to send
requests/responses over SAML assertions
© 2013, Axiomatics AB
In addition, XACML response can also contain:
Obligation: PEP must comply with the obligation and
is required to deny access if it cannot understand or
enforce the obligation
Advice: the PEP may comply with the advice and can
be safely ignored if not understood or cannot be
acted on
31
Obligation & Advice
© 2013, Axiomatics AB
AuthN is not enough. AuthZ is needed.
RBAC is often not enough. ABAC is needed.
XACML is a prominent ABAC system.
XACML consists of:
Reference Architecture
Policy Language
Request Response Protocol
Summary
© 2013, Axiomatics AB
Axiomatics is world’s leading independent provider
of dynamic AuthZ solutions
Our products enable efficient XACML-based
authorization
APIs, SDKs for system integration
Java and .NET support
APS Developer Edition provides you with all the power
of our product in a read-to-use package
http://axiomatics.com/aps-developer-edition.html
Summary (Axiomatics)
© 2013, Axiomatics AB
http://developers.axiomatics.com
http://www.technicalprivacytraining.org/
https://www.oasis-open.org/committees/xacml/
http://docs.oasis-open.org/xacml/xacml-
rest/v1.0/xacml-rest-v1.0.pdf
http://www.webfarmr.eu/
http://analyzingidentity.com/
More Information
© 2013, Axiomatics AB
Questions?
Contact us at
info@axiomatics.com

More Related Content

PDF
Launching a Successful and Secure API
PDF
Incorporating OAuth: How to integrate OAuth into your mobile app
PPTX
Incorporating OAuth
PDF
Nordic APIs - Integrated Social Solutions for a Cloudy, Mobile World
PDF
Neo-security Stack
PDF
Secure your APIs using OAuth 2 and OpenID Connect
PDF
Designing an API
PDF
Nordic APIs - Building a Secure API
Launching a Successful and Secure API
Incorporating OAuth: How to integrate OAuth into your mobile app
Incorporating OAuth
Nordic APIs - Integrated Social Solutions for a Cloudy, Mobile World
Neo-security Stack
Secure your APIs using OAuth 2 and OpenID Connect
Designing an API
Nordic APIs - Building a Secure API

What's hot (20)

PPTX
OAuth 2.0 and the Internet of Things (IoT) (Jacob Ideskog)
PDF
OAuth and OpenID Connect for Microservices
PDF
Synergies of Cloud Identity: Putting it All Together
PDF
Integrated social solutions, the power and pitfalls of mashups
PDF
Twobo LDAP Attribute Store for ADFS
PDF
OpenID Connect Explained
PDF
Open APIs - Risks and Rewards (Øredev 2013)
PPTX
OAuth Assisted Token Flow for Single Page Applications
PDF
OAuth & OpenID Connect Deep Dive
PPTX
OAuth Claims Ontology: Using Claims in OAuth and How They Relate to Scopes
PDF
GHC18 Abstract - API Security, a Grail Quest
PDF
Oauth Nightmares Abstract OAuth Nightmares
PPTX
Enterprise Access Control Patterns for Rest and Web APIs
PDF
OAuth 2.0 & OpenID Connect @ OpenSource Conference 2011 Tokyo #osc11tk
PDF
OpenID Connect: The new standard for connecting to your Customers, Partners, ...
PPTX
LASCON 2017: SAML v. OpenID v. Oauth
PDF
Stateless authentication with OAuth 2 and JWT - JavaZone 2015
PPTX
Why Assertion-based Access Token is preferred to Handle-based one?
PDF
CIS14: Consolidating Authorization for API and Web SSO using OpenID Connect
PDF
Single Sign On with OAuth and OpenID
OAuth 2.0 and the Internet of Things (IoT) (Jacob Ideskog)
OAuth and OpenID Connect for Microservices
Synergies of Cloud Identity: Putting it All Together
Integrated social solutions, the power and pitfalls of mashups
Twobo LDAP Attribute Store for ADFS
OpenID Connect Explained
Open APIs - Risks and Rewards (Øredev 2013)
OAuth Assisted Token Flow for Single Page Applications
OAuth & OpenID Connect Deep Dive
OAuth Claims Ontology: Using Claims in OAuth and How They Relate to Scopes
GHC18 Abstract - API Security, a Grail Quest
Oauth Nightmares Abstract OAuth Nightmares
Enterprise Access Control Patterns for Rest and Web APIs
OAuth 2.0 & OpenID Connect @ OpenSource Conference 2011 Tokyo #osc11tk
OpenID Connect: The new standard for connecting to your Customers, Partners, ...
LASCON 2017: SAML v. OpenID v. Oauth
Stateless authentication with OAuth 2 and JWT - JavaZone 2015
Why Assertion-based Access Token is preferred to Handle-based one?
CIS14: Consolidating Authorization for API and Web SSO using OpenID Connect
Single Sign On with OAuth and OpenID
Ad

Viewers also liked (20)

PPTX
OWASP Chicago 2016 - What is Attribute Based Access Control (ABAC)?
PDF
Running an API 24/365
PDF
State of APIs: API trends from Nordic APIs Copenhagen & Sundsvall
PPTX
Pie for Sale: Timeless Lessons in API Advocacy (Adam DuVander)
PPTX
Public Transport APIs – How we are using and creating long lasting APIs at No...
PDF
API Creation to Iteration without the Frustration
PPTX
Lean and Mean – Authorization for kick-ass APIs (Jonas Markström)
PDF
Why should i care about hypermedia
PDF
Automotive Grade APIs – designing for longevity
PDF
The end of polling (Audrey Neveu)
PDF
Versioning strategy for a complex internal API (Konstantin Yakushev)
PPTX
API Management - The Value of the Management Part
PDF
Apinf Open Api Management
PDF
Lessons Learned from Building Enterprise APIs (Gustaf Nyman)
PDF
TDD for APIs in a Microservice World (Michael Kuehne Schlinkert)
PPTX
Platform Security that will Last for Decades (Travis Spencer)
PDF
Introduction to The 6 Insights of API Practice (Bill Doerrfeld)
PPTX
Microservices architecture overview v2
PPTX
APIs as The Source of Truth (Zane Claes)
PDF
Building a serverless API in the cloud
OWASP Chicago 2016 - What is Attribute Based Access Control (ABAC)?
Running an API 24/365
State of APIs: API trends from Nordic APIs Copenhagen & Sundsvall
Pie for Sale: Timeless Lessons in API Advocacy (Adam DuVander)
Public Transport APIs – How we are using and creating long lasting APIs at No...
API Creation to Iteration without the Frustration
Lean and Mean – Authorization for kick-ass APIs (Jonas Markström)
Why should i care about hypermedia
Automotive Grade APIs – designing for longevity
The end of polling (Audrey Neveu)
Versioning strategy for a complex internal API (Konstantin Yakushev)
API Management - The Value of the Management Part
Apinf Open Api Management
Lessons Learned from Building Enterprise APIs (Gustaf Nyman)
TDD for APIs in a Microservice World (Michael Kuehne Schlinkert)
Platform Security that will Last for Decades (Travis Spencer)
Introduction to The 6 Insights of API Practice (Bill Doerrfeld)
Microservices architecture overview v2
APIs as The Source of Truth (Zane Claes)
Building a serverless API in the cloud
Ad

Similar to Authorization The Missing Piece of the Puzzle (20)

PDF
Axiomatics webinar 13 june 2013 shared
PDF
CIS 2015- Rethinking Your Authorization Strategy- Gerry Gebel
PDF
Twin Cities IAM Meet Up - May 2014 - The latest in authorization trends and s...
PPTX
Authorization - it's not just about who you are
PDF
CIS14: The Very Latest in Authorization Standards
PPTX
Fine grained access control for cloud-based services using ABAC and XACML
PPTX
EIC 2014 Oasis Workshop: Using XACML to implement Privacy by Design
PPTX
AccessControlMgmt_EKT_1709_FPS01_version1pptx
PDF
IRJET- A Review On - Controlchain: Access Control using Blockchain
PDF
Opa in the api management world
PDF
Aws well architected-framework
PPTX
Re:cap día 2 del Aws Re:Invent 2023 - AWS UG Chile
PPT
SSO Strategy Implementation Considerations
PDF
Microsoft certified azure fundamentals exam code az-900
PPTX
Exploring_agents_with_Amazon_Bedrock.pptx
PPTX
Top Ten Reasons Why Developers Don't Adopt ABAC
PDF
18 checklists, actions, and workforce predictions
PDF
Advanced Controls access and user security for superusers con8824
PDF
CSDM Presentation and Naming Conventions
PDF
Global Azure Bootcamp 2018 - Oh no my organization went Azure
Axiomatics webinar 13 june 2013 shared
CIS 2015- Rethinking Your Authorization Strategy- Gerry Gebel
Twin Cities IAM Meet Up - May 2014 - The latest in authorization trends and s...
Authorization - it's not just about who you are
CIS14: The Very Latest in Authorization Standards
Fine grained access control for cloud-based services using ABAC and XACML
EIC 2014 Oasis Workshop: Using XACML to implement Privacy by Design
AccessControlMgmt_EKT_1709_FPS01_version1pptx
IRJET- A Review On - Controlchain: Access Control using Blockchain
Opa in the api management world
Aws well architected-framework
Re:cap día 2 del Aws Re:Invent 2023 - AWS UG Chile
SSO Strategy Implementation Considerations
Microsoft certified azure fundamentals exam code az-900
Exploring_agents_with_Amazon_Bedrock.pptx
Top Ten Reasons Why Developers Don't Adopt ABAC
18 checklists, actions, and workforce predictions
Advanced Controls access and user security for superusers con8824
CSDM Presentation and Naming Conventions
Global Azure Bootcamp 2018 - Oh no my organization went Azure

More from Nordic APIs (20)

PPTX
How to Choose the Right API Platform - We Have the Tool You Need! - Mikkel Iv...
PPTX
Bulletproof Backend Architecture: Building Adaptive Services with Self-Descri...
PDF
Implementing Zero Trust Security in API Gateway with Cilium - Pubudu Gunatila...
PPTX
Event-Driven Architecture the Cloud-Native Way - Manuel Ottlik, HDI Global SE
PPTX
Navigating the Post-OpenAPI Era with Innovative API Design Frameworks - Danie...
PDF
Using Typespec for Open Finance Standards - Chris Wood, Ozone API
PPTX
Schema-first API Design Using Typespec - Cailin Smith, Microsoft
PPTX
Avoiding APIpocalypse; API Resiliency Testing FTW! - Naresh Jain, Xnsio
PPTX
How to Build an Integration Platform with Open Source - Magnus Hedner, Benify
PPTX
API Design First in Practise – An Experience Report - Hari Krishnan, Specmatic
PPTX
The Right Kind of API – How To Choose Appropriate API Protocols and Data Form...
PPTX
Why Frequent API Hackathons Are Key to Product Market Feedback and Go-to-Mark...
PPTX
Maximizing API Management Efficiency: The Power of Shifting Down with APIOps ...
PPTX
APIs Vs Events - Bala Bairapaka, Sandvik AB
PPTX
GraphQL in the Post-Hype Era - Daniel Hervas, Reckon Digital
PPTX
From Good API Design to Secure Design - Axel Grosse, 42Crunch
PPTX
API Revolution in IoT: How Platform Engineering Streamlines API Development -...
PPTX
Unlocking the ROI of API Platforms: What Success Actually Looks Like - Budhad...
PDF
Increase Your Productivity with No-Code GraphQL Mocking - Hugo Guerrero, Red Hat
PPTX
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Theodo ...
How to Choose the Right API Platform - We Have the Tool You Need! - Mikkel Iv...
Bulletproof Backend Architecture: Building Adaptive Services with Self-Descri...
Implementing Zero Trust Security in API Gateway with Cilium - Pubudu Gunatila...
Event-Driven Architecture the Cloud-Native Way - Manuel Ottlik, HDI Global SE
Navigating the Post-OpenAPI Era with Innovative API Design Frameworks - Danie...
Using Typespec for Open Finance Standards - Chris Wood, Ozone API
Schema-first API Design Using Typespec - Cailin Smith, Microsoft
Avoiding APIpocalypse; API Resiliency Testing FTW! - Naresh Jain, Xnsio
How to Build an Integration Platform with Open Source - Magnus Hedner, Benify
API Design First in Practise – An Experience Report - Hari Krishnan, Specmatic
The Right Kind of API – How To Choose Appropriate API Protocols and Data Form...
Why Frequent API Hackathons Are Key to Product Market Feedback and Go-to-Mark...
Maximizing API Management Efficiency: The Power of Shifting Down with APIOps ...
APIs Vs Events - Bala Bairapaka, Sandvik AB
GraphQL in the Post-Hype Era - Daniel Hervas, Reckon Digital
From Good API Design to Secure Design - Axel Grosse, 42Crunch
API Revolution in IoT: How Platform Engineering Streamlines API Development -...
Unlocking the ROI of API Platforms: What Success Actually Looks Like - Budhad...
Increase Your Productivity with No-Code GraphQL Mocking - Hugo Guerrero, Red Hat
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Theodo ...

Recently uploaded (20)

PDF
Roadmap Map-digital Banking feature MB,IB,AB
PDF
IFRS Notes in your pocket for study all the time
PDF
WRN_Investor_Presentation_August 2025.pdf
PPTX
HR Introduction Slide (1).pptx on hr intro
PDF
Reconciliation AND MEMORANDUM RECONCILATION
PDF
COST SHEET- Tender and Quotation unit 2.pdf
PPT
Data mining for business intelligence ch04 sharda
PDF
Solara Labs: Empowering Health through Innovative Nutraceutical Solutions
PDF
Unit 1 Cost Accounting - Cost sheet
PDF
How to Get Business Funding for Small Business Fast
PDF
BsN 7th Sem Course GridNNNNNNNN CCN.pdf
PPT
340036916-American-Literature-Literary-Period-Overview.ppt
PPTX
Belch_12e_PPT_Ch18_Accessible_university.pptx
DOCX
Business Management - unit 1 and 2
PDF
Business model innovation report 2022.pdf
PDF
SIMNET Inc – 2023’s Most Trusted IT Services & Solution Provider
PDF
Types of control:Qualitative vs Quantitative
PPTX
AI-assistance in Knowledge Collection and Curation supporting Safe and Sustai...
PPTX
Principles of Marketing, Industrial, Consumers,
PDF
kom-180-proposal-for-a-directive-amending-directive-2014-45-eu-and-directive-...
Roadmap Map-digital Banking feature MB,IB,AB
IFRS Notes in your pocket for study all the time
WRN_Investor_Presentation_August 2025.pdf
HR Introduction Slide (1).pptx on hr intro
Reconciliation AND MEMORANDUM RECONCILATION
COST SHEET- Tender and Quotation unit 2.pdf
Data mining for business intelligence ch04 sharda
Solara Labs: Empowering Health through Innovative Nutraceutical Solutions
Unit 1 Cost Accounting - Cost sheet
How to Get Business Funding for Small Business Fast
BsN 7th Sem Course GridNNNNNNNN CCN.pdf
340036916-American-Literature-Literary-Period-Overview.ppt
Belch_12e_PPT_Ch18_Accessible_university.pptx
Business Management - unit 1 and 2
Business model innovation report 2022.pdf
SIMNET Inc – 2023’s Most Trusted IT Services & Solution Provider
Types of control:Qualitative vs Quantitative
AI-assistance in Knowledge Collection and Curation supporting Safe and Sustai...
Principles of Marketing, Industrial, Consumers,
kom-180-proposal-for-a-directive-amending-directive-2014-45-eu-and-directive-...

Authorization The Missing Piece of the Puzzle

  • 1. © 2013, Axiomatics AB Authorization The Missing Piece of the Puzzle @srijith @axiomatics Srijith Nair Director, Developer Relations
  • 2. © 2013, Axiomatics AB Show of Hands: Authorization? XACML?
  • 3. © 2013, Axiomatics AB Identity is key Services need to know who you are You need to prove who you are Several protocols exist to support Authentication Authentication (AuthN) “Authentication is the act of confirming the truth of an attribute of a datum or entity. This might involve confirming the identity of a person or software program (…)”
  • 4. © 2013, Axiomatics AB Identity is key, but it is not everything Authentication proves your identity It does not decide what that identity entails Enter Authorization Authorization (AuthZ) “The authorization function determines whether a particular entity is authorized to perform a given activity, typically inherited from authentication when logging on to an application or service.”
  • 5. © 2013, Axiomatics AB Some frameworks, stds. confuse both phases Often AuthN ≡ AuthZ If you have authenticated then you are in… AuthZ is part of a bigger process Identify Authenticate Authorize Think of the access to your APIs… AuthN vs. AuthZ
  • 6. © 2013, Axiomatics AB Business-driven authorization Let “Gold” customers access APIs 1,2 but not 3 Let “Platinum” customers access all APIs Compliance-driven authorization Do not let traders approve transactions they requested Privacy-driven authorization Do not disclose medical data to non-employee users AuthZ addresses various concerns
  • 7. © 2013, Axiomatics AB Mandatory Access Control (MAC) Discretionary Access Control (DAC) Role-Based Access Control (RBAC) It’s widely adopted It’s well understood and industry-standard It’s simple Most apps support some form of RBAC Authorization Approaches
  • 8. © 2013, Axiomatics AB Inflexible & static Difficult to define fine-grained access control rules Doesn’t scale Role explosion How to implement the rule: Doctors should be able to view the records of patients assigned to their unit and edit the records of those patients with whom they have a care relationship Where’s the role? Doctor What’s a patient? A record? A care relationship? Problem with RBAC?
  • 9. © 2013, Axiomatics AB Pull out the highlighter What if we were not limited to roles? Doctors should be able to view the records of patients assigned to their unit and edit the records of those patients with whom they have a care relationship Attributes, Attributes, Attributes!
  • 10. © 2013, Axiomatics AB Attribute-Based Access Control (ABAC) uses attributes as building blocks in a structured language used to define access control rules and to describe access requests Attributes Are sets of labels or properties Describe all aspects of entities that must be considered for authorization purposes Each attribute consists of a key-value pair such as “Class=Gold”, “OS=Windows” Attribute-based access control
  • 11. © 2013, Axiomatics AB ABAC – beyond RBAC Role-Based Access Control Attribute-Based Access Control User  Role  Permissions User + Action + Resource + Context Attributes Policies Example: doctors can open & edit a patient’s health record in the hospital emergency room at 3PM. Static & pre-defined Dynamic & Adaptive Role 1 Role 2 P P P P P P
  • 12. © 2013, Axiomatics AB eXtensible Authorization – Future Proofing External to Applications Standards- Compliant Authorization Service Fine- Grained Context-Aware Attribute-based Access Control
  • 13. © 2013, Axiomatics AB Enter XACML
  • 14. © 2013, Axiomatics AB Pronunciation eXtensible Access Control Markup Language OASIS standard V 3.0 approved in January 2013 V 1.0 approved in 2003 (10 years ago!) XACML is expressed as A specification document and An XML schema REST profile for XACML exists (CSD) http://www.oasis-open.org/committees/xacml/ 14 What is XACML?
  • 15. © 2013, Axiomatics AB 15 What does XACML contain? XACML Reference Architecture Policy Language Request / Response Protocol
  • 16. © 2013, Axiomatics AB 16 XACML-Architecture Access request
  • 17. © 2013, Axiomatics AB 17 XACML-Architecture Enforce Policy Enforcement Point
  • 18. © 2013, Axiomatics AB 18 XACML-Architecture Enforce Policy Enforcement Point Decide Policy Decision Point
  • 19. © 2013, Axiomatics AB 19 XACML-Architecture Enforce Policy Enforcement Point Decide Policy Decision Point Support Policy Information Point Policy Retrieval Point
  • 20. © 2013, Axiomatics AB 20 XACML-Architecture Enforce Policy Enforcement Point Decide Policy Decision Point Manage Policy Administration Point Support Policy Information Point Policy Retrieval Point
  • 21. © 2013, Axiomatics AB 21 What does XACML contain? XACML Reference Architecture Policy Language Request / Response Protocol
  • 22. © 2013, Axiomatics AB Everything can be described in terms of attributes Attributes can be grouped into categories And many more… It’s all about Attributes! ABAC 22 Attributes & Categories Environment Subject Action Resource
  • 23. © 2013, Axiomatics AB 23 Examples of attributes Subject Action Resource Environment A user … … wants to do something … … with an information asset … … in a given context Examples: A claims administrator… …wants to register a … … claim receipt for a new claim… … via a secure channel authenticated using the corporate smart card An adjuster… …wants to approve payments of … … claim payment … …from his office computer during regular business hours A manager wants to … … assign a claim… …to a claim adjuster… … at 2 o’clock at night from a hotel lounge in Chisinau…
  • 24. © 2013, Axiomatics AB <xacml-ctx:Request ReturnPolicyIdList="true" CombinedDecision="false" xmlns:xacml- ctx="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17"> <xacml-ctx:Attributes Category="urn:oasis:names:tc:xacml:3.0:attribute-category:environment" > <xacml-ctx:Attribute AttributeId=”http://www.axiomatics.com/tmp/env/devicetype" IncludeInResult="true"> <xacml-ctx:AttributeValue DataType=http://www.w3.org/2001/XMLSchema#string>Laptop</xacml-ctx:AttributeValue> </xacml-ctx:Attribute> </xacml-ctx:Attributes> <xacml-ctx:Attributes Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action" > <xacml-ctx:Attribute AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" IncludeInResult="true"> <xacml-ctx:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">approve</xacml-ctx:AttributeValue> </xacml-ctx:Attribute> </xacml-ctx:Attributes> <xacml-ctx:Attributes Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" > <xacml-ctx:Attribute AttributeId=”http://www.axiomatics.com/acs/role" IncludeInResult="true"> <xacml-ctx:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#boolean">Manager</xacml-ctx:AttributeValue> </xacml-ctx:Attribute> </xacml-ctx:Attributes> <xacml-ctx:Attributes Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" > <xacml-ctx:Attribute AttributeId="location" IncludeInResult="true"> <xacml-ctx:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">SE</xacml-ctx:AttributeValue> </xacml-ctx:Attribute> <xacml-ctx:Attribute AttributeId=”http://www.axiomatics.com/asm/entity/type" IncludeInResult="true"> <xacml-ctx:AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Purchase Order</xacml-ctx:AttributeValue> </xacml-ctx:Attribute> </xacml-ctx:Attributes> </xacml-ctx:Request> Example XACML 3.0 Request, XML
  • 25. © 2013, Axiomatics AB <xacml-ctx:Response xmlns:xacml-ctx="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17"> <xacml-ctx:Result> <xacml-ctx:Decision>Permit</xacml-ctx:Decision> <xacml-ctx:Status> <xacml-ctx:StatusCode Value="urn:oasis:names:tc:xacml:1.0:status:ok"/> </xacml-ctx:Status> </xacml-ctx:Result> </xacml-ctx:Response> Example XACML 3.0 Response
  • 26. © 2013, Axiomatics AB 3 levels of elements PolicySet Policy Rule At root is PolicySet or Policy PolicySet can contain PolicySet and Policy Policy can contain Rule Rule evaluation returns PERMIT, DENY, Indeterminate, NotApplicable Rule Combining Algorithms Policy Combining Algorithms 26 Language Elements of XACML PolicySet PolicySet Policy Rule Effect Permit Deny Policy Rule Rule
  • 27. © 2013, Axiomatics AB All 3 elements can contain Target elements At the heart of most Rules is a Condition Obligation/Advice can be specified at all 3 levels 27 Language Structure: Russian dolls PolicySet PolicySet Policy Rule Effect Target T T TC Permit Deny O Obligation O O O = Obligation / Advice C = Condition T = Target
  • 28. © 2013, Axiomatics AB 28 What does XACML contain? XACML Reference Architecture Policy Language Request / Response Protocol
  • 29. © 2013, Axiomatics AB Environment Subject Action Resource Environment Action Resource Subject 29 XACML Concepts It’s all about Attributes! ABAC = Attribute Based Access Control XACML Policies XACML Request XACML Response
  • 30. © 2013, Axiomatics AB • Subject User id = Alice Role = Manager • Action Action id = approve • Resource Resource type = Purchase Order PO #= 12367 • Environment Device Type = Laptop 30 Structure of a XACML Request / Response XACML Request XACML Response Can Manager Alice approve Purchase Order 12367? Yes, she can • Result Decision: Permit Status: ok The core XACML specification does not define any specific transport / communication protocol: -Developers can choose their own. -The SAML profile defines a binding to send requests/responses over SAML assertions
  • 31. © 2013, Axiomatics AB In addition, XACML response can also contain: Obligation: PEP must comply with the obligation and is required to deny access if it cannot understand or enforce the obligation Advice: the PEP may comply with the advice and can be safely ignored if not understood or cannot be acted on 31 Obligation & Advice
  • 32. © 2013, Axiomatics AB AuthN is not enough. AuthZ is needed. RBAC is often not enough. ABAC is needed. XACML is a prominent ABAC system. XACML consists of: Reference Architecture Policy Language Request Response Protocol Summary
  • 33. © 2013, Axiomatics AB Axiomatics is world’s leading independent provider of dynamic AuthZ solutions Our products enable efficient XACML-based authorization APIs, SDKs for system integration Java and .NET support APS Developer Edition provides you with all the power of our product in a read-to-use package http://axiomatics.com/aps-developer-edition.html Summary (Axiomatics)
  • 34. © 2013, Axiomatics AB http://developers.axiomatics.com http://www.technicalprivacytraining.org/ https://www.oasis-open.org/committees/xacml/ http://docs.oasis-open.org/xacml/xacml- rest/v1.0/xacml-rest-v1.0.pdf http://www.webfarmr.eu/ http://analyzingidentity.com/ More Information
  • 35. © 2013, Axiomatics AB Questions? Contact us at info@axiomatics.com