Box 内のデータにアクセスするには、そのデータ用の接続資産を作成します。
Box プラットフォームは、クラウド・コンテンツ管理およびファイル共有サービスです。
前提条件
Box でのカスタム・アプリの作成
Box への接続を作成する前に、Box Developer Console でカスタム・アプリを作成します。 ユーザーがファイルを共有するために使用できるアプリケーション・レベルのアクセス用のアプリを作成するか、またはすべてのユーザー・アカウントに対するエンタープライズ・レベルのアクセス用のアプリを作成できます。 エンタープライズ・レベルのアクセスでは、ユーザーはそのアプリケーションを使用してファイルやフォルダーを共有する必要はありません。
- Box 開発者コンソールに移動し、ウィザードに従ってカスタム・アプリを作成します。 「認証方式」には、
OAuth 2.0 with JWT (Server Authentication)
を選択します。 - 構成 ページで以下の選択を行います。 それ以外の場合はデフォルト設定のままにします。
- アプリケーション・アクセス・レベルの 2 つの選択項目のいずれかを選択してください:
- デフォルトの アプリ・アクセスのみ 選択を保持して、ユーザーがファイルを共有するアクセスを許可します。
- すべてのユーザー・アカウントへの全社的なアクセス権限を持つアプリを作成するには、 App + Enterprise Access を選択してください。
- デフォルトの アプリ・アクセスのみ 選択を保持して、ユーザーがファイルを共有するアクセスを許可します。
- 公開鍵の追加と管理の下で、 公開/秘密鍵ペアの生成をクリックしてください。 この項目を選択するには、Box アカウントで 2 要素認証が有効になっている必要があります。ただしこの設定は後で無効にできます。 生成された鍵ペアは、ダウンロード用の構成 (
*_config.json
) ファイルが生成されます。 プロジェクトで接続を作成するには、このファイル内の情報が必要になります。
- アプリケーション・アクセス・レベルの 2 つの選択項目のいずれかを選択してください:
- App + Enterprise Accessを選択した場合は、 拡張機能の下で、以下のチェック・ボックスを両方とも選択します:
- as-user ヘッダーを使用した API 呼び出しを実行する
- ユーザー・アクセス・トークンを生成する (Generate user access tokens)
- 認証のため、アプリのクライアント ID を Box エンタープライズ管理者に送信します。Box 開発者コンソールで、ご使用のアプリケーションに進み、アプリケーションの左側のサイドバーから「一般」リンクを選択します。 アプリ許可 セクションまでスクロールダウンします。
秘密鍵の復号化
関連するパスワードを使用して秘密鍵を復号するには、以下のコマンドを実行する。 このプロセスでは、「openssl pkcs8
コマンドを使って暗号化されていないバージョンの秘密鍵を生成する。
openssl pkcs8 -in private_key.pem -passin file:pass.txt -out private_key_unencrypted.pem
使用されるパラメータは以下の通り:
- private_key.pem
- Boxが生成し、お客様に提供した暗号化された秘密鍵。
- pass.txt
- このファイルには、Boxが生成し、お客様に提供した秘密鍵に関連するパスワードが含まれています。
- private_key_unencrypted.pem
- これは、コマンド実行後に暗号化されていない秘密鍵を含む出力ファイルである。
プラットフォーム内の場所に基づいて接続を作成する方法を選択してください
- プロジェクト内
- 「アセット」>「新規アセット」>「データ・ソースへの接続」をクリックします。 プロジェクトへの接続の追加を参照してください。
- デプロイメント・スペース内
- 「アセットのインポート」>「データ・アクセス」>「接続」をクリックします。 デプロイメント・スペースへのデータ資産の追加を参照してください。
- Platform assets catalog
- 新規接続をクリックしてください。 プラットフォーム接続の追加を参照してください。
Box 接続を作成する
以下の設定に、ダウンロードした構成ファイルの値を入力します。
- クライアント ID
- クライアントの秘密鍵
- エンタープライズ ID
- 秘密鍵 (各
\n
を改行で置換) - 秘密鍵パスワード (構成ファイル内の
passphrase
値) - 公開鍵 (構成ファイル内の
publicKeyID
値)
エンタープライズ・レベルのアプリ
全社的なアクセス・アプリを構成した場合は、Box ユーザー・アカウントのユーザー名を ユーザー名 フィールドに入力します。
アプリケーション・レベルのアプリ
ユーザーは、アプリがファイルにアクセスできるようにするために、ファイルをアプリのメール・アドレスと明示的に共有する必要があります。
アプリの E メール・アドレスを確認するには、接続に対して REST 呼び出しを実行します。 例:
PUT https://api.dataplatform.cloud.ibm.com/v2/connections/{connection_id}/actions/get_user_info?project_id={project_id}
要求本文:
{}
戻り:
{ "login_name": "[email protected]" }
REST 呼び出しで返されたログイン名を使用して、watsonx.aiStudio からアクセスしたい Box 内のファイルとフォルダーを共有します。
次のステップ: 接続からデータ資産を追加する
- プロジェクトでの接続からのデータの追加を参照してください。
この接続を使用できる場所
Box 接続は、以下のワークスペースおよびツールで使用できます:
プロジェクト
- Data Refinery
- Synthetic Data Generator
カタログ
- Platform assets catalog
制限
Box フォルダーに数千ものファイルがある場合、タイムアウトになる前に接続がファイルを取得できない可能性があります。 Box ファイルを使用するジョブまたはプロファイルが機能しない可能性があります。
回避策: 同じフォルダー内のファイルの数が少なくなるように、Box 内のファイル階層を再編成してください。
サポートされるファイル・タイプ
Box 接続は、Avro、CSV、Delimited text、Excel、JSON、ORC、Parquet、SAS、SAV、SHP、および XML の各ファイル・タイプをサポートします。
詳細情報
親トピック: サポートされた接続