Microsoft Purview で HDFS に接続して管理する
この記事では、Hadoop 分散ファイル システム (HDFS) を登録する方法と、Microsoft Purview で HDFS を認証して操作する方法について説明します。 Microsoft Purview の詳細については、 入門記事を参照してください。
サポートされている機能
メタデータ抽出 | フル スキャン | 増分スキャン | スコープスキャン | 分類 | ラベル付け | アクセス ポリシー | 系統 | データ共有 | ライブ ビュー |
---|---|---|---|---|---|---|---|---|---|
○ | ○ | ○ | ○ | はい | いいえ | 不要 | 不要 | 不要 | 不要 |
HDFS ソースをスキャンする場合、Microsoft Purview では HDFS を含む技術メタデータの抽出がサポートされます。
- Namenode
- フォルダー
- Files
- リソース セット
スキャンを設定するときに、HDFS 全体または選択的なフォルダーをスキャンできます。 サポートされているファイル形式については 、こちらを参照してください。
コネクタは webhdfs プロトコルを使用して HDFS に接続し、メタデータを取得します。 MapR Hadoop ディストリビューションはサポートされていません。
前提条件
アクティブなサブスクリプションを持つ Azure アカウント。 無料でアカウントを作成します。
アクティブな Microsoft Purview アカウント。
ソースを登録し、Microsoft Purview ガバナンス ポータルで管理するには、データ ソース管理者とデータ 閲覧者のアクセス許可が必要です。 アクセス許可の詳細については、「 Microsoft Purview でのアクセス制御」を参照してください。
最新の セルフホステッド統合ランタイムを設定します。 詳細については、 セルフホステッド統合ランタイムの作成と構成に関するガイドを参照してください。 サポートされるセルフホステッド Integration Runtimeの最小バージョンは 5.20.8235.2 です。
- Visual C++ 再頒布可能パッケージ (バージョン Visual Studio 2012 Update 4 以降) がセルフホステッド統合ランタイム コンピューターにインストールされていることを確認します。 この更新プログラムがインストールされていない場合は、 こちらからダウンロードできます。
- Parquet ファイルと ORC ファイルを解析するために、セルフホステッド統合ランタイム マシンに JRE または OpenJDK がインストールされていることを確認します。 詳細については、 こちらを参照してください。
- Kerberos 認証を有効にするように環境を設定するには、「 HDFS コネクタに Kerberos 認証を使用する 」セクションを参照してください。
登録
このセクションでは、 Microsoft Purview ガバナンス ポータルを使用して Microsoft Purview に HDFS を登録する方法について説明します。
登録手順
データ カタログに新しい HDFS ソースを登録するには、次の手順に従います。
- Microsoft Purview ガバナンス ポータルで Microsoft Purview アカウントに移動します。
- 左側のナビゲーションで [ データ マップ ] を選択します。
- [ 登録] を選択します
- [ソースの登録] で、[ HDFS] を選択します。 [続行] を選択します。
[ ソースの登録 (HDFS)] 画面で、次の手順を実行します。
カタログ内にデータ ソースが一覧表示される 名前 を入力します。
HDFS NameNode のクラスター URL を、 または
http://<namenode>:<port>
などの形式https://<namenode>:<port>
で入力します。https://namenodeserver.com:50470
http://namenodeserver.com:50070
コレクションを選択するか、新しいコレクションを作成します (省略可能)
完了してデータ ソースを登録します。
スキャン
HDFS をスキャンして資産を自動的に識別するには、次の手順に従います。 スキャン全般の詳細については、スキャン とインジェストの概要に関するページを参照してください。
スキャンの認証
HDFS ソースでサポートされている認証の種類は Kerberos 認証です。
スキャンの作成と実行
新しいスキャンを作成して実行するには、次の手順に従います。
セルフホステッド統合ランタイムが設定されていることを確認します。 設定されていない場合は、 ここで 説明する手順を使用して、セルフホステッド統合ランタイムを作成します。
[ ソース] に移動します。
登録済みの HDFS ソースを選択します。
[ + 新しいスキャン] を選択します。
[スキャン source_name] ページで、次の詳細を指定します。
名前: スキャンの名前
統合ランタイム経由で接続する: 構成済みのセルフホステッド統合ランタイムを選択します。 「前提条件」セクションの「セットアップ 要件 」を参照してください。
資格情報: データ ソースに接続する資格情報を選択します。 次のことを確認してください。
- 資格情報の作成時に [Kerberos 認証 ] を選択します。
- [ユーザー名] 入力フィールドに、 の
<username>@<domain>.com
形式でユーザー名を指定します。 詳細については、「 HDFS コネクタに Kerberos 認証を使用する」を参照してください。 - HDFS への接続に使用するユーザー パスワードを秘密キーに格納します。
[ 接続のテスト] を選択します。
[続行] を選択します。
[スキャンのスコープ] ページで、スキャンするパスを選択します。
[スキャン ルール セットの選択] ページで、スキーマの抽出と分類に使用するスキャン ルール セットを選択します。 システムの既定値、既存のカスタム ルール セット、または新しいルール セットをインラインで作成することができます。 詳細については、「 スキャン ルール セットの作成」を参照してください。
[スキャン トリガーの設定] ページで、 スキャン トリガーを選択します。 スケジュールを設定することも、スキャンを 1 回実行することもできます。
スキャンを確認し、[ 保存して実行] を選択します。
スキャンとスキャンの実行を表示する
既存のスキャンを表示するには:
- Microsoft Purview ガバナンス ポータルに移動します。 左側のウィンドウで、[ データ マップ] を選択します。
- データ ソースを選択します。 [最近のスキャン] で、そのデータ ソースの既存の スキャンの一覧を表示したり、[ スキャン ] タブですべてのスキャンを表示したりできます。
- 表示する結果を含むスキャンを選択します。 このウィンドウには、以前のすべてのスキャン実行と、各スキャン実行の状態とメトリックが表示されます。
- 実行 ID を選択して、スキャン実行の詳細をチェックします。
スキャンを管理する
スキャンを編集、取り消し、または削除するには:
Microsoft Purview ガバナンス ポータルに移動します。 左側のウィンドウで、[ データ マップ] を選択します。
データ ソースを選択します。 [最近のスキャン] で、そのデータ ソースの既存の スキャンの一覧を表示したり、[ スキャン ] タブですべてのスキャンを表示したりできます。
管理するスキャンを選択します。 次のことを実行できます。
- [スキャンの編集] を選択して スキャンを編集します。
- [スキャンの実行の取り消し] を選択して、進行中 のスキャンを取り消します。
- [スキャンの削除] を選択して スキャンを削除します。
注:
- スキャンを削除しても、以前のスキャンから作成されたカタログ資産は削除されません。
- ソース テーブルが変更され、Microsoft Purview の [スキーマ] タブで説明を編集した後にソース テーブルを再スキャンした場合、資産は スキーマ の変更で更新されなくなります。
HDFS コネクタに Kerberos 認証を使用する
HDFS コネクタに Kerberos 認証を使用するようにオンプレミス環境を設定するには、2 つのオプションがあります。 自分の状況に合ったものを選択できます。
- オプション 1: セルフホステッド統合ランタイム マシンを Kerberos 領域に参加させる
- オプション 2: Windows ドメインと Kerberos 領域の間で相互信頼を有効にする
どちらのオプションでも、Hadoop クラスターの webhdfs を有効にしてください。
webhdfs の HTTP プリンシパルと keytab を作成します。
重要
HTTP Kerberos プリンシパルは、Kerberos HTTP SPNEGO 仕様に従って "HTTP/" で始まる必要があります。 詳細については、 こちらを参照してください。
Kadmin> addprinc -randkey HTTP/<namenode hostname>@<REALM.COM> Kadmin> ktadd -k /etc/security/keytab/spnego.service.keytab HTTP/<namenode hostname>@<REALM.COM>
HDFS 構成オプション: に次の 3 つのプロパティを
hdfs-site.xml
追加します。<property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> <property> <name>dfs.web.authentication.kerberos.principal</name> <value>HTTP/_HOST@<REALM.COM></value> </property> <property> <name>dfs.web.authentication.kerberos.keytab</name> <value>/etc/security/keytab/spnego.service.keytab</value> </property>
オプション 1: セルフホステッド統合ランタイム マシンを Kerberos 領域に参加させる
要件
- セルフホステッド統合ランタイム マシンは Kerberos 領域に参加する必要があり、Windows ドメインに参加できません。
構成する方法
KDC サーバーで、次の手順を実行します。
プリンシパルを作成し、パスワードを指定します。
重要
ユーザー名にホスト名を含めないようにしてください。
Kadmin> addprinc <username>@<REALM.COM>
セルフホステッド統合ランタイム コンピューターで、次の手順を実行します。
Ksetup ユーティリティを実行して、Kerberos Key Distribution Center (KDC) サーバーと領域を構成します。
Kerberos 領域は Windows ドメインとは異なるため、コンピューターをワークグループのメンバーとして構成する必要があります。 この構成を実現するには、Kerberos 領域を設定し、次のコマンドを実行して KDC サーバーを追加します。 REALM.COM を独自の領域名に置き換えます。
C:> Ksetup /setdomain REALM.COM C:> Ksetup /addkdc REALM.COM <your_kdc_server_address>
これらのコマンドを実行した後、コンピューターを再起動します。
コマンドを使用して構成を
Ksetup
確認します。 出力は次のようになります。C:> Ksetup default realm = REALM.COM (external) REALM.com: kdc = <your_kdc_server_address>
Purview アカウントで次の手順を実行します。
- Kerberos プリンシパル名とパスワードを使用して Kerberos 認証の種類を使用して資格情報を構成し、HDFS をスキャンします。 構成の詳細については、「スキャン」セクションの資格情報設定パーツをチェックします。
オプション 2: Windows ドメインと Kerberos 領域の間で相互信頼を有効にする
要件
- セルフホステッド統合ランタイム コンピューターは、Windows ドメインに参加する必要があります。
- ドメイン コントローラーの設定を更新するためのアクセス許可が必要です。
構成する方法
注:
次のチュートリアルの REALM.COM と AD.COM を独自の領域名とドメイン コントローラーに置き換えます。
KDC サーバーで、次の手順を実行します。
krb5.conf ファイルの KDC 構成を編集して、KDC が次の構成テンプレートを参照して Windows ドメインを信頼できるようにします。 既定では、構成は /etc/krb5.conf にあります。
[logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] default_realm = REALM.COM dns_lookup_realm = false dns_lookup_kdc = false ticket_lifetime = 24h renew_lifetime = 7d forwardable = true [realms] REALM.COM = { kdc = node.REALM.COM admin_server = node.REALM.COM } AD.COM = { kdc = windc.ad.com admin_server = windc.ad.com } [domain_realm] .REALM.COM = REALM.COM REALM.COM = REALM.COM .ad.com = AD.COM ad.com = AD.COM [capaths] AD.COM = { REALM.COM = . }
ファイルを構成したら、KDC サービスを再起動します。
次のコマンドを使用して、 KDC サーバーで krbtgt/REALM.COM@AD.COM という名前のプリンシパルを準備します。
Kadmin> addprinc krbtgt/REALM.COM@AD.COM
hadoop.security.auth_to_local HDFS サービス構成ファイルに を追加
RULE:[1:$1@$0](.*\@AD.COM)s/\@.*//
します。
ドメイン コントローラーで、次の手順を実行します。
次
Ksetup
のコマンドを実行して、領域エントリを追加します。C:> Ksetup /addkdc REALM.COM <your_kdc_server_address> C:> ksetup /addhosttorealmmap HDFS-service-FQDN REALM.COM
Windows ドメインから Kerberos 領域への信頼を確立します。 [password] は、プリンシパル krbtgt/REALM.COM@AD.COMのパスワードです。
C:> netdom trust REALM.COM /Domain: AD.COM /add /realm /password:[password]
Kerberos で使用される暗号化アルゴリズムを選択します。
[サーバー マネージャー>グループ ポリシー管理>ドメイン>グループ ポリシー オブジェクト>の既定またはアクティブ ドメイン ポリシー] を選択し、[編集] を選択します。
[グループ ポリシー管理エディター] ウィンドウで、[コンピューターの構成>ポリシー>] [Windows 設定][セキュリティ設定>>] [ローカル ポリシー>] [セキュリティ オプション] の順に選択し、[ネットワーク セキュリティ: Kerberos で許可される暗号化の種類の構成] を構成します。
KDC サーバーに接続するときに使用する暗号化アルゴリズムを選択します。 すべてのオプションを選択できます。
コマンドを
Ksetup
使用して、指定した領域で使用する暗号化アルゴリズムを指定します。C:> ksetup /SetEncTypeAttr REALM.COM DES-CBC-CRC DES-CBC-MD5 RC4-HMAC-MD5 AES128-CTS-HMAC-SHA1-96 AES256-CTS-HMAC-SHA1-96
Windows ドメインで Kerberos プリンシパルを使用できるように、ドメイン アカウントと Kerberos プリンシパルの間のマッピングを作成します。
[ 管理ツール>] [Active Directory ユーザーとコンピューター] の順に選択します。
[高度な機能の表示>] を選択して、高度な機能を構成します。
[ 高度な機能 ] ウィンドウで、マッピングを作成するアカウントを右クリックし、[ 名前マッピング ] ウィンドウで [ Kerberos の名前 ] タブを選択します。
領域からプリンシパルを追加します。
セルフホステッド統合ランタイム コンピューターで、次の手順を実行します。
次
Ksetup
のコマンドを実行して、領域エントリを追加します。C:> Ksetup /addkdc REALM.COM <your_kdc_server_address> C:> ksetup /addhosttorealmmap HDFS-service-FQDN REALM.COM
Purview アカウントで次の手順を実行します。
- Kerberos プリンシパル名とパスワードを使用して Kerberos 認証の種類を使用して資格情報を構成し、HDFS をスキャンします。 構成の詳細については、「スキャン」セクションの資格情報設定パーツをチェックします。
既知の制限
現在、HDFS コネクタでは 、高度なリソース セットのカスタム リソース セット パターン ルールはサポートされていません。組み込みのリソース セット パターンが適用されます。
秘密度ラベル はまだサポートされていません。
次の手順
ソースを登録したので、次のガイドに従って、Microsoft Purview とデータの詳細を確認してください。