SlideShare a Scribd company logo
1 of 17
Foundational Identity
Management Services for
Research Computing
Steve Tuecke
University of Chicago - Globus
tuecke@globus.org
Globus = SaaS + PaaS
• Globus SaaS continues to improve its
capabilities for researchers and research
computing centers
• Globus PaaS opens new opportunities for
developers creating applications and
services for researchers
2
Motivating Globus PaaS
• How do you leverage Globus services
in your own applications?
• How do you extend Globus with your
own services?
• How do we empower the research
community to create an integrated
ecosystem of services and
applications?
3
Security PaaS challenges
• How to provide:
– Login to apps
o Web, mobile, desktop, command line
– Protect all REST API communications
o App  Globus service
o App  non-Globus service
o Service  service
• While:
– Not introducing even more identities
– Providing least privileges security model
– Being agnostic to programming language and
framework
– Being web friendly
– Making it easy for users and developers
4
Globus Auth
• Identity and access management (IAM)
platform-as-a-service
• Simplifies creation and integration of advanced
apps and services
• Brokers authentication and authorization
interactions between:
– End-users
– Identity providers: InCommon, XSEDE, Google, portals
– Services: resource servers with REST APIs
– Apps: web, mobile, desktop, command line clients
– Services acting as clients to other services
docs.globus.org/api/auth
5
Based on widely used web standards
• OAuth 2.0 Authorization Framework
– aka OAuth2
• OpenID Connect Core 1.0
– aka OIDC
• Use various OAuth2 and OIDC libraries
– Google OAuth Client Libraries (Java, Python,
etc.), Apache mod_auth_openidc, etc.
– Globus Python SDK
6
Log in with Globus
• Similar to:
“Log in with Google”
“Log in with Facebook”
• Using existing identities
• Providing access to
community services
Adding your identity provider
• InCommon identity providers that
release Research & Scholarship
attributes to CILogon (free)
• Any other OpenID Connect identity
provider (subscription)
8
Portal calling services on user’s behalf
• Examples:
– Portal starting transfer for user
• Authorization Code Grant
– With service scopes
– Can also request OIDC scopes
• Confidential client
• Globus SDK:
– To get tokens: ConfidentialAppAuthClient
– To use tokens: AccessTokenAuthorizer
9
Native apps
• Examples
– Command line, desktop apps
– Mobile apps
– Automation scripts
– Jupyter notebooks
– Any client that cannot keep a secret (downloaded)
• Native app is registered with Globus Auth
– Not a confidential client
• Native App Grant is used
– Variation on the Authorization Code Grant that uses PKCE
• Globus SDK:
– To get tokens: NativeAppAuthClient
– To use tokens: AccessTokenAuthorizer
10
Apps that need access tokens
for long time
• Examples:
– Portal checks for transfer status when user is
not logged in
– Run command line app from script
• App requests refresh tokens
• Globus SDK:
– To get token: ConfidentialAppClient or
NativeAppClient
– To use tokens: RefreshTokenAuthorizer
11
App invoking services as itself
• Examples
– Sample portal invoking graph service and accessing endpoints as itself
– Robots, agents, services
• Every app is/has an identity in Globus Auth
(<client_id>@clients.auth.globus.org)
• App registers with Globus to get client id/secret
– Native app cannot do this (no client_secret)
• Client Credential Grant is used
• Can use the client_id just like any other identity_id
– Sharing access manager role, permissions, group membership, etc.
• Globus SDK:
– To get tokens: ConfidentialAppAuthClient
– To use tokens: AccessTokenAuthorizer
12
Globus Auth for securing your
service’s REST API
• Outsource all identity management and authentication
– Federated identity with InCommon, Google, etc.
• Outsource your REST API security
– Consent, token issuance, validation, revocation
– You provide service-specific authorization
• Apps use your service like all others
– Its standard OAuth2 and OIDC
• Your service can seamlessly leverage other services
• Other services can leverage your service
• Implement your service using any language and framework
Add your service to the science cyberinfrastructure platform
13
Dependent services
• Your service can act as client to other services
(scopes)
– Globus Transfer and Auth
– XSEDE (e.g., Jetstream, XUP)
– Other community services
– Future: Commercial services (e.g., Google Drive)
• Entire service call tree consented by user and
service owners
– Rescinding consent revokes all dependent tokens
• Dependent tokens are restricted to a particular
client, calling a particular scope, on behalf of a
particular resource owner (e.g., user)
– Restricted delegation!
14
Summary
• Globus Auth makes it easy to:
– add user login to your applications
– integrate with Globus, XSEDE, and other services
– add OAuth2 support to your service’s REST API
– create services to leverage other services
Together we can create an integrated
ecosystem of services and applications
for the research community
15
Join the Globus developer community
• Globus Auth API:
docs.globus.org/api/auth
• Python SDK is open source
– github.com/globus/globus-sdk-python
– Submit issues, pull requests
• Join developer-discuss@globus.org
mailing list: globus.org/mailing-lists
• Sample code: github.com/globus
• Documentation: docs.globus.org
16
Thank you to our sponsors!
17
U . S . D E P A R T M E N T O F
ENERGY

