This model provides Topcon web services with a unified dataset that represents our dealer network, customer base, their respective employees, and the roles those employees hold within each organization.
If you are familiar with Role-Based Access Control (RBAC), much of this section will feel familiar. However, we've added certain entities to better reflect Topcon’s business model.
This section covers many commonly used terms and entities, some of which will need to map to corresponding objects in your Topcon web services. All entities discussed below have a set of documented API endpoints available here. Please take the time to familiarize yourself with each entity.
A Business Partner
can be one of the following: Direct Customer (Dealer), Indirect Customer (End Consumer), Technical Partner, OEM, Topcon group (such as Sales Europe or Engineering Brisbane), or any other business entity that works with Topcon.
Key Point: A Business Partner is the primary security grouping within CIAM, representing the "C" in Customer Identity Access Management (CIAM). All access to Topcon's products or services is always viewed through the lens of a single Business Partner. When a user signs in, they can only sign in and access data for a single Business Partner at a time. Topcon considers customers as organizations, not as individual persons. A Business Partner represents a tenancy in a SaaS application, and all resource
data belongs to one Business Partner.
At Topcon, the source of truth for Business Partner data resides in our Master Data (SAP MDM/MDG). A middleware integration replicates the Business Partner hierarchy from Master Data into CIAM.
Technical Points:
Identity
must select a single Business Partner
during the authentication step of the OAuth flow. CIAM enforces this Business Partner selection during authentication, ensuring tokens are scoped to a single Business Partner.tcbp
claim that maps to the current Business Partner being accessed.Topcon Resource Name
(TRN), which Topcon Web Services may use to reference the Business Partner.Identity
, representing the root user or principal contact for the Business Partner. The owner is granted certain access rights, such as creating Users
.Business Partners are organized into a hierarchy within both Master Data and CIAM. CIAM recognizes two types of hierarchies:
Key Point: This dual hierarchy enables us to delegate support responsibilities to the entities best equipped to handle them—the dealers and customers themselves. It facilitates self-service for each Business Partner, both within their own divisional hierarchy and across support relationships defined by Support Agreements.
Business Partners cannot be created directly within the CIAM PAP. CIAM contains a shadow copy of Business Partner Master Data, and Business Partners can only be created in Master Data by the data governance team (for Direct Customers/Dealers) or through the Partnership Management API (for Indirect Customers/End Consumers).
The Identity
entity refers to an individual end-user (a person) who has an email address. The source of truth for Identities in Topcon's CIAM is our PingONE Identity Provider (IdP) and any Identity Providers that our Business Partners register using the Identity Provider entity discussed below.
All Personal Identity Data (PID) such as name, email, and password is primarily stored in these source-of-truth Identity Providers and replicated (except for the password) into CIAM as end-users sign in to our services.
Key Point: An Identity
represents an individual person and should NOT be thought of as a user, an account, or a Business Partner. The Identity entity models only the PID of an individual person, nothing more.
In Topcon's CIAM, a person can sign in as their Identity to perform self-service tasks such as accepting invites to join Business Partners, updating their PID, managing signed-in devices, etc.
Identities are associated with Business Partners
through the User
entity, which is discussed next.
Technical Points:
tcid
claim that maps to the currently signed-in Identity.Topcon Resource Name
(TRN), which Topcon Web Services can use to reference the Identity.Identity
, not the email address.Key Point: The User
entity connects an Identity
entity to a Business Partner
entity and have one ore more Profiles
.
An Identity
can belong to multiple Business Partners
by having multiple Users
, though this number should generally remain small. For example, if the Identity
"Sally Ann" works for Business Partner
"Dealer-X", then a User
entity represents this "works for" relationship.
Note: In the past, dealer users have added themselves to hundreds of customer organizations to offer them support. This is no longer required, and won't be supported due to limits on the number of Users which can relate to an Identity. Dealers can now support hundreds of Customers through the Support Agreement entity.
Users
are managed by the owners and managers of Business Partners. Owners and managers invite Users
and assign them Profiles
, which are high-level roles across all Topcon Web Services.
Key Point: Think of Profiles
as high-level roles. A Profile
maps to certain roles within a given Topcon Web Service.
Why do we call them profiles and not roles? Good question. Since CIAM is used across many different Topcon Web Services—some of which already have their own roles—we wanted a term that indicates a higher level than service-specific roles.
Topcon has developed a set of Profiles tailored to different types of Business Partners and specific focus industries. This can be best understood through some examples:
This is just a small subset of the available profiles. For the complete list, refer to the profile data in the OPA bundle here. Note that we have more profiles than just Admin/Not Admin, but not so many that users will become frustrated and need to switch profiles often. Profiles are designed to align closely with job descriptions.
The advantage of using a common set of Profiles across all Topcon Web Services is that end-users only need to manage user lifecycles once. For example, "Sally-Anne" only needs to invite "Bob" to "Customer-Y" as a "Site Manager" one time, and that profile will map to all Topcon Web Services.
Key Point: To simplify our products, as well as to reduce testing complexity, only one Profile
can be selected for a User
at sign-in.
As you integrate with CIAM, you’ll need to choose the profiles relevant to your application and decide how to map them, either directly (if you are developing a new application) or to your existing roles.
Technical Points:
tcpf
claim that maps to the Profile selected at sign-in.app_policy
of the Topcon Web Service, as discussed below.Each Business Partner can register one or more domain names using the Domain
entity, allowing them to prove ownership of the domain name.
Key Point: Once a Business Partner proves ownership of a domain name, any Identity
signing in with an email address from that domain will be able to select the associated Business Partner
by virtue of the fact that they are from that domain.
For example, when "bob@customer-y.com" signs in for the first time, Bob can choose the Customer-Y Business Partner. This helps reduce the problem of account duplication, where different employees from the same Business Partner accidentally create duplicate versions of the Business Partner. Bob won't be a User
of the Business Partner
, but he can see it and Request-to-Join.
It's beneficial for a Business Partner to register a Domain, even if they don’t register an Identity Provider
(discussed next), to prevent account duplication.
Each Business Partner can register one or more OAuth 2.0 OIDC or SAML Identity Providers
. We refer to this as Bring Your Own Single Sign-On (BYO SSO).
A Domain
must be registered before creating an Identity Provider
entity.
Key Point: When a Business Partner registers their own Identity Provider, their employees can use their company’s email and password to sign in to Topcon Web Services.
Each Business Partner can register OAuth 2.0 Clients
.
Key Point: The Client
entity allows Business Partners to self-service the creation of OAuth 2.0 clients for accessing Topcon Web Service APIs.
To create an OAuth 2.0 client, you’ll need to know an app_policy
that your Business Partner type supports. App policies determine which Resource Servers and scopes (i.e., which Web Services) your OAuth 2.0 client can access. You will only have access to the parts of the Topcon Web Service APIs that are granted by the selected App Policy.
Information about the available App Policies for your Business Partner can be found here.
It's important to note that:
These Web Services are visible to end-users through the Brand Bar application menu and the My Topcon self-service dashboard.
Coming with phase 3
Coming with phase 3
Coming with phase 3