ブログ記事
ロールベースアクセス制御(RBAC)とは
アイデンティティアクセス管理(IAM)は、現代の企業におけるセキュリティ戦略に不可欠です。適切なユーザーのみを特定のシステムやデータにアクセスできるようにすることで、IAMは企業が抱える危険性を抑えてリスクを軽減することができます。多くのIAMシステムがロールベースアクセス制御(RBAC)と呼ばれる手法を用いて、企業の構造とユーザーの責任に応じて、アプリケーションなどの特定のITリソースにおいて誰が何を行うことができるか権限を付与しています。
また、ロールベースセキュリティとも呼ばれるRBACは、部署、事業部門、役職、権限レベルなどの基準に基づいて、行動を制限することができます。企業が顧客記録、金融取引、知的財産などの個人を特定できる情報(PII)を取り扱っている場合、RBACがどのようなものであり、セキュリティの改善のためにどのように使用できるか理解することが重要です。
RBACの定義と仕組み
RBACにより、一連の権限を割り当てることで、高度なアクセスを作成・適用することができます。特定カテゴリのユーザーが職務遂行に必要なアクセス権はどのレベルなのかという観点に基づいて、権限が付与されます。言い換えれば、職務や責任などの要素のみに基づいて、社員はまったく異なるレベルと種類のアクセス権限を持つことが可能です。
例えば、人事部の社員は社員の記録を閲覧できますが、顧客のデータを閲覧することはできません。人事部の責任者は人事の記録を削除・変更することはできますが、人事部の一般社員は閲覧のみ可能です。
アメリカ国立標準技術研究所(NIST)は、任意アクセス制御(DAC)のより優れた選択肢として、RBACアプローチを発表しました。RBACにより、各ユーザーに1つまたは複数のロール、およびこれらのロールに認められた権限を割り当てることができます。ユーザーは、社員、契約社員、ビジネスパートナーなどの場合もあり、そのカテゴリにより既定の権限を有するロールが割り当てられます。例えば昇進や異動により個人の責任や職務が変更される場合、RBACシステムにおいて新たなロールが割り当てられます。
RBACのロールとは
RBACのフレームワークにおいて、ロールはセマンティクな構成要素で、パーミッションの構築に使用されます。ロールを権限、責任、コストセンター、ビジネスユニットなどの基準で定義することができます。
ロールは本質的にはユーザー権限の集合のことを意味します。ユーザーの集合である従来のグループとは異なります。RBACにおいて、権限はアイデンティティと直接結びついているのではなくロールと結びついています。
ロールはアクセス管理を中心に構築されているため、グループよりも安定性があります。通常、企業においては機能や活動はアイデンティティほど変更されません。
企業にとってのRBACのメリット
RBACの最大のメリットとして、ロールの定義・維持に対するシステマチックなアプローチが挙げられます。これにより、ユーザーが必要とすることに基づいて一貫してアクセス権を付与するので、結果的に情報侵害や情報紛失のリスクを軽減できます。
他にも、RBACには以下のように様々なメリットがあります。
- 人事属性に基づいて、新入社員にアクセス権を自動的に割り当てることで、オンボーディングを迅速化
- グローバルレベルで複数のプラットフォームとアプリケーションで権限の再割り当てをするなどで、IT管理業務を簡素化
- EU一般データ保護規則(GDPR)や米国の医療保険の携行性と責任に関する法律(HIPAA)などの規制順守を強化
- ベンダーやビジネスパートナーなどの外部ユーザーに事前定義したロールを割り当て、サードパーティーリスクを軽減
- ロール変更時のアクセスク許可の自動更新により、「最小権限」のベストプラクティスを継続
- 特に大規模で複雑な環境における高度なアクセス制御のコスト削減
RBACの標準仕様
RBAC構造(「ロールエンジニアリング」)の構築は膨大な構成要素と手順を伴うため、その実践は複雑なものになる可能性があります。企業のこのプロセスをサポートするために、NISTはRBAC標準規格を公表しています。
2004年に情報通信技術基準を策定している米国機関である情報技術規格国際委員会(INCITS)が、NISTの提案した標準規格を採用しました。INCITSはRBAC標準規格の改訂版を2012年に公表しています。
さらに、一部の業界団体や機関が特定分野の標準規格を策定しています。例えば、ヘルスケアの国際標準策定機関であるHealth Level Seven (HL7)がロールベース・エンジニアリングに関する独自のガイドラインを発表しています。
RBACの4つのモデル
NISTの標準規格にはRBACの4つのモデルが含まれています。
- コアRBAC:この基本モデルは、ユーザー、ロール、権限の3つの要素で構成されています。このモデルの設計は「多対多」原則に基づいています。多対多とは複数のユーザーが同じロールを有し、1人のユーザーが複数のロールを有することを意味します。同様に、同じ権限を複数のロールに、同じロールを複数の権限に割り当てることができます。
- 階層RBAC:様々なロール間の上下関係を定義する4番目の構成要素である階層が追加されます。下位のロールの権限を自動取得する上位ロールを設定することで、ロールが重複した際の特定の権限の特定などの冗長な作業を排除することができます。
- 静的職貴分掌(SSD)関係:利害相反ポリシーを策定している企業をサポートするために、ロール間の関係がユーザーの割り当てに基づいて追加されます。例えば、あるロールのメンバーであるユーザーは利害が相反しているロールのメンバーに割り当てられません。
- 動的職責分掌(DSD)関係:SSDと同様に、DSDは利用可能なユーザー権限を制限しますが、それぞれの異なる状況に基づいています。例えば、ユーザーはセッション中に行われるタスクに基づいて異なるアクセス・レベルを必要とする可能性があり、DSDはセッション中に有効化される権限を制限します。
RBACの実装
企業でロールベース制御を取り入れる前に、基本的な手順を踏むことが重要です。最初に以下の行動を検討します。
- 企業ニーズの特定—これには、組織における様々な職務、職務を支えるプロセスと技術を把握することが含まれます。
- 範囲の把握—移行時の混乱を最小限に抑えるため、まず重要なシステムから着手し、時間をかけて全システムに拡大することを計画します。
- ロールの作成および定義—ニーズと異なる職務のユーザーがどのように日々の活動とタスクを遂行しているか把握した後、これらのユーザーグループが必要とする権限のリストを作成することができます。
- 実施スケジュールの策定—スケジュールの策定により、関係者が準備する時間を確保し、混乱を最小限に抑えることができます。
- ポリシーの策定—どのように変更を行うかを文書化することで透明性を確保し、プロセスを明確にして潜在的な問題を回避できます。
実装のベストプラクティス
実装を成功させるために、以下のベストプラクティスを検討してください。
- RBACの段階的実施:段階的に統合することで、作業負荷を管理し、トラブルシューティングに役立ちます。計画を段階的に進める方法の1つとして、ハイレベルの制御から始め、次の段階できめ細かく追加していくことです。また、中心となるユーザーグループから開始し、バグを解消してからより多くのユーザーに展開することもできます。
- 点検と適合:ほとんどの場合、RBACインフラには調整が必要となります。アクセスと権限を監査・評価し、制御を定期的に見直します。プロセスだけではなく、プロセスのセキュリティを評価することも忘れないようにしましょう。
- 教育の実施:導入の前に関係者の賛同を確実に得るために、社員や他のユーザーに対して会社にとってのRBACの重要性を訴えます。一般的に変更は嫌がれます。RBACを実施する理由を理解してもらうことで、新たなプロセスとポリシーが一段と受け入れられるようになります。経営陣から一般社員まで幅広く教育する必要があります。
まとめ
RBACを活用することで、アクセスの管理力を格段に向上できます。セキュリティを高め、コンプライアンスを改善できるだけではなく、IT業務の効率性を高めることができます。IAM戦略を実践しているか、検討している場合、ロールにより反復作業と手動プロセスを削減することができます。
アイデンティティ・セキュリティのリーダーであるSailPointは、効果的なロールベースアクセス制御プロジェクトの実施・管理をサポートします。例えば、SailPointのロール権限定義は、特許を取得している機械学習を活用して、ロールの見直し・維持の指針を提供します。RBACプログラムに適切な自動化ツールを使用することで、アクセスの複雑性と規模に関する課題を克服することができます。