

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon EMR と Apache Ranger の統合用 Apache Hive プラグイン
<a name="emr-ranger-hive"></a>

Apache Hive は Hadoop エコシステム内の普及している実行エンジンです。Amazon EMR は、Hive のきめ細かなアクセスコントロールを提供できる Apache Ranger プラグインを提供しています。このプラグインはオープンソースの Apache Ranger 管理サーバーバージョン 2.0 以降と互換性があります。

**Topics**
+ [サポートされている機能](#emr-ranger-supported-features)
+ [サービス設定のインストール](#emr-ranger-hive-service-config)
+ [考慮事項](#emr-ranger-hive-considerations)
+ [制限事項](#emr-ranger-hive-limitations)

## サポートされている機能
<a name="emr-ranger-supported-features"></a>

EMR 上の Hive 用の Apache Ranger プラグインは、データベース、テーブル、列レベルのアクセスコントロール、行フィルタリング、データマスキングなど、オープンソースプラグインのすべての機能をサポートしています。Hive コマンドおよび関連する Ranger アクセス許可の表については、「[Hive commands to Ranger permission mapping](https://cwiki.apache.org/confluence/display/RANGER/Hive+Commands+to+Ranger+Permission+Mapping)」を参照してください。

## サービス設定のインストール
<a name="emr-ranger-hive-service-config"></a>

Apache Hive プラグインは、Apache Hive Hadoop SQL 内の既存の Hive サービス定義と互換性があります。

![\[Hadoop SQL の Apache Hive サービス定義。\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/images/ranger_service_mgr.png)


上記のように Hadoop SQL の下にサービスのインスタンスがない場合には、インスタンスを作成できます。Hadoop SQL の横の **[\$1]** をクリックします。

1. **[Service Name]** (サービス名): これが表示されている場合は、サービス名を入力します。推奨値は **amazonemrhive** です。このサービス名をメモしておいてください。EMR セキュリティ設定を作成するときに必要です。

1. **[Display Name]** (表示名): サービスに対して表示する名前を入力します。推奨値は **amazonemrhive** です。

![\[Hadoop SQL の Apache Hive サービスの詳細。\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/images/ranger_create_service.png)


Apache Hive 設定プロパティは、HiveServer2 を使用して Apache Ranger 管理サーバーへの接続を確立し、ポリシーの作成時にオートコンプリートを実装するために使用されます。永続的な HiveServer2 プロセスがない場合は、以下のプロパティは正確である必要はなく、任意の情報を入力できます。
+ **[Username]** (ユーザー名): HiveServer2 インスタンスのインスタンスへの JDBC 接続のユーザー名を入力します。
+ **[Password]** (パスワード): 上記のユーザー名のパスワードを入力します。
+ **jdbc.driver.ClassName**: Apache Hive 接続用の JDBC クラスのクラス名を入力します。デフォルト値を使用できます。
+ **jdbc.url**: HiveServer2 への接続時に使用する JDBC 接続文字列を入力します。
+ **[Common Name for Certificate]** (証明書の共通名): クライアントプラグインから管理サーバーに接続するために使用する証明書内の CN フィールド。この値は、プラグイン用に作成された TLS 証明書の CN フィールドと一致する必要があります。

![\[Apache Hive サービス設定プロパティ。\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/images/ranger_config_props.png)


**[Test Connection]** (接続のテスト) ボタンでは、上記の値を使用して HiveServer2 インスタンスに正常に接続できるかどうかをテストします。サービスが正常に作成されると、サービスマネージャは以下のようになります。

![\[HiveServer2 インスタンスに接続されている\]](http://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/images/ranger_config_connected.png)


## 考慮事項
<a name="emr-ranger-hive-considerations"></a>

**Hive メタデータサーバー**

Hive メタデータサーバーには、不正アクセスから保護するために、信頼されたエンジン (具体的には Hive および `emr_record_server`) からしかアクセスできません。また、Hive メタデータサーバーには、クラスター上のすべてのノードからもアクセスできます。ポート 9083 は必須で、メインノードへのすべてのノードアクセスを提供します。

**認証**

デフォルトでは、Apache Hive は EMR セキュリティ設定で構成された Kerberos を使用して認証するように設定されています。HiveServer2 は、LDAP を使用してユーザーを認証するように設定することもできます。「[Implementing LDAP authentication for Hive on a multi-tenant Amazon EMR cluster](https://aws.amazon.com/blogs/big-data/implementing-ldap-authentication-for-hive-on-a-multi-tenant-amazon-emr-cluster/)」を参照してください。

## 制限事項
<a name="emr-ranger-hive-limitations"></a>

Amazon EMR 5.x での Apache Hive プラグインの現在の制限事項は次のとおりです。
+ Hive ロールは、現在サポートされていません。Grant、Revoke ステートメントはサポートされていません。
+ Hive CLI はサポートされていません。JDBC/Beeline だけが Hive を接続するために認可されている方法です。
+ `hive.server2.builtin.udf.blacklist` 設定には、安全ではないと判断される UDF を入力する必要があります。