SlideShare a Scribd company logo
SAP hybris Knowledge
Transfer Sessions
User Account Management
Joe Huang
joe@1solution.com
SAP hybris - User Account Management
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

ODP
Hybris install telco accelerators on aws-ec2
PDF
Spark Summit EU talk by Dean Wampler
PPTX
SAP hybris Caching and Monitoring
PPTX
Introduction to ELK
PDF
MongoDB World 2019: MongoDB Read Isolation: Making Your Reads Clean, Committe...
PDF
Zabbix para iniciantes
PPTX
Introduction to Haproxy
PDF
MinIO January 2020 Briefing
Hybris install telco accelerators on aws-ec2
Spark Summit EU talk by Dean Wampler
SAP hybris Caching and Monitoring
Introduction to ELK
MongoDB World 2019: MongoDB Read Isolation: Making Your Reads Clean, Committe...
Zabbix para iniciantes
Introduction to Haproxy
MinIO January 2020 Briefing

What's hot (20)

PDF
FIWARE Training: FIWARE Training: i4Trust Marketplace
PDF
InfluxDB IOx Tech Talks: Replication, Durability and Subscriptions in InfluxD...
PDF
ClickHouse Features for Advanced Users, by Aleksei Milovidov
PDF
AWS DevOps - Terraform, Docker, HashiCorp Vault
PDF
MySQL Performance - Best practices
PPT
Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...
PPTX
ELK Stack
PDF
ELK Stack
PDF
Software Defined Datacenter with Proxmox
PPTX
ReadConcern and WriteConcern
PDF
Solr for Indexing and Searching Logs
PDF
05. 마이크로서비스 아키텍처 환경에서의 SSO 구축방안
PDF
Hunting for security bugs in AEM webapps
PDF
Alfresco 5.2 REST API
 
PPTX
Log analysis using elk
PPTX
Event-driven architecture
PPTX
JSON and REST
PPTX
Apache Ranger
PDF
Introduction to SAML 2.0
PPTX
ELK Elasticsearch Logstash and Kibana Stack for Log Management
FIWARE Training: FIWARE Training: i4Trust Marketplace
InfluxDB IOx Tech Talks: Replication, Durability and Subscriptions in InfluxD...
ClickHouse Features for Advanced Users, by Aleksei Milovidov
AWS DevOps - Terraform, Docker, HashiCorp Vault
MySQL Performance - Best practices
Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...
ELK Stack
ELK Stack
Software Defined Datacenter with Proxmox
ReadConcern and WriteConcern
Solr for Indexing and Searching Logs
05. 마이크로서비스 아키텍처 환경에서의 SSO 구축방안
Hunting for security bugs in AEM webapps
Alfresco 5.2 REST API
 
Log analysis using elk
Event-driven architecture
JSON and REST
Apache Ranger
Introduction to SAML 2.0
ELK Elasticsearch Logstash and Kibana Stack for Log Management
Ad

Viewers also liked (15)

PPTX
Developing enterprise ecommerce solutions using hybris by Drazen Nikolic - Be...
PDF
Hybris integration solution pack
PDF
Hybris presenatation sydney
PPTX
Hybris Hackathon - Data Modeling
PPTX
Developing enterprise ecommerce solutions using hybris by Drazen Nikolic
PPTX
Hybris 6.0.0 to 6.3.0 comparision
PPTX
Sap hybris overview
PPTX
Deliver the Perfect Omnichannel Commerce Experience
PDF
Hybris erp definition product and technology, wd chicago 09 2016
PDF
SAP Hybris Marketing - Cosmin Costea
PDF
B2B Magento vs. Hybris
PPTX
Achieve Digital Transformation with SAP Hybris Cloud for Service
PPTX
Monetizing Postal Services with SAP Hybris Billing
PPTX
The Future of Service in the Omnichannel World
PPTX
Discover the Power of Contextual Marketing
Developing enterprise ecommerce solutions using hybris by Drazen Nikolic - Be...
Hybris integration solution pack
Hybris presenatation sydney
Hybris Hackathon - Data Modeling
Developing enterprise ecommerce solutions using hybris by Drazen Nikolic
Hybris 6.0.0 to 6.3.0 comparision
Sap hybris overview
Deliver the Perfect Omnichannel Commerce Experience
Hybris erp definition product and technology, wd chicago 09 2016
SAP Hybris Marketing - Cosmin Costea
B2B Magento vs. Hybris
Achieve Digital Transformation with SAP Hybris Cloud for Service
Monetizing Postal Services with SAP Hybris Billing
The Future of Service in the Omnichannel World
Discover the Power of Contextual Marketing
Ad

