メインコンテンツへスキップ
Auth0 では、ロールベースのアクセス制御 (RBAC) を実装する方法が 2 つ用意されており、API 独自の内部アクセス制御システムの代わりとして、またはそれと組み合わせて使用できます。Authorization Core の機能セットは Authorization Extension の機能に対応しており、パフォーマンスとスケーラビリティを向上させるほか、Authorization Extension よりも柔軟な RBAC システムを提供します。現在は、どちらも RBAC の主要な機能を実装しており、API に対して定義されたカスタムスコープを、権限としてユーザーに割り当てられたもののみに制限できます。
社内のすべての人がアクセスできるアプリケーションがある場合、ユーザーとは、そのアプリケーションへのアクセスを付与したい個人を指します。ユーザー数が多い場合は、それぞれのアクセス権や権限を個別に管理するのが煩雑になりがちです。グループ機能を使うと、このプロセスを簡単にできます。たとえば、グループで組織内のさまざまな部門を表すことができます。経理、情報技術、エンジニアリング、サポートなどです。また、ネストされたグループを作成することもできます。たとえば、エンジニアリンググループをさらに 2 つのネストされたグループ、社内ツールと顧客向けアプリケーションに分けることができます。すると、組織階層は次のようになります。
  • 会社
    • 経理
    • 情報技術
    • エンジニアリング
      • 社内ツール
      • 顧客向けアプリケーション
    • サポート
Authorization Extension Corporate Groups Diagram
ユーザーは、アプリケーションへのアクセスに使用している接続に基づいて、手動または動的にグループに追加できます。たとえば、誰かが Active Directory 接続を使用してログインし、その AD プロファイルに Marketing グループに属していることが示されている場合、Authorization Extension では、そのユーザーを拡張機能で管理している Marketing グループにも追加できます。 最後に、権限と、その権限をまとめたロールがあります。ロールの目的は、複数の権限をユーザーまたはグループに一度に割り当てやすくすることです。
Authorization Extension Roles Permissions Diagram
たとえば、次の権限を付与したい場合があります。
  • 出張申請を承認する
  • 出張経費を承認する
これら 2 つの権限をグループやユーザーに個別に割り当てるのではなく、 (ほかの多くの権限とあわせて) Travel Administrator というロールにまとめることができます。その後、Travel Administrator を個々のユーザーまたは 1 つ以上のグループに割り当てることができます。
Authorization Extension Groups Roles Permissions Diagram

ユーザー

ユーザー セクションには、アプリケーションのユーザーが一覧表示されます。ここでは、特定のユーザーを検索したり、プロフィールを確認したり、グループ所属を変更したり、ロールを変更したりできます。
ダッシュボード - Extensions - Authorization Dashboard - ユーザー

グループ

ユーザーの設定を管理するためのグループを作成および管理するには、Authorization Dashboard で グループ をクリックします。 ユーザー用の新しいグループを作成するには、Create Group をクリックします。グループの 名前説明 を入力するよう求められます。 ユーザーとそのグループへの所属は、次の 2 つの方法のいずれかで管理できます。
  • グループ を開いて、そのグループのユーザーを管理する
    Dashboard - Extensions - Authorization Extension - Group Membership - Group Management
  • ユーザー を開いて、そのユーザーのグループ所属を管理する
    Dashboard - Extensions - Authorization Extension - Group Membership - User Management
作成するグループは、ビジネスプロセスの要件によって異なります。たとえば、財務部門のユーザー向けのグループや、IT 部門のユーザー向けのグループなどです。さらに、次のようなネストされたグループを作成することもできます。
  • Example Company
    • Accounting
      • External Accountants
    • Human Resources
    • Finance
      • Finance IT Support
    • Management
ネストされたグループを作成するには、まず Authorization Dashboard の グループ ページにある CREATE ボタンを使用して、個々のグループをすべて作成する必要があります。 グループをネストするには:
  1. 最上位のグループを開きます (上の例では Example Company Group)
  2. Nested Groups タブをクリックします
  3. ADD NESTED GROUP ボタンをクリックします。メインのグループに追加できるグループの一覧が表示されます。特定のグループを選択するには、名前の左側にあるチェックボックスをクリックします。選択するたびに、メインのグループページに戻ります。必要なグループをすべて追加するまで、この操作を繰り返します。
