Haozao

データ操作 | データ操作における権限の問題

デジタル時代において、データは企業にとって最も貴重な資産の一つとなっています。これらの資産を管理し、データのセキュリティと有効活用を確保することは、すべての企業が直面する課題です。この記事では、データ運用における権限の問題について深く掘り下げ、製品間のデータ権限統合の複雑さ、権限割り当ての限界、そしてロール定義の重要性を分析します。

データ管理の項でも述べたように、開発におけるデータ権限は主に開発チームや開発システム内で認可されており、比較的固定的で範囲が狭いと言えます。

このセクションでは、主に運用シナリオにおけるデータ権限について説明します。運用データ権限は企業全体のデータ利用者を対象とするため、適用範囲が広く、機能面でもより高い柔軟性が求められます。ただし、どちらも本質的にはデータアクセス権限の割り当てを伴います。

I. データ権限の製品間統合

データ操作プロセスにおいて、データクエリ、データサービスAPI、可視化レポートやダッシュボードはすべてアクセス制限を必要とします。APIはどのようなデータをクエリできるのでしょうか?レポートやダッシュボードはどのようなデータを表示できるのでしょうか?統合ログインを使用しているユーザーは、既に特定のテーブル権限を要求しています。これらの権限は他の製品でも直接取得できるのでしょうか?もしできるとしたら、どのように取得できるのでしょうか?もしできないとしたら、なぜユーザーは繰り返し権限を要求する必要があるのでしょうか?これは本質的に、製品間のデータ権限統合に関する問題です。

プラットフォームプロバイダーの観点から見ると、データ消費者に対応する場合、データ権限を一度付与すると、ユーザーは異なる製品を使用するたびにデータ権限を申請するプロセスを経る必要がなくなり、プラットフォームが提供する他の製品を使用するときに、対応するデータ権限を自動的に取得できるようになります。

例えば、アドホッククエリでテーブルAのデータ権限をリクエストし、そのリクエストが承認され、ユーザーがテーブルAに基づいてレポートを作成した場合、そのレポートの権限のみを設定する必要があります。テーブルAに対する追加の権限操作は必要ありません。同様に、テーブルAに基づいてデータサービスAPIを開発した場合、対応するデータ権限は自動的に取得されます。

上記は理想的なシナリオを描いたものですが、現実ははるかに複雑です。製品によって権限付与プロセスは異なります。製品によって基盤となるデータストレージも異なります。権限付与モデルも異なります。こうした要因が相まって、理想的なシナリオは非現実的に思えるかもしれません。しかし、ここで強調したいのは、道のりは曲がりくねっているものの、目標は明確かつ明確だということです。私たちは、メタデータを中心としたデータ権限システムを構築するという目標に、可能な限り近づく必要があるのです。(もちろん、この道のりは回り道になるかもしれません。どうなるかは誰にも分かりません。)

II. 権限の割り当てに関する制限

データ操作セクションでは、主な権限はデータクエリ権限です。これは単なるクエリ権限ですが、複雑なのは二次的な権限の割り当てにあります。

権限付与の制限については、視点を変える必要があります。データプラットフォーム上のデータ開発者、つまり主要なユーザーは、データミドルプラットフォーム部門です。データ権限を申請する際に、データ開発者は作成、変更、削除、クエリといった権限を要求する可能性があります。一方、データ操作プロセスにおけるデータ利用者は、データミドルプラットフォームで既に処理されたテーブルに対するクエリ権限しか要求できません。

さらに、データ操作中に権限の二次的な割り当てが必要となるシナリオは数多く存在します。例えば、あるビジネス部門の同僚がデータに関連する権限を要求する場合、部門外への権限割り当てをすることなく、部門内でこれらの権限をさらに割り当てることが目標となるかもしれません。(開発段階でも同様のシナリオが望ましいでしょう。)そのため、組織構造との統合が必要になります。

何を表示でき、何ができないのか?権限を割り当てた後、製品内でどのように権限を再割り当てするのか?これらはすべて検討すべき問題です。データ管理のセクションで言及した「データ権限は大きな問題」というRBACモデルは、すべてのシナリオに適用できるとは限りませんが、同様に、運用中の権限割り当ても、すべてのシナリオに単一の原則で対応できるわけではありません。社内のデータ利用プロセスや組織構造などと組み合わせる必要があります。

III. 役割分担

二次権限の割り当てについて議論しているので、二次管理者に権限を割り当てる必要があります。二次管理者は、それぞれのサブグループ内でさらに権限を割り当てることができます。これは、プラットフォームにおける広範な権限配分の必要性を軽減するため、非常に重要です。ただし、二次管理者が割り当てた権限は、表示および取り消しが可能である必要があります。

余談ですが、役割分類について書いていて、上記の内容ではプラットフォームにおいて極めて重要な機能と役割の説明が網羅されていないことに気づきました。しかし、特に不足している点はなく、プラットフォームのユーザーについては「はじめに」2で触れており、大まかな役割分類も示されているため、このセクションは今のところそのままにして、機会があれば追記することにします。

IV. 要約

データプラットフォーム全体の究極の目標は、ビジネスオペレーションをサポートすることです。そのため、データオペレーションは、本質的に価値の出口として機能する重要な部分です。オペレーション中のアクセス制御は、この出口のゲートキーパーとして機能し、データがプラットフォームから安全に送信されることを保証します。