ロールベースのアクセス制御(RBAC)とは、ユーザーの個々の身元ではなく、割り当てられたロールに基づいて権限を付与するアクセス制御モデルです。管理者は、職務に必要な権限をまとめたロールを定義し、ユーザーをそれらのロールに割り当てます。これにより、アクセス権の付与、監査、および取り消しのプロセスが一元化され、簡素化されます。
主なポイント
- RBACでは、個々のユーザーのIDではなく、ロールに基づいて権限が付与されます。
- ロールは、職務に必要な権限を1つの単位にまとめます。
- 一元化された役割により、アクセス権の付与、監査、および取り消しが簡素化されます。
- NISTは、4つの標準化されたRBACレベル(フラット、階層型、制約型、対称型)を正式に定めた。
- Versa Director および Analytics では、スコープ指定されたリソースタグを含め、RBAC が適用されます。
このページの内容: その重要性仕組み種類RBAC およびVersaよくある質問
RBACはなぜ重要なのでしょうか?
RBACを導入していない場合、管理者はユーザーごとに個別に権限を付与することになりますが、ユーザーが異動したり退職したりすると、権限の設定が実態とずれてしまいます。権限の取り消しを忘れがちであるため、アクセス権が積み重なってしまうのです。RBACでは、権限を「個人」ではなく「職務」に紐づけるため、入社や退職の際には、すべての権限を改めて監査するのではなく、単にロールを割り当てたり削除したりするだけで済みます。
この構造は、最小権限の原則と職務分離を支えています。つまり、各ロールにはその機能に必要な権限のみが付与され、同一の担当者が決して兼任してはならないロール同士を相互に排他的に設定することが可能です。また、コンプライアンス対応も簡素化されます。監査担当者は、何千もの個別の権限付与を追跡する代わりに、少数のロールセットを審査するだけで済むからです。さらに、NIST自身の調査によると、RBACを形式化することで、アクセス管理コストが削減され、業界全体で10億ドル以上の節約につながったと推定されています。 マルチテナントシステムにおいて、RBACはスコープクリープも防止します。あるリージョンのデバイスを管理するオペレーターが、別のテナントのセキュリティポリシーに干渉することはあってはなりません。
RBACとは何ですか?
RBACは、ユーザー、ロール、権限という3つの要素によって機能します。権限はユーザーに直接割り当てられることは決してなく、ロールに割り当てられ、ユーザーはそのロールに割り当てられることで、その権限を取得します。ユーザーは1つ以上のロールを保持することができ、そのユーザーの有効なアクセス権は、それらのロールによって付与される権限の和集合となります。
この間接的なアプローチこそが重要な点です。つまり、職務の権限範囲を変更するには、その役割の定義を1つ編集するだけで済み、その役割を持つすべてのユーザーを個別に探し回る必要はありません。RBACは、個々のユーザーやリソースに直接権限を付与するアクセス制御リスト(ACL)や、固定された役割ではなく、時間、場所、デバイスの状態といった動的な属性を評価する属性ベースのアクセス制御(ABAC)とは異なります。
RBACの種類
ANSI/INCITS 359として標準化されたNISTの形式的なRBACモデルは、この概念を、機能レベルが段階的に高まる一連のレベルとして定義しています。フラット型RBACが基本となります。これは、ユーザーにロールが割り当てられ、ロールに権限が割り当てられるだけで、それ以上の構造はありません。階層型RBACではロールの継承が追加されるため、上位のロールには自動的にその下位にあるロールの権限が含まれます。つまり、管理者ロールはオペレーターが行えるすべての操作に加え、さらに多くの権限を継承します。制約付きRBACでは、職務分離(SoD)ルールが追加され、特定のロールが相互に排他的に設定されるため、単一のユーザーが、同じ変更の作成と承認といった機密性の高いワークフローの両方を担当することはできなくなります。対称型RBACは、権限・ロールのレビュー機能を追加することでこの一連のモデルを完成させており、これにより管理者は、ロールに割り当てられたユーザーと同様に、そのロールに割り当てられた権限を容易に確認し、取り消すことができます。
ほとんどの生産システムでは、階層構造と制約を1つの役割セットに統合しています。
RBAC およびVersa
Versa Directorは、組織が追加されるたびに自動的に作成される組み込みのプロバイダーロールおよびテナントロールを通じてRBACを提供します。これには、ProviderDataCenterAdminなどのプロバイダーロールや、TenantSuperAdmin、TenantSecurityAdmin、TenantOperatorなどのテナントロールが含まれ、それぞれが定義済みの管理対象リソースのセットにマッピングされています。 また、管理者は個々の権限からカスタムロールを構築したり、リソースタグを使用してロールの適用範囲を絞り込んだりすることもできます。これにより、特定のリージョンのインフラストラクチャなど、デバイスやテンプレートのサブセットにロールの適用範囲を限定できます。詳細な設定手順については、「AAA の設定」を参照してください。
RBACはVersa Analyticsにも適用されます。Analyticsタブにログインすると、ユーザーのDirectorロールが同名のAnalytics RBACロールにマッピングされ、管理者はこのロールを有効にしてInsightsへのアクセスを許可します。詳細については、「Analytics Insightsの表示」を参照してください。また、DirectorはREST APIを通じてロールと権限を提供しており、その詳細については移行後のNMS APIリファレンスに記載されています。
よくある質問
RBACとアクセス制御リスト(ACL)の違いは何ですか?
ACLでは、個々のユーザーやリソースに対して直接アクセス権限を割り当てるため、アクセス権の管理には多数のエントリを1つずつ編集する必要があります。一方、RBACでは、ロールにアクセス権限を割り当て、そのロールに属するユーザーに権限を付与するため、1つのロールを編集するだけで、そのロールを保有するすべてのユーザーのアクセス権が更新されます。
RBACとABACの違いは何ですか?
RBACは、あらかじめ割り当てられた固定のロールに基づいてアクセス権を付与します。属性ベースのアクセス制御(ABAC)は、アクセスが行われるその瞬間の動的な属性(時間、場所、デバイスの状態など)を評価します。多くの最新システムでは、この2つを組み合わせています。つまり、基本権限にはロールを使用し、状況に応じた制限には属性を使用しています。
RBACの中核となる要素にはどのようなものがありますか?
ユーザー、ロール、および権限。権限はユーザーではなくロールに紐づけられます。ユーザーには1つ以上のロールが割り当てられ、実際のアクセス権限は、そのユーザーが保有するすべてのロールの和集合となります。NISTの形式モデルではさらにセッションの概念が追加されており、ユーザーは一度に割り当てられたロールのうち、その一部のみを有効にすることができます。
RBACは職務分掌をサポートしていますか?
はい。NIST規格に準拠した「制約付きRBAC」では、相互に排他的な役割が定義されているため、1人のユーザーが、同じ変更内容の作成と承認といった機密性の高いワークフローの両方を担当することはできません。これにより、手動によるレビューではなく、構造的な観点から職務の分離が徹底されます。
Versa DirectorはRBACをどのように実装しているのでしょうか?
Directorは、新しい組織が作成されるたびに自動的に生成されるデフォルトのプロバイダーおよびテナントの役割を提供し、管理者が個々の権限に基づいてカスタム役割を構築できるようにします。リソースタグを使用することで、役割の対象を特定のデバイスやテンプレートに限定することができ、このマッピングは可観測性へのアクセスに関するVersa Analyticsにも適用されます。
RBACに関する詳細
さらに詳しく知りたい場合は、私たちが信頼している情報源を以下にご紹介します。
| NIST:役割ベースのアクセス制御 | OWASP:アクセス制御 |
|---|---|
| NISTのRBAC基礎プロジェクトのページ――形式モデル、そのANSI/INCITSによる標準化、およびこの業界標準の背景にある経済的影響調査。 | OWASPのアクセス制御入門ガイド。RBACに加え、裁量的モデル、強制的モデル、属性ベースのモデルについて解説し、最小権限の原則に関する指針も掲載しています。 |
関連用語
RBACについて調べているなら、次にこれらもチェックしてみる価値があります。
| テナント | Versa Director |
地域 |
|---|---|---|
| RBACロールによって範囲が定義されたゲートウェイ、ライセンス、ユーザー、およびポリシーが、1つの顧客または企業に属する組織単位。 | RBACロール、権限、およびリソースタグの設定、割り当て、監査を行う一元管理コンソール。 | 独自のロールベースのアクセス制御の割り当てや優先順位を持つことができる、Concertoトポロジーによるサイトのグループ。 |