Skip to main content
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 つの権限をそれぞれグループやユーザーに割り当てる代わりに、この 2 つ (および他の多くの権限) を Travel Administrator というロールにまとめることができます。その後、Travel Administrator を個々のユーザーや 1 つ以上のグループに割り当てることができます。
Authorization Extension Groups Roles Permissions Diagram

Users

Users セクションには、アプリケーションの現在のユーザーがすべて表示されます。ここでは、特定のユーザーを検索したり、そのプロファイルを確認したり、所属グループやロールを変更したりできます。
Dashboard - Extensions - Authorization Dashboard - Users

グループ

ユーザーの設定を管理するためのグループを作成および管理するには、Authorization Dashboard で グループ をクリックします。 ユーザー用の新しいグループを作成するには、Create Group をクリックします。グループの namedescription を入力するよう求められます。 ユーザーとそのグループへの所属は、次の2つの方法のいずれかで管理できます。
  • group を開いて、そのグループのユーザーを管理する
    Dashboard - Extensions - Authorization Extension - Group Membership - Group Management
  • user を開いて、そのユーザーのグループのメンバーシップを管理する
    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 グループおよび Company グループのメンバーにもなります。ただし、ユーザーが明示的にメンバーとなるのは External Accountants のみであり、その他のメンバーシップはすべて動的なもので、必要に応じて計算されます (たとえば、ユーザーのグループ メンバーシップを読み込むとき) 。 混乱を防ぐため、Authorization Dashboard で特定のグループのページを開くと、明示的なメンバーと、入れ子のグループによって生じる「計算されたメンバー」の両方が表示されます。

グループマッピング

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

ロール

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

Permissions

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

詳しく見る