Similar to SAP hybris - User Account Management (20)

PPTX
Operationalzing ThousandEyes in your Organization.pptx
PPTX
Introduction to Azure AD and Azure AD B2C
PDF
Oracle Enterprise Manager Security A Practitioners Guide
PPTX
EVOLVE'13 | Enhance | Permission Sensitive Caching | Paul McMahon & Jason Rap...
PDF
Oracle Enterprise Manager Security: A Practitioners Guide
PDF
Cache Security- The Basics
PDF
Privileged Access Manager Product Q&A
PDF
Building an Identity Management Business Case
PDF
Get things done with Yii - quickly build webapplications
PPTX
Salesforce admin training 2
PPTX
Keeping Pace with Product Evolution - UI Automation Framework Guidelines
PDF
Governance and Security Solution Patterns
PDF
Microsoft Dynamics CRM Certification Training
PDF
Global azure virtual 2021 - Azure Lighthouse
PDF
Agile Test Management Using Jira and Zephyr
PPTX
ServiceNow Table Management.pptx
DOC
Raja3Years
PPTX
Secure Coding: Field-level Security, CRUD, and Sharing
PPTX
SC-900 Capabilities of Microsoft Identity and Access Management Solutions
PDF
Migrating from a monolith to microservices – is it worth it?
Operationalzing ThousandEyes in your Organization.pptx
Introduction to Azure AD and Azure AD B2C
Oracle Enterprise Manager Security A Practitioners Guide
EVOLVE'13 | Enhance | Permission Sensitive Caching | Paul McMahon & Jason Rap...
Oracle Enterprise Manager Security: A Practitioners Guide
Cache Security- The Basics
Privileged Access Manager Product Q&A
Building an Identity Management Business Case
Get things done with Yii - quickly build webapplications
Salesforce admin training 2
Keeping Pace with Product Evolution - UI Automation Framework Guidelines
Governance and Security Solution Patterns
Microsoft Dynamics CRM Certification Training
Global azure virtual 2021 - Azure Lighthouse
Agile Test Management Using Jira and Zephyr
ServiceNow Table Management.pptx
Raja3Years
Secure Coding: Field-level Security, CRUD, and Sharing
SC-900 Capabilities of Microsoft Identity and Access Management Solutions
Migrating from a monolith to microservices – is it worth it?

Recently uploaded (20)

PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
project resource management chapter-09.pdf
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PPTX
The various Industrial Revolutions .pptx
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
DP Operators-handbook-extract for the Mautical Institute
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
1 - Historical Antecedents, Social Consideration.pdf
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Zenith AI: Advanced Artificial Intelligence
PPTX
1. Introduction to Computer Programming.pptx
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
A novel scalable deep ensemble learning framework for big data classification...
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PPTX
observCloud-Native Containerability and monitoring.pptx
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
A contest of sentiment analysis: k-nearest neighbor versus neural network
project resource management chapter-09.pdf
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
The various Industrial Revolutions .pptx
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
DP Operators-handbook-extract for the Mautical Institute
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
WOOl fibre morphology and structure.pdf for textiles
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
1 - Historical Antecedents, Social Consideration.pdf
Chapter 5: Probability Theory and Statistics
Zenith AI: Advanced Artificial Intelligence
1. Introduction to Computer Programming.pptx
O2C Customer Invoices to Receipt V15A.pptx
Getting started with AI Agents and Multi-Agent Systems
A novel scalable deep ensemble learning framework for big data classification...
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
observCloud-Native Containerability and monitoring.pptx

SAP hybris - User Account Management

  • 1. SAP hybris Knowledge Transfer Sessions User Account Management Joe Huang joe@1solution.com
  • 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