一般的な順序:データセキュリティプラットフォームの構築の実践

背景

最近では、企業に関連する業界のデータセキュリティ頻繁に事件が取り返しのつかない被害をもたらし、より弱いデータのセキュリティ意識の企業は、アラームを鳴らし。どのように会社のデータ、データ分析、データサービス、データ管理、及び許可制御のための他のデータ製品の最高濃度を、データのセキュリティが建設中で最も重要な課題となっています。

コントロールは、視点から分割する場合には、権利制御機能は、制御およびデータ・レベルのアクセス許可レベルのアクセス制御リストに分けることができます。初期のデータセキュリティ製品は、伝統的なアクセス許可モデルを使用し、唯一の機能レベルのアクセス権の制御を達成することができ、データレベルの権限を制御することはできません。データセキュリティを満たしながら、より高いデータセキュリティ要件に基づいた製品は、我々はデータセキュリティプラットフォームを満たしながら、我々は様々な製品を構築するために必要な様々な製品を構築する必要があります。

この目的のため、米国のグループパーミッションモデルの複雑な関係の多様性を表現し、制御するように設計されていないだけで、ユーザーのプラットフォームのアプリケーション開発チームに、だけでなく、前のため、3つのシナリオ、各設計承認、権限の後に3つのサブシステムを監査するために、中にデータセキュリティは、閉ループを完了し、これによりデータのセキュリティ要件を満たしています。

図1権限背景

図1権限背景

権限の機能アプリケーションの発現産物は、一般的に、より複雑なデータ製品許可の発現との関係「権限を持っています」。たとえば、レポートデータ製品、ユーザーを表現するだけでなく、このレポートと、ユーザーはレポート、メトリクス、およびディメンション値の範囲にアクセスすることができ次元を表現する必要性にアクセスすることができます。これらの寸法は、モデルに、アクセスしてレポートを作成する権限を持っているから、メトリクスのデータベーステーブルを通知する必要があります。

アクセス許可モデル

従来のモデルは、その上の許可ACL(アクセス制御リスト)のアクセス制御リスト、RBAC(ロールベースアクセスコントロール)の役割ベースのアクセス制御としています。上記のモデルは、製品のアプリケーションのアクセス制御リストのタイプに適している、との情報セキュリティ要件については、製品のデータ型が高く、様々な資源との間の関係ので、内部の関係の明確な表現になります伝統的なモデルを使用することは困難で、より複雑なRBACアクセス許可モデル、拡張可能な設計の新しいアクセス許可モデルに基づいて、私たち。

2つの伝統的なアクセス許可モデル

2つの伝統的なアクセス許可モデル

示されるように、従来の権限モデル2:

  • アクセス制御リストの目的を達成するようにACLのアクセス制御は、直接リスト、およびユーザー権限、ユーザーとリソースのリストの維持との間には直接的な関係をリンク。
  • RBACモデルは、関連するロールと権限、対応するロールへのユーザーおよび対応する許可を得ています。

なぜ新しいアクセス許可モデルを設計しますか?

  1. ACLモデルは、ユーザーとリソースではなく、役割の間の直接的な関係を確立する概念です。一部のユーザーがリソース権の同じ番号を必要とする場合、エンパワーメントは非常に複雑な動作となり、その後、このモデルは少ないように構成されています。
  2. RBACモデルは、建築関係の中で概念、役割およびリソースの役割を紹介します。一部のユーザーがリソースのアクセス権の同じ番号を必要とするとき、あなただけのキャラクターを構築し、これらのリソースを使用する許可を与える必要があります。ユーザーがこの役割に参加すると、あなたは、ロールのすべての権限を持っています。エンパワーメントの複雑な操作の問題を解決します。

しかし、ACLモデルとRBACモデルは、以下の質問があります。

  1. リソース間の複雑な関係のデータの製品は、よくこの複雑な関係を表現することはできません。例:複数のタブは、次のレポートがあり、部品点数がタブの下にあり、このような低屈折率成分として複数の次元があります。同時に、ディメンション、指標などの異なるデータモデル、データベーステーブルとから。ユーザーが同時に対応する権限を得るために必要なサブリソースレポートの下で、報告書の全部または一部へのアクセス権を与え、管理者へのリソースとリソース間の関係が、あります。
  2. RBACの役割と役割モデルの間には対応関係がありません。たとえば、次のように従業員がいる組織構造、組織構造:東部地域は/ゾーンを販売/従業員グループの販売は、役割は、販売グループの役割である持っています。必要な許可東部地域の役割であれば、従業員の役割の間に関係がないときは、東部地域の役割に追加する必要があります。そして、役割と役割の間の従属関係を有する場合、我々はこの問題を解決することができます。

