Dwh-security
データウェアハウジング-セキュリティ
データウェアハウスの目的は、ユーザーが大量のデータに簡単にアクセスできるようにすることです。したがって、ユーザーはビジネス全体に関する情報を抽出できます。 しかし、情報にアクセスするための障害となる可能性のあるデータにセキュリティ制限が適用される可能性があることを知っています。 アナリストがデータの制限されたビューを持っている場合、ビジネス内のトレンドの全体像を把握することは不可能です。
各アナリストからのデータを要約し、さまざまな要約を集計できる経営陣に渡すことができます。 集計の集計は集計全体の集計と同じにはできないため、誰かがデータ全体を分析しない限り、データの一部の情報トレンドを見逃す可能性があります。
セキュリティ要件
セキュリティ機能を追加すると、データウェアハウスのパフォーマンスに影響するため、セキュリティ要件をできるだけ早く決定することが重要です。 データウェアハウスが稼働した後、セキュリティ機能を追加することは困難です。
データウェアハウスの設計段階では、後で追加できるデータソースと、それらのデータソースを追加した場合の影響に留意する必要があります。 設計段階では、次の可能性を考慮する必要があります。
- 新しいデータソースに新しいセキュリティや監査の制限を実装する必要があるかどうか。
- すでに一般的に利用可能なデータへのアクセスを制限している新しいユーザーが追加されたかどうか?
この状況は、将来のユーザーとデータソースがよくわからない場合に発生します。 このような状況では、ビジネスの知識とデータウェアハウスの目的を使用して、考えられる要件を知る必要があります。
次の活動は、セキュリティ対策の影響を受けます-
- ユーザーアクセス
- データロード
- データ移動
- クエリ生成
ユーザーアクセス
最初にデータを分類し、次にアクセスできるデータに基づいてユーザーを分類する必要があります。 つまり、ユーザーは、アクセスできるデータに従って分類されます。
データ分類
次の2つのアプローチは、データを分類するために使用することができます-
- データはその感度に従って分類できます。 機密性の高いデータは高度に制限されていると分類され、機密性の低いデータは制限が少ないと分類されます。
- データは、職務に応じて分類することもできます。 この制限により、特定のユーザーのみが特定のデータを表示できます。 ここでは、ユーザーが関心を持ち、責任を負うデータの部分のみを表示するように制限します。
2番目のアプローチにはいくつかの問題があります。 理解するために、例を挙げましょう。 銀行のデータウェアハウスを構築しているとします。 データウェアハウスに保存されているデータは、すべてのアカウントのトランザクションデータであると考えてください。 ここでの質問は、誰がトランザクションデータを表示できるかです。 ソリューションは、機能に従ってデータを分類することにあります。
ユーザー分類
次のアプローチは、ユーザーを分類するために使用することができます-
- ユーザーは、組織内のユーザーの階層に従って分類できます。つまり、ユーザーは部門、セクション、グループなどで分類できます。
- ユーザーは、役割に基づいて分類することもできます。ユーザーは、役割に基づいて部門間でグループ化されます。
部門ごとの分類
ユーザーが販売およびマーケティング部門から来ているデータウェアハウスの例を見てみましょう。 トップダウンの企業ビューによりセキュリティを確保でき、さまざまな部門を中心にアクセスできます。 ただし、さまざまなレベルのユーザーにいくつかの制限がある可能性があります。 この構造を次の図に示します。
ただし、各部門が異なるデータにアクセスする場合は、各部門のセキュリティアクセスを個別に設計する必要があります。 これは、部門のデータマートによって実現できます。 これらのデータマートはデータウェアハウスから分離されているため、各データマートに個別のセキュリティ制限を適用できます。 このアプローチを次の図に示します。
役割に基づく分類
データが一般的にすべての部門で利用できる場合、ロールアクセス階層に従うことは有用です。 つまり、データがすべての部門から一般的にアクセスされる場合、ユーザーの役割に従ってセキュリティ制限を適用します。 ロールアクセス階層を次の図に示します。
監査要件
監査はセキュリティのサブセットであり、費用のかかるアクティビティです。 監査は、システムに大きなオーバーヘッドを引き起こす可能性があります。 監査を時間内に完了するには、より多くのハードウェアが必要になるため、可能な限り監査をオフにすることをお勧めします。 監査要件は次のように分類することができます-
- つながり
- 切断
- データアクセス
- データ変更
注-上記の各カテゴリについて、成功、失敗、またはその両方を監査する必要があります。 セキュリティ上の理由から、障害の監査は非常に重要です。 失敗の監査は、不正または不正なアクセスを強調できるため重要です。
ネットワーク要件
ネットワークセキュリティは、他のセキュリティと同様に重要です。 ネットワークセキュリティ要件を無視することはできません。 私たちは次の問題を考慮する必要があります-
- データをデータウェアハウスに転送する前に暗号化する必要がありますか?
- データが使用できるネットワークルートに制限はありますか?
これらの制限は慎重に検討する必要があります。 覚えておくべきポイントは次のとおりです-
- 暗号化および復号化のプロセスにより、オーバーヘッドが増加します。 より多くの処理能力と処理時間が必要になります。
- 暗号化はソースシステムによって行われるため、システムが既にロードされたシステムである場合、暗号化のコストが高くなる可能性があります。
データ移動
データの移動中に潜在的なセキュリティの影響が存在します。 ロードするフラットファイルとして制限されたデータを転送する必要があるとします。 データがデータウェアハウスにロードされると、次の質問が提起されます-
- フラットファイルはどこに保存されますか?
- 誰がそのディスクスペースにアクセスできますか?
これらのフラットファイルのバックアップについて話すと、次の質問が発生します-
- 暗号化または復号化されたバージョンをバックアップしますか?
- これらのバックアップは、個別に保存されている特別なテープに作成する必要がありますか?
- 誰がこれらのテープにアクセスできますか?
クエリ結果セットのような他の形式のデータ移動も考慮する必要があります。 一時テーブルの作成中に発生した質問は次のとおりです-
- その一時テーブルはどこに保持されますか?
- このようなテーブルをどのように表示しますか?
セキュリティ制限の偶発的な軽outを避ける必要があります。 制限されたデータにアクセスできるユーザーがアクセス可能な一時テーブルを生成できる場合、データは許可されていないユーザーに表示される可能性があります。 この問題は、制限されたデータにアクセスできるユーザー用に一時的な領域を別に用意することで解決できます。
ドキュメンテーション
監査およびセキュリティ要件を適切に文書化する必要があります。 これは正当化の一部として扱われます。 このドキュメントには、から収集されたすべての情報を含めることができます-
- データ分類
- ユーザー分類
- ネットワーク要件
- データの移動とストレージの要件
- すべての監査可能なアクション
設計に対するセキュリティの影響
セキュリティは、アプリケーションコードと開発タイムスケールに影響します。 セキュリティは次の領域に影響します-
- アプリケーション開発
- データベース設計
- テスト
アプリケーション開発
セキュリティは、アプリケーション開発全体に影響し、ロードマネージャー、ウェアハウスマネージャー、クエリマネージャーなどのデータウェアハウスの重要なコンポーネントの設計にも影響します。 ロードマネージャーは、コードをチェックしてレコードをフィルタリングし、それらを異なる場所に配置する必要がある場合があります。 特定のデータを非表示にするには、より多くの変換ルールも必要になる場合があります。 また、追加のオブジェクトを処理するために追加のメタデータが必要になる場合があります。
追加のビューを作成および維持するために、倉庫管理者はセキュリティを強化するために追加のコードを要求する場合があります。 データウェアハウスに余分なチェックをコーディングして、データが利用できないはずの場所にデータを移動させてしまうのを防ぐ必要があります。 Query Managerでは、アクセス制限を処理するために変更が必要です。 クエリマネージャーは、すべての追加のビューと集計を認識する必要があります。
データベース設計
セキュリティ対策が実装されると、ビューとテーブルの数が増加するため、データベースレイアウトも影響を受けます。 セキュリティを追加すると、データベースのサイズが大きくなるため、データベースの設計と管理の複雑さが増します。 また、バックアップ管理と復旧計画が複雑になります。
テスト
データウェアハウスのテストは、複雑で時間がかかるプロセスです。 データウェアハウスにセキュリティを追加すると、テスト時間の複雑さに影響します。 次の2つの方法でテストに影響します-
- 統合とシステムのテストに必要な時間が長くなります。
- テストする機能が追加され、テストスイートのサイズが大きくなります。