メインコンテンツへスキップ
Auth0では、ロールベースのアクセス制御(RBAC)を2つの方法で実装できます。これは、API独自の内部アクセス制御システムの代わりに使用することもできれば、両方を組み合わせて使用することもできます。認可コアの機能セットは、認可拡張機能と同じ機能性を備え、性能と拡張性を向上させると同時に、認可拡張機能より柔軟なRBACシステムを提供します。現時点では、どちらもRBACの主要な機能を実装し、APIに対して定義されるカスタムスコープをユーザーに権限として割り当てられたスコープに制限することが可能です。
企業内の全員がアクセスできるアプリケーションがある場合、 [users(ユーザー)] とは、アプリケーションへのアクセスを許可する個人を指します。ユーザーの数が多い場合、各ユーザーのアクセス権と権限を個別に管理するのは面倒です。 [groups(グループ)] 機能を使用すると、このプロセスが簡単になります。たとえば、グループは、アカウンティング、情報技術、エンジニアリング、サポートなど、組織のさまざまな部門を反映できます。また、エンジニアリンググループを内部ツールとクライアント向けアプリケーションの2つのネストされたグループに分割するなど、ネストされたグループを作成することもできます。したがって、組織階層は次のようになります:
  • 企業
    • [Accounting(アカウンティング)]
    • 情報科学
    • Engineering(エンジニアリング)
      • 内部ツール
      • クライアント向けアプリケーション
    • サポート
認可拡張機能の企業グループの図
アプリケーションにアクセスするために使用している接続に基づいて、ユーザーをグループに手動で追加することも、動的に追加することもできます。たとえば、ユーザーがActive Directory接続を使用してログインし、そのADプロファイルでそのユーザーがマーケティンググループに属していることが示されている場合、認可拡張機能では、拡張機能で管理しているマーケティンググループにそのユーザーを追加することもできます。 最後に、権限のグループである権限とロールがあります。後者の目的は、ユーザーまたはグループに複数の権限を同時に割り当てやすくすることです。
認可拡張機能のロールと権限の図
たとえば、次のような権限を付与したいとします:
  • 出張申請を承認する
  • 旅費を承認する
両方の権限をグループ/ユーザーに割り当てるのではなく、これら2つ(およびその他多数)を [Travel Administrator(旅行管理者)] というロールにまとめることができます。その後、旅行管理者を個々のユーザーまたは1つ以上のグループに割り当てることができます。
認可拡張機能グループロールアクセス許可の図

ユーザー

[Users(ユーザー)] セクションには、アプリケーションの現在のユーザーがすべて一覧表示されます。ここでは、特定のユーザーを検索し、そのユーザーのプロフィールを表示し、グループの所属を変更し、そのユーザーの役割を変更することができます。
Dashboard - Extensions - Authorization Dashboard - Users

グループ

ユーザーの設定を管理するグループを作成および管理するには、認可ダッシュボードで [Groups(グループ)] をクリックします。 [Create Group(グループを作成)] をクリックし、ユーザー用の新しいグループを作成します。グループの [name(名前)] とグループの [description(説明)] を入力するよう求められます。 ユーザーとそのグループの所属は、次の2つの方法のいずれかで管理できます:
  • [group(グループ)] を開いてグループのユーザーを管理する
    Dashboard - Extensions - Authorization Extension - Group Membership - Group Management
  • [user(ユーザー)] を開いてユーザーのグループメンバーシップを管理する
    Dashboard - Extensions - Authorization Extension - Group Membership - User Management
作成するグループは、ビジネスプロセスのニーズによって異なります。たとえば、財務部門のユーザー用のグループ、IT部門のユーザー用のグループなどがあります。さらに、次のようなネストされたグループを作成することもできます:
  • 会社例
    • [Accounting(アカウンティング)]
      • 外部会計士
    • 人事
    • 財務
      • 財務ITサポート
    • 管理
ネストされたグループを作成するには、まず、認可ダッシュボードのグループページにある [CREATE] ボタンを使用して、個々のグループをすべて作成します。 グループをネストするには:
  1. 最上位のグループを開きます(上記の例では、これは会社例のグループになります)
  2. [Nested Groups(ネストされたグループ)] タブをクリックします
  3. [ADD NESTED GROUP] ボタンをクリックしますプライマリグループに追加できるグループのリストが表示されます。特定のグループを選択するには、名前の左側にあるチェックボックスをクリックします。選択するたびに、プライマリグループページに戻ります。必要なグループがすべて含まれるまで、このプロセスを続けます。
ネストされたグループでは、ユーザーをサブグループに追加すると、そのグループの親(およびさらにその親)であるグループに付与されているユーザー権限も付与されます。たとえば、ユーザーを外部会計士グループに追加すると、そのユーザーは自動的に財務グループと会社グループのメンバーになります。ただし、ユーザーは明示的に外部会計士のメンバーであるだけです。他のすべてのメンバーシップは完全に動的であり、必要に応じて計算されます(たとえば、ユーザーのグループメンバーシップを読み込むとき)。 混乱を避けるために、認可ダッシュボードで特定のグループのページを開くたびに、明示的なメンバーおよびネストされたグループから生成された「計算されたメンバー」の両方が表示されます。

グループマッピング

グループマッピングを使用すると、ユーザーの接続に基づいて、ユーザーをさまざまなグループに動的に追加できます。基本的に、接続とによって提供されるグループ情報を使用して、適切なマッピングを作成したグループのメンバーにユーザーを動的に作成できます。 たとえば、ユーザーがActive Directory(AD)資格情報を使用してログインしているとします。ADでは、ユーザーのIDの一部として、グループ情報(「管理者」や「マーケティング」など)を関連付けることができます。 その後、ユーザーがActive Directory接続で接続している場合に、ユーザーのプロファイルを確認するようにグループマッピングを構成できます。拡張機能は、そのユーザーが「管理者」グループに属していることを確認すると、そのユーザーを自動的に会社の管理者グループのメンバーにします。
Dashboard - Extensions - Authorization Extensions Dashboard - Group Mapping

Roles(ロール)

作成するロールは、アプリケーション内の特定の権限へのアクセスによって異なります。たとえば、従業員が会社の経費を入力できるアプリケーションがあるとします。すべての従業員が経費を提出できるようにしたいが、特定の財務ユーザーには経費の承認や削除など、より多くの管理者タイプのアクションを許可したいとします。これらのアクションは[Permissions(権限)]にマッピングされ、特定のロールに割り当てられます。 次のようなさまざまな種類のロールを作成できます:経費管理ツールの経費管理者、経費マネージャー、経費ユーザー。
Dashboard - Extensions - Authorization Extensions Dashboard - Permissions
ロールを追加するには、ダッシュボードの [Roles(ロール)] セクションから [CREATE ROLE(ロールの作成)] ボタンをクリックします。次に、このロールが適用されるアプリケーション(経費管理ツールなど)を選択し、ロールの名前(経費管理者など)とロールの説明を追加します。次に、このロールに付与する権限を選択します。まだ権限を作成していない場合は、後で既存のロールに追加できます。
Dashboard - Extensions - Authorization Extensions Dashboard - Add Role to User
[Role(ロール)] を作成したら、それをユーザーに追加して、関連する [Permissions(権限)] を付与することができます。ユーザーにロールを追加するには、 [Users(ユーザー)] セクションでユーザーを見つけて、 [Roles(ロール)] タブをクリックします。次に、 [ADD ROLE TO USER(ユーザーにロールを追加)] をクリックして、ユーザーに割り当てるロールを選択し、 [SAVE(保存)] をクリックします。

権限

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

もっと詳しく

I