More Related Content

What's hot

Sample Template for Single Sign-On (SSO)
Sample Template for Single Sign-On (SSO)Sample Template for Single Sign-On (SSO)
Sample Template for Single Sign-On (SSO)Mike Reams
 
WSO2 Business Process Server 3.5.0 - Product Overview
WSO2 Business Process Server 3.5.0 - Product OverviewWSO2 Business Process Server 3.5.0 - Product Overview
WSO2 Business Process Server 3.5.0 - Product OverviewWSO2
 
GSoC Mideterm-OAuth2 Module
GSoC Mideterm-OAuth2 ModuleGSoC Mideterm-OAuth2 Module
GSoC Mideterm-OAuth2 ModuleMayank Sharma
 
Einfacher Einstieg – UCS Portalservice und SSO in der Praxis
Einfacher Einstieg – UCS Portalservice und SSO in der PraxisEinfacher Einstieg – UCS Portalservice und SSO in der Praxis
Einfacher Einstieg – UCS Portalservice und SSO in der PraxisUnivention GmbH
 
Design Pattern Logical Model
Design Pattern Logical ModelDesign Pattern Logical Model
Design Pattern Logical ModelMike Reams
 
Open Identity Stack Roadmap
Open Identity Stack RoadmapOpen Identity Stack Roadmap
Open Identity Stack RoadmapForgeRock
 
OpenDJ: An Introduction
OpenDJ: An IntroductionOpenDJ: An Introduction
OpenDJ: An IntroductionForgeRock
 
Webinar: Message Tracing and Debugging in WSO2 Enterprise Service Bus
Webinar: Message Tracing and Debugging in WSO2 Enterprise Service BusWebinar: Message Tracing and Debugging in WSO2 Enterprise Service Bus
Webinar: Message Tracing and Debugging in WSO2 Enterprise Service BusWSO2
 
How the WSO2 ESB outperforms other major open source esb vendors
How the WSO2 ESB outperforms other major open source esb vendorsHow the WSO2 ESB outperforms other major open source esb vendors
How the WSO2 ESB outperforms other major open source esb vendorsWSO2
 
Self-Service x Hashicorp Vault
Self-Service x Hashicorp VaultSelf-Service x Hashicorp Vault
Self-Service x Hashicorp VaultMartin Conraux
 
OpenIDM: An Introduction
OpenIDM: An IntroductionOpenIDM: An Introduction
OpenIDM: An IntroductionForgeRock
 
Learn with WSO2 - API Security
Learn with WSO2 - API Security Learn with WSO2 - API Security
Learn with WSO2 - API Security WSO2
 
OpenAM Best Practices - Corelio Media Case Study
OpenAM Best Practices - Corelio Media Case Study OpenAM Best Practices - Corelio Media Case Study
OpenAM Best Practices - Corelio Media Case Study ForgeRock
 
Extended Security with WSO2 API Management Platform
Extended Security with WSO2 API Management PlatformExtended Security with WSO2 API Management Platform
Extended Security with WSO2 API Management PlatformWSO2
 
BoKS ServerControl version 7.0
BoKS ServerControl version 7.0BoKS ServerControl version 7.0
BoKS ServerControl version 7.0Ryan Gallavin
 
APIs and Services: One Platform or Two?
APIs and Services: One Platform or Two?APIs and Services: One Platform or Two?
APIs and Services: One Platform or Two?Akana
 

What's hot (20)

Go mico
Go micoGo mico
Go mico
 
Sample Template for Single Sign-On (SSO)
Sample Template for Single Sign-On (SSO)Sample Template for Single Sign-On (SSO)
Sample Template for Single Sign-On (SSO)
 
WSO2 Business Process Server 3.5.0 - Product Overview
WSO2 Business Process Server 3.5.0 - Product OverviewWSO2 Business Process Server 3.5.0 - Product Overview
WSO2 Business Process Server 3.5.0 - Product Overview
 
