組織が本格的なB2B2Xビジネスへと移行する際、コマースプラットフォームが直面する最初と当面のアーキテクチャの課題がアクセス制御です。

B2B2Xの「X」には、直接顧客、代理店、ディーラー、加盟店、マーケットプレイスのベンダーなどが含まれます。これらのユーザーは、共通する業務機能を一部有しますが、それぞれ異なる目的でプラットフォームを使用します。

例えば、ある代理店が自社のバイヤーや注文のデータを管理したいが、他の代理店の取引条件や、メーカーの内部財務データは見られないようにするケースがあります。

こうした状況では、BtoBのロールとアクセス権限の設計が複雑になります。バックオフィスへのアクセスを制限するだけでなく、同じプラットフォームを利用する様々なパートナー間の境界を維持しなければならないためです。

組織側で、「どのようなロールが必要か」と問うだけでは不十分です。より高度なアクセス権付与モデルを設計するには、以下のような点も考慮する必要があります。

  • 各ロールの適用範囲
  • そのロールが操作できるリソース
  • 組織、事業部門、ウェブサイト、ワークフローによって、その範囲の働き方

適切な設計判断は、B2B2Xモデルのセキュリティと運用体制を強化します。そうでなければ、例外や手作業の回避策が増えたり、アクセス管理が不適切になったりして、パートナーの機密データや業務が誰にも公開してしまうリスクがあります。

この記事では、B2B2Xにおけるロールとアクセス権を見直し、改善するための実践的なポイントをご紹介します。目的は、新たなビジネスモデルを拡張可能にし、多様なユーザーや業務コンテキストに対応させることです。

B2B2Xビジネスモデルを支えるには、その複雑さに対応できる、アクセス管理機能を標準搭載した堅牢なプラットフォームも必要です。この点では、OroCommerceが他社製品と異なる特長を備えています。詳しくは後ほどご紹介します。

B2B2Xのロールとアクセス権限に対応するOroCommerceのUI画面(パーソナライズされた商品カタログ、顧客マイページ、ワークフロー管理)

1. 役職名ではなく、ビジネス構造から考える

アクセス設計の一般的で直感的な出発点は、「バイヤー」「営業担当者」「アカウント管理者」などの役職名でしょう。

しかし、なじみのある職種だけを基準にロールを設計すると、BtoB業務の実態を見落とします。同じ職種でも会社によって複数の責任を担うことがあり、一人のユーザーが複数の事業部門で異なる役割を担うこともあるためです。

ゆえに、より確かな土台となるのは組織モデルです。プラットフォーム運営者やサプライヤーから、顧客企業とその支店や部門まで、取引に関わる当事者と相互の関係を整理しましょう。そのうえで、どのデータがどの当事者に属するか、また、どの業務が組織間の境界を越えるのかを明確にします。

この区別は、複数のビジネス関係をサポートするべきであるB2B2X環境で特に重要です。マーケットプレイスのベンダーは自社の商品と注文を管理したい一方、親会社は子会社の状況を把握しつつ、各子会社が自社の購買活動を管理できるようにしたいと考えます。これらの業務は、「サプライヤーから顧客へ」の単純な関係にとどまりません。

適切に設計した権限モデルは、これらの関係をプラットフォームの運用に反映できます。すべてを区別のない、単一の顧客アカウントにまとめてしまうと、ロールの分離をシステムではなくチームが担う責任になります。その結果、チームはカスタムコードや手動の制御に時間をかけています。

2. 操作、リソース、適用範囲に基づいてアクセス権を設計する

「管理者」や「バイヤー」のようなロール名だけでは、ユーザーが実行できる操作や権限の適用範囲を正確に判断できません。意図的な境界を明確にするという原則に基づき、アクセス権の設計は次の通り3つの具体的な要素を組み合わせて構成できます。

  1. ユーザーが実行できる操作。閲覧、作成、編集、割り当て、共有、削除、承認など。
  2. そのアクションの対象となるリソースやデータ。顧客情報、注文、見積もり、商品カタログ、価格表、請求書、ワークフロータスクなど。
  3. 操作が許可される範囲。ユーザー自身のレコード、顧客アカウント、支店、事業部門、ウェブサイト、または組織全体など。

