ロールベースのアクセス制御は、ユーザーのデータへのアクセスをユーザーの組織内のロール(役割)のみに基づいて許可または制限します。
この記事を読み終えると、以下のことができるようになります。
関連コンテンツ
是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!
記事のリンクをコピーする
ロールベースのアクセス制御(RBAC)とは、企業のITシステム内でユーザーができることを制御する方法です。RBACは、1つまたは複数の「ロール(役割)」を各ユーザーに割り当てて、各ロールに異なる権限を付与することで、アクセスを制御します。RBACは、1つまたは複数のソフトウェアアプリケーションに対して適用できます。
複数の人が一緒に暮らす家を思い浮かべてください。各住人が玄関のドアの合鍵を持っています。その合鍵のデザイン・形状は一人ひとり異なるわけではありません。裏庭の物置きなど家のほかのドアや入口を開けるには、別の鍵を受け取ることになります。物置きを開ける合鍵のデザイン・形状は一人ひとり異なるわけでもないし、物置きのドアと玄関のドアの両方を開けることができる特別な鍵を受け取るわけでもありません。
RBACでは、上記の例の家の鍵のようにロールは静的です。全員が同じものを持ち、ほかのアクセスが必要な人は、カスタマイズされた権限ではなく、追加のロール(2つ目の鍵)を割り当てられます。
理論的には、このアクセス制御に対するロールベースのアプローチでは、権限が個々のユーザーに特化したものではないため、ユーザー権限の管理が比較的簡単になります。しかし、多くのロールやアプリケーションがある大規模な企業では、RBACは複雑になり追跡が困難になることがあります。その結果、ユーザーに必要以上の権限が付与される可能性があります。
サイバーセキュリティでのアクセス制御は、ユーザーが何をすることができるかやどのデータを見ることができるかを制限および制御するツールのことを指します。最もわかりやすい例がスマートフォンをロック解除するためにパスコードを入力することです。パスコードを知っている人のみがスマートフォン上のファイルやアプリケーションにアクセスすることができます。
会社での役職が「役割」を指す場合があります。しかし、RBACにおける「ロール(役割)」にはもっと技術的な意味合いがあります。会社システム内で使用される能力、つまり権限と明確に定義されています。各ユーザーには、少なくとも1つのロールが、場合によっては複数のロールが割り当てられます。
ロールは汎用的なものであり、組織内の従業員ごとに特化されたものではありません。たとえば、セールス担当者は各自のユーザーアカウントのためだけに設定された権限を付与されるわけではありません。代わりに、「セールス担当者」のロールと、顧客データベースを表示および編集できる権限といった、付随するすべての権限が割り当てられます。チームのほかのセールス担当者にも同じロールが割り当てられます。特定のセールス担当者が拡張された権限を必要とする場合、ほかのロールが割り当てられます。
このアプローチを取ることで、比較的簡単にユーザーを追加または削除することができます。個々のユーザーの権限を編集する代わりに、管理者は各自のロールを変更するだけで済みます。
アクセス制御においてのパーミッション(権限)とは、特定のアクションの実行能力のことです。その一例は、会社のデータベースにファイルをアップロードできることです。信頼できるユーザー(社内の従業員など)は、ファイルをアップロードする権限を持っていますが、社外の請負業者はその権限を持っていません。RBACでは、すべてのロールが権限セットを持ちます。
属性ベースのアクセス制御(ABAC)とは、組織内のアクセスを制御するもう1つの方法です。ABACはRBACと似ていますが、よりきめ細かく制御できます。ABACにおける権限は、ユーザーのロールではなく、ユーザーの属性に基づいています。ユーザーの特性(役職やセキュリティクリアランスなど)、実行するアクションの属性、またはデータをアクセスしている現在の時刻や物理的な場所といった「実世界」の特性など、ほとんどすべてのものが属性になり得ます。
RBACとABACはどちらも、ユーザーの特性を考慮します。しかし、ABACは、ユーザーが行うアクションやアクセスするデータ/システムの特性など、より多くの背景情報を考慮するのに対して、RBACは、ユーザーのロールのみを考慮します。したがって、ABACはRBACよりも動的になりますが、効果的に管理するのが難しいです。
ロールベースのアクセス制御とルールベースのアクセス制御は同じものではありません。ルールベースのアクセス制御は一連のルールに基づいているのに対して、ロールベースのアクセス制御はユーザーに基づいています。ルールベースのアクセス制御は、リクエストがどこから来るかに関係なく、ポート、IPアドレス、またはデータインプットのタイプなど、特定のアクションをブロックします。ファイアウォールは、ルールベースのアクセス制御を実装するのに使用されることが多いです。
Cloudflare Zero Trustにより、企業は、Cloudflare上のドメイン、アプリケーション、またはパスへのユーザーのアクセスを、保護する、認証する、監視する、許可する/拒否することができます。Cloudflare Zero Trustは、アプリケーションレベルのユーザー権限を企業の社内リソースに素早く適用して、ユーザーがアクセスするすべてのリソースのログも保持します。
RBACとは、組織のデジタル環境においてユーザーができる操作を管理するためのセキュリティ方式です。ユーザーごとに固有の権限を割り当てるのではなく、各ユーザーに1つまたは複数の「ロール」を割り当てる形で管理します。それぞれのロールには、事前に権限のセットが定義されています。
ロールは、そのロールが割り当てられたすべてのユーザーに共通して適用される、権限や操作許可のセットです。例えば「アカウント管理者」というロールがある場合、そのロールには顧客データベースの閲覧権限および変更権限が内包されている場合があります。ロールは個人ごとに用意するものではありません。チームメンバーに追加の権限が必要になった場合、その権限を内包する二次的なロールを割り当てることで対応します。
RBACを使うと、ユーザーごとに細かく権限を設定する必要がなくなるため、権限管理が簡単になります。特に新規ユーザーを登録する際や削除する際に、個別に権限を操作するのではなくロールの割り当てを操作するだけで済むため便利です。
ロールの数や利用するアプリケーションが多い大規模な組織では、管理が複雑になりやすくなります。その結果、本来必要以上の権限をユーザーに与えてしまう可能性があります。
RBACはユーザーに割り当てられたロールのみを考慮しますが、ABACは特定のユーザー特性(セキュリティクリアランスなど)、実行しようとしている操作の種類、時間帯や場所などの条件で判断して権限を付与することもできます。
主な違いは、制限をかける基準です。RBACはユーザーのIDとロールで権限を判断し、ルールベースのアクセス制御は特定の技術的制約で権限を判断します。例えばルールベース制御では、どのユーザーがリクエストを行っているかに関係なく、特定のポートへのすべてのトラフィックをブロックすることができます。
パーミッションとは、特定の操作(会社のサーバーからファイルをダウンロードするなど)を実行することを許可する権限のことです。RBACでは、これらの権限をまとめて「ロール」として管理します。例えば、社内の信頼された社員にはファイルをダウンロードできるロールを割り当て、外部の利用者にはその権限を含まないロールを割り当てる、といった使い分けをします。
Cloudflare Zero Trustは、ユーザーがアプリケーションや通信経路にアクセスする際の安全性を確保し、利用状況を監視するためのツールを提供します。これにより、企業はアプリケーションレベルの権限を迅速に設定し、ユーザーがアクセスするすべてのリソースの詳細なログを記録できるようになり、セキュリティポリシーに確実に遵守できるようにします。
利用開始
アクセス管理について
ゼロトラストについて
VPNリソース
用語集