メインコンテンツまでスキップ
に最終更新

セキュリティの概要

Apache Doris は、認証、認可、データ保護、通信の暗号化、監査による追跡など、エンタープライズ向けデータプラットフォームに必要なセキュリティ機能を提供します。この文書では、セキュリティに関する利用場面から始め、Doris のセキュリティアーキテクチャ、基本概念、認証・認可の仕組みを紹介します。各機能の詳細へのリンクも示し、管理者がセキュリティ対策を計画できるようにします。

適用シナリオ​

シナリオ注目する機能参照先
ユーザーの一元管理(企業の LDAP/AD との連携)LDAP 認証LDAP による認証
内部ユーザーとパスワードポリシーの管理組み込み認証、パスワードポリシー、ホワイトリスト組み込み認証
複数チームで共有するクラスタ、ロールに基づく認可RBAC、ロール組み込み認可
ビッグデータエコシステムと連携した認可の一元管理Apache Ranger との連携Ranger による認可
機密データの保護(行・列レベルの制御、マスキング)データアクセス制御データアクセス制御
クライアントから FE への接続の暗号化MySQL プロトコルの SSL、FE の HTTPSMySQL プロトコルの SSL、FE の HTTPS 設定
監査とコンプライアンスのための追跡監査ログ監査ログ
データの暗号化と復号暗号化関数データ暗号化関数
AWS へのデプロイと IAM との連携AWS の認証と認可AWS の認証と認可

セキュリティ機能の概要​

Doris は、ID、認可、データ、通信、監査という五つの側面から、以下の仕組みでデータのセキュリティを管理します。

セキュリティの側面機能説明
認証組み込み認証Doris はユーザー名とパスワードによる認証を提供し、パスワードポリシーをカスタマイズできます。
認証LDAP 認証LDAP サービスを通じてユーザーの認証情報を一元管理し、アクセス制御を簡素化してシステムのセキュリティを高めます。
認可ロールベースのアクセス制御(RBAC)ユーザーのロールと権限に基づき、データベースリソースへのアクセスや操作を制限します。
認可Ranger による認可Apache Ranger と連携し、きめ細かなアクセス制御ポリシーによる認可の一元管理を実現します。
データ保護データの暗号化とマスキングテーブル内のデータを暗号化・マスキングし、不正なアクセスによる機密データの漏えいを防ぎます。
データ保護きめ細かなアクセス制御ルールに基づき、行・列レベルのアクセス権限を設定します。
通信のセキュリティSSL 暗号化プロトコルクライアントと Doris サーバー間の通信を保護し、データの盗聴や改ざんを防ぎます。
監査による追跡監査ログユーザーのログイン、クエリ、データの変更など、すべての操作を記録し、事後監査や問題の追跡に役立てます。
拡張機能のセキュリティJava UDF のセキュリティroot 管理者は、ユーザーが作成した UDF の実装を確認し、運用上の安全性を確保するとともに、データの削除やシステムの破損などにつながる危険な操作を防ぐ必要があります。
拡張機能のセキュリティサードパーティ製パッケージの管理JDBC Catalog や UDF などの機能を通じてサードパーティ製パッケージを導入する場合、管理者は提供元が安全で信頼できることを確認する必要があります。公式の提供元または信頼できるコミュニティの依存パッケージのみを使用してください。

基本概念​

Doris の認可システムは、MySQL の権限管理の仕組みをモデルにしています。行レベルのきめ細かなアクセス制御、ロールベースのアクセス制御、ホワイトリストの仕組みをサポートします。以下の四つの基本概念を理解すると、Doris の認証・認可モデルを把握しやすくなります。

ユーザー ID​

権限システムでは、ユーザーはユーザー ID(User Identity)によって識別されます。ユーザー ID は username と host の二つの要素で構成されます。

  • username:英字の大文字と小文字で構成されるユーザー名です。
  • host:ユーザーの接続元 IP アドレスです。

ユーザー ID は username@'host' と表記し、username が host から接続することを意味します。

ユーザー ID には username@['domain'] という表記もあります。domain は、DNS によって一組の IP アドレスに解決できるドメイン名です。最終的には username@'host' の集合として表されます。以下では username@'host' という表記に統一します。

権限​

権限はノード、データカタログ、データベース、またはテーブルに適用されます。権限の種類によって、許可される操作が異なります。

ロール​

Doris では、任意の名前を付けたロールを作成できます。ロールは権限の集合と考えることができます。新規ユーザーにロールを割り当てると、そのロールの権限を自動的に取得します。その後ロールの権限を変更すると、そのロールに属するすべてのユーザーの権限にも反映されます。

ユーザープロパティ​

ユーザープロパティはユーザー ID ではなく、ユーザーに直接紐付きます。つまり、user@'192.%' と user@['domain'] は同じユーザープロパティを共有します。そのプロパティはユーザー user に属し、user@'192.%' や user@['domain'] には属しません。

ユーザープロパティには、ユーザーの最大接続数やロードクラスタの設定などが含まれます。

認証と認可の仕組み​

Apache Doris へのログインは、認証と認可の二段階に分かれます。

  • 認証:ユーザーが提供した資格情報(ユーザー名、クライアント IP、パスワードなど)に基づいて本人確認を行います。確認できたユーザーを、システム内のユーザー ID に対応付けます。
  • 認可:取得したユーザー ID とそれに対応する権限に基づき、要求された操作を実行する権限があるか確認します。

認証方式として、Doris は組み込み認証とLDAP 認証をサポートします。認可方式として、RBAC に基づく組み込み認可とApache Ranger に基づく外部認可をサポートします。認証方式と認可方式は自由に組み合わせることができます。たとえば、認証に LDAP を、認可に Ranger を使用できます。

次の表に、一般的な組み合わせと適用シナリオを示します。

認証方式認可方式適用シナリオ
組み込み認証組み込み RBAC外部システムへの依存がない、小規模から中規模の単独デプロイのクラスタ。
LDAP 認証組み込み RBAC企業の LDAP/AD と連携し、認可モデルは引き続き Doris で管理する場合。
組み込み認証Apache Ranger既存の Ranger システムを使用し、ビッグデータエコシステムと連携して認可を一元管理する場合。
LDAP 認証Apache RangerID の統一、認可の一元管理、監査対応が求められるエンタープライズ環境での推奨構成。

関連ドキュメント​

Doris のセキュリティ機能の詳細については、トピック別に以下の文書を参照してください。

トピックドキュメント
組み込み認証(パスワードポリシー、ホワイトリスト、パスワードを忘れた場合の対処)組み込み認証
LDAP 認証LDAP による認証
組み込み RBAC 認可(権限の種類、権限階層、ロール)組み込み認可
行・列レベルの権限とデータマスキングデータアクセス制御
Apache Ranger による認可の一元管理Ranger による認可
監査ログ監査ログ
MySQL プロトコルの SSL による通信の暗号化MySQL プロトコルの SSL
FE の HTTP/HTTPS 通信の暗号化FE の HTTPS 設定
暗号化関数データ暗号化関数
クラウドベンダー(AWS)との連携AWS の認証と認可