例えば、あるユーザーには特定の支店の注文を作成する権限を付与しつつ、他の支店の注文を閲覧する権限は与えない、といった設計が可能です。顧客側の管理者は自社内のユーザーを管理できますが、親アカウントの管理者は複数の子会社にわたって情報を確認できるようにします。

具体的なアクセス権の組み合わせは、組織のポリシーとプラットフォームの機能に基づくべきです。ユーザーのアクセス権が単一のアカウント、特定のサイト、顧客階層全体のいずれに適用するのかは、なじみであっても曖昧なロール名に任せるのではなく、詳細な基準を用いて定義し、テストすると明確になります。

3. 承認を単なるアクセス権ではなく、ワークフローとして扱う

BtoBコマースでは、アクセス権が複数ステップの業務プロセスと交差することがよくあります。例えば、購入者はカートを作成したり見積もりを依頼したりできますが、購入の承認は管理者が担当することです。アカウントを有効化する前に、社内チームが顧客登録の申請を審査する場合もあります。こうしたプロセスは、ユーザーごとに異なる画面ではなく、単一のワークフロー内の遷移として捉えます。

これは、承認を設計する際に重要です。アクセス制御が判断するのは、特定のコンテキストでユーザーの操作を実行できるかどうかに限られるためです。一方で、ワークフローロジックは、操作を実行できる時点、その前に必要な処理、そして次に進むステップを定義します。つまり、ユーザーに申請を承認するアクセス権があっても、その申請が組織のルールを満たし、適切なステータスにある場合に限って承認できるようにします。

プロセスをロールのマトリクスとは別に文書化し、各ステップ、実行可能な担当者、進行条件、担当者が閲覧または変更できるレコードを定義して両者を結び付けましょう。これにより、ロールを業務ロジックの代わりに使ってしまう、という一般的な設計問題を避けやすくなります。

特定の顧客グループからの申請に所定の審査経路が必要な場合は、非公式なルールに頼らず、その経路を明示的に設定します。また、ワークフローの設定によって、担当ステップを完了するために必要な範囲を超えてデータアクセスを許可しないようにする必要があります。

4. 共有する機能と、分離するデータを区別する

B2B2Xプラットフォームでは、共通の商品、共通のプロセス、集中管理されたルールをサポートしながら、顧客、ベンダー、ブランド、事業部門ごとのデータを分離して管理しています。

例えば、親会社は各支店の活動を確認しつつ、支店ごとの予算は別々に管理したい場合があります。また、マーケットプレイスの運営者は共通の注文処理機能を提供しながら、あるベンダーが別のベンダーのレコードを閲覧できないようにする必要があります。このようなケースでは、共有データと分離データの境界が重要な設計判断となります。

また、これらのケースは、BtoBのロールとアクセス権をデータモデルやアカウント階層と併せて設計する重要性も示しています。エンティティと関係を確立した後に権限だけを設計すると、必要な境界をデータモデルで明確に表現できないことが判明する場合があります。逆に、アクセスを考慮せずにデータモデルを設計すると、組織の境界を越えて情報が公開されたり、複雑な回避策が不可欠になったりするおそれがあります。

複数エンティティや複数サイトへの対応は、設計にもう1つの新たな要素を加えます。グローバル組織では、商品情報を一元管理しながら、カタログ、通貨、税金、在庫などの地域差も扱う場合があります。共有インスタンスを使うか別のトポロジーを採用するかは要件によりますが、どのデータとポリシーがグローバルに適用され、どれがローカルに適用されるのかをアーキテクチャ上で明確にする必要があります。

5. 顧客ユーザーと社内チームの両方を対象に設計する

一貫した権限モデルでは、社内ユーザーと外部ユーザーの両方を考慮します。営業、カスタマーサービス、運用の各チームは、取引を支援するために業務情報へのアクセスを依頼する場合がよくあります。バイヤーや顧客側の管理者には、自社の購買活動を管理するためのツールが必要です。BtoB環境では、同じアカウント、見積もり、注文、カタログを扱う場合がありますが、それぞれの責任は異なります。

顧客側の管理者のアクセス権を適切に制限したうえで、顧客自身で管理するロールはサプライヤーのサポートチームへの管理業務の依存を減らせます。例えば、顧客は自社アカウント内で同僚を招待したり、購買や承認の責任を割り当てたりできます。ただし、だからといってプラットフォーム全体のポリシーを変更したり、他の顧客のデータにアクセスしたりできるわけではありません。

