ロールベースのアクセス制御(RBAC)とは?
- IAM 用語集
- ロールベースのアクセス制御(RBAC)とは?
ロールベースのアクセス制御(RBAC)は、定義されたロールと特権を活用することで、システムへのアクセスを許可されたユーザーのみに制限します。RBAC は最小特権アクセスの基礎であり、属性ベースのアクセス制御(ABAC)など、他のアクセスモデルの実装に使用することもできます。
ロールベースのアクセス制御の仕組みとは?
ロールベースのアクセス制御の背後にある考え方はシンプルです:システムやデータへのアクセスを、業務に必要な最低限のものだけに制限することで、これは最小特権の原則(PoLP と略されることもある)と呼ばれる概念です。
ロールベースのアクセス環境では、組織内におけるユーザーのロール(役割)によって、付与される特定のネットワーク許可が決定されます。これは、下級社員が秘匿性の高い情報やリソースにアクセスすることを禁止することを意味しますが、通常ロールベースのアクセスレベルはより細かく設定されます。RBAC が適切に実装されていれば、ユーザーは自分の職務外のリソースにはアクセスできないはずです。例えば、マーケティング担当の社員が開発者環境にアクセスすることはできませんし、その逆もまた同様です。これにより、Need to knowの原則を適用することも可能です。Need to knowとは、ユーザーのアクセスできる情報を、その職務に関連する範囲にのみ制限すべきとする原則です。
さらに、ロールベースのアクセスは、アクセスを許可されたシステムまたはファイルに対してユーザーができることを制限するために使用されます。あるユーザーは、データベースなどの特定のファイルやシステムには読み取り専用で、それ以外のファイルには読み取り/書き込みのアクセス権を持つことができます。
RBAC と ABAC の比較
ロールベースのアクセス制御は、属性ベースのアクセス制御と同義に使われることが多々あります。ABAC と RBAC は異なりますが、RBAC は ABAC と一緒に使われることが頻繁にあります。
ABAC は RBAC よりも細かく設定でき、ロールベースアクセスの拡張または強化として考えることができます。RBAC が組織内のユーザーのロールに依存するのに対し、ABAC モデルでは、ユーザーのアクセス権は、ユーザーのロールだけでなく、属性の組み合わせにも依存します。これには、組織内でのユーザーのロール、リソースにアクセスしようとしている場所、使用しているデバイス、アクセスしようとしているシステムやアプリケーションに関連する属性が含まれますが、これらに限定されるものではありません。これにより、組織は個々のユーザーのリスクプロファイルに応じたアクセスを許可し、制限をかけることができます。
例えば、IT 管理者が VPN やリモートデスクトップ接続マネージャーを使用しない限り、バックエンドシステムにリモートアクセスすることを制限したり、すべての従業員が会社支給のデバイスを使用しない限り、会社のリソースにアクセスすることを禁じることができます。
RBAC とアクセス制御リスト(ACL)の比較
アクセス制御リスト(ACL)とは、特定のリソースにアクセスできるユーザーのリストであり、各ユーザーがそのリソースに対して持つ特権(読み取り専用、読み取り/書き込みなど)も含まれます。ACL は、任意アクセス制御(DAC)モデルの基礎となるものです。
ACL と DAC の最も一般的な例は Windows のファイルシステムで、ユーザーや管理者はテキスト文書やファイルフォルダなどのオブジェクトごとに個別の ACL を定義することが可能です。
アクセス制御リストは、通常 IP アドレスで構成され、ネットワーク管理者が VPN、ウェブアプリケーションファイアウォール(WAF)、ネットワークルーターやスイッチへのトラフィックをフィルタリングするためにも使用されます。ACL には、許可された IP の「許可リスト」と、許可されない IP の「ブロックリスト」を含めることができます
大変そうだと思われたのなら、その通りです。膨大な数の許可リストとブロックリストを維持するのは時間がかかり、エラーが発生しやすいため、ACL(および DAC モデル)は少数のユーザーを含む孤立したケースにのみ有効です。
結論:RBAC がグループ単位でアクセス特権を定義するのに対し、ACL は個々のユーザーまたは IP 単位で定義します。このため、RBAC はアクセス制御リストよりも労力やミスが少なく、数十人、数百人、数千人のユーザーを抱えるビジネス環境であっても、はるかに現実的なものとなります。
RBAC の利点は?
ロールベースのアクセス制御を実装することには、以下のような多くの利点があります:
セキュリティの強化
従業員が業務に必要なリソースのみにアクセスできるように制限することで、不注意または悪意のある内部関係者によるファイルやデータベース、ソースコードなどのデジタル資産の削除、流出、完全性の侵害を防ぐことができます。
また、外部の脅威者がログイン情報を盗んだ場合でも、RBAC と最小特権アクセスにより、ネットワーク内での横移動と特権の昇格を防ぐことができます。
RBAC と最小特権アクセスは、ゼロトラストネットワーク・アクセスモデルの重要な構成要素でもあります。
コンプライアンスイニシアチブをサポートする
ロールベースのアクセスにより、企業は、個人識別情報(PII)やその他のセンシティブなデータの機密性とプライバシー管理を義務付ける、HIPAA、GDPR、その他のデータ保護およびプライバシーフレームワークなど、業界および規制のコンプライアンス要件に対応することができます。これは、ヘルスケアや金融などの規制の厳しい業界や、政府機関において特に重要なものとなります。
コストと管理オーバーヘッドを削減
RBAC モデルの事前定義されたユーザーロールは、従業員のオンボーディングとオフボーディング時、従業員が社内で新しい役割や職務を担う時、組織がベンダーやサードパーティーの契約者にアクセスを許可する必要がある時に管理上のオーバーヘッドを最小化します。新規ユーザーに対するアクセス権付与や既存ユーザーのアクセス権変更は、単に適切なロールを割り当てるだけで済みます。同様に、ユーザーが退職する際にも、IT 管理者とセキュリティ管理者は、そのユーザーのシステムへのアクセス権を即座に取り消すことができます。
管理者は、ユーザーのアクセスとアクティビティを可視化することで、よりコスト効率よく帯域幅やストレージなどのネットワークリソースを使用できる領域を特定することが可能になります。
ロールベースのアクセス制御を実装する方法
1. 会社のニーズに合った戦略を立てる。
ロールの定義に取りかかる前に、システムのインベントリーを作成し、どのリソースへのアクセスを制御する必要があるかを判断します。顧客データベースや開発環境など、センシティブな情報を処理または保管するシステムだけでなく、会社の電子メールやヘルプデスクのチケットシステムなど、誰もがアクセスする必要のあるシステムも特定します。
さらに、自社のビジネスプロセス、技術、コンプライアンス要件、現在のセキュリティ体制も調査します。組織全体で一貫性のないポリシーが適用されているかなど、既存のギャップを特定します。
特にゼロトラスト・ネットワークアクセスを導入する場合は、RBAC を ABAC と、または他のモデルと併用することをお勧めします。
2. ユーザーロールを定義する。
次に、従業員を分析し、同じようなアクセスニーズを持つユーザーをロールごとにグループ化します。まず、部署ごとにユーザーを分類するなど、大まかな分類から始めて、そこからユーザーのロールを絞り込みます。
あまりに多くのロールを定義しすぎると、RBAC の意味がなくなってしまうので注意が必要です。チームトゥロールマッピングを使用することを検討します。そこでは、ユーザーを直接チームに割り当て、そのチームにカスタムロールを割り当てることができます。これにより、時間の節約、ポリシーの一貫性の向上、エラーの減少、管理者によるロールベースのアクセスポリシーの作成が簡単に行えます。
また、きめ細かい設定の不足、ロールの重複、RBAC 許可の過剰な例外など、その他のよくある落とし穴にも気を付けてください。
3. 適切なガバナンス体制を構築する。
RBAC 戦略とユーザーロールを定義した後は、新しいポリシーを強制する方法と、ビジネスニーズの変化に応じてポリシーを変更するための変更管理プロセスが必要となります。
パフォーマンス指標、リスク管理戦略、ロールの再評価手順、強制メカニズムなど、RBAC モデルのルールとガイダンスを含む、書面によるアクセス制御ポリシーを作成します。明確なルールは、部署間や個人ユーザー間における「role sprawl(ロールのスプロール化)」や内部抗争の防止に役立ちます。
4. RBAC モデルを実装する。
大規模な組織、特にロールベースのモデルがない組織では、ユーザーの混乱や日常業務への支障を避けるために、新しい計画を段階的に展開するのがよいでしょう。当初の計画を修正する必要がある問題など、途中で問題が発生することを予期しておきます。これは普通のことであり、段階的に計画を展開することで、より簡単に問題に取り組むことができます。
5. RBAC モデルを維持する。
ユーザーは入れ替わります。ビジネスニーズは変化します。市場も変化します。このような状況の中で、ロールベースのアクセス制御は維持されません。ユーザーからのフィードバックを収集し、セキュリティ状況を継続的にモニタリングし、ロール、ロールの割り当て、アクセスログの 3 つを定期的にレビューし、何が有効で何が修正されるべきかを理解する必要があります。