新しいアクセス許可モデルは、上記のこれらの問題を解決する方法です。

  1. リソース・モデルのリソースとリソース間の依存関係を持つデザイン、およびリソースは、ツリー構造のマルチレベル、感想を許可します。たとえば、レポートが親リソースで、寸法指標の下のラベル、コンポーネント、サブリソースは明らかにリソースとサブリソース間の関係を明らかにする書類は、エンパワーメントのアクセス制御や認証の多様性を満たすために、ときに、このエンパワーメント次報告されています要件。
  2. 地区/販売組織の東部地域/販売グループでは、従業員としての役割と役割間の依存関係を、持っている、東部地域間/ 3文字のグループのゾーン/販売を販売し、それぞれが親子クラスの所属を持っています営業部門の従業員の場合は、グループ、所有者東部地域、地区の売上高は、グループのすべての権利の販売。当局は直接競合し、競合を覆ったときに「近接の原則」によって、すべての権利をマージしていない場合。

3つの新しいアクセス許可モデル

3つの新しいアクセス許可モデル

3、新しい権限モデルは、3つの部分、中央のユーザー、リソースセンター、権威センターを備えています。

ユーザーセンター:ユーザー管理、ロール管理

  • こうしたユーザーのデフォルトの文字として、個人、組織、カスタム3種類、ユーザーが同時に複数の役割を持つことができる、の役割に一人の個人に対応するだけでなく、企業の組織構造で同時にカスタムのカスタムの役割の組織内の役割を組織しました。
  • ロールの権限の継承との間の高速道路を満たすために、マルチレベルのサポートの役割。
  • ユーザー、部門情報Mafka(統合されたソリューションの分散型メッセージングミドルウェアカフカの開発に基づいて米国のグループ)リアルタイム更新、ETLのタイミング同期は毎日、その人事エントリを確保するために、ジョブの転送、転送権威リアルタイムの同期。

ユーザー4

ユーザー4

リソースセンター:リソース管理

  • 統合制御システムに様々な異なるリソースを満たすために、一般的なリソースタイプに基づいてカスタムリソースへのアクセスをサポートする、カスタムリソースの種類をサポートしています。
  • マルチレベルをサポートするためのリソースは、リソースは、統一認証エンパワーメントリソースを容易にするために、ツリー構造の道を示す、リソースエンパワーメントを報告する際、レポートにぶら下がって、寸法、メトリックおよびその他のリソースは、許可を得るために統一することができます。
  • 簡素化のサポートリソースのエンパワーメントのプロセスをパッケージング。
  • リソースセキュリティセキュリティ分類、異なるテンプレートの承認権限ビュッフェアプリケーションをサポートするための資源の配分に従い、担当リソース人、。

図5リソースセンター

図5リソースセンター

アクセス権センター:戦略と資源役割の様々な表現との関係

  • レンジ戦略:そのようなレポートのディメンション値としてプラットフォームの寸法はエンパワーメントは、ユーザーの一部またはすべてをサポートするために必要とされるが、許可を与える米国のグループやパブリックコメントを、挙げられ、分析の次元の規則に従って認証は、一部または個人の権利のすべてを持っている場合。
  • 式の戦略:式を設定し、ユーザーのエンパワーメントへの報告書は、リミット10である場合には、ユーザーが唯一の録音の前に10を返すために、その他の権利に関する報告書に基づいて電流制限値を表しています。
  • アクセス権が自動的にマージ:ユーザーが複数の役割を持っている、権限が自動的に同じリソースのマルチロール認証の規則に従ってマージし、ルールを解析する際に、データ収集が競合していないときに行うための許可は、優先順位の競合に基づいて対応する値をとります。
  • ブラックリスト:特定の規則に従ってサポート、ホワイトリスト、ブラックリストよりも高くなっている人の包括的な開発と資源の禁止、黒と白のリストのポリシー、最優先。

図6の権限センター

図6の権限センター

挑戦

データセキュリティプラットフォームを構築する過程では、主な課題は、次のように直面して:

  • ビジネスのサポートラインを増やすことで、我々は各ビジネスライン共通プラットフォームのニーズ、柔軟でスケーラブルなシステムを確保する必要性を満たすためにカスタマイズすることができません。
  • データセキュリティのための共通プラットフォームを提供し、データのセキュリティは、システムの汎用性を確保するための要件のほとんどを満たすことができます。
  • 高QPSシステムへのアクセスなど、権利システムは、どのようにシステムの高可用性を確保します。

