SlideShare a Scribd company logo
1 of 31
SAP hybris Knowledge
Transfer Sessions
User Account Management
Joe Huang
joe@1solution.com
Single Sign On - Overview
• SP – Service Provider
• IDP – Identity Provider
• TAI – Trust Assertion Interceptor
SP
SP
IDP
TAI
TAI
SSO Integration
• User accesses a front end application.
• The application redirects user to IdP and user authenticates to IdP.
• IdP redirects user to Assertion Consumer Service (ACS) in SP by sending
Security Assertion(SA) response over HTTP POST inside a hidden form.
• SP processes SA response and creates security context.
• ACS adds security cookie to HTTP response and redirects request to web
resource or business application.
• SP intercepts request in TAI, and maps security cookie to security context
and authorizes user access to the requested web resource.
• Application sends HTTP response back to user
Single Sign-On (SSO) Consideration
• SSO between Web Application
• SSO between Cockpits
• The SSO cookie is only used for processing the authentication. The
related authorization should be realized by implementing a proper
role concept.
Using Single Sign-On in Cockpits
• Update spring-security-config.xml to include rememberMeServices.
• New SSO cookie will be created when user logs in.
• SSO cookie will be used to authenticate user when redirect to any
other cockpits.
• When a user explicitly logs out of the SSO aware cockpit, the SSO
cookie is removed.
• See
https://wiki.hybris.com/display/release5/How+To+Use+SSO+in+hybri
s+Cockpits for detail information.
Enable Single Sign-On for hybirs
• Single Sign-On can be implemented in several different ways.
• Single Sign-On can be implemented at different layers.
• SAML Single Sign-On is one supported with samlsignsignon extension.
Follow the this training trail to setup SAML Single Sign-On:
https://wiki.hybris.com/display/R5T/hybris+5+Developer+Training+Tr
ails+-+SAML+Single+Sign+On
Create User / User Group
• In hMC or BackOffice
User Group & Role
• In hybris, user roles are best represented in the form of user groups
• Roles are represented by userGroup entries in the database
• Usergroup types are similar to the User types. Both are extended
from the Principal type. – What that means?
• User groups are containers that hold users and user groups
• It is not possible to remove the system user group.
User Group Hierarchy
User Group Purpose
• Roles
• Permission Management
• Marketing Targeting
• Different Access
• Cockpit Customization
• Catalog Visibility
User, User Group, Permission
• User and User group = Principal
• Permission = Access Right
• System Accounts can NOT be modified nor deleted.
employee: admin
customer: anonymous
usergroup: admingroup
Recommend to review all factory default Employee Default Accounts
and disable which is not needed on QA and PROD Environment.
Permission – What is it? What it does?
• Permission is an abstract concept.
• Permission define access right, however –
• Permission do NOT automatically restrict access – why?
• Can specify detailed level of access to type, item and attributes.
• Permission can be granted/assigned to user or user group.
Permission Scope
• Global Permissions
- Assigned to principal, not related to any type, item or attribute
• Type Permissions
• Item Permissions
• Attribute Permissions
Type-Based Access Rights - Overview
• Access rights for hybris types and their attributes
• Access is granted to individual users and/or user groups
• Affect the entire type, not individual items
• Also can affect individual type attribute
Custom Access Rights - Overview
• Allows defining very fine-grained access control.
• You may define your own permission types.
• You can grant or deny permissions to the item instances.
• However.. don’t overuse
managing and checking permissions on item level can be expensive -
huge number of items is involved.
If possible use type-based permissions together with restrictions.
• Exposed API allows checking of both Item and Type permissions.
Access Right Importing
• Type access configuration can be imported by impex:
https://wiki.hybris.com/display/release5/ImpEx+API#ImpExAPI-
UserRights
$START_USERRIGHTS
Type;UID;MemberOfGroups;Password;Target;read;change;create;remove;change_perm
UserGroup;productManagerGroup;;;;;;;;
#Access Rights for Products & Catalog;;;;;;;;;
;;;;Product;+;+;+;+;+;
;;;;Product.ean;+;-‐;-‐;-‐;-‐;
;;;;Catalog;+;;;
;;;;Media;+;+;+;+;+;
$END_USERRIGHTS
API CRUD example
• Permissions are create though Impex or Permission services API
PermissionManagementService –
void createPermission(String permissionName);
i.e.:
permissionManagementService.createPermission(“MY_PERMISSION");
• For typical CRUD permission checking use:
PermissionCRUDService – a wrapper over PermissionCheckingService
Assign / Revoke Permission
• In hMC or BackOffice
Group Hierarchy User Account Access
UserGroup
UG_AZ
UserGroup
UG_FED
User
U1
UserGroup
UG_PHX
User
U2
Member of Multiple Group
User
U1
UserGroup
UG1
UserGroup
UG2
Permission Effective Priority
• The closest permission in the group hierarchy take effective.
• Most general priority has the lowest priority while the most specific
priority has the highest priority
• Permission assigned to user override the permission assigned to the
user group the user belongs to.
Permission Best Practices & Tips
• Grant permission at group level as possible.
• Avoid to use denial as possible – why?
• Avoid to grant/deny permission at user as possible.
• Design your permissions schema and keep it simple.
• Define custom permission for custom functionalities.
• Document all custom defined permission and where it is used.
• Permission are not automatically enforced. Your code does the job.
User Group Best Practices
• Design your group hierarchy clean and keep it simple.
• Separate functionalities to different group base on role or can be
reusable.
• Matches the groups closer to the real world functional role as
possible.
• Add user/group to different groups for different roles instead of
create a new group if possible.
HMC Access Levels
• There are list of OOTB employee accounts and user groups with
deferent level of the hMC access.
• Review those accounts and user groups and manage them per your
business needs.
• https://help.hybris.com/6.1.0/hcd/8c24121386691014b925a250976f
2851.html
Group Based Marketing
• Segment Customers into different groups
• Use segmentation for personalizing the content
• Target group based marketing
- BTG (Behavioral Targeting Groups)
-BTGCockpit
-SAP hybris Marketing
-C4C
URL Access Control
• Defines who have access to certain URL or URL pattern
• Defined in spring-security-config.xml, for example
<security:intercept-url pattern="/my-account*"
access="hasRole('ROLE_CUSTOMERGROUP')" />
• A role name in a Spring Security file is a concatenation of ROLE_ +
UserGroup.uid of a given usergroup stored in the database.
Restrictions
Restrictions are rules obeyed by FlexibleSearch which allow to
limit search results depending on which type is searched and
which user is currently logged in.
Where it apply:
In FlexibleSearch only. (Not effect to user in admingroup).
Not effect to external search engines like Lucene.
https://help.hybris.com/6.1.0/hcd/8c428f8286691014970cee
e87aa01605.html
Restrictions in Cockpits
• In cockpits restrictions are disabled by default
• To enable restrictions in cockpits search box:
cockpit.disableRestrictions=false
Create Restriction
• Restriction can be created through following ways:
• Hybris Commerce API
• Hybris Management Console
• Impex
Question & Answer
Further Question or need a private session?
Ask joe@1solution.com

More Related Content

What's hot

The Top Five Mistakes Made When Writing Streaming Applications with Mark Grov...
The Top Five Mistakes Made When Writing Streaming Applications with Mark Grov...The Top Five Mistakes Made When Writing Streaming Applications with Mark Grov...
The Top Five Mistakes Made When Writing Streaming Applications with Mark Grov...Databricks
 
Introduction to ELK
Introduction to ELKIntroduction to ELK
Introduction to ELKYuHsuan Chen
 
Opentracing jaeger
Opentracing jaegerOpentracing jaeger
Opentracing jaegerOracle Korea
 
Lessons from the Field: Applying Best Practices to Your Apache Spark Applicat...
Lessons from the Field: Applying Best Practices to Your Apache Spark Applicat...Lessons from the Field: Applying Best Practices to Your Apache Spark Applicat...
Lessons from the Field: Applying Best Practices to Your Apache Spark Applicat...Databricks
 
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A GrzesikApache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesikmfrancis
 
Introduction to Apache Airflow - Data Day Seattle 2016
Introduction to Apache Airflow - Data Day Seattle 2016Introduction to Apache Airflow - Data Day Seattle 2016
Introduction to Apache Airflow - Data Day Seattle 2016Sid Anand
 
Integration patterns in AEM 6
Integration patterns in AEM 6Integration patterns in AEM 6
Integration patterns in AEM 6Yuval Ararat
 
Terraform: An Overview & Introduction
Terraform: An Overview & IntroductionTerraform: An Overview & Introduction
Terraform: An Overview & IntroductionLee Trout
 
Digital Library Repository: Invenio vs Dspace
Digital Library Repository: Invenio vs DspaceDigital Library Repository: Invenio vs Dspace
Digital Library Repository: Invenio vs DspaceAnjesh Tuladhar
 
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on KubernetesMonitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on KubernetesMartin Etmajer
 
Sizing your alfresco platform
Sizing your alfresco platformSizing your alfresco platform
Sizing your alfresco platformLuis Cabaceira
 
Rapid JCR applications development with Sling
Rapid JCR applications development with SlingRapid JCR applications development with Sling
Rapid JCR applications development with SlingBertrand Delacretaz
 
Scaling Machine Learning Feature Engineering in Apache Spark at Facebook
Scaling Machine Learning Feature Engineering in Apache Spark at FacebookScaling Machine Learning Feature Engineering in Apache Spark at Facebook
Scaling Machine Learning Feature Engineering in Apache Spark at FacebookDatabricks
 

What's hot (20)

The Top Five Mistakes Made When Writing Streaming Applications with Mark Grov...
The Top Five Mistakes Made When Writing Streaming Applications with Mark Grov...The Top Five Mistakes Made When Writing Streaming Applications with Mark Grov...
The Top Five Mistakes Made When Writing Streaming Applications with Mark Grov...
 
Intro GraphQL
Intro GraphQLIntro GraphQL
Intro GraphQL
 
Introduction to ELK
Introduction to ELKIntroduction to ELK
Introduction to ELK
 
Terraform
TerraformTerraform
Terraform
 
ssis lab
ssis labssis lab
ssis lab
 
Opentracing jaeger
Opentracing jaegerOpentracing jaeger
Opentracing jaeger
 
Lessons from the Field: Applying Best Practices to Your Apache Spark Applicat...
Lessons from the Field: Applying Best Practices to Your Apache Spark Applicat...Lessons from the Field: Applying Best Practices to Your Apache Spark Applicat...
Lessons from the Field: Applying Best Practices to Your Apache Spark Applicat...
 
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A GrzesikApache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
 
React & GraphQL
React & GraphQLReact & GraphQL
React & GraphQL
 
Introduction to Apache Airflow - Data Day Seattle 2016
Introduction to Apache Airflow - Data Day Seattle 2016Introduction to Apache Airflow - Data Day Seattle 2016
Introduction to Apache Airflow - Data Day Seattle 2016
 
Intro to GraphQL
 Intro to GraphQL Intro to GraphQL
Intro to GraphQL
 
Integration patterns in AEM 6
Integration patterns in AEM 6Integration patterns in AEM 6
Integration patterns in AEM 6
 
Terraform: An Overview & Introduction
Terraform: An Overview & IntroductionTerraform: An Overview & Introduction
Terraform: An Overview & Introduction
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
Digital Library Repository: Invenio vs Dspace
Digital Library Repository: Invenio vs DspaceDigital Library Repository: Invenio vs Dspace
Digital Library Repository: Invenio vs Dspace
 
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on KubernetesMonitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
 
Helm intro
Helm introHelm intro
Helm intro
 
Sizing your alfresco platform
Sizing your alfresco platformSizing your alfresco platform
Sizing your alfresco platform
 
Rapid JCR applications development with Sling
Rapid JCR applications development with SlingRapid JCR applications development with Sling
Rapid JCR applications development with Sling
 
Scaling Machine Learning Feature Engineering in Apache Spark at Facebook
Scaling Machine Learning Feature Engineering in Apache Spark at FacebookScaling Machine Learning Feature Engineering in Apache Spark at Facebook
Scaling Machine Learning Feature Engineering in Apache Spark at Facebook
 

Viewers also liked

SAP hybris Caching and Monitoring
SAP hybris Caching and MonitoringSAP hybris Caching and Monitoring
SAP hybris Caching and MonitoringZhuo Huang
 
Developing enterprise ecommerce solutions using hybris by Drazen Nikolic - Be...
Developing enterprise ecommerce solutions using hybris by Drazen Nikolic - Be...Developing enterprise ecommerce solutions using hybris by Drazen Nikolic - Be...
Developing enterprise ecommerce solutions using hybris by Drazen Nikolic - Be...youngculture
 
Hybris presenatation sydney
Hybris presenatation sydneyHybris presenatation sydney
Hybris presenatation sydneyMichael Buckley
 
Hybris Hackathon - Data Modeling
Hybris Hackathon - Data ModelingHybris Hackathon - Data Modeling
Hybris Hackathon - Data ModelingNeev Technologies
 
Developing enterprise ecommerce solutions using hybris by Drazen Nikolic
Developing enterprise ecommerce solutions using hybris by Drazen NikolicDeveloping enterprise ecommerce solutions using hybris by Drazen Nikolic
Developing enterprise ecommerce solutions using hybris by Drazen Nikolicyoungculture
 
Hybris 6.0.0 to 6.3.0 comparision
Hybris 6.0.0 to 6.3.0 comparisionHybris 6.0.0 to 6.3.0 comparision
Hybris 6.0.0 to 6.3.0 comparisionShinu Suresh
 
Deliver the Perfect Omnichannel Commerce Experience
Deliver the Perfect Omnichannel Commerce ExperienceDeliver the Perfect Omnichannel Commerce Experience
Deliver the Perfect Omnichannel Commerce ExperienceSAP Customer Experience
 
Hybris erp definition product and technology, wd chicago 09 2016
 Hybris erp definition product and technology, wd chicago 09 2016 Hybris erp definition product and technology, wd chicago 09 2016
Hybris erp definition product and technology, wd chicago 09 2016ccpg04
 
Hybris install telco accelerators on aws-ec2
Hybris   install telco accelerators on aws-ec2Hybris   install telco accelerators on aws-ec2
Hybris install telco accelerators on aws-ec2Venugopal Gummadala
 
B2B Magento vs. Hybris
B2B Magento vs. HybrisB2B Magento vs. Hybris
B2B Magento vs. HybrisUrszula Urban
 
Achieve Digital Transformation with SAP Hybris Cloud for Service
Achieve Digital Transformation with SAP Hybris Cloud for ServiceAchieve Digital Transformation with SAP Hybris Cloud for Service
Achieve Digital Transformation with SAP Hybris Cloud for ServiceSAP Customer Experience
 
Monetizing Postal Services with SAP Hybris Billing
Monetizing Postal Services with SAP Hybris BillingMonetizing Postal Services with SAP Hybris Billing
Monetizing Postal Services with SAP Hybris BillingSAP Customer Experience
 
The Future of Service in the Omnichannel World
The Future of Service in the Omnichannel WorldThe Future of Service in the Omnichannel World
The Future of Service in the Omnichannel WorldSAP Customer Experience
 
Discover the Power of Contextual Marketing
Discover the Power of Contextual MarketingDiscover the Power of Contextual Marketing
Discover the Power of Contextual MarketingSAP Customer Experience
 

Viewers also liked (17)

SAP hybris Caching and Monitoring
SAP hybris Caching and MonitoringSAP hybris Caching and Monitoring
SAP hybris Caching and Monitoring
 
Developing enterprise ecommerce solutions using hybris by Drazen Nikolic - Be...
Developing enterprise ecommerce solutions using hybris by Drazen Nikolic - Be...Developing enterprise ecommerce solutions using hybris by Drazen Nikolic - Be...
Developing enterprise ecommerce solutions using hybris by Drazen Nikolic - Be...
 
Hybris integration solution pack
Hybris integration solution packHybris integration solution pack
Hybris integration solution pack
 
Hybris presenatation sydney
Hybris presenatation sydneyHybris presenatation sydney
Hybris presenatation sydney
 
Hybris Hackathon - Data Modeling
Hybris Hackathon - Data ModelingHybris Hackathon - Data Modeling
Hybris Hackathon - Data Modeling
 
Developing enterprise ecommerce solutions using hybris by Drazen Nikolic
Developing enterprise ecommerce solutions using hybris by Drazen NikolicDeveloping enterprise ecommerce solutions using hybris by Drazen Nikolic
Developing enterprise ecommerce solutions using hybris by Drazen Nikolic
 
Hybris 6.0.0 to 6.3.0 comparision
Hybris 6.0.0 to 6.3.0 comparisionHybris 6.0.0 to 6.3.0 comparision
Hybris 6.0.0 to 6.3.0 comparision
 
Sap hybris overview
Sap hybris overviewSap hybris overview
Sap hybris overview
 
Deliver the Perfect Omnichannel Commerce Experience
Deliver the Perfect Omnichannel Commerce ExperienceDeliver the Perfect Omnichannel Commerce Experience
Deliver the Perfect Omnichannel Commerce Experience
 
Hybris erp definition product and technology, wd chicago 09 2016
 Hybris erp definition product and technology, wd chicago 09 2016 Hybris erp definition product and technology, wd chicago 09 2016
Hybris erp definition product and technology, wd chicago 09 2016
 
SAP Hybris Marketing - Cosmin Costea
SAP Hybris Marketing - Cosmin CosteaSAP Hybris Marketing - Cosmin Costea
SAP Hybris Marketing - Cosmin Costea
 
Hybris install telco accelerators on aws-ec2
Hybris   install telco accelerators on aws-ec2Hybris   install telco accelerators on aws-ec2
Hybris install telco accelerators on aws-ec2
 
B2B Magento vs. Hybris
B2B Magento vs. HybrisB2B Magento vs. Hybris
B2B Magento vs. Hybris
 
Achieve Digital Transformation with SAP Hybris Cloud for Service
Achieve Digital Transformation with SAP Hybris Cloud for ServiceAchieve Digital Transformation with SAP Hybris Cloud for Service
Achieve Digital Transformation with SAP Hybris Cloud for Service
 
Monetizing Postal Services with SAP Hybris Billing
Monetizing Postal Services with SAP Hybris BillingMonetizing Postal Services with SAP Hybris Billing
Monetizing Postal Services with SAP Hybris Billing
 
The Future of Service in the Omnichannel World
The Future of Service in the Omnichannel WorldThe Future of Service in the Omnichannel World
The Future of Service in the Omnichannel World
 
Discover the Power of Contextual Marketing
Discover the Power of Contextual MarketingDiscover the Power of Contextual Marketing
Discover the Power of Contextual Marketing
 

Similar to SAP hybris - User Account Management

Introduction to Azure AD and Azure AD B2C
Introduction to Azure AD and Azure AD B2CIntroduction to Azure AD and Azure AD B2C
Introduction to Azure AD and Azure AD B2CJoonas Westlin
 
Oracle Enterprise Manager Security A Practitioners Guide
Oracle Enterprise Manager Security A Practitioners GuideOracle Enterprise Manager Security A Practitioners Guide
Oracle Enterprise Manager Security A Practitioners GuideCourtney Llamas
 
Oracle Enterprise Manager Security: A Practitioners Guide
Oracle Enterprise Manager Security: A Practitioners GuideOracle Enterprise Manager Security: A Practitioners Guide
Oracle Enterprise Manager Security: A Practitioners GuideCourtney Llamas
 
Building an Identity Management Business Case
Building an Identity Management Business CaseBuilding an Identity Management Business Case
Building an Identity Management Business CaseHitachi ID Systems, Inc.
 
Get things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplicationsGet things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplicationsGiuliano Iacobelli
 
Salesforce admin training 2
Salesforce admin training 2Salesforce admin training 2
Salesforce admin training 2HungPham381
 
Keeping Pace with Product Evolution - UI Automation Framework Guidelines
Keeping Pace with Product Evolution - UI Automation Framework GuidelinesKeeping Pace with Product Evolution - UI Automation Framework Guidelines
Keeping Pace with Product Evolution - UI Automation Framework GuidelinesTyto Software
 
Governance and Security Solution Patterns
Governance and Security Solution Patterns Governance and Security Solution Patterns
Governance and Security Solution Patterns WSO2
 
Microsoft Dynamics CRM Certification Training
Microsoft Dynamics CRM Certification TrainingMicrosoft Dynamics CRM Certification Training
Microsoft Dynamics CRM Certification TrainingDavid Blumentals
 
Global azure virtual 2021 - Azure Lighthouse
Global azure virtual 2021 - Azure LighthouseGlobal azure virtual 2021 - Azure Lighthouse
Global azure virtual 2021 - Azure LighthouseIvo Andreev
 
Agile Test Management Using Jira and Zephyr
Agile Test Management Using Jira and ZephyrAgile Test Management Using Jira and Zephyr
Agile Test Management Using Jira and ZephyrXBOSoft
 
ServiceNow Table Management.pptx
ServiceNow Table Management.pptxServiceNow Table Management.pptx
ServiceNow Table Management.pptxshahebazshaikh19
 
Secure Coding: Field-level Security, CRUD, and Sharing
Secure Coding: Field-level Security, CRUD, and SharingSecure Coding: Field-level Security, CRUD, and Sharing
Secure Coding: Field-level Security, CRUD, and SharingSalesforce Developers
 
IAM Introduction and Best Practices
IAM Introduction and Best PracticesIAM Introduction and Best Practices
IAM Introduction and Best PracticesAmazon Web Services
 
SC-900 Capabilities of Microsoft Identity and Access Management Solutions
SC-900 Capabilities of Microsoft Identity and Access Management SolutionsSC-900 Capabilities of Microsoft Identity and Access Management Solutions
SC-900 Capabilities of Microsoft Identity and Access Management SolutionsFredBrandonAuthorMCP
 

Similar to SAP hybris - User Account Management (20)

Introduction to Azure AD and Azure AD B2C
Introduction to Azure AD and Azure AD B2CIntroduction to Azure AD and Azure AD B2C
Introduction to Azure AD and Azure AD B2C
 
Oracle Enterprise Manager Security A Practitioners Guide
Oracle Enterprise Manager Security A Practitioners GuideOracle Enterprise Manager Security A Practitioners Guide
Oracle Enterprise Manager Security A Practitioners Guide
 
EVOLVE'13 | Enhance | Permission Sensitive Caching | Paul McMahon & Jason Rap...
EVOLVE'13 | Enhance | Permission Sensitive Caching | Paul McMahon & Jason Rap...EVOLVE'13 | Enhance | Permission Sensitive Caching | Paul McMahon & Jason Rap...
EVOLVE'13 | Enhance | Permission Sensitive Caching | Paul McMahon & Jason Rap...
 
Oracle Enterprise Manager Security: A Practitioners Guide
Oracle Enterprise Manager Security: A Practitioners GuideOracle Enterprise Manager Security: A Practitioners Guide
Oracle Enterprise Manager Security: A Practitioners Guide
 
Cache Security- The Basics
Cache Security- The BasicsCache Security- The Basics
Cache Security- The Basics
 
Privileged Access Manager Product Q&A
Privileged Access Manager Product Q&APrivileged Access Manager Product Q&A
Privileged Access Manager Product Q&A
 
Building an Identity Management Business Case
Building an Identity Management Business CaseBuilding an Identity Management Business Case
Building an Identity Management Business Case
 
Get things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplicationsGet things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplications
 
Salesforce admin training 2
Salesforce admin training 2Salesforce admin training 2
Salesforce admin training 2
 
Keeping Pace with Product Evolution - UI Automation Framework Guidelines
Keeping Pace with Product Evolution - UI Automation Framework GuidelinesKeeping Pace with Product Evolution - UI Automation Framework Guidelines
Keeping Pace with Product Evolution - UI Automation Framework Guidelines
 
Governance and Security Solution Patterns
Governance and Security Solution Patterns Governance and Security Solution Patterns
Governance and Security Solution Patterns
 
Microsoft Dynamics CRM Certification Training
Microsoft Dynamics CRM Certification TrainingMicrosoft Dynamics CRM Certification Training
Microsoft Dynamics CRM Certification Training
 
Global azure virtual 2021 - Azure Lighthouse
Global azure virtual 2021 - Azure LighthouseGlobal azure virtual 2021 - Azure Lighthouse
Global azure virtual 2021 - Azure Lighthouse
 
Agile Test Management Using Jira and Zephyr
Agile Test Management Using Jira and ZephyrAgile Test Management Using Jira and Zephyr
Agile Test Management Using Jira and Zephyr
 
ServiceNow Table Management.pptx
ServiceNow Table Management.pptxServiceNow Table Management.pptx
ServiceNow Table Management.pptx
 
Raja3Years
Raja3YearsRaja3Years
Raja3Years
 
Secure Coding: Field-level Security, CRUD, and Sharing
Secure Coding: Field-level Security, CRUD, and SharingSecure Coding: Field-level Security, CRUD, and Sharing
Secure Coding: Field-level Security, CRUD, and Sharing
 
IAM Introduction and Best Practices
IAM Introduction and Best PracticesIAM Introduction and Best Practices
IAM Introduction and Best Practices
 
SC-900 Capabilities of Microsoft Identity and Access Management Solutions
SC-900 Capabilities of Microsoft Identity and Access Management SolutionsSC-900 Capabilities of Microsoft Identity and Access Management Solutions
SC-900 Capabilities of Microsoft Identity and Access Management Solutions
 
IAM Best Practices
IAM Best PracticesIAM Best Practices
IAM Best Practices
 

Recently uploaded

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Recently uploaded (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 

SAP hybris - User Account Management

  • 1. SAP hybris Knowledge Transfer Sessions User Account Management Joe Huang joe@1solution.com
  • 2.
  • 3. Single Sign On - Overview • SP – Service Provider • IDP – Identity Provider • TAI – Trust Assertion Interceptor SP SP IDP TAI TAI
  • 4. SSO Integration • User accesses a front end application. • The application redirects user to IdP and user authenticates to IdP. • IdP redirects user to Assertion Consumer Service (ACS) in SP by sending Security Assertion(SA) response over HTTP POST inside a hidden form. • SP processes SA response and creates security context. • ACS adds security cookie to HTTP response and redirects request to web resource or business application. • SP intercepts request in TAI, and maps security cookie to security context and authorizes user access to the requested web resource. • Application sends HTTP response back to user
  • 5. Single Sign-On (SSO) Consideration • SSO between Web Application • SSO between Cockpits • The SSO cookie is only used for processing the authentication. The related authorization should be realized by implementing a proper role concept.
  • 6. Using Single Sign-On in Cockpits • Update spring-security-config.xml to include rememberMeServices. • New SSO cookie will be created when user logs in. • SSO cookie will be used to authenticate user when redirect to any other cockpits. • When a user explicitly logs out of the SSO aware cockpit, the SSO cookie is removed. • See https://wiki.hybris.com/display/release5/How+To+Use+SSO+in+hybri s+Cockpits for detail information.
  • 7. Enable Single Sign-On for hybirs • Single Sign-On can be implemented in several different ways. • Single Sign-On can be implemented at different layers. • SAML Single Sign-On is one supported with samlsignsignon extension. Follow the this training trail to setup SAML Single Sign-On: https://wiki.hybris.com/display/R5T/hybris+5+Developer+Training+Tr ails+-+SAML+Single+Sign+On
  • 8. Create User / User Group • In hMC or BackOffice
  • 9. User Group & Role • In hybris, user roles are best represented in the form of user groups • Roles are represented by userGroup entries in the database • Usergroup types are similar to the User types. Both are extended from the Principal type. – What that means? • User groups are containers that hold users and user groups • It is not possible to remove the system user group.
  • 11. User Group Purpose • Roles • Permission Management • Marketing Targeting • Different Access • Cockpit Customization • Catalog Visibility
  • 12. User, User Group, Permission • User and User group = Principal • Permission = Access Right • System Accounts can NOT be modified nor deleted. employee: admin customer: anonymous usergroup: admingroup Recommend to review all factory default Employee Default Accounts and disable which is not needed on QA and PROD Environment.
  • 13. Permission – What is it? What it does? • Permission is an abstract concept. • Permission define access right, however – • Permission do NOT automatically restrict access – why? • Can specify detailed level of access to type, item and attributes. • Permission can be granted/assigned to user or user group.
  • 14. Permission Scope • Global Permissions - Assigned to principal, not related to any type, item or attribute • Type Permissions • Item Permissions • Attribute Permissions
  • 15. Type-Based Access Rights - Overview • Access rights for hybris types and their attributes • Access is granted to individual users and/or user groups • Affect the entire type, not individual items • Also can affect individual type attribute
  • 16. Custom Access Rights - Overview • Allows defining very fine-grained access control. • You may define your own permission types. • You can grant or deny permissions to the item instances. • However.. don’t overuse managing and checking permissions on item level can be expensive - huge number of items is involved. If possible use type-based permissions together with restrictions. • Exposed API allows checking of both Item and Type permissions.
  • 17. Access Right Importing • Type access configuration can be imported by impex: https://wiki.hybris.com/display/release5/ImpEx+API#ImpExAPI- UserRights $START_USERRIGHTS Type;UID;MemberOfGroups;Password;Target;read;change;create;remove;change_perm UserGroup;productManagerGroup;;;;;;;; #Access Rights for Products & Catalog;;;;;;;;; ;;;;Product;+;+;+;+;+; ;;;;Product.ean;+;-‐;-‐;-‐;-‐; ;;;;Catalog;+;;; ;;;;Media;+;+;+;+;+; $END_USERRIGHTS
  • 18. API CRUD example • Permissions are create though Impex or Permission services API PermissionManagementService – void createPermission(String permissionName); i.e.: permissionManagementService.createPermission(“MY_PERMISSION"); • For typical CRUD permission checking use: PermissionCRUDService – a wrapper over PermissionCheckingService
  • 19. Assign / Revoke Permission • In hMC or BackOffice
  • 20. Group Hierarchy User Account Access UserGroup UG_AZ UserGroup UG_FED User U1 UserGroup UG_PHX User U2
  • 21. Member of Multiple Group User U1 UserGroup UG1 UserGroup UG2
  • 22. Permission Effective Priority • The closest permission in the group hierarchy take effective. • Most general priority has the lowest priority while the most specific priority has the highest priority • Permission assigned to user override the permission assigned to the user group the user belongs to.
  • 23. Permission Best Practices & Tips • Grant permission at group level as possible. • Avoid to use denial as possible – why? • Avoid to grant/deny permission at user as possible. • Design your permissions schema and keep it simple. • Define custom permission for custom functionalities. • Document all custom defined permission and where it is used. • Permission are not automatically enforced. Your code does the job.
  • 24. User Group Best Practices • Design your group hierarchy clean and keep it simple. • Separate functionalities to different group base on role or can be reusable. • Matches the groups closer to the real world functional role as possible. • Add user/group to different groups for different roles instead of create a new group if possible.
  • 25. HMC Access Levels • There are list of OOTB employee accounts and user groups with deferent level of the hMC access. • Review those accounts and user groups and manage them per your business needs. • https://help.hybris.com/6.1.0/hcd/8c24121386691014b925a250976f 2851.html
  • 26. Group Based Marketing • Segment Customers into different groups • Use segmentation for personalizing the content • Target group based marketing - BTG (Behavioral Targeting Groups) -BTGCockpit -SAP hybris Marketing -C4C
  • 27. URL Access Control • Defines who have access to certain URL or URL pattern • Defined in spring-security-config.xml, for example <security:intercept-url pattern="/my-account*" access="hasRole('ROLE_CUSTOMERGROUP')" /> • A role name in a Spring Security file is a concatenation of ROLE_ + UserGroup.uid of a given usergroup stored in the database.
  • 28. Restrictions Restrictions are rules obeyed by FlexibleSearch which allow to limit search results depending on which type is searched and which user is currently logged in. Where it apply: In FlexibleSearch only. (Not effect to user in admingroup). Not effect to external search engines like Lucene. https://help.hybris.com/6.1.0/hcd/8c428f8286691014970cee e87aa01605.html
  • 29. Restrictions in Cockpits • In cockpits restrictions are disabled by default • To enable restrictions in cockpits search box: cockpit.disableRestrictions=false
  • 30. Create Restriction • Restriction can be created through following ways: • Hybris Commerce API • Hybris Management Console • Impex
  • 31. Question & Answer Further Question or need a private session? Ask joe@1solution.com