GSoC Mideterm-OAuth2 Module
GSoC Mideterm-OAuth2 ModuleGSoC Mideterm-OAuth2 Module
GSoC Mideterm-OAuth2 Module
 
Einfacher Einstieg – UCS Portalservice und SSO in der Praxis
Einfacher Einstieg – UCS Portalservice und SSO in der PraxisEinfacher Einstieg – UCS Portalservice und SSO in der Praxis
Einfacher Einstieg – UCS Portalservice und SSO in der Praxis
 
OAuth2.0
OAuth2.0OAuth2.0
OAuth2.0
 
Design Pattern Logical Model
Design Pattern Logical ModelDesign Pattern Logical Model
Design Pattern Logical Model
 
Open Identity Stack Roadmap
Open Identity Stack RoadmapOpen Identity Stack Roadmap
Open Identity Stack Roadmap
 
OpenDJ: An Introduction
OpenDJ: An IntroductionOpenDJ: An Introduction
OpenDJ: An Introduction
 
Webinar: Message Tracing and Debugging in WSO2 Enterprise Service Bus
Webinar: Message Tracing and Debugging in WSO2 Enterprise Service BusWebinar: Message Tracing and Debugging in WSO2 Enterprise Service Bus
Webinar: Message Tracing and Debugging in WSO2 Enterprise Service Bus
 
How the WSO2 ESB outperforms other major open source esb vendors
How the WSO2 ESB outperforms other major open source esb vendorsHow the WSO2 ESB outperforms other major open source esb vendors
How the WSO2 ESB outperforms other major open source esb vendors
 
Apache Syncope and Tirasa
Apache Syncope and TirasaApache Syncope and Tirasa
Apache Syncope and Tirasa
 
Self-Service x Hashicorp Vault
Self-Service x Hashicorp VaultSelf-Service x Hashicorp Vault
Self-Service x Hashicorp Vault
 
OpenIDM: An Introduction
OpenIDM: An IntroductionOpenIDM: An Introduction
OpenIDM: An Introduction
 
Learn with WSO2 - API Security
Learn with WSO2 - API Security Learn with WSO2 - API Security
Learn with WSO2 - API Security
 
OpenAM Best Practices - Corelio Media Case Study
OpenAM Best Practices - Corelio Media Case Study OpenAM Best Practices - Corelio Media Case Study
OpenAM Best Practices - Corelio Media Case Study
 
Extended Security with WSO2 API Management Platform
Extended Security with WSO2 API Management PlatformExtended Security with WSO2 API Management Platform
Extended Security with WSO2 API Management Platform
 
BoKS ServerControl version 7.0
BoKS ServerControl version 7.0BoKS ServerControl version 7.0
BoKS ServerControl version 7.0
 
APIs and Services: One Platform or Two?
APIs and Services: One Platform or Two?APIs and Services: One Platform or Two?
APIs and Services: One Platform or Two?
 
Koha ILMS
Koha ILMSKoha ILMS
Koha ILMS
 

Similar to Foundational Identity Management Services for Research Computing - ARCC Workshop at PEARC17

Introduction to the Globus Platform for Developers
Introduction to the Globus Platform for DevelopersIntroduction to the Globus Platform for Developers
Introduction to the Globus Platform for DevelopersGlobus
 
Building Research Data Portals (GlobusWorld Tour - UMich)
Building Research Data Portals (GlobusWorld Tour - UMich)Building Research Data Portals (GlobusWorld Tour - UMich)
Building Research Data Portals (GlobusWorld Tour - UMich)Globus
 
Building the Services Ecosystem (GlobusWorld Tour - STFC)
Building the Services Ecosystem (GlobusWorld Tour - STFC)Building the Services Ecosystem (GlobusWorld Tour - STFC)
Building the Services Ecosystem (GlobusWorld Tour - STFC)Globus
 
Gateways 2020 Tutorial - Introduction to Globus
Gateways 2020 Tutorial - Introduction to GlobusGateways 2020 Tutorial - Introduction to Globus
Gateways 2020 Tutorial - Introduction to GlobusGlobus
 
Building Research Applications with Globus PaaS
Building Research Applications with Globus PaaSBuilding Research Applications with Globus PaaS
Building Research Applications with Globus PaaSGlobus
 
Globus Auth: A Research Identity and Access Management Platform
Globus Auth: A Research Identity and Access Management PlatformGlobus Auth: A Research Identity and Access Management Platform
Globus Auth: A Research Identity and Access Management PlatformIan Foster
 
