5.4 Hadoop認可: ファイル・レベル・アクセスおよびApache Sentry

ソース・データにアクセスできるかどうかは、ソース・ファイルに対する基礎となるアクセス権限と、Apache Sentryによって定義されているHive認可ルールの両方に基づきます。Oracle Big Data SQL外部表のデータにアクセスするには、デフォルトのoracleユーザーまたは実際に接続しているユーザー(マルチユーザー認可を使用している場合)のいずれかが、ソース・データまたはHiveメタデータ(あるいはその両方)を読み取る権限を持っている必要があります。

Hadoopファイル権限はPOSIXファイル権限とよく似ています。各ファイルおよびディレクトリには、関連する所有者とグループがあります。HDFSでは、ファイル権限に加えて、アクセス制御リスト(ACL)もサポートされており、特定のユーザーおよびグループに対してよりきめ細かい認可を提供します。Sentry権限を特定のHDFSディレクトリのHDFS ACLと同期する方法の詳細は、HDFS ACLおよびSentry権限の同期を参照してください。

Apache Sentryは、Hiveメタデータに使用されるロール・ベースの認可エンジンです。Sentryロールは、様々なデータ・アクセス・ニーズに応じて定義されます(たとえば、財務ロールやマーケティング・ロールなど)。オブジェクト(サーバー、Hiveデータベース、表および列)へのアクセス権が特定のロールに付与されます。これにより、ユーザーは、所属するグループに適切な権限が付与されていれば、これらのデータ・オブジェクトを表示できるようになります。

Oracle Big Data SQLでは、ファイル・レベルの認可のサポートに加えて、Sentryもサポートされています。ユーザーがOracle Big Data SQL外部表を列レベルまで問い合せようとすると、Sentryポリシー・ルールが処理されます。つまり、Oracle Databaseで認可ルールをレプリケートする必要がありません。Oracle外部表から選択する権限をユーザーに付与できます。ただし、Hadoop認可を使用すると、ユーザーがデータを参照できるのは、そのユーザーが適切なSentryロールとデータ・アクセス権限を持っている場合にかぎられます。