社内ロールについても、適用範囲を慎重に定義する必要があります。営業担当者には担当アカウントを設定する一方、サービスチームには問い合わせに対応するため、注文状況や請求書情報へのアクセスを認める場合があります。重要なのは、これらのユーザー層に共通して適用できる制御と、個別のポリシーが必要な制御を見極めることです。

一貫性とは、あらゆるユーザーに同じルールを画一的に適用することではありません。アクセスに関する判断が理解しやすく、管理しやすいように、プラットフォームがルールを一貫性のあるモデルで表現し、無関係なカスタマイズにルールが分散している状態は避ける必要があるのを意味します。

6. インテグレーションとシステム境界を考慮する

コマースのアクセス権は、単独で存在するわけではありません。BtoBプラットフォームは、ERP、CRM、および他の業務システムとデータをやり取りするのが一般的です。このようなインテグレーションでは、顧客アカウント、価格設定、在庫、請求書、注文情報などが扱われます。アクセスを設計する際は、関連する各レコードをどのシステムが管理するのか、また、ユーザーのアイデンティティ、組織の適用範囲、ワークフローの状態をシステム間でどう維持するのかを特定しなければなりません。

これらの点から、重要な設計原則を強調します。それは、インテグレーションによってプラットフォームのアクセスルールが気付かないうちに迂回されたり、営業担当者と顧客が同じアカウントに異なる情報を見たりすることがあってはなりません。

有効なアーキテクチャレビューの方法は、取引を開始から終了まで追跡することです。例えば、営業担当者が見積もりを作成し、顧客側の購入者が確認し、承認ルートに移動し、注文に変換され、後で請求書へ反映されるというプロセスです。各ステップで、どのシステムがデータを管理しているか、誰がその操作を実行できるか、該当するアカウントの適用範囲をどう決定するかを確認します。これにより、ロールのマトリクスだけでは見落としやすいギャップを発見できます。

7. 変更を制御しながら、モデルを柔軟にする

新たな地域やベンダーの追加、企業買収、承認ポリシーの改定などに伴い、ビジネス構造は変化します。その結果、既存のロール付与モデルに課題が生じます。現在の構造には適している設計でも、変更のたびに個別開発が必要であれば、そのうちに技術的負債になります。

アクセスを柔軟に設定できれば、運用上の変更が容易になります。しかし、ガバナンスが不要になるわけではありません。誰がロールを作成・変更できるのか、変更をどのようにレビューするのか、既存ユーザーやデータの適用範囲にどのような影響があるのかを評価する方法を定めるのは必要です。

もう1つの可能な問題はロールの急増です。各例外に新たなロールを作成すると、モデルは徐々に理解しにくく、維持するのも難しくなります。

代わりに、違いが本当に責任に関するものなのか、組織上の適用範囲に関するものなのか、それともワークフローのルールやデータ設定で扱うべきものなのかを見極めましょう。重要な違いについては、その理由を記録しておいてください。

アクセス権をAPI経由で公開したり、外部システムと併せて管理したりする場合は、それらの経路もガバナンスモデルに含める必要があります。ストアフロントのポリシーを一か所で管理し、それを明確な照合プロセスを定めずに別のシステムへ手作業で複製するべきではありません。

8. シナリオで設計を検証する

権限モデルの設計を評価する際は、あいまいなロール名よりも現実的な事例のほうが深く理解します。例えば、顧客側の管理者が新しいバイヤーを追加する、または支店が承認が必要な注文を送信するシナリオなど、一般的なユースケースで設計をテストできます。

同様に、権限のないシナリオを確認すると、承認と権限設定が適切に機能している点と、問題がある点を把握できます。あるベンダーが別のベンダーの注文を見ようとした場合、または社内ユーザーが割り当てられた範囲外のレコードにアクセスした場合、モデルはどのように動作するでしょうか。

通常の業務や例外だけでなく、ユーザーを別の事業部門に異動させる、新しい地域サイトを追加するなど、時間経過に伴う変更もテストに含めましょう。目的は、許可された操作が実行できることを確認するだけではありません。禁止された操作が、関連するワークフローやチャネル全体で引き続き実行できないことも確認します。