Identity Access and Management with Globus
Identity Access and Management with GlobusIdentity Access and Management with Globus
Identity Access and Management with GlobusGlobus
 
Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStackSteve Martinelli
 
Getting Started with Globus for Developers
Getting Started with Globus for DevelopersGetting Started with Globus for Developers
Getting Started with Globus for DevelopersGlobus
 
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017Andrew Ripka
 
EduID Mobile App - Use-Cases, Concepts and Implementation
EduID Mobile App - Use-Cases, Concepts and ImplementationEduID Mobile App - Use-Cases, Concepts and Implementation
EduID Mobile App - Use-Cases, Concepts and ImplementationChristian Glahn
 
Introduction to Kong API Gateway
Introduction to Kong API GatewayIntroduction to Kong API Gateway
Introduction to Kong API GatewayYohann Ciurlik
 
Leveraging the Globus Platform in Web Applications (CHPC 2019 - South Africa)
Leveraging the Globus Platform in Web Applications (CHPC 2019 - South Africa)Leveraging the Globus Platform in Web Applications (CHPC 2019 - South Africa)
Leveraging the Globus Platform in Web Applications (CHPC 2019 - South Africa)Globus
 
Introduction to the Globus Platform (GlobusWorld Tour - UMich)
Introduction to the Globus Platform (GlobusWorld Tour - UMich)Introduction to the Globus Platform (GlobusWorld Tour - UMich)
Introduction to the Globus Platform (GlobusWorld Tour - UMich)Globus
 
Jupyter + Globus: The Foundation for Interactive Data Science
Jupyter + Globus: The Foundation for Interactive Data ScienceJupyter + Globus: The Foundation for Interactive Data Science
Jupyter + Globus: The Foundation for Interactive Data ScienceGlobus
 
Introduction to the Globus Platform (APS Workshop)
Introduction to the Globus Platform (APS Workshop)Introduction to the Globus Platform (APS Workshop)
Introduction to the Globus Platform (APS Workshop)Globus
 
GlobusWorld 2021 Tutorial: The Globus CLI, Platform and SDK
GlobusWorld 2021 Tutorial: The Globus CLI, Platform and SDKGlobusWorld 2021 Tutorial: The Globus CLI, Platform and SDK
GlobusWorld 2021 Tutorial: The Globus CLI, Platform and SDKGlobus
 
Mobile application development
Mobile application developmentMobile application development
Mobile application developmentSameera Rukshan
 
Using Google App Engine Python
Using Google App Engine PythonUsing Google App Engine Python
Using Google App Engine PythonAkshay Mathur
 

Similar to Foundational Identity Management Services for Research Computing - ARCC Workshop at PEARC17 (20)

Introduction to the Globus Platform for Developers
Introduction to the Globus Platform for DevelopersIntroduction to the Globus Platform for Developers
Introduction to the Globus Platform for Developers
 
Building Research Data Portals (GlobusWorld Tour - UMich)
Building Research Data Portals (GlobusWorld Tour - UMich)Building Research Data Portals (GlobusWorld Tour - UMich)
Building Research Data Portals (GlobusWorld Tour - UMich)
 
Building the Services Ecosystem (GlobusWorld Tour - STFC)
Building the Services Ecosystem (GlobusWorld Tour - STFC)Building the Services Ecosystem (GlobusWorld Tour - STFC)
Building the Services Ecosystem (GlobusWorld Tour - STFC)
 
Gateways 2020 Tutorial - Introduction to Globus
Gateways 2020 Tutorial - Introduction to GlobusGateways 2020 Tutorial - Introduction to Globus
Gateways 2020 Tutorial - Introduction to Globus
 
Building Research Applications with Globus PaaS
Building Research Applications with Globus PaaSBuilding Research Applications with Globus PaaS
Building Research Applications with Globus PaaS
 
Globus Auth: A Research Identity and Access Management Platform
Globus Auth: A Research Identity and Access Management PlatformGlobus Auth: A Research Identity and Access Management Platform
Globus Auth: A Research Identity and Access Management Platform
 
Identity Access and Management with Globus
Identity Access and Management with GlobusIdentity Access and Management with Globus
Identity Access and Management with Globus
 
Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStack
 
Oow2016 review--paas-microservices-
Oow2016 review--paas-microservices-Oow2016 review--paas-microservices-
Oow2016 review--paas-microservices-
 
