Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

【デブサミ夏AL】グリーのboxの使い方

1,803 views

Published on

Developers Summit 2015 Summer ランチセッション亀井様の資料です

Published in: Technology
  • Be the first to comment

【デブサミ夏AL】グリーのboxの使い方

  1. 1. Copyright © GREE, Inc. All Rights Reserved. グリー  の  boxの使い⽅方 Copyright © GREE, Inc. All Rights Reserved.
  2. 2. About me • グリー株式会社の亀井と申します • Python®で社内用のプロダクトを開発しています • TNTというチームに所属しています
  3. 3. TNT ? Copyright © GREE, Inc. All Rights Reserved.
  4. 4. TNTチームのお仕事 • Tool And Technology の略です • 社内の中の人が使うツールやシステムを作っています • 社内画像共有ツール+サイトの構築 • 人事が利用する360度評価用サイトの構築 • 社内用 github のサービス運用 • その他色々! Copyright © GREE, Inc. All Rights Reserved.
  5. 5. そして 情シス向けに ツールを作ることも
 あります Copyright © GREE, Inc. All Rights Reserved.
  6. 6. 今回はboxの魅力と グリーでのboxに対する 取り組みに
 ついてお話します Copyright © GREE, Inc. All Rights Reserved.
  7. 7. GREEでは Web Game Native Game Copyright © GREE, Inc. All Rights Reserved.
  8. 8. WebGameでは images (.psd, .ai) other Copyright © GREE, Inc. All Rights Reserved. .swf
  9. 9. 一方NativeGameでは images Sounds 3D assets 3D Copyright © GREE, Inc. All Rights Reserved. other
  10. 10. ファイルサーバーが爆発寸前 Copyright © GREE, Inc. All Rights Reserved.
  11. 11. そこで     Copyright © GREE, Inc. All Rights Reserved. ですよ
  12. 12. boxの魅力 Copyright © GREE, Inc. All Rights Reserved. • 容量無制限(ビジネスの場合) • ファイルをいくらでも置くことができる • セキュリティ • ファイルはAES256で暗号化される • ISO27001取得済 / HIPPAに準拠している • 外部との共有機能 • 会社からOKと言われたツールで外部共有をすることができる
  13. 13. それだけじゃない! Copyright © GREE, Inc. All Rights Reserved.
  14. 14. Developer love API Copyright © GREE, Inc. All Rights Reserved.
  15. 15. API が使える!!! Copyright © GREE, Inc. All Rights Reserved.
  16. 16. 例 box上のフォルダーの中に入っている 全てのアイテムのURLを取得したい Copyright © GREE, Inc. All Rights Reserved.
  17. 17. 少なければ手動で良いけど・・ Copyright © GREE, Inc. All Rights Reserved.
  18. 18. APIを叩きましょう! • 数行程度のスクリプトで簡単に扱うことができる • VBAマクロでもやろうと思えば行けます Copyright © GREE, Inc. All Rights Reserved.
  19. 19. Postmanを使ってみる Copyright © GREE, Inc. All Rights Reserved.
  20. 20. これだけ Copyright © GREE, Inc. All Rights Reserved.
  21. 21. とれた! Copyright © GREE, Inc. All Rights Reserved.
  22. 22. 汎用的な物にしたいのなら.. 各言語のbox sdkを利用してAPIを操りましょう :) Copyright © GREE, Inc. All Rights Reserved.
  23. 23. from boxsdk import Client, OAuth2 def main(): oauth = OAuth2(client_id='CLIENT ID , client_secret='SECRET',access_token=TOKEN') client = Client(oauth) offset, limit = 0, 100 get_items = list() while True: items = client.folder(folder_id= FOLDER_ID').get_items(limit=limit, offset=offset) if not len(items): break offset += limit for item in items: get_items.append(item) for item in get_items: print("'{}', 'https://box.com/files/0/f/{}'".format(item.name, item.object_id)) if __name__ == "__main__": main() Pythonでの例
  24. 24. ドキュメントも充実 • https://box-content.readme.io/ • 日本語訳も作るという Copyright © GREE, Inc. All Rights Reserved.
  25. 25. 最高 Copyright © GREE, Inc. All Rights Reserved.
  26. 26. しかし、問題が… Copyright © GREE, Inc. All Rights Reserved.
  27. 27. 外部共有機能 • box自体は安全に利用可能 • ISO27001取得済 / HIPPAに準拠している • 共有先ドメインも縛ることができる • 問題はbox ではなく 利用者 Copyright © GREE, Inc. All Rights Reserved.
  28. 28. Copyright © GREE, Inc. All Rights Reserved. 招待先を入力するだけ
  29. 29. 考えると… • 事故 • 共有先の指定ミス / フォルダの指定ミス • 権限の付与ミス(所有者にしてしまった等) • 事件 • 故意にコラボレーターを追加 Copyright © GREE, Inc. All Rights Reserved.
  30. 30. 人が介入することにより 情報漏洩リスクが生まれる Copyright © GREE, Inc. All Rights Reserved.
  31. 31. どうやって防ぐか? • 無闇にコラボレーターを追加しない • 外部共有を切ってしまう • 重要な情報を box で扱わない Copyright © GREE, Inc. All Rights Reserved.
  32. 32. ではどうするか? Copyright © GREE, Inc. All Rights Reserved.
  33. 33. 見張る • 誰 が 何処 を 誰 に共有したか? • 共有先は、本当に共有しても良い人か? Copyright © GREE, Inc. All Rights Reserved.
  34. 34. 可能だけど 人の手では無理!
  35. 35. APIを活用して
 見張るを自動化する Copyright © GREE, Inc. All Rights Reserved.
  36. 36. How? • 誰 が 誰 に対して共有したかを調べる • 共有先が問題ない人かを調べる • 問題があればコラボレータから削除する
 (&アラートメールを送信する) Copyright © GREE, Inc. All Rights Reserved.
  37. 37. Enterprise Event • 契約している企業のboxの中で何が行われたかをス トリームとして取得できる Event Type List GROUP_ADD_USER REMOVE_DEVICE_ASSOCIATION ITEM_SHARED_UPDATE NEW_USER TERMS_OF_SERVICE_AGREE UPDATE_SHARE_EXPIRATION GROUP_CREATION TERMS_OF_SERVICE_REJECT SHARE_EXPIRATION GROUP_DELETION COPY UNSHARE DELETE_USER DELETE COLLABORATION_ACCEPT GROUP_EDITED DOWNLOAD COLLABORATION_ROLE_CHANGE EDIT_USER EDIT UPDATE_COLLABORATION_EXPIRATION GROUP_ADD_FOLDER LOCK COLLABORATION_REMOVE GROUP_REMOVE_USER MOVE COLLABORATION_INVITE GROUP_REMOVE_FOLDER PREVIEW COLLABORATION_EXPIRATION ADMIN_LOGIN RENAME ITEM_SYNC ADD_DEVICE_ASSOCIATION STORAGE_EXPIRATION ITEM_UNSYNC FAILED_LOGIN UNDELETE LOGIN UNLOCK UPLOAD SHARE COLLABORATION_INVITE! Copyright © GREE, Inc. All Rights Reserved.
  38. 38. DEMO Copyright © GREE, Inc. All Rights Reserved.
  39. 39. まとめ • 容量無制限はまさに企業、ひいては人類の夢 • セキュリティも万全 • 良いアイディアでストレージをHackできる • ミスを怖がるのではなく、ミスをリカバーできる
 施策を常に考えられる環境を整える Copyright © GREE, Inc. All Rights Reserved.
  40. 40. Happy coding ;) Copyright © GREE, Inc. All Rights Reserved.

×