SlideShare uma empresa Scribd logo
1 de 20
Active Directory Federation Services – Part 2
Thomas Stensitzki
AD FS | Deep Dive
Page  2
AD FS Concept
Page  3
 Relationships between APP and STS established through the exchange of
federation metadata
- Can be manually configured
STS = Security Token Service
Claims-aware
application AD FS
Active Directory
Define AD as
claims provider
APP
Define STS as
claims provider
STS
Define APP as
Relying party
Key Concepts
Page  4
Active
Directory
User / Subject / Principal
Authentication request
Issues Security Token
Relying Party / Resource Provider
Identity Provider (IP)
Security Token Service (STS)
Issuer
Trusts the Security Token
from the issuer
Security Token
contains claims about the user
For example:
• Name
• Group membership
• User Principal Name (UPN)
• Email address of user
• Email address of manager
• Phone number
• Other attribute values
Security Token “Authenticates”
user to the application
ST
Signed by Issuer
Claims-Aware Application
 The application makes authorization decisions based on the claims contained in the
security token
- No longer required to make authentication decisions
 Same authorization logic for Application
- Deployed on the Intranet or as a Cloud service
- Receiving claims from its own organization’s users or users from trusted partners
Page  5
Passive Client
Page  6
ADFS STSClaims-aware App Active Directory
Browse app
Not authenticated
Redirected to STS
Authenticate
User
Query for user attributes
Return Security Token
Return page and cookie
Send Token
ST
ST
App trusts STS
X.509 Certificates
Page  7
 Trust is managed through certificates
 Certificates for
- HTTPS Communication
- Security token signing and encryption
 Require PKI for A & B certificates, C & D can be self-signed by AD FS server
CommunicationA
Signing
Relying party Issuer
ST
Encryption ST
B
Public key of C C
Public key of DD
Root for ARoot for B
Private Key
Federation Metadata
 During the establishment of the issuer / relying party trust, both parties will require
configuration which includes
- End-points for communication
- Claims offered by issuer
- Claims accepted by replying party
- Public keys for signing and encryption
 This information can be manually configured or automatically via the exchange of federation
metadata
- Federation metadata can be automatically updated
Page  8
Offered Claims Types
Extract from federationmetadata.xml
<fed:UriNamedClaimTypesOffered>
<fed:ClaimType Uri="http://schemas.xmlsoap.org/claims/EmailAddress">
<fed:DisplayName>Email Address</fed:DisplayName>
</fed:ClaimType>
<fed:ClaimType Uri="http://schemas.xmlsoap.org/claims/UPN">
<fed:DisplayName>User Principal Name</fed:DisplayName>
</fed:ClaimType>
<fed:ClaimType Uri="http://schemas.xmlsoap.org/claims/CommonName">
<fed:DisplayName>Common Name</fed:DisplayName>
</fed:ClaimType>
<fed:ClaimType Uri="http://schemas.xmlsoap.org/claims/Group">
<fed:DisplayName>Group</fed:DisplayName>
</fed:ClaimType>
</fed:UriNamedClaimTypesOffered>
Page  9
Claims Pipeline – How a Security Token is build
Page  10
Issuance
Authorization Rules
Claims
Provider
Specify incoming claims that will be accepted from the
claims provider and the outgoing claims that will be sent
to the relying party trust
Specifies claims that will be
sent to the relying party
Acceptance
Transform Rules
Input
Issuance
Transform Rules
Output
Specify the users that are permitted to access the
relying party
ST
Resulting claims added to security token (ST)
Permits/denies rule processing and
claims issuance
Input
Input
Claim Rules
 Rule templates simplify the creation of rules
 Examples of rules are:
- Permit / deny user based on incoming claim value
- Transform the incoming claim value
- Pass through / filter an incoming claim
 Multiple claim rules can be specified and are processed in top to bottom order
- Results from previously processed claims can be used as the input for subsequent rules
Link: An ADFS Claims Rules Adventure
Page  11
Creating Claim Rules
Page  12
A claim rule consists of two parts, condition and issuance statement
Condition
Issuance Statement
Custom Claims
 Capabilities of custom rules include
