ポイント: Hadoopセキュリティは、暗号化、認証、アクセス管理に焦点を当て、最小限の保護から企業にとって不可欠な強力な対策に進化しました。KnoxやRangerのようなツールは、Hadoopクラスタ全体で中央集権的なセキュリティ管理を提供します。
- Hadoopは現在、エンドツーエンドの暗号化とKerberos認証をサポートしています。
- KnoxとRangerは、Hadoop環境内のセキュリティ管理を強化します。
Hadoop環境のセキュリティ
Hadoopは2007年に最初にリリースされ、大量のウェブデータを信頼できる環境で管理することを目的としていたため、セキュリティは重要な関心事や焦点ではありませんでした。採用が増え、Hadoopがエンタープライズ技術に進化するにつれて、安全でないプラットフォームとしての評判を得ました。元のHadoopのセキュリティの欠点のほとんどはその後のリリースで対処されましたが、認識は変わるのが遅いです。Hadoopのセキュリティの評判は、その現実を超えて存続しています。
実際、Hadoopの実装間でセキュリティは非常に不均一です。なぜなら、組み込みのセキュリティや利用可能なオプションはリリースバージョン間で不均一だからです。また、ソフトウェアベンダー(例:Cloudera、Hortonworks、MapR)からの商用Hadoopディストリビューションには、Apache Foundationから入手可能な無料のHadoopリリースには含まれていない追加の独自のセキュリティがあります。
新しいHadoopデプロイメントは非常に安全ですが、多くのレガシーHadoop実装にはまだセキュリティのギャップが存在するかもしれません。このセクションでは、歴史的なHadoopのセキュリティの脆弱性に焦点を当て、それに対処するために利用可能なリソースや戦術を特定します。
情報セキュリティについて話すとき、詳細にすぐに迷子になることが容易です。混乱を最小限に抑えるために、次の3つの基本的な領域に焦点を当てます:
- データがストレージ(静止時)およびネットワークを通過する際(移動時)に暗号化または他の方法で保護される方法
- システムとユーザーがHadoopインフラストラクチャ内のデータにアクセスする前に認証される方法
- 環境内の異なるデータへのアクセスがどのように管理されるか
KnoxとRangerがセキュリティ管理を簡素化
Hadoopエコシステムには、セキュリティをサポートするリソースがあります。KnoxとRangerは2つの重要なApacheオープンソースプロジェクトです。Knoxはセキュリティを管理するためのフレームワークを提供し、Hadoopクラスタでのセキュリティの実装をサポートします。
Rangerプロジェクトは、ユーザーがHadoopクラスタ全体でセキュリティを展開し標準化するのを助けるツールや技術の開発に焦点を当てています。ファイル、フォルダ、データベース、さらにはデータベース内の特定の行や列など、リソースレベルでポリシーを管理するために使用できる中央集権的なフレームワークを提供します。Rangerは管理者がグループ、データタイプなどによるアクセスポリシーを実装するのを助けます。RangerにはYARN、HBase、HiveなどのHadoopコンポーネントに対して異なる認可機能があります。
Knoxは、Hadoopクラスタでの監視、認可管理、監査、ポリシー施行をサポートするためにApacheコミュニティ内で開発されたREST APIゲートウェイです。すべてのRESTインタラクションに対して単一のアクセスポイントを提供します。Knoxを介して、システム管理者はLDAPとActive Directoryを介して認証を管理し、HTTPヘッダーに基づくフェデレーテッドアイデンティティ管理を実施し、クラスタ上のハードウェアを監査できます。Knoxはエンタープライズアイデンティティ管理ソリューションと統合でき、Kerberos互換であるため、強化されたセキュリティもサポートします。
Hadoop暗号化
元のHadoopリリースには暗号化が含まれていませんでした。後のバージョンには、Hadoopクラスタ内で静止しているデータとネットワークを通過する際にデータを保護するエンドツーエンドの暗号化が含まれています。現在のリリースでは、HFDS内に保存されているすべてのデータが暗号化されています。Hadoopはディスク、ファイルシステム、データベース、アプリケーションレベルでの暗号化をサポートしています。
コアHadoopテクノロジーでは、HFDSには暗号化ゾーンと呼ばれるディレクトリがあります。Hadoopにデータが書き込まれると、自動的に(ユーザーが選択したアルゴリズムで)暗号化され、暗号化ゾーンに割り当てられます。暗号化はファイルごとに特定され、ゾーンごとには特定されません。つまり、ゾーン内の各ファイルは、それぞれ固有のデータ暗号化キー(DEK)で暗号化されます。クライアントはHFDSからデータを復号化する際に暗号化データ暗号化キー(EDEK)を使用し、その後DEKを使用してデータを読み書きします。暗号化ゾーンとDEK暗号化は、アーキテクチャのファイルシステムとデータベースレベルの間で発生します。
暗号化キーは管理する必要があり、これはHadoopのキー管理サーバー、またはKMSの仕事です。KMSは暗号化キーを生成し、保存されたキーへのアクセスを管理し、HDFSクライアントでの暗号化と復号化を管理します。KMSはHTTPおよびREST APIを介して相互通信するクライアントおよびサーバーコンポーネントを持つJavaウェブアプリケーションです。KMSのセキュリティにはHTTPSの安全な輸送とHTTP SPNEGO Kerberos認証のサポートが含まれます。
Hadoopディストリビューションベンダーや他のソリューションプロバイダーは、自社製品特有のものやHadoop環境全体に適用される追加のセキュリティを開発しています。多くの強化は、移動中のHadoopデータを保護することに重点を置いています。たとえば、HTTP、RPC、データ転送プロトコル(DTP)、およびJDBCを介して送信されるHadoopデータに適用できるWire暗号化プロトコルがあります。また、JDBCクライアントとMapReduceシャッフルのためのSSL保護、ネットワークRPCのためのSASLなども利用可能です。
Hadoop認証
Hadoop環境における認証は急速かつ広範な進化を遂げています。元のHadoopリリースにはユーザーを認証するための規定は含まれていませんでした。なぜなら、それは信頼できる環境での使用を目的とした限られたプロジェクトだったからです。その後のリリースではHDFS内のファイルに対する限られた権限管理機能が追加されましたが、Hadoopは依然としてエンタープライズクラスの認証セキュリティを提供するには不十分でした。今日、ユーザー認証およびアイデンティティ管理ソリューションは、企業が自社のITインフラストラクチャに使用するものをHadoop環境に拡張できます。
今日のHadoopは、セキュアモードまたは非セキュアモードのいずれかで構成可能です。主な違いは、セキュアモードが認証を必要とすることです - 各ユーザーおよびサービスに対してです。KerberosはHadoopセキュアモードの認証の基盤です。データは認証プロセスの一部として暗号化されます。
多くの組織は、Active DirectoryまたはLDAPソリューションを使用してHadoop環境内で認証を行います。このアプローチは以前はHadoop環境との互換性がなく、Hadoopが成熟し進化していることを示す良い例です。Apache HadoopプロジェクトのKnox APIは、Active DirectoryまたはLDAPをHadoopクラスタに拡張するために使用されます。また、フェデレーテッドアイデンティティ管理ソリューションを環境に拡張するためにも使用されます。
Hadoopアクセスと権限
ユーザーまたはサービスリクエストの認証は、自動的にすべてのデータへの無制限のアクセスを与えるわけではありません。アクセス権はHDFSの部分や特定のファイルおよびデータタイプに対して設定できます。前述のように、Rangerは権限の確立と実施を促進します。追加のリソースも利用可能です。HDFS権限ガイドは、HFDS内のディレクトリやファイルに対する権限を設定できるコンポーネントです。権限はグループおよび個人レベルで設定できます。権限には、ファイルにアクセスできる人、更新できる人、削除できる人などが含まれます。サービスレベル認可は、特定のHadoopサービスへの接続を試みるクライアントがそれにアクセスする権限があるかどうかを検証するために使用される別の機能です。HDFS権限ガイドと同様に、サービスレベル認可は個人およびグループ権限をサポートします。Sentryは、Hive、HDFSデータテーブル、Impalaなどのコンポーネントと連携し、Hadoopクラスタ内のデータとメタデータに対してより細かな権限管理を提供することを目的としたモジュールです。
Ranger、HDFS権限ガイド、サービスレベル認可、SentryはHadoopプロジェクトの一部です。もう一度言いますが、さまざまなHadoop商用リリースには、追加の権限保護および関連するセキュリティと管理機能が組み込まれています。
組織は、さまざまな商用ソリューションを使用してHadoopでデータマスキングを実行することも一般的です。データマスキングは、元のデータレコードを隠す(暗号化を通じて)ことを指し、無許可のユーザーがアクセスできないようにします。データマスキングはビッグデータ環境で行われます。なぜなら、多くのアプリケーションがデータセットの一部の情報を必要としますが、完全なレコードは必要としないからです。たとえば、画像診断クリニックは、6か月間にわたって1つの施設でマンモグラフィーを受けた患者の数を把握する必要があるかもしれませんが、患者の結果や完全な医療履歴を知る必要はありません。患者の結果データは臨床医にとって重要であり、異なる権限が必要です。
Hadoopセキュリティの過去と現在
| コンポーネント | 元のHadoopリリース | 現在含まれている/利用可能 |
|---|---|---|
|
暗号化
|
含まれていない
|
DEK暗号化はHFDS内および移動中のデータに自動的に適用されます。追加のデータ保護機能は各商用ディストリビューションに特有です。KMSは暗号鍵を管理します。Kerberosは一般的に使用されます。追加の暗号化方法はHadoop互換/利用可能です。
|
|
認証
|
なし
|
KerberosはHadoopセキュアモードの基盤です。Active DirectoryとLDAPがHadoopに拡張され、アイデンティティ管理ソリューションがHadoopに拡張されます。
|
|
アクセスと権限
|
HDFSファイルの権限
|
権限は個人、グループ、役割ごとに設定でき、特定のデータタイプやファイルに設定できます。データマスキングを適用してアクセスされるデータを制限できます。
|
Hadoopでビッグデータセキュリティの問題を解決
ビッグデータは定義上大きいですが、すべてに適用できるセキュリティアプローチは不適切です。Hadoop内の機能により、組織はユーザー、コンプライアンス、会社の要件に合わせてすべての個々のデータ資産に対してセキュリティを最適化することができます。役割、ユーザー、グループの権限、データマスキング、複数の暗号化および認証オプションなどの機能により、単一の大規模環境内で異なるレベルのセキュリティを提供することが実用的です。HadoopとActive Directory、LDAP、アイデンティティ管理ソリューション間の統合サポートの成長により、組織はエンタープライズセキュリティソリューションを拡張でき、Hadoopインフラストラクチャがサイロになる必要がありません。
セキュリティはHadoopの最も急速に変化する側面の1つです。機能は継続的に強化され、超えられています。最新のセキュリティ更新については、ApacheプロジェクトまたはHadoopディストリビュータに確認してください。
Hadoopガイド
- 初心者のためのHadoopチュートリアル:Hadoopの基本
- Hadoop管理の紹介
- Hadoopセキュリティの紹介
- Apache Flumeの紹介
- Hiveの紹介
- HDFSの紹介
- Hbaseの紹介
- Hadoopの例:5つの実際のユースケース
- Hadoopキャリア:就職活動
- Hadoop面接質問
- Hadoop分析の紹介
- Apache Pigの紹介
- Apache Yarnの紹介
- Hadoopアーキテクチャの紹介
- Hadoopの利点と利点
- Apache CassandraとのHadoopの使用
- HadoopとKubernetes:K8sとクラウドネイティブはHadoopを終了させるか?
- Hadoop認定
- Hadoopクラスタの紹介
- Hadoopエコシステムとコンポーネント
これらの投稿は私自身のものであり、BMCの立場、戦略、または意見を必ずしも表すものではありません。