Getting Started with Globus for Developers
Getting Started with Globus for DevelopersGetting Started with Globus for Developers
Getting Started with Globus for Developers
 
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
MNAssociationEnterpriseArchitectsCloudFoundryJuly2017
 
EduID Mobile App - Use-Cases, Concepts and Implementation
EduID Mobile App - Use-Cases, Concepts and ImplementationEduID Mobile App - Use-Cases, Concepts and Implementation
EduID Mobile App - Use-Cases, Concepts and Implementation
 
Introduction to Kong API Gateway
Introduction to Kong API GatewayIntroduction to Kong API Gateway
Introduction to Kong API Gateway
 
Leveraging the Globus Platform in Web Applications (CHPC 2019 - South Africa)
Leveraging the Globus Platform in Web Applications (CHPC 2019 - South Africa)Leveraging the Globus Platform in Web Applications (CHPC 2019 - South Africa)
Leveraging the Globus Platform in Web Applications (CHPC 2019 - South Africa)
 
Introduction to the Globus Platform (GlobusWorld Tour - UMich)
Introduction to the Globus Platform (GlobusWorld Tour - UMich)Introduction to the Globus Platform (GlobusWorld Tour - UMich)
Introduction to the Globus Platform (GlobusWorld Tour - UMich)
 
Jupyter + Globus: The Foundation for Interactive Data Science
Jupyter + Globus: The Foundation for Interactive Data ScienceJupyter + Globus: The Foundation for Interactive Data Science
Jupyter + Globus: The Foundation for Interactive Data Science
 
Introduction to the Globus Platform (APS Workshop)
Introduction to the Globus Platform (APS Workshop)Introduction to the Globus Platform (APS Workshop)
Introduction to the Globus Platform (APS Workshop)
 
GlobusWorld 2021 Tutorial: The Globus CLI, Platform and SDK
GlobusWorld 2021 Tutorial: The Globus CLI, Platform and SDKGlobusWorld 2021 Tutorial: The Globus CLI, Platform and SDK
GlobusWorld 2021 Tutorial: The Globus CLI, Platform and SDK
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
 
Using Google App Engine Python
Using Google App Engine PythonUsing Google App Engine Python
Using Google App Engine Python
 

Recently uploaded

DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 

Recently uploaded (20)

DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 

