このブログ投稿では、CDPプライベートクラウドベース展開のOpDB関連のセキュリティ機能のいくつかを見ていきます。暗号化、認証、承認について説明します。
保存データの暗号化
透過的な保存データの暗号化は、HDFSの透過的なデータ暗号化(TDE)機能を介して利用できます。
TDEは次の機能を提供します:
- データの透過的なエンドツーエンド暗号化
- 暗号化と管理の責任の間の職務の分離
- 成熟した主要なライフサイクル管理機能
EZK自体を暗号化するためのマスターキーは、Safenet Luna、Amazon KMS、Thales nShieldなどのハードウェアセキュリティモジュール(HSM)のエスクローに配置できます。
さらに、クラウドネイティブストア向けのクラウド展開では、AWSKMSやAzureKeyVaultなどのクラウドベンダーが提供するインフラストラクチャで暗号化キーエスクローをサポートすることもできます。
有線暗号化
OpDBは、ワイヤ暗号化にトランスポート層セキュリティ(TLS)セキュリティプロトコルを使用します。これは、ネットワークを介して通信するアプリケーション間の認証、プライバシー、およびデータの整合性を提供します。 OpDBは、クラスターでTLS暗号化を有効にして管理するプロセスを大幅に簡素化する自動TLS機能をサポートしています。 ApachePhoenixとApacheHBase(Web UI、Thrift Server、REST Server)の両方がAuto-TLSをサポートしています。
レンジャーキー管理サービス
Ranger KMSには、ファイル内の復号化されたコンテンツを読み取るために必要なデータ暗号化キーを復号化するために必要な暗号化ゾーンキー(EZK)が格納されています。 RangerKMSを介して、ユーザーは、基になるデータへのアクセスとは別の、異なるキーアクセスのポリシーを実装できます。 EZKは、KMS内の安全なデータベースに保存されます。このデータベースは、クラスターノードに選択的にセキュアモードで展開できます。
EZKは、セキュリティを強化するためにHSMに外部化されたマスターキーで暗号化されます。構成およびポリシー管理インターフェースにより、キーのローテーションとキーのバージョン管理が可能になります。 Apache Rangerのアクセス監査は、アクセスキーの追跡をサポートします。
復号化
復号化はクライアントでのみ発生し、復号化プロセス中にゾーンキーがKMSを離れることはありません。
職務の分離により(たとえば、プラットフォームオペレーターは、保存中の暗号化されたデータにアクセスできません)、非常にきめ細かいレベルで、どのような条件下で誰が復号化されたコンテンツにアクセスできるかを制御できます。この分離は、復号化されたデータへのオペレーターのアクセスを制限するためのきめ細かいポリシーを通じて、ApacheRangerでネイティブに処理されます。
キーのローテーションとロールオーバーは、RangerKMSで提供されているのと同じ管理インターフェイスから実行できます。
セキュリティ認証基準
Clouderaのプラットフォームは、PCi、HIPAA、GDPR、ISO 270001などの標準への準拠を認定するために、特定の顧客の展開に必要ないくつかの主要なコンプライアンスおよびセキュリティ制御を提供します。
たとえば、これらの標準の多くは、保存中および移動中のデータの暗号化を要求しています。 HDFS TDEを介した保存データと、Auto-TLS機能を介した移動中のデータに対する堅牢でスケーラブルな暗号化が、当社のプラットフォームでネイティブに提供されます。ポリシー、ライフサイクル管理、および改ざん防止HSMへのキーエスクローを可能にするRangerKMSも提供されます。キーエスクローは、クラウドベンダーが提供するインフラストラクチャでもサポートされています。
プラットフォームで利用可能な他のAAA(Authentication、Authorization and Audits)コントロールと組み合わせることで、CDPデータセンターの展開では、OpDBはPCI、HIPAA、ISO27001などの要件の多くを満たすことができます。
当社のオペレーショナルサービスは、SOCコンプライアンスの認定も受けています。詳細については、運用サービスを参照してください。
認証
ユーザー認証
Clouderaのプラットフォームは、次の形式のユーザー認証をサポートしています。
- Kerberos
- LDAPユーザー名/パスワード
- SAML
- OAuth(Apache Knoxを使用)
承認
属性ベースのアクセス制御
ClouderaのOpDBMSは、プラットフォームの一部として含まれているApache Rangerを介して、ロールベースのアクセス制御(RBAC)と属性ベースのアクセス制御(ABAC)を提供します。
承認は、セルレベル、列ファミリレベル、テーブルレベル、名前空間レベル、またはグローバルに提供できます。これにより、グローバル管理者、名前空間管理者、テーブル管理者、さらに細分性、またはこれらのスコープの任意の組み合わせとしての役割を柔軟に定義できます。
Apache Rangerは、ビッグデータエコシステム全体で一貫してセキュリティポリシーを定義、管理、および管理するための集中型フレームワークを提供します。 ABACベースのポリシーには、サブジェクト(ユーザー)、アクション(作成または更新など)、リソース(テーブルまたは列ファミリーなど)、および環境プロパティの組み合わせを含めて、承認用のきめ細かいポリシーを作成できます。
Apache Rangerは、セキュリティゾーン(セキュリティポリシーの論理的な分割)、拒否ポリシー、ポリシーの有効期限(限られた時間のみ有効になるポリシーの設定)などの高度な機能も提供します。これらの機能は、上記の他の機能と組み合わせて、効果的でスケーラブルで管理しやすいOpDBMSセキュリティポリシーを定義するための強力な基盤を作成します。
大規模なOpDB環境の場合、記述属性を使用して、最小限のアクセス制御ポリシーのセットを使用してOpDBMSアクセスを正確に制御できます。以下は説明的な属性です:
- Active Directory(AD)グループ
- ApacheAtlasベースのタグまたは分類
- 主題、リソース、環境プロパティのジオロケーションとその他の属性
定義すると、Apache Rangerポリシーを別のOpDBMS環境にエクスポート/インポートすることもできます。この環境では、最小限の労力で同じアクセス制御が必要です。
このアプローチにより、コンプライアンス担当者とセキュリティ管理者は、GDPRなどの規制で要求される正確で直感的なセキュリティポリシーをきめ細かく定義できます。
データベース管理者の承認
Apache Rangerは、ポリシーまたは付与および取り消しメカニズムなどの特定のスキームを使用したデータベースの特定の管理を可能にする、きめ細かい制御を提供します。また、特定のユーザーおよびグループにきめ細かい権限マッピングを提供します。これにより、必要な権限のみを使用して、特定のリソース(列、テーブル、列ファミリーなど)に対してDBAを許可することができます。
さらに、TDE機能を使用してHDFSのデータを暗号化すると、管理者またはオペレーターがデータを復号化できないように選択的にブロックできます。これは、特定のキーアクセスポリシーで実現されます。つまり、管理操作を実行できても、キーアクセスがないため、基盤となる暗号化データを表示または変更できません。
不正使用の検出とブロック
Clouderaのクエリエンジンのいくつかは、変数バインディングとクエリコンパイルを備えているため、コードがユーザー入力に対して脆弱でなくなり、SQLインジェクションが防止されます。プラットフォーム全体で動的侵入テストと静的コードスキャンが実行され、顧客向けのリリースごとにSQLインジェクションやその他の脆弱性が検出され、各コンポーネントで修正されます。
不正使用は、ApacheRangerの包括的なセキュリティフレームワークを使用した適切なポリシーによってブロックできます。
最小特権モデル
Apache Rangerは、OpDBでデフォルトの拒否動作を提供します。ユーザーがリソースにアクセスするためのポリシーによる許可を明示的に付与していない場合、ユーザーは自動的に拒否されます。
明示的な特権操作は、ポリシーによって承認される必要があります。特権ユーザーと操作は特定の役割にマップされます。
委任された管理機能もApacheRangerで利用可能であり、ポリシーを通じて特定のリソースグループに明示的な特権の操作と管理を提供します。
結論
これは、OperationalDatabaseSecurityブログ投稿のパート1でした。 ClouderaのOpDBが提供するさまざまなセキュリティ機能と機能を確認しました。
ClouderaのOpDBのセキュリティ関連の機能の詳細については、パート2のブログ投稿が間もなく公開されます!
Clouderaのオペレーショナルデータベースオファリングの詳細については、Clouderaオペレーショナルデータベースを参照してください。