こんにちは。プロダクトチームの周です。
本記事ではCData 製品でサポートしているBox の認証方法の1つ、サービスアカウント(OAuthJWT)認証について、Boxで生成される公開/秘密キーペアを使用するBOXJSONタイプの接続手順を紹介します。
(※ご自身で用意したRSAキーペアを使用するPEMKEYタイプの接続手順はCData Box Driverでサービスアカウント認証を利用する方法をご参照ください。)
本記事の手順でCData 製品のBox Driver やCSV Driver 、Excel Driver を使用してBox へ接続できますので、参考にしてください。
今回はODBC Box Driver を使用していきます。
Box ODBC Driver - CData Software Japan
Box カスタムOAuth アプリ作成
ヘルプドキュメントの「カスタムOAuth アプリの作成」>「サービスアカウント用のOAuth アプリの作成」の手順に沿って作成していきます。
CData ODBC Driver for Box - カスタムOAuth アプリの作成
1. Box 開発者ダッシュボード にログインして「Platformアプリの作成」をクリックします。
https://app.box.com/developers/console
2. アプリの種類を選択します。サービスアカウント(OAuthJWT)認証を利用する場合は「カスタムアプリ」を選択します。
3. 「アプリ名」を入力して、「目的」を選択して、「次へ」をクリックします。
4. サービスアカウント(OAuthJWT)認証なので「サーバー認証(JWT使用)」を選択して、「アプリの作成」をクリックします。
5. アプリが作成できたら「クライアントID」、「クライアントシークレット」をメモしておきます。
6. 「アプリアクセスレベル」に「アプリ+Enterpriseアクセス」を選択します。
7. 公開/秘密キーペアを作成していきます。
「公開/秘密キーペアを生成」するには、操作を行うユーザーの2要素認証が必要ですので、事前に2要素認証を有効にしてください。
8. 「公開/秘密キーペアを生成」をクリックしますと、下記メッセージが表示されますので、指示通りJSON形式の構成ファイルをダウンロードして適切な場所に保存します。
すべてのアプリ設定が含まれている構成ファイルをダウンロードしました。Boxに秘密キーは保存されないため、このファイルに含まれる秘密キーが唯一のコピーです。このファイルを安全に保管してください。
9. 8でダウンロードした構成ファイル(例:884766700_kipvpydd_config.json)をテキストエディタ等で開いてみますと、以下のような内容です。
10. 「公開キー ID」をメモしておきます。
11. 「承認」タブで「確認して送信」をクリックします。
12. 作成したアプリの承認申請が管理者にメールされますので、メールを確認して承認します。管理者コンソールでも表示されます。
13. 管理者に承認されますと、アプリのステータスが「有効」と「承認済み」になります。
14. 「Enterprise ID」をメモしておきます。
サービスアカウントへBox の各ファイルを共有
「Service Account ID」に表示されているメールアドレスをメモしておきます。
Box で「共有」をクリックします。
「Service Account ID」に表示されていたメールアドレスを設定して「送信」をクリックします。
これでファイルを共有することができました。
DSN 構成画面の設定
それではDSN 構成画面の設定を行います。
Box でメモした各値をそれぞれのプロパティに設定します。
- AuthScheme:「OAuthJWT」
- OAuthClientId:「5でメモしたクライアントID」
- OAuthClientSecret:「5でメモしたクライアントシークレット」
- OAuthJWTCert:「8でダウンロードしたJSON形式の構成ファイルへのフルパス」
- OAuthJWTCertType:「BOXJSON」
- OAuthJWTCertSubject:「*」
- OAuthJWTSubject:「14でメモしたEnterprise ID」
- OAuthJWTSubjectType:「enterprise」
- OAuthJWTPublicKeyId:「10でメモした公開キー ID」
詳しくは下記ヘルプドキュメントの「サービスアカウント」を参照ください。
CData ODBC Driver for Box - Windows DSN の構成
「接続テスト」をクリックして、Box に接続できるか確認します。
下記はDSN 構成画面の「データモデル」→「クエリ」タブ で実際にデータを取得した時の画像です。
おわりに
本記事ではCData 製品でサポートしているBox の認証方法の1つ、サービスアカウント(OAuthJWT)認証について、Boxで生成される公開/秘密キーペアを使用するBOXJSONタイプの接続手順を紹介しました。
ぜひCData 製品でBox へ格納したExcel やCSV ファイルの操作等でご活用ください。