Foundational Identity Management Services for Research Computing - ARCC Workshop at PEARC17

  • 1. Foundational Identity Management Services for Research Computing Steve Tuecke University of Chicago - Globus tuecke@globus.org
  • 2. Globus = SaaS + PaaS • Globus SaaS continues to improve its capabilities for researchers and research computing centers • Globus PaaS opens new opportunities for developers creating applications and services for researchers 2
  • 3. Motivating Globus PaaS • How do you leverage Globus services in your own applications? • How do you extend Globus with your own services? • How do we empower the research community to create an integrated ecosystem of services and applications? 3
  • 4. Security PaaS challenges • How to provide: – Login to apps o Web, mobile, desktop, command line – Protect all REST API communications o App  Globus service o App  non-Globus service o Service  service • While: – Not introducing even more identities – Providing least privileges security model – Being agnostic to programming language and framework – Being web friendly – Making it easy for users and developers 4
  • 5. Globus Auth • Identity and access management (IAM) platform-as-a-service • Simplifies creation and integration of advanced apps and services • Brokers authentication and authorization interactions between: – End-users – Identity providers: InCommon, XSEDE, Google, portals – Services: resource servers with REST APIs – Apps: web, mobile, desktop, command line clients – Services acting as clients to other services docs.globus.org/api/auth 5
  • 6. Based on widely used web standards • OAuth 2.0 Authorization Framework – aka OAuth2 • OpenID Connect Core 1.0 – aka OIDC • Use various OAuth2 and OIDC libraries – Google OAuth Client Libraries (Java, Python, etc.), Apache mod_auth_openidc, etc. – Globus Python SDK 6
  • 7. Log in with Globus • Similar to: “Log in with Google” “Log in with Facebook” • Using existing identities • Providing access to community services
  • 8. Adding your identity provider • InCommon identity providers that release Research & Scholarship attributes to CILogon (free) • Any other OpenID Connect identity provider (subscription) 8
  • 9. Portal calling services on user’s behalf • Examples: – Portal starting transfer for user • Authorization Code Grant – With service scopes – Can also request OIDC scopes • Confidential client • Globus SDK: – To get tokens: ConfidentialAppAuthClient – To use tokens: AccessTokenAuthorizer 9
  • 10. Native apps • Examples – Command line, desktop apps – Mobile apps – Automation scripts – Jupyter notebooks – Any client that cannot keep a secret (downloaded) • Native app is registered with Globus Auth – Not a confidential client • Native App Grant is used – Variation on the Authorization Code Grant that uses PKCE • Globus SDK: – To get tokens: NativeAppAuthClient – To use tokens: AccessTokenAuthorizer 10
  • 11. Apps that need access tokens for long time • Examples: – Portal checks for transfer status when user is not logged in – Run command line app from script • App requests refresh tokens • Globus SDK: – To get token: ConfidentialAppClient or NativeAppClient – To use tokens: RefreshTokenAuthorizer 11
  • 12. App invoking services as itself • Examples – Sample portal invoking graph service and accessing endpoints as itself – Robots, agents, services • Every app is/has an identity in Globus Auth (<client_id>@clients.auth.globus.org) • App registers with Globus to get client id/secret – Native app cannot do this (no client_secret) • Client Credential Grant is used • Can use the client_id just like any other identity_id – Sharing access manager role, permissions, group membership, etc. • Globus SDK: – To get tokens: ConfidentialAppAuthClient – To use tokens: AccessTokenAuthorizer 12
  • 13. Globus Auth for securing your service’s REST API • Outsource all identity management and authentication – Federated identity with InCommon, Google, etc. • Outsource your REST API security – Consent, token issuance, validation, revocation – You provide service-specific authorization • Apps use your service like all others – Its standard OAuth2 and OIDC • Your service can seamlessly leverage other services • Other services can leverage your service • Implement your service using any language and framework Add your service to the science cyberinfrastructure platform 13
  • 14. Dependent services • Your service can act as client to other services (scopes) – Globus Transfer and Auth – XSEDE (e.g., Jetstream, XUP) – Other community services – Future: Commercial services (e.g., Google Drive) • Entire service call tree consented by user and service owners – Rescinding consent revokes all dependent tokens • Dependent tokens are restricted to a particular client, calling a particular scope, on behalf of a particular resource owner (e.g., user) – Restricted delegation! 14
  • 15. Summary • Globus Auth makes it easy to: – add user login to your applications – integrate with Globus, XSEDE, and other services – add OAuth2 support to your service’s REST API – create services to leverage other services Together we can create an integrated ecosystem of services and applications for the research community 15
  • 16. Join the Globus developer community • Globus Auth API: docs.globus.org/api/auth • Python SDK is open source – github.com/globus/globus-sdk-python – Submit issues, pull requests • Join developer-discuss@globus.org mailing list: globus.org/mailing-lists • Sample code: github.com/globus • Documentation: docs.globus.org 16
  • 17. Thank you to our sponsors! 17 U . S . D E P A R T M E N T O F ENERGY

Editor's Notes

  1. Abstract: Globus Auth is a foundational identity and access management platform service designed to address unique needs of the science and engineering community. It serves to broker authentication and authorization interactions between end-users, identity providers, resource servers (services), and clients (including web, mobile, and desktop applications, and other services). Globus Auth thus makes it easy, for example, for a researcher to authenticate with one credential, connect to a specific remote storage resource with another identity, and share data with colleagues based on their global identity. By eliminating friction associated with the frequent need for multiple accounts, identities, credentials, and groups when using distributed cyberinfrastructure, Globus Auth streamlines the creation, integration, and use of advanced research services. Here we introduce Globus Auth by describing how it can be used by a real research service, the Research Data Archive of the National Center for Atmospheric Research, to enhance both delivered capabilities and user experience.
  2. No need to build commodity functions Can extend Globus functionality to better fit your workflows
  3. Single sign on preferred Want to encourage application development to the Globus Service. Want to encourage others to use Globus Auth for their own services. But not only for Apps, for other service to service communication.
  4. Globus Auth is a Foundational service for all of these In some sense it’s an IdP but think of it more as an Identity Broker Globus Auth is tasked with: Getting user authenticated Issuing tokens Verifying tokens Consents, so users are consenting to what tokens are being used for Mission is providing a platform for app/service developers to integrated these capabilities so they can access the growing system of IdPs with just a bit of standard code
  5. OAuth2 – OpenID Connect (Web World) OpenID Connect – Authentication Layer (RESTful / JSON) RA: some concepts to follow, and then present use cases for integration with Auth with specific solutions on using our SDK for that.
  6. Strongly recommend you join this list if developing against our API
  7. Talk about the Globus as being part of UChicago + ANL, as well as other context setting about how this work came about and is funded