環境
IBM Cloud Pak for Data 4.5.0
Watson Discovery(以下WD)4.5.0
Box
注意点
- WDからBoxに接続するには、事前にBoxでカスタム・アプリケーションを作成する必要があります。
- Boxアカウントは2要素認証を有効にしておく必要があります。
マニュアル
IBM Cloud Pak for Data データ・ソースの構成 > Box
https://cloud.ibm.com/docs/discovery-data?topic=discovery-data-connector-box-cp4d
RSA鍵ペア作成
RSA鍵ペアを設定します。 自分で作成することも、Box.comに自動で鍵ペアを生成させることもできます。この記事では自分で作成する場合の手順を紹介します。
マニュアルに、鍵ペアを自分で作成する場合のコマンド例がありますが、このコマンドをそのまま実行すると、パスフレーズなしの秘密鍵が生成されます。CP4D版WDでBoxクロールを使用するには問題ありませんが、同じBoxカスタムアプリを使用してIBM Cloud版のWDでBoxクロールを行う予定がある場合は、パスフレーズありの秘密鍵を生成する必要があります。
なお、Boxで自動生成するとパスフレーズありの秘密鍵が生成されます。
マニュアルで紹介されている1つ目のコマンドで、パスフレーズなし
2048bitの秘密鍵を生成しています(private-box.pemに保存)。
openssl genrsa 2048 > private-box.pem
パスフレーズありの秘密鍵を生成したい場合は、例えば次のようにします。
openssl genrsa -out private-box.pem -aes256 2048
2つ目のコマンドで、RSA秘密鍵から、RSA公開鍵を生成しています。
openssl rsa -in private-box.pem -pubout -out public-box.pem
Boxの作業
1. BoxにログインしてDeveloper Consoleにアクセス
Developer Console
https://app.box.com/developers/console
2. 「アプリの新規作成」をクリック
3. 「カスタムアプリ」を選択
4. 「サーバー認証(JWT使用)」を選択してアプリ名を入力し、「アプリの作成」をクリック
5. 「構成」タブの「アプリアクセスレベル」で「アプリ+Enterpriseアクセス」を選択
CP4D版ではこのアクセスレベルのみサポートされています。
6. 「構成」タブの「アプリケーションスコープ」で次のオプションを選択
- Boxに格納されているすべてのファイルとフォルダの読み取り
- Boxに格納されているすべてのファイルとフォルダへの書き込み
- ユーザーを管理する
- Enterpriseのプロパティーを管理する
7. 「構成」タブの「高度な機能」で次のオプションを選択
- as-user ヘッダーを使用してAPI呼び出しを行う
- ユーザーアクセストークンを生成する
8. 「構成」タブの「公開キーを追加」で、public-box.pem の内容を入力
公開キーの入力画面が出るので、RSA鍵ペア作成
で生成したpublic-box.pemの内容を入力し、「確認して保存」をクリック
途中、2段階認証が求められたら、認証コードを入力
*元の画面に戻ると、設定内容がクリアされていることがあるので要注意
9. 「承認」タブの「確認して送信」をクリック
「承認ステータス」が表示される
10. アプリを承認する
管理者コンソールの「アプリ」から「カスタムアプリマネージャー」タブに移動し、該当アプリについて「アプリを承認」をクリック
11. アプリが「有効」になったことを確認する
Developer Consoleに戻り、「承認」タブで承認済み
、有効
となっていることを確認する
12. JSONファイルをダウンロード・編集する
ダウンロードしたJSONファイルでは、appAuthセクションが空欄になっているので、次のとおり必要な情報を追加します。CP4D版WDではこのJSONファイルをアップロードすることで、構成情報を設定することになるため、必要な情報を網羅したJSONファイルが必要です。
-
publicKeyID:
ステップ8
で追加した公開キーのIDを入力 -
privateKey:
RSA鍵ペア作成
で生成したprivate-box.pemの内容を入力。ただし、すべての改行を\n
に置き換えて1行にする必要がある。 -
passphrase:
RSA鍵ペア作成
で設定したパスフレーズを入力
WDの作業
1. 管理画面からコレクションを作成
2. 言語、クロール・スケジュールの設定
3. データ・ソースとするBox、クロール対象を指定
Box JSON configurationをクリックし、Boxの作業
ステップ12で作成したBoxアプリのJSONファイルをアップロード
Specify what you want to crawlでクロール対象を次の形式で指定
- 全社レベルでクロールするには、box://app.box.com/ を入力
- 特定のフォルダーをクロールするには、box://app.box.com/user/USER_ID/folder/FOLDER_ID/FolderName を入力
- 特定のユーザーをクロールするには、box://app.box.com/user/USER_ID/
*各設定項目の詳細はマニュアルを参照ください。
「Finish」をクリックするとクロールとインデクシング処理が開始する