クラウドサービスを利用するにあたって、セキュリティ面での不安をお持ちの方もいるかもしれません。
この記事では、データのアクセス制御という側面から、データセキュリティの考え方と具体的なサービスを例にとって実現方法を解説します。
アクセス制御とは
アクセス制御とは、データ等のシステムリソースについて、アクセスできるユーザーを制限・管理することです。この記事ではデータへのアクセスについて特に解説していきます。
アクセス制御の具体的な考え方として「認証」や「認可」があります。認証は、ログイン等によって本人確認を行い、そもそもデータ自体に対してアクセス可能なユーザーかどうかを切り分けます。認可はログインしたユーザーのによってアクセスできるデータの範囲を制限する考え方で、図にすると以下のようなイメージです。
こうしたアクセス制御は一義的にはセキュリティを目的として、適切なユーザーのみが適切なデータにアクセスできるようにして、データを保護する意味あいがあります。
加えて、業務上の要件のために、認可の考え方を活用することもできます。つまり、ユーザーが割り当てられた役割(ロール)に応じて、適切なタイミングで適切なデータのみがアクセス可能となることで、円滑に業務を受け渡すことができるようになる、といった使い方です。
クラウドサービスでの認可の実現方法
「認証」については、一般的に知られている通りログインによってシステムそのものを使えるかどうかを判断するものです。ここでは、「認可」について、アクセスできるデータの範囲等を制限するという考え方が、具体的にクラウドサービス上ではどのように実現されているか解説していきます。
この記事では、ノーコード開発ツールであるNuAppを例により説明します。NuAppでは、様々なアクセス制限により、セキュリティ・業務要件を満たしたシステムを開発できるように作られているため、そうした機能をベースに解説します。
データレベルでのアクセス制限
1つ目は、データの種類ごとに設定するアクセス権です。基本的にこれは組織に基づいた制限をかけるものです。具体的には、次の図のように、自分が所属する部署の下位組織のユーザーが所有者となっているデータについてはアクセスできる一方、それ以外の部署の所有データについては、アクセスできないようにするという形で実現しています。
これにより、部署レベルでデータの制限をかける場合の一般的なシナリオに対応できます。
役割に応じた業務プロセス上でのアクセス制限
役割に応じた制限を行う方法としては、プロセス図で設定した「担当」によるものがあります。
NuAppではワークフローのような形で業務を受け渡していく機能をプロセス図で描画することで実現できますが、その際に、その業務プロセスで登場する役割を「担当」として設定します。
このプロセスと担当は、次のように機能します。プロセス図の中には「タスク」というものがありますが、これは「担当者が該当業務を実施し、それに応じたデータ登録を行う」という意味合いのものです。プロセスは、現在の処理や業務(ノード)が終わると、順番に次の箇所に進んでいきますが、タスクに到着すると、担当者による操作待ちの状態となります。そのため、データ毎にそのタイミングでアクセスが求められているユーザーのみが担当として編集を行うことができ、それ以外のユーザーが誤って操作することを防ぐことができます。このように、担当に基づいた制御は、更新権限に関するものであり、閲覧を制限するものではありません。
アプリの機能レベルでの表示範囲の制限
最初に紹介したアクセス制限ほど厳密に機能するののではありませんが、アプリに配置するリストの条件設定において、ユーザーに応じて表示するデータの範囲をきめ細かく制限することも可能です。例えば、ログインユーザーが特定のタスクの担当になっている、かつ進捗ステータスが自分が実施すべき段階まで進んでいる、という条件でリスト表示することで、更新権限だけでなく閲覧の面でも不要なデータを非表示とすることが可能です。
今回の記事で紹介したNuAppにご興味がある場合は、以下のリンクよりお問い合わせ下さい。