ソリューション

  1. プラグインは、さまざまなビジネスラインに柔軟なアクセス制御要件を満たすために、一般的な権利に基づいて、柔軟なプラグイン可能なサービスを提供しています。
  2. 彼らの基本的権利、承認、基本的な機能の監査を満たすために、共通のデータ・セキュリティ・プラットフォームを提供します。
  3. マイクロサービスアーキテクチャ、データ・キャッシュ・ダウングレードを満たすシステムの可用性をコアと非コアサービスを分離します。

ソリューション

7ように全体的な一般的なアーキテクチャ

7ように全体的な一般的なアーキテクチャ

7、一般的な3点のように、インターネットコンテンツの権利データ、承認ワークフロープラットフォーム、監査ログプラットフォーム:

  • ユニバーサルサービスに基づいて基づいてプラグ可能なプラグインのサービス、サポート、カスタム開発の様々な提供しています。
  • 共通のデータセキュリティ要件の多様性を満たすために、基本的なサービスを提供します。
  • 管理テーブルを提供し、ページがデータやルールの多様性を管理し、構成するには、管理者を可能にします。

特定のプログラム

柔軟でスケーラブルなシステムを確保するためのプラグインサービス層

ビジネスの個々の行の普遍的な権利を満たすに基づいて必然的にカスタム許可制御ニーズも、そのモジュールをプラグイン設計権威ます。

ユニバーサルサービスは、プラグインは、特別な許可制御を達成するための基本的なサービスを呼び出して、ユーザー管理、リソース管理、認証、権限付与サービスを提供します。個別のプラグインアプリケーションとデータ管理モジュールは、RPCメソッドを介して柔軟なプラグイン可能なユニバーサルサービスのために呼び出します。モジュールをプラグインフォローアップサービスは、様々なアプリケーションは、個々のカスタム開発にアクセスしサポートしています。

図8プラグイン・サービス

図8プラグイン・サービス

図8に示すように、共通のサービスおよびサービスのアクセス許可プラグインは、プラグイン可能な可撓性をプラグインのサポート複数のサービスを分離します。

  • ユニバーサルサービスは、ユーザー、リソース、認証、認可および他の一般的なサービスは、ほとんどのシステムは、ユニバーサルサービス権限制御の要件に基づいて実現することができます提供します。
  • 拡大するためのユニバーサルサービスの両方を提供するために、プラグインSDKベースのサービス、各サービスは、個別にシステム間で相互に独立して確保するために展開プラグイン。

最終段制御権限、データは、コア層(ユーザー、リソース、権利データ)、及びアプリケーション層に分割されています。データコアデータ層は、統一されたデータの管理と制御権限要件を達成するために、一般的なサービスによって管理されています。プラグインアプリケーション層サービス・アクセス・モードでは、データはカスタムコントロールの要件を達成するために、外部のSDK共通サービス層によって読み取りと書き込みの権限プラグイン。各アプリケーション層のデータ記憶、制御ルールをカスタマイズすることができます。サービス間の通話のセキュリティを確保するため、BA認証認証によってインターフェイス間呼び出します。

システムの汎用性を確保するための基本的なサービスレベル

一般権限システムアーキテクチャ

マイクロサービスアーキテクチャーを使用して、システムは、アクセス層、サービス層、データベース層、及び外層サービスから成ります。主に以下のコアサービスが含まれています。

  • ユーザーサービス:ユーザー情報と同期、ロール管理を含む主要部門。
  • リソースサービスは:リソース、リソース管理パッケージを管理するために、リソースの登録、リソースのタイミング同期、セキュリティ分類と管理者が含まれています。
  • エンパワーメントサービス:自己アプリケーションの権限は、権限委譲を管理者。
  • 認証サービス:消費者の呼び出しのための認証SDKのさまざまなを提供します。

9権限システムアーキテクチャ

9権限システムアーキテクチャ

図9:

  • アクセスレイヤ:すべてのシステムが統一されたSDKを介して外部サービスを呼び出します。
  • サービス層:マイクロサービスアーキテクチャ、種々のサービス間でお互いにサービスを提供します。
  • データベース層:サービスの可用性を確保するために降格キャッシュ、データの使用の合理化。
  • 公共サービス統合会社は、システムの安定動作を確保します。

承認システムアーキテクチャ

分析パラメータのルールに従って使用したときに自動的に対応する承認プロセスを適応開始するには、マルチレベルの承認テンプレートを提供するために、ユニバーサル承認サービスを提供し、承認をストリーミングを開始するテンプレートを選択し、承認システム。キーのアクセスのためのアクセス手順をサポートして減少しました。

