メインコンテンツへスキップ

概要

目的このガイドの目標は、Boxの管理対象ユーザーのプロビジョニング解除に必要なAPIコールについて説明することです。 実行する必要がある特定のAPIコールの概要を、以下で説明します。 注意事項このガイドは、APIコールを行うスクリプトやアプリケーション内でビジネスロジックを構築する方法については扱いません開発者向けポータルには、複数のウェブプログラミング言語の便利なSDKが用意されていますので、活用してください。

プロビジョニング解除用のBox Command Lineツール

ユーザーのプロビジョニング解除を1回だけ行い、SDK管理プロセスをセットアップしたくない場合は、Boxのコマンドラインツールの機能を使ってユーザーをプロビジョニング解除します。 開発者は、コマンドラインを使ってアプリケーションを簡単に操作できます。 Box CLIツールの使用を始めるには、Getting Started (はじめに) ドキュメントを確認してください。 この方法を採用して、SDKを使わずにユーザーをプロビジョニング解除する場合は、前提条件セクションを飛ばしてプロビジョニング解除プロセスセクションに進んでください。

前提

アプリの作成作業を始める前に、Boxの開発者向けポータルにBoxアプリがセットアップされていることを確認してください。 このプロセスにはBox Developers入門ガイドが参考になります。すぐに作業を始めたい場合は、アプリの作成へ進んでください。 認証 題の1つが、認証です。 BoxではOAuth 2.0を使用して、特定のユーザーとしてBoxでアクションを実行するアプリを承認します。 この場合、そのユーザーはBoxインスタンス内で何らかの管理者 (または共同管理者) である必要があります。 OAuthプロセスを理解することは大変なので、まずOAuthを使用した認証ガイドを参照してください。 OAuth認証プロセスによりアクセストークンとリフレッシュトークンが生成されます。アクセストークンは、Boxに対して実行するすべてのAPIコールで使用します。 As-User機能 下記の特定のステップでは、アプリケーションは管理対象ユーザーとしてAPIコールを実行できる必要があります。 これは、Box開発者コンソールの [構成] タブで有効にできます。 JWT認証を使用している場合は、必ずアプリケーションを再承認し、新しいトークンペアを取得して、変更を有効にしてください。 サービスアカウント ユーザーのコンテンツを別のBoxユーザーに移してから削除したい場合、スクリプトを実行する前に該当ユーザーのアカウントをBoxに作成する必要があります。 また、そのユーザーのBoxユーザーIDを入手する必要もあります。これは、会社ユーザーを取得するエンドポイントを呼び出すことでプログラム的に取得できます (あるいはBox担当者にお問い合わせください)。

プロビジョニング解除プロセス

Boxのユーザーをプロビジョニング解除するには、いくつかの手順があります。 これらの手順は、ユーザーが所有する既存コンテンツをどう管理するかによっては省略できます。 また、必要な手順はそのコンテンツの扱い方に応じて変わります。 考えられるすべての手順の概要を以下に示します。
  • ユーザーを非アクティブステータスにする
    • この操作により、ユーザーは即座にすべてのアプリ (Box Sync、Mobileなど) からログアウトします。
    • このユーザーが所有するフォルダのコラボレータは、そのユーザーが非アクティブになっている間、コラボレーションしているコンテンツにアクセスできなくなります。
  • 残っているコンテンツを汎用サービスアカウント (または別のユーザー) に移す
  • ユーザーアカウント (およびアカウントに残っているすべてのコンテンツ) を削除またはダウングレードする
必要なすべてのAPIコールを含む各手順の詳しい説明については、以下の各セクションを参照してください。

ユーザープロビジョニング解除用のBox Command Lineの使い方

操作コマンドライン入力
1.Box内の全ユーザーをリストアップする$ box usersフォーマットするには「—csv」フラグを追加します。 ファイルに保存するには「-s」を追加します。
2.単一のユーザーが所有するコンテンツを移行する$ box users:transfer-content {USERID} {NEWUSERID}
3.1回の操作で複数のユーザーのコンテンツをまとめて移行する$ box users:transfer-content —bulk-file-path=’./example.csv’想定される入力 (例): 546781,100001 この操作により、ユーザー「546781」のコンテンツがユーザー「100001」に移動します。
4.単一のユーザーを削除する$ box users:delete {USERID}
5.1回の操作で複数のユーザーをまとめて削除する$ box users:delete —bulk-file-path=’./example.csv’想定される入力 (例): 546781 この操作により、IDが「546781」のユーザーが削除されます。

ユーザープロビジョニング解除用のBox SDKの使い方

Box内の全ユーザーのリストを取得する ユーザーをプロビジョニング解除するには、Boxでユーザーを非アクティブ化および/または削除する必要があります。 Active Directoryで非アクティブ化されているBoxユーザーを把握するには、BoxユーザーのステータスとActive Directoryユーザーのステータスを比較します。 以下の手順で、ユーザーIDとメールアドレスを含むBox内の全ユーザーのリストを取得できます。 このメールアドレスを使用してActive Directoryをポーリングし、そのユーザーが非アクティブ化されているかどうかを確認します。 非アクティブ化されていた場合、本ガイドの続きの部分にはBoxユーザーIDを使用します。 コールはすべて管理者アカウントから実行する必要があることに注意してください。
 