ネストされたグループでは、ユーザーをサブグループに追加すると、そのグループの親グループ (およびさらに上位の親グループ) に付与されている権限もユーザーに付与されます。たとえば、ユーザーを External Accountants グループに追加すると、そのユーザーは自動的に Finance Group と Company Group のメンバーにもなります。ただし、ユーザーが明示的にメンバーとなるのは External Accountants のみです。それ以外の所属はすべて動的なもので、必要に応じて計算されます (たとえば、ユーザーのグループ所属を読み込むとき) 。 混乱を避けるため、Authorization Dashboard で特定のグループのページを開くと、明示的なメンバーと、ネストされたグループの結果として算出される「calculated members」の両方が表示されます。

グループマッピング

グループマッピングを使用すると、ユーザーの接続に基づいて、ユーザーを異なるグループに動的に追加できます。つまり、接続と によって提供されるグループ情報を使用して、適切なマッピングを作成したグループにユーザーを動的に所属させることができます。 たとえば、ユーザーが Active Directory (AD) の認証情報を使用してログインしているとします。AD では、ユーザーの ID 情報の一部として、関連付けられたグループ情報 (「Administrative」や「Marketing」など) を持たせることができます。 その後、ユーザーが Active Directory 接続を使用している場合に、そのユーザーのプロファイルを確認するようグループマッピングを設定できます。拡張機能がそのユーザーが「Administrative」グループに属していることを検出すると、そのユーザーは自動的に会社の Admin グループのメンバーになります。
Dashboard - Extensions - Authorization Extensions Dashboard - Group Mapping

ロール

作成するロールは、アプリケーションで必要となる権限に応じて異なります。たとえば、従業員が会社の経費を申請できるアプリケーションがあるとします。すべての従業員が経費を申請できるようにしつつ、一部の経理部門のユーザーには、経費の承認や削除など、より管理者向けの操作も許可したい場合があります。これらの操作は 権限 に対応付けたうえで、特定のロールに割り当てることができます。 Expense Management Tool には、Expense Admins、Expense Manager、Expense User など、さまざまな種類のロールを作成できます。
ダッシュボード - 拡張機能 - Authorization Extensions ダッシュボード - 権限
ロールを追加するには、ダッシュボードの Roles セクションで CREATE ROLE ボタンをクリックします。次に、このロールを適用するアプリケーション (Expense Management Tool など) を選択し、ロールの名前 (Expense Admins など) と説明を入力します。その後、このロールに付与する権限を選択します。まだ権限を作成していない場合は、後から既存のロールに追加できます。
ダッシュボード - 拡張機能 - Authorization Extensions ダッシュボード - ユーザーにロールを追加
ロール を作成したら、それをユーザーに追加して、関連付けられた 権限 を持たせることができます。ユーザーにロールを追加するには、ユーザー セクションでユーザーを見つけて Roles タブをクリックします。次に、ADD ROLE TO USER をクリックしてユーザーに割り当てるロールを選択し、SAVE をクリックします。

権限

権限は、ロールに追加できる操作または機能です。 前の経費アプリケーションの例を使って、考えられるロールと、それらにどのような権限を関連付けられるかを見てみましょう。
  • ロール: 経費ユーザー
    • 権限:
      • 自分の経費を表示する
      • 新しい経費を追加する
  • ロール: 経費管理者
    • 権限:
      • 経費を承認する
      • すべてのユーザーの経費を表示する
      • 経費を削除する
      • 新しい経費を追加する
新しい権限を作成するには、Authorization Extension ダッシュボードの Permissions セクションに移動します。
ダッシュボード - Extensions - Authorization Extensions Dashboard - Permissions
次に、CREATE PERMISSION ボタンをクリックします。続いて、権限の名前と説明を入力し、この権限を適用するアプリケーションを選択します。
ダッシュボード - Extensions - Authorization Extensions Dashboard - Create Permissions
権限を作成したら、それらをロールに関連付けることができます。

関連情報