Platformアプリの作成
認証方法の選択
Box Viewでは、任意のサーバー側認証方法を使用できます。お客様のニーズに適したものを選択してください。| メソッド | 最適な用途 | 主な特徴 |
|---|---|---|
| クライアント資格情報許可 (CCG) | Box Viewのほとんどのユースケース | 設定がシンプル。クライアントIDとシークレットを使用 |
| JWT | 公開/秘密キーのセキュリティが必要な環境 | キーペアがベース。シークレットがネットワーク経由で共有されない |
アクセス制限付きアプリからの移行: CCGおよびJWT Platformアプリは、アクセス制限付きアプリ (アプリトークン認証) でサポートされている150以上のエンドポイントをすべてサポートしています。ファイルのアップロード、ダウンロード、削除、プレビューのワークフローは同一です。詳細な比較については、認証方法の選択ガイドを参照してください。
アプリケーション設定の構成
アプリケーションを構成するには、開発者コンソールでアプリケーションの [構成] タブに移動して、次のオプションを設定します。- [アプリケーションアクセス] で [アプリアクセスのみ] を選択します。そうすることで、アプリケーションが固有のサービスアカウントコンテンツに制限されます。これは、Box Viewの標準的な構成です。
- [アプリケーションスコープ] で、少なくとも、以下のオプションを有効にします。
- [Boxに格納されているすべてのファイルとフォルダの読み取り] (root_readonly)
- [Boxに格納されているすべてのファイルとフォルダの読み取りと書き込み] (root_readwrite)
- アプリケーションが (例えばBox UI Elementsを使用して) フロントエンドのブラウザコードからAPIコールを実行する場合は、[構成] タブの下部にあるCORS許可リストにドメインを追加します。
- [構成] タブから資格情報をコピーします。
- CCGの場合、[クライアントID] と [クライアントシークレット] をコピーします。シークレットを確認するには、多要素認証が必要です。
- JWTの場合、公開/秘密キーペアを生成した後にJSON構成ファイルをダウンロードします。
アプリケーションの承認
サーバーで認証されたPlatformアプリは、APIコールを実行する前に、管理者の承認が必要です。- 開発者コンソールで [承認] タブに移動します。
- [確認して送信] をクリックします。企業のBox管理者には、管理コンソールでアプリケーションを承認するためのメールが送信されます。詳細については、Platformアプリの承認ガイドを参照してください。
アクセストークンの取得
アクセストークンを取得するプロセスは、アプリケーションの認証方法によって異なります。クライアント資格情報許可 (CCG) で認証されるPlatformアプリ
クライアントIDとクライアントシークレットをトークンエンドポイントに送信することで、アクセストークンをリクエストします。トークンはアプリケーションのサービスアカウントとして認証されます。cURL
Response
JWTで認証されるPlatformアプリ
アプリケーションでJWT認証を使用している場合は、設定中にダウンロードしたJSON構成ファイルを使用します。クライアント側で使用するトークンのダウンスコープ
アクセストークンをブラウザに渡す必要がある場合は (例えば、Box Content Previewや他のBox UI Elementsを実行する場合)、必ず最初にトークンをダウンスコープしてください。ダウンスコープを行うと、新しいトークン用のフル権限を持つトークンが、制限付きの権限とファイルレベルのスコープ (省略可) に置き換えられます。cURL
| スコープ | 説明 |
|---|---|
item_preview | ファイルのプレビュー |
item_download | ファイルをダウンロード |
base_preview | 基本的なプレビュー (Box Content Preview UI Element) |
annotation_edit | 注釈の編集と削除 |
annotation_view_all | すべての注釈の表示 |
セキュリティのベストプラクティス
Platformアプリの安全性を確保するために、以下のガイドラインに従ってください。- クライアントシークレットまたはアクセストークン全体をクライアント側のコードで公開しないようにしてください。トークンは、ブラウザに送信する前に常にダウンスコープします。
- 資格情報は安全に保存します。クライアントID、クライアントシークレット、Enterprise IDには、環境変数またはシークレットマネージャを使用してください。
- 企業全体でのコンテンツアクセスが特に必要でない限り、[アプリケーションアクセス] は [アプリアクセスのみ] に設定しておきます。
- 必要なCORSドメインのみを追加します。許可リストは、ブラウザ側のAPIコールを実際に実行するドメインに制限してください。
従来のアクセス制限付きアプリ
アクセス制限付きアプリでは、アプリトークン認証を使用します。アプリトークン認証では、開発者コンソールで手動で生成された、有効期間の長い固定のトークンペア (プライマリおよびセカンダリ) が提供されます。この方法は、プログラムによるトークン管理、自動更新、全Box APIへのアクセスが可能なCCGおよびJWT認証に置き換えられつつあります。既存のアクセス制限付きアプリを使用している場合は、以下の手順に従って、新しいCCGまたはJWT認証アプリにコンテンツを移行してください。- 上記の手順に従って、CCGまたはJWTを使用する新しいPlatformアプリを作成します。
- コンテンツを新しいアプリのサービスアカウントに再アップロードします。または、コラボレーションを使用して既存のコンテンツを共有します。
- ハードコードされたアプリトークンを、プログラムによるCCGまたはJWTトークンの取得に置き換えます。
- ダウンスコープされたトークンのコールを更新します。
フローは同じで、の値のみが変わります。