10承認システムアーキテクチャ

10承認システムアーキテクチャ

図10:アクセスの承認プロセスの最適化、開発コストのシステムへのアクセスを減らし、共通サービスの承認を提供します:

  • プレ現像工程は、承認機能6、フロー図を必要とし、承認フロー、変更ステータスコールバック・インタフェースの開発を開始し、グループのメンバーは、承認、構成メッセージ通知、イベントマッピング構成を配置しました。
  • そして、パッケージに基づいて審査と承認サービスプラットフォームでは、我々は、共通の承認テンプレートを提供し、承認システムへのアクセスのみが承認フローを開始するためのテンプレートを選択する必要があり、コールバックへのインタフェースを提供します。承認機能のほとんどを満たすことができます。

マッチング動的解析の規則に従ってエンジン、サポートの承認、承認基準、承認通知を解析する一般的なルール。柔軟な自動承認、マルチレベルの承認、時限リマインダ、および他の一般的な機能よりも。

ドッキング許可と監査システムは、データセキュリティの承認システムを確保するために:

  • ドッキング権システム管理者の権限を制御します。
  • ドッキング監査システム、オペレーティングシステムは、後続の監査データは、監査データを落下が容易になります。

監査システムアーキテクチャ

監査サービスは、共通のデータを提供し、埋没クライアントログは、タイプElasticsearchの秋までに格納された監査ログを報告しました。希望的観測のビジュアルレポートに監査報告書、ドッキングシステムのアクセス権制御データへのアクセスをドッキング。

11監査システムアーキテクチャ

11監査システムアーキテクチャ

11:監査データモデル自動拡張支持層:

  • 各アプリケーションはAPPKEYに対応し、各APPKEYが自動的にサブインデックス日付、自動拡張のサポートに応じてテンプレートを作成します。
  • 新しいログを操作する際のタイプElasticsearchインデックスに対応する監査ログの各タイプは、タイプが自動的に作成されます。
  • ときに、新しいフィールドのフィールドタイプに対応した監査ログ、フィールドが自動的に拡張されます。

システムの可用性を確保

マイクロサービスアーキテクチャサービスの分離

システムモジュールのより多くの機能を使用すると、単一のアーキテクチャモデルは、システムの起動モジュールは、システム全体のサービスが利用できない遅く、いずれかのモジュールのエラーで増加し、もはやアジャイル開発に適していません。

高可用性と拡張性サービス、モジュールマイクロスプリット・サービス・アーキテクチャ、およびコアと非コア分離を確実にするために。

12マイクロサービスのアーキテクチャ

12マイクロサービスのアーキテクチャ

12:

  • アクセス層、nginxの負荷分散により、BA合法性認証チェック要求によってHTTPフロントエンドへのアクセス。
  • サービス層を呼び出すことによって、さまざまなサービスの一元管理のための管理コンソール。
  • 各サービスの大きさに応じて、必要に応じて各モジュールサービス層抽象化システムは、各モジュールは、マイクロサービス、各マイクロサービスは、独立して展開され、展開することが可能です。
  • クライアント層、ピジョンインターフェース、POMによって各サービスコールサービス層の導入(米国基はRPCサービス通信フレームワークを分散内部)外部均一化を提供します。

権限の継承

マルチレベル、サポートのアクセス許可の継承モデルの意匠権をサポートするためのリソースは、継承がオンになっているのでエンパワーメント、ユーザーは次のリソースおよびすべてのリソースへの完全な権限を持っている場合、リソースだけとユーザーデータストレージの祖先との間の関係を格納する必要があります。大幅許可マトリクスサイズを小さくすることができます。

13権限の継承

13権限の継承

データストレージ権

より多くの、より多くのリソースとユーザーのシステムにアクセスします。長いシステムが稼働していると、対応する権限データも急速に成長します。データの増加しながら、パフォーマンスと高可用性インタフェースを確保する方法。

権限のバックアップおよびリカバリ

HBaseのリファレンスデザインのアイデアとMySQLバイナリログのバージョン番号、仕方Elasticsearchバージョン番号に保存されている現在のユーザーの権限最新のデータ、過去のデータと操作権のレコードを格納するだけの権限をエンパワーながら。あなただけが効率的な認証インターフェイスを確保するために、ユーザ認証にMySQLの権限データを照会する必要があります。

14のアクセス権のバックアップとリカバリ

14のアクセス権のバックアップとリカバリ