- Sending claims from a SQL attribute store
- Sending claims from an LDAP attribute store using a custom LDAP filter
- Sending claims from a custom attribute store
- Sending claims only when 2 or more incoming claims are met
- Sending claims only when an incoming claim matches a complex value
- Sending claims with complex changes to an incoming claim value
- Creating claims for use in later rules
Page  13
Claim Rule Language
The claim rule language consists of Condition => Issuance Statement
Pass through all role Claims
c:[Type == “http://schema.microsoft.com/ws/2008/06/identity/claims/role”]
 issue(claim = c);
Change the value of the Role Claim SalesStaff to Purchasers
c:[Type == “http://schema.microsoft.com/ws/2008/06/identity/claims/role”, Value =~ “^(?i)SalesStaff$”]
=> issue(“http://schema.microsoft.com/ws/2008/06/identity/claims/role”, Issuer = c.Issuer,
OriginalIssuer = c.OriginalIssuer, Value = “Purchasers”, ValueType = c.ValueType)
After a claim is issued it is added to both the input and output claims set allowing the transformed
claim to be processed by subsequent rules
To make a processed claim available just for reprocessing replace the “issue” statement with “add”
Link: AD FS 2.0 Claims Rule Language Primer
Link: Understanding Claim Rule Language In AD FS 2.0 And Higher
Page  14
How do to allow access for Partners?
 Supporting claims aware applications within your organization
- Creating an identity (includes authentication) framework that can be consumed by all applications
regardless of their location  internal or external
- Allowing the identity token to carry more information than just the user and group memberships
 To allow partners to access your systems you must trust them to authenticate your partners
users
Page  15
 Your STS now trusts your partner to provide a security token containing claims for their
users
 Your STS is no longer responsible for identifying the user but still processes the claims from
the partner as previously described
Page  16
Claims Trust
Relying
Party X
Relying Party Trust
Claims Trust
Your AD FS
STS
Partner ADFS
STS & IP
Partner organization Your organization
Summary
Page  17
Partner user
Client request token for access
to Relying Party X
Your Organization AD FS
Security Token Service (STS)
Claims Trust
Relying
Party X
Processes
Acceptance Transform Rules
Processes
Issuance Authorization Rules
If allowed processes
Issuance Rules
ST
Returns token
for Relying Party X
If denied
processing ends
ST from Partner
ST Trusted
Partner
ST
ST
Passive Client
Process token
Home realm discovery
ST
ST
Redirected to partner STS requesting ST for partner user
Return ST for consumption by your STS
Return new ST
ST
Your ADFS STSYour Claims-aware App Active DirectoryPartner user Partner ADFS STS & IP
Redirected to your STS
ST
Authenticate
Send Token
Return page and cookie
Browse app
Not authenticated
Redirect to your STS
Resources
 ADFS – How to enable Trace Debugging and advanced access logging
 Troubleshooting ADFS: Enabling additional logging
 Under the hood tour of Azure AD Connect Health: AD FS Diagnostics Module
 AD FS Diagnostics Module
 AD FS for Windows Server 2016 Best Practices
 Backup and Recovery with the AD FS Rapid Restore Tool
Page  19
Page  20
Questions
Thomas Stensitzki
Expert
Granikos GmbH & Co. KG
MCSM Messaging, MCM: Exchange 2010
MCT, MCSE, MCITP, MCTS, MCSA, MCSA:M
E-Mail: thomas.stensitzki@granikos.eu
Web: http://www.Granikos.eu
Blog: http://blog.Granikos.eu
Blog: http://JustCantGetEnough.Granikos.eu

Mais conteúdo relacionado

Mais procurados

Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...
Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...
Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...
SSIMeetup
 
SSO with the WSO2 Identity Server
SSO with the WSO2 Identity ServerSSO with the WSO2 Identity Server
SSO with the WSO2 Identity Server
WSO2
 

Mais procurados (20)

Instalacion y uso basico de Jenkins
Instalacion y uso basico de JenkinsInstalacion y uso basico de Jenkins
Instalacion y uso basico de Jenkins
 
OpenID for Verifiable Credentials
OpenID for Verifiable CredentialsOpenID for Verifiable Credentials
OpenID for Verifiable Credentials
 
DevOps in a Cloud Native World
DevOps in a Cloud Native WorldDevOps in a Cloud Native World
DevOps in a Cloud Native World
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation Slides
 
Verifiable Credentials_Kristina_Identiverse2022_vFIN.pdf
Verifiable Credentials_Kristina_Identiverse2022_vFIN.pdfVerifiable Credentials_Kristina_Identiverse2022_vFIN.pdf
Verifiable Credentials_Kristina_Identiverse2022_vFIN.pdf
 
Notes を様々なサービスと連携させてみよう!
Notes を様々なサービスと連携させてみよう!Notes を様々なサービスと連携させてみよう!
Notes を様々なサービスと連携させてみよう!
 
Spring Security
Spring SecuritySpring Security
Spring Security
 
Container Security Vulnerability Scanning with Trivy
Container Security Vulnerability Scanning with TrivyContainer Security Vulnerability Scanning with Trivy
Container Security Vulnerability Scanning with Trivy
 
Jenkins Pipelines
Jenkins PipelinesJenkins Pipelines
Jenkins Pipelines
 
Provisioning on Libvirt with Foreman
Provisioning on Libvirt with ForemanProvisioning on Libvirt with Foreman
Provisioning on Libvirt with Foreman
 
OpenId Connect Protocol
OpenId Connect ProtocolOpenId Connect Protocol
OpenId Connect Protocol
 
Azure 101
Azure 101Azure 101
Azure 101
 
[2019.04] 쿠버네티스 기반 하이퍼레저 패브릭 네트워크 구축하기
[2019.04] 쿠버네티스 기반 하이퍼레저 패브릭 네트워크 구축하기[2019.04] 쿠버네티스 기반 하이퍼레저 패브릭 네트워크 구축하기
[2019.04] 쿠버네티스 기반 하이퍼레저 패브릭 네트워크 구축하기
 
Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...
Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...
Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...
 
Introduction to OpenID Connect
Introduction to OpenID Connect Introduction to OpenID Connect
Introduction to OpenID Connect
 
V mware horizon 6 knowledge transfer
V mware horizon 6 knowledge transferV mware horizon 6 knowledge transfer
V mware horizon 6 knowledge transfer
 
SSO with the WSO2 Identity Server
SSO with the WSO2 Identity ServerSSO with the WSO2 Identity Server
SSO with the WSO2 Identity Server
 
Json Web Token - JWT
Json Web Token - JWTJson Web Token - JWT
Json Web Token - JWT
 
Docker Registry V2
Docker Registry V2Docker Registry V2
Docker Registry V2
 
Hyperledger Indy tutorial
Hyperledger Indy tutorialHyperledger Indy tutorial
Hyperledger Indy tutorial
 

Semelhante a AD FS Workshop | Part 2 | Deep Dive

Claims Based Identity In Share Point 2010
Claims  Based  Identity In  Share Point 2010Claims  Based  Identity In  Share Point 2010
Claims Based Identity In Share Point 2010
Steve Sofian
 
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the CloudSharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
Danny Jessee
 
Authorization in asp
Authorization in aspAuthorization in asp
Authorization in asp
OPENLANE
 
Intro to AppExchange - Building Composite Apps
Intro to AppExchange - Building Composite AppsIntro to AppExchange - Building Composite Apps
Intro to AppExchange - Building Composite Apps
dreamforce2006
 
DD109 Claims Based AuthN in SharePoint 2010
DD109 Claims Based AuthN in SharePoint 2010DD109 Claims Based AuthN in SharePoint 2010
DD109 Claims Based AuthN in SharePoint 2010
Spencer Harbar
 
Oauth2 and OWSM OAuth2 support
Oauth2 and OWSM OAuth2 supportOauth2 and OWSM OAuth2 support
Oauth2 and OWSM OAuth2 support
Gaurav Sharma
 

Semelhante a AD FS Workshop | Part 2 | Deep Dive (20)

e-SUAP - Security - Windows azure access control list (english version)
e-SUAP - Security - Windows azure access control list (english version)e-SUAP - Security - Windows azure access control list (english version)
e-SUAP - Security - Windows azure access control list (english version)
 
Claims Based Identity In Share Point 2010
Claims  Based  Identity In  Share Point 2010Claims  Based  Identity In  Share Point 2010
Claims Based Identity In Share Point 2010
 
Azure AD B2C Webinar Series: Custom Policies Part 1
Azure AD B2C Webinar Series: Custom Policies Part 1Azure AD B2C Webinar Series: Custom Policies Part 1
Azure AD B2C Webinar Series: Custom Policies Part 1
 
Claims-Based Identity in SharePoint 2010
Claims-Based Identity in SharePoint 2010Claims-Based Identity in SharePoint 2010
Claims-Based Identity in SharePoint 2010
 
Microservice security with spring security 5.1,Oauth 2.0 and open id connect
Microservice security with spring security 5.1,Oauth 2.0 and open id connect Microservice security with spring security 5.1,Oauth 2.0 and open id connect
Microservice security with spring security 5.1,Oauth 2.0 and open id connect
 
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the CloudSharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
 
Developing custom claim providers to enable authorization in share point an...
Developing custom claim providers to enable authorization in share point   an...Developing custom claim providers to enable authorization in share point   an...
Developing custom claim providers to enable authorization in share point an...
 
Understanding Claim based Authentication
Understanding Claim based AuthenticationUnderstanding Claim based Authentication
Understanding Claim based Authentication
 
AAD B2C custom policies
AAD B2C custom policiesAAD B2C custom policies
AAD B2C custom policies
 
Authorization in asp
Authorization in aspAuthorization in asp
Authorization in asp
 
CNIT 128: 6: Mobile services and mobile Web (part 1: Beginning Through OAuth)
CNIT 128: 6: Mobile services and mobile Web (part 1: Beginning Through OAuth)CNIT 128: 6: Mobile services and mobile Web (part 1: Beginning Through OAuth)
CNIT 128: 6: Mobile services and mobile Web (part 1: Beginning Through OAuth)
 
API Security & Federation Patterns - Francois Lascelles, Chief Architect, Lay...
API Security & Federation Patterns - Francois Lascelles, Chief Architect, Lay...API Security & Federation Patterns - Francois Lascelles, Chief Architect, Lay...
API Security & Federation Patterns - Francois Lascelles, Chief Architect, Lay...
 
OAuth2 primer
OAuth2 primerOAuth2 primer
OAuth2 primer
 
.NET Core, ASP.NET Core Course, Session 19
 .NET Core, ASP.NET Core Course, Session 19 .NET Core, ASP.NET Core Course, Session 19
.NET Core, ASP.NET Core Course, Session 19
 
Federation registry
Federation registryFederation registry
Federation registry
 
Intro to AppExchange - Building Composite Apps
Intro to AppExchange - Building Composite AppsIntro to AppExchange - Building Composite Apps
Intro to AppExchange - Building Composite Apps
 
DD109 Claims Based AuthN in SharePoint 2010
DD109 Claims Based AuthN in SharePoint 2010DD109 Claims Based AuthN in SharePoint 2010
DD109 Claims Based AuthN in SharePoint 2010
 
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the CloudSharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
 
OAuth 2
OAuth 2OAuth 2
OAuth 2
 
Oauth2 and OWSM OAuth2 support
Oauth2 and OWSM OAuth2 supportOauth2 and OWSM OAuth2 support
Oauth2 and OWSM OAuth2 support
 

Mais de Granikos GmbH & Co. KG

Mais de Granikos GmbH & Co. KG (6)

Langzeitarchivierung - Warum ist Archivierung wichtig?
Langzeitarchivierung - Warum ist Archivierung wichtig?Langzeitarchivierung - Warum ist Archivierung wichtig?
Langzeitarchivierung - Warum ist Archivierung wichtig?
 
AD FS Workshop | Part 1 | Quick Overview
AD FS Workshop | Part 1 | Quick OverviewAD FS Workshop | Part 1 | Quick Overview
AD FS Workshop | Part 1 | Quick Overview
 
Exchange 2013 Site Mailboxes
Exchange 2013 Site MailboxesExchange 2013 Site Mailboxes
Exchange 2013 Site Mailboxes
 
Modern Anti-Spam Protection - Rejection, no sorting
Modern Anti-Spam Protection - Rejection, no sortingModern Anti-Spam Protection - Rejection, no sorting
Modern Anti-Spam Protection - Rejection, no sorting
 
Modernes Anti-Spam - Abweisen, nicht sortieren
Modernes Anti-Spam - Abweisen, nicht sortierenModernes Anti-Spam - Abweisen, nicht sortieren
Modernes Anti-Spam - Abweisen, nicht sortieren
 
Long Time Preservation - The Importance of Archiving
Long Time Preservation - The Importance of ArchivingLong Time Preservation - The Importance of Archiving
Long Time Preservation - The Importance of Archiving
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

AD FS Workshop | Part 2 | Deep Dive

  • 1. Active Directory Federation Services – Part 2 Thomas Stensitzki
  • 2. AD FS | Deep Dive Page  2
  • 3. AD FS Concept Page  3  Relationships between APP and STS established through the exchange of federation metadata - Can be manually configured STS = Security Token Service Claims-aware application AD FS Active Directory Define AD as claims provider APP Define STS as claims provider STS Define APP as Relying party
  • 4. Key Concepts Page  4 Active Directory User / Subject / Principal Authentication request Issues Security Token Relying Party / Resource Provider Identity Provider (IP) Security Token Service (STS) Issuer Trusts the Security Token from the issuer Security Token contains claims about the user For example: • Name • Group membership • User Principal Name (UPN) • Email address of user • Email address of manager • Phone number • Other attribute values Security Token “Authenticates” user to the application ST Signed by Issuer
  • 5. Claims-Aware Application  The application makes authorization decisions based on the claims contained in the security token - No longer required to make authentication decisions  Same authorization logic for Application - Deployed on the Intranet or as a Cloud service - Receiving claims from its own organization’s users or users from trusted partners Page  5
  • 6. Passive Client Page  6 ADFS STSClaims-aware App Active Directory Browse app Not authenticated Redirected to STS Authenticate User Query for user attributes Return Security Token Return page and cookie Send Token ST ST App trusts STS
  • 7. X.509 Certificates Page  7  Trust is managed through certificates  Certificates for - HTTPS Communication - Security token signing and encryption  Require PKI for A & B certificates, C & D can be self-signed by AD FS server CommunicationA Signing Relying party Issuer ST Encryption ST B Public key of C C Public key of DD Root for ARoot for B Private Key
  • 8. Federation Metadata  During the establishment of the issuer / relying party trust, both parties will require configuration which includes - End-points for communication - Claims offered by issuer - Claims accepted by replying party - Public keys for signing and encryption  This information can be manually configured or automatically via the exchange of federation metadata - Federation metadata can be automatically updated Page  8
  • 9. Offered Claims Types Extract from federationmetadata.xml <fed:UriNamedClaimTypesOffered> <fed:ClaimType Uri="http://schemas.xmlsoap.org/claims/EmailAddress"> <fed:DisplayName>Email Address</fed:DisplayName> </fed:ClaimType> <fed:ClaimType Uri="http://schemas.xmlsoap.org/claims/UPN"> <fed:DisplayName>User Principal Name</fed:DisplayName> </fed:ClaimType> <fed:ClaimType Uri="http://schemas.xmlsoap.org/claims/CommonName"> <fed:DisplayName>Common Name</fed:DisplayName> </fed:ClaimType> <fed:ClaimType Uri="http://schemas.xmlsoap.org/claims/Group"> <fed:DisplayName>Group</fed:DisplayName> </fed:ClaimType> </fed:UriNamedClaimTypesOffered> Page  9
  • 10. Claims Pipeline – How a Security Token is build Page  10 Issuance Authorization Rules Claims Provider Specify incoming claims that will be accepted from the claims provider and the outgoing claims that will be sent to the relying party trust Specifies claims that will be sent to the relying party Acceptance Transform Rules Input Issuance Transform Rules Output Specify the users that are permitted to access the relying party ST Resulting claims added to security token (ST) Permits/denies rule processing and claims issuance Input Input
  • 11. Claim Rules  Rule templates simplify the creation of rules  Examples of rules are: - Permit / deny user based on incoming claim value - Transform the incoming claim value - Pass through / filter an incoming claim  Multiple claim rules can be specified and are processed in top to bottom order - Results from previously processed claims can be used as the input for subsequent rules Link: An ADFS Claims Rules Adventure Page  11
  • 12. Creating Claim Rules Page  12 A claim rule consists of two parts, condition and issuance statement Condition Issuance Statement
  • 13. Custom Claims  Capabilities of custom rules include - Sending claims from a SQL attribute store - Sending claims from an LDAP attribute store using a custom LDAP filter - Sending claims from a custom attribute store - Sending claims only when 2 or more incoming claims are met - Sending claims only when an incoming claim matches a complex value - Sending claims with complex changes to an incoming claim value - Creating claims for use in later rules Page  13
  • 14. Claim Rule Language The claim rule language consists of Condition => Issuance Statement Pass through all role Claims c:[Type == “http://schema.microsoft.com/ws/2008/06/identity/claims/role”]  issue(claim = c); Change the value of the Role Claim SalesStaff to Purchasers c:[Type == “http://schema.microsoft.com/ws/2008/06/identity/claims/role”, Value =~ “^(?i)SalesStaff$”] => issue(“http://schema.microsoft.com/ws/2008/06/identity/claims/role”, Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = “Purchasers”, ValueType = c.ValueType) After a claim is issued it is added to both the input and output claims set allowing the transformed claim to be processed by subsequent rules To make a processed claim available just for reprocessing replace the “issue” statement with “add” Link: AD FS 2.0 Claims Rule Language Primer Link: Understanding Claim Rule Language In AD FS 2.0 And Higher Page  14
  • 15. How do to allow access for Partners?  Supporting claims aware applications within your organization - Creating an identity (includes authentication) framework that can be consumed by all applications regardless of their location  internal or external - Allowing the identity token to carry more information than just the user and group memberships  To allow partners to access your systems you must trust them to authenticate your partners users Page  15
  • 16.  Your STS now trusts your partner to provide a security token containing claims for their users  Your STS is no longer responsible for identifying the user but still processes the claims from the partner as previously described Page  16 Claims Trust Relying Party X Relying Party Trust Claims Trust Your AD FS STS Partner ADFS STS & IP Partner organization Your organization
  • 17. Summary Page  17 Partner user Client request token for access to Relying Party X Your Organization AD FS Security Token Service (STS) Claims Trust Relying Party X Processes Acceptance Transform Rules Processes Issuance Authorization Rules If allowed processes Issuance Rules ST Returns token for Relying Party X If denied processing ends ST from Partner ST Trusted Partner ST ST
  • 18. Passive Client Process token Home realm discovery ST ST Redirected to partner STS requesting ST for partner user Return ST for consumption by your STS Return new ST ST Your ADFS STSYour Claims-aware App Active DirectoryPartner user Partner ADFS STS & IP Redirected to your STS ST Authenticate Send Token Return page and cookie Browse app Not authenticated Redirect to your STS
  • 19. Resources  ADFS – How to enable Trace Debugging and advanced access logging  Troubleshooting ADFS: Enabling additional logging  Under the hood tour of Azure AD Connect Health: AD FS Diagnostics Module  AD FS Diagnostics Module  AD FS for Windows Server 2016 Best Practices  Backup and Recovery with the AD FS Rapid Restore Tool Page  19
  • 20. Page  20 Questions Thomas Stensitzki Expert Granikos GmbH & Co. KG MCSM Messaging, MCM: Exchange 2010 MCT, MCSE, MCITP, MCTS, MCSA, MCSA:M E-Mail: thomas.stensitzki@granikos.eu Web: http://www.Granikos.eu Blog: http://blog.Granikos.eu Blog: http://JustCantGetEnough.Granikos.eu