操作
API URLエンドポイント
(ドキュメントへのリンク)
補足
1.
処理対象のBoxユーザーIDを探す
リクエストURLパラメータ (省略可)
  • filter_term={email_address}
  • 該当ユーザーのユーザーオブジェクトのみが返されます。
応答:
  • ユーザーオブジェクト。 該当ユーザーのログイン情報 (メールアドレス) とユーザーIDが含まれます。
残っているコンテンツを汎用サービスアカウントに移す ユーザーのアカウントに残っているコンテンツ (または、この時点までコンテンツに影響を与えていない場合はすべてのコンテンツ) を汎用サービスアカウントに移すことができます。 この操作を行うには、そのユーザーがBoxの既存ユーザーであり、そのユーザーのユーザーIDを把握している必要があります (上記「前提条件」参照)。 また、ユーザーの全コンテンツを格納するコンテナフォルダを作成する必要があります。こうすることで、以前そのフォルダで所有されていたコンテンツを今後検索しやすくなります。 コールはすべて管理者アカウントから実行する必要があることに注意してください。
 
操作
API URLエンドポイント
(ドキュメントへのリンク)
補足
1.
ユーザーのすべてのコンテンツをサービスアカウントに移す
*{USER_ID}には、コンテンツを移すユーザーのBox ID (上記の手順で取得) を指定します。
リクエストボディパラメータ:
  • owned_by: { id:<サービスアカウントのUSER_ID> }
応答:
  • ステータスコード: 200とフォルダオブジェクト。 このオブジェクトには、新規作成されたフォルダのフォルダIDが含まれます。
2.
ユーザーのメールアドレスを含むフォルダ名に変更する
(省略可)
リクエストヘッダー:
  • As-User: <サービスアカウントのUSER_ID>
  • これは、アプリケーションで認証するユーザーによっては省略できます。
リクエストボディパラメータ:
  • folder_id: <上記の前の呼び出しで返されたフォルダID>
  • name: <任意の新しいフォルダ名>
  • 以前のユーザーのメールアドレスやその他の属性を含めておくと、追跡が容易になります。
応答:
  • ステータスコード: 200。 フォルダ名が正常に更新されたことを示します。 フォルダが正常に更新されなかった場合、手動で名前を変更するようフォルダにフラグが付けられます
サービスアカウントに移した後の新規作成フォルダに関するその他の情報 フォルダ移動エンドポイントで新規作成したフォルダには、次の属性があります。 Folder Name (フォルダ名): [ユーザー名] のファイルとフォルダ Folder Description (フォルダの説明): このフォルダには、[ユーザー名] が以前所有し、エンタープライズ管理者によって転送されたファイルが格納されます。 ご質問がある場合は、[エンタープライズ管理者の名前とメールアドレス] にお問い合わせください。 ユーザーを削除またはダウングレードするユーザーをプロビジョニング解除するには、Boxでユーザーを非アクティブ化および/または削除する必要があります。 非アクティブ化は、ユーザーをプログラムで削除する場合は省略できる最初の手順です。ただし、ユーザーをプログラムで削除しない場合、これは最低限必要な手順となります。 ユーザーを非アクティブ化すると、そのユーザーは即座にすべてのアプリ (Box Sync、Mobile、サードパーティ製アプリなど) からログアウトします。 また、ユーザーのすべてのコンテンツが一時的に凍結されます。 このユーザーが所有するフォルダのコラボレータは、そのユーザーが非アクティブになっている間、コラボレーションしているコンテンツにアクセスできなくなります。 非アクティブステータスは、ユーザーのコンテンツの移動先を判断する間の「保持期間」として一時的にのみ使用されます。 コールはすべて管理者アカウントから実行する必要があることに注意してください。
 
操作
API URLエンドポイント
(ドキュメントへのリンク)
補足
1.
ユーザーを削除する
リクエストボディパラメータ:
  • notify: true/false
  • アカウントの削除についてユーザーにメールで通知するかどうかを指定します。
  • force: true
  • ユーザーがまだコンテンツを所有していても削除するかどうかを指定します。
応答:
  • ステータスコード: 204。 ユーザーが正常に削除されたことを示します。
または
 
操作
API URLエンドポイント
(ドキュメントへのリンク)
補足
1.
ユーザーを「Lite」(無料) アカウントにダウングレードする
リクエストボディパラメータ:
    • enterprise: null
      • ユーザーのアカウントをBox Enterprise外に移します。
応答:
  • ステータスコード: 200ユーザーが正常にダウングレードされたことを示します。
    • 注: リテンションポリシーまたはリーガルホールドポリシーがある場合、ダウングレードすることはできません

その他の考慮事項

  • スクリプトの実行対象となるユーザーを判断する手段が必要です。
  • 特定の操作でスクリプトを開始しますか?  それとも、スクリプトを定期的に実行して、非アクティブ化の対象となるActive Directory内のユーザーを確認しますか?
  • スクリプトを実行するユーザーのログイン情報 (メールアドレス) を取得する手段か、そのユーザーのBoxユーザーIDが必要です。