14:

  • 操作、データ管理の各操作後のバージョン番号、バージョン番号によって権限プラス1、MySQLとRedisの店舗を力づけるのみ最新のデータ権限。
  • データはElasticsearchへの道のバージョン番号の歴史的権利で保存されている場合、それぞれがバックにバージョン番号に応じて、歴史的な運転記録やデータ復旧の権限を表示します。

当局は、クリーンアップを期限切れ

  • 有効期限が近づいスキャン許可データの構成によれば、タイミングクレーン、通知ルールをスケジュールすることにより、ユーザーの更新が許可を通知するメッセージを送信します。
  • スキャンデータは、MySQLとRedisので期限切れのデータをクリーンアップする権利、特権を有効期限が切れ、そしてElasticsearchは、その後の監査のための権限を持って保存するためにダンプしています。

別々の読み取りおよび書き込みデータを、キャッシュ、および劣化したバックアップサービスヒューズ

高可用性サービスを確保するために、バックアップデータキャッシュの使用の合理化、および吹きダウングレードのためのサポートサービス、各サービスのMySQLデータベース・ストレージ・ポイントを使用して、読んで、分離を書くためにゼブラ(米国グループデータベースアクセスミドルウェア層)を使用します。

図15別分解データ、キャッシュ、およびバックアップ・サービス・ヒューズを読み書き

図15別分解データ、キャッシュ、およびバックアップ・サービス・ヒューズを読み書き

図15:

  • MySQLデータベース・ストレージ・ポイントを使用して、各サービス、コアと非コアサービス別サービス、オンデマンドサービスとデータベースのサポート弾性膨張。
  • ロール、リソース、およびその他のホットスポットは、キャッシュデータとしてのRedisを使用して、自動的にMySQLのクエリキャッシュに沈むRedisの時には利用できませんします。
  • 営業記録と過去のデータは、監査するため、データの復旧に、アクティブなデータElasticsearchに落ちることはありません。
  • サービスが利用できない場合にコアサービスの可用性を確保するために、吹きダウングレードをサポートしています。

メッセージキュー、タスクスケジューリング、スレッドプール、分散ロックの使用の合理化

メッセージキュー、タスクスケジューリング、非同期スレッドプール、クリッピング、デカップリングを使用して、サービスの応答時間を短縮ユーザーエクスペリエンスを向上させます。そして、データの整合性を確保するために、分散ロックを使用します。

図サービス応答16を改善

図サービス応答16を改善

図16に示します。

  • メッセージキュー処理のユーザ要求を使用して、リアルタイム動作は、バックグラウンド処理は、受信した非同期メッセージMQ及び変性状態、ポーリング状態表示ページに応じて、または象最終結果(US群内部通信ツール)プッシュメッセージ最終結果を送信し、成功を返します。
  • あなたはタイミングスケジュールクレーン分散タスクスケジューリングプラットフォームによって実行されるタスクを同期する必要があります。
  • コールバックスレッドプールのコールバックの承認結果と失敗の再試行、破壊のスレッドを作成するための低コストの使用を承認する場合。
  • 同方法は、同じ操作でマシンのスレッド上で実行することができ、またはマルチユーザー再送信が不整合データによる処理機を繰り返す回避することを保証するためにロックを配布しました。

見通し

共通のデータ・セキュリティ・プラットフォームとして、個々のビジネスラインのカスタマイズされたニーズの多様をすべて満たすことができません。プラグインは現在、ユニバーサルサービスに基づいてカスタムアクセス制御リストを実装するシステムアーキテクチャ上で複数のプラグイン可能なサービス・プロバイダをサポートしています。既存の基準で許可、承認、監査プラグイン開発の仕様、システムへのアクセスのサポートカスタム開発のための一般的な順序に従います。

17全体的なアーキテクチャと展望

17全体的なアーキテクチャと展望

図17に示すように:

  • フォローアップは、統一された外国のプラグインの開発仕様を提供彼らの特別な権限制御要件を満たすためにプラットフォームサービスに基づいてカスタム開発サービスをプラグイン形式の広場で様々なアクセスシステムをサポートします。データのセキュリティを確保するために、集中管理と制御権限を達成するために、データの製品。
  • ルールの一般的な順序は、既存のサービス、柔軟かつ構成可能実行するための一般的な抽象的ルールエンジンサービスルールから分離しました。

終わり

記事は〜ああ、エラーを発見したコンテンツについての質問を持って、私にメッセージを与えます

卵小さな福祉

Javaの研究ノート、インタビュー、ドキュメント、およびビデオへの無料アクセスをクリックします。

次のようにセクションは、次のとおりです。



おすすめ

転載: juejin.im/post/5d035dd76fb9a07ee63f6231