プラットフォームのベンダーには、代表的なシナリオを利用して組織階層、データの適用範囲、顧客管理ロール、ワークフロー承認を実演してもらいましょう。これらが設定で実現できるか、ストアフロントとバックオフィスで一貫して適用されるか、インテグレーションが同じルールとどう連携するかも確認します。

機能チェックリストから分かるのは、プラットフォームにロール機能があるかどうかです。しかし、事例に基づく評価を行えば、そのアクセスモデルで実際のビジネスを表現できるかどうかが理解できます。

OroCommerceのネイティブなロールベースアクセスと承認でセキュアなBtoBビジネスへ

適切なロールとアクセス権の付与がなければ、多くのB2B2X取り組みはロールの重複やアクセスの脆弱性に陥るおそれがあります。また、B2B2Xの技術基盤に、複雑な関係や業務を整理するための高度な権限モデルが備わない場合、問題はさらに深刻になります。

BtoB特有の複雑さに対応するよう設計されたプラットフォームとして、OroCommerceのACL(Access Control List)は、他のBtoBプラットフォームとの差別化要因となっています。強力なロール・アクセス権エンジンを標準搭載するACLにより、次のことが可能になります。

  • 注文、見積もり、価格表、商品属性などのレコードへのアクセスを、フィールド単位で制御できる。閲覧、編集、承認などの操作ごとにアクセス権を設定できる。
  • コーディングせずにバックオフィスで社内チームと顧客双方の多階層な企業構造を反映したロールを設定できる。ユーザー、顧客グループ、事業部門、ウェブサイトごとにルールを適用できる。
  • コード不要のワークフローエンジンを使い、アクセス権や操作を業務ワークフローに連携できる。APIを利用して、CRMやパートナーポータルなどの外部システムとロール、アクセス権、ACLの設定を共有できる。B2B2Xモデルにも対応する。

これらの機能が実際にどのように動作するかは、こちらの動画でご覧いただけます。

OroCommerceのACLにより、複雑なビジネス構造を十分に表現できない固定的なアクセス管理から、柔軟かつ包括的なシステムへと移行します。これにより、次のことが可能になります。

  • 実際の企業階層をモデル化できる。部門、事業部門、ブランドごとにネストされたアクセスを設定する。1つのプラットフォームから複数の組織を管理しながら、それぞれに異なるアクセス権とワークフローを適用できる。
  • ビジネスデータとワークフロー全体で、閲覧、編集、承認、割り当てなどのアクションに対する詳細なアクセス権を設定できる。社内チームと顧客の購買チームに、一貫したアクセスルールを適用できる。
  • ストアフロントの体験を最適化できる。顧客グループごとに、パーソナライズされたコンテンツ、カタログ、価格表を提供する。顧客自身がユーザーを管理し、誰が注文や承認を行うかを決められるようにする。
  • コーディングせずに管理画面からロールとアクセスルールを設定・更新できる。ビジネスニーズの変化に応じてモデルを調整できます。

市場での取引が直接販売から、複数のディーラー、サプライヤー、その他の関係者が関わるBtoBエコシステムへと移行する中、企業はセキュリティを損なわずにネットワークを拡大するという課題に直面しています。OroCommerceは、標準搭載のACLエンジンでこの課題に対応し、ビジネスルールを保護しつつ事業を発展させるための基盤を提供します。

まとめ:ユーザーの境界を定義し、エコシステムを持続的に拡大する

B2B2Xでは、サポートすべき参加者と関係の数が大幅に増えます。単一のプラットフォーム上で複雑なビジネス関係に効果的に対応するには、組織階層、データ所有権、権限の適用範囲、ワークフローの責任について、アクセス設計の段階で明確な技術的判断を行う必要があります。

堅実なアプローチは、ビジネス構造を起点に、操作とリソースに基づいて権限を定義し、適用範囲を明確にします。承認をワークフローの遷移として扱い、社内ユーザーと顧客双方を考慮したうえで、インテグレーションが意図した境界を維持しているかを確認します。また、組織の成長に合わせてモデルを変更できるガバナンス体制も整えます。

アーキテクトにとって、BtoBのロールと権限はプラットフォームの運用アーキテクチャを構成する不可欠な要素であり、軽視できません。実際のビジネス関係に合ったモデルを構築すれば、誰が何を閲覧・実行できるかを適切に管理したまま、顧客、パートナー、事業部門を追加できます。これが、堅牢で進化し続けるB2B2Xエコシステムを構築するための礎となります。