- ギフトショップのPOS(販売時点情報管理)モジュール:非営利組織が期間限定でTシャツを販売するポップアップストアを効率よく作成して、売り上げを管理できるようにします。
- マーケティングモジュール:非営利組織がニュースレターを作成して、寄付者に配信できるようにします。
read:catalog-item
read:customer-profile
create:invoice
Gift Shop Manager
(ギフトショップマネージャー)」と名前を付け、これらのアクセス権をロールに追加します。
同様に、マーケティングモジュールのユーザー用には以下のアクセス権を作成します。
create:newsletter
edit:newsletter
delete:newsletter
send:newsletter
edit:distribution-list
Newsletter Admin
(ニュースレター管理者)」というロールを作成し、これらのアクセス権をロールに追加します。
これで、動物保護団体がボランティアのAstridさんをTシャツのポップアップストアに配属すると、「Gift Shop Manager
(ギフトショップマネージャー)」のロールを割り当てることができます。このロールをAstridさんに割り当てると、このロールに追加したすべてのアクセス権が付与されます。Astridさんはニュースレターの発行には関与しない(そしてメールを上手く使いこなせない)ため、「Newsletter Admin
(ニュースレター管理者)」のロールが割り当てられることはなく、したがってマーケティングモジュールにアクセスすることはできません。
技術的に説明すると、AstridさんがA社の製品にログインすると、Auth0はAstridさんの認証と認可を行い、返すアクセストークンにアクセス権を含めます。A社の製品はそのトークンを検査して、Astridさんにどのモジュールを表示するか判断します。
Auth0のRBACを使用することにより、複数の認可システムを別途構築して管理する必要がなくなります。その代わりに、認可では受信済みのトークンが使用されます。また、Astridさんが辞めたり、ギフトショップから譲渡プログラムに担当を変わることになった場合には、簡単にGift Shop Manager(ギフトショップマネージャー)ロールを削除して、新しいロールを割り当てることができます。
また、すべての顧客のロールやアクセス権を管理する作業がA社の手に負えなくなった場合には、Auth0 APIを使って製品内に1つのモジュールを作成し、顧客が独自のRBACを管理できるようにすることも可能です。そうすることで、負担が軽くなり、人件費も削減できます。