Box共有リンクパスワード必須化サービス
Boxの標準機能にない共有リンクパスワード必須化機能を、AWS上のマネージドサービスを活用して開発しました。
- プロジェクト名・製品名
- GrantDrive for Box (Box共有リンクパスワード自動付与サービス)
- 商品公式サイトURL
- https://grantdrive.jp/
- 技術
- Amazon Route 53、Amazon CloudFront、Amazon S3、Amazon API Gateway、AWS Lambda、Amazon DynamoDB、AWS Secrets Manager、Amazon CloudWatch、Amazon SQS、AWS Step Functions、Amazon SES
- 担当範囲
- システム開発、インフラ構築、アプリケーション修正、運用管理サービス
- カテゴリ
- AWS活用支援
story
課題・ニーズ
メール添付と同じようにパスワード保護を強制化したい
Boxはビジネスユース実績でトップシェアを誇る米国のクラウドコンテンツ管理とファイル共有のサービスです。
セキュリティ、監査機能、ユーザビリティの高いGUIが評価され、日本でも急速にシェアを伸ばしています。
弊社フォージビジョンもBoxパートナーとして数多くのお客様に導入させていただいておりますが、過去に何度かお客様より次のようなご質問をいただくことがありました。
・社内規定で、メールの添付ファイルはパスワード保護をすることとしている。この規定に添って利用するためにはどうすれば良いか?
・今、添付ファイルにパスワードを設定せずにメール送信すると、自動的にパスワードをかけるシステムを導入している。Boxでも同じく自動的にパスワードを設定するためにどうすれば良いか?
社外の方とBoxでファイルを共有する場合、共有リンクを作成してメールの本文に記載したり、コラボレーションという機能を使って社外アカウントと共有する方法があります。共有ファイルにパスワードを設定することもできますが、強制する機能はありません。
Box APIを使って機能を拡張
弊社は、ソフトウェア開発会社である強みを活かし、お客様のニーズを実現する為、Box APIを活用したパスワード自動化サービスを開発しました。
Box APIを利用して監視し、パスワード保護が施されていないフォルダとファイル(オブジェクト)に対して、自動でパスワードを設定します。設定したパスワードは、ファイルの保有者(更新者)に通知されます。
AWSをフル活用し柔軟性・拡張性の高いサービスへ
サービスは開発して終了ではありません。お客様のニーズを継続的に取り入れ、更に多くのお客様のビジネスを支援するものでなければなりません。弊社はAWS APNアドバンスドコンサルティングパートナであり、多くのAWS技術者が所属しております。開発エンジニア、AWSソリューションアーキテクトが連携し、以下のアーキテクチャにもとづきサービスを開発しました。
・AWS Lambda:イベント履歴取得、Box APIリクエスト
・Amazon DyanamoDB:Lambda関数の処理実行情報を格納
・AWS SecretManager:秘匿性の高いパラメータを保持
・Amazon SQS:非同期処理用メッセージキューイング
・Amazon CloudWatch:イベント発火用
・AWS Step Functions:機能毎Lambdaのジョブ制御
・Amazon SES:通知メール送信用MTA
「パスワード設定が施されていないオブジェクトにパスワードを設定する」というシンプルな機能ですが、拡張性、柔軟性を損なわないシステムとするため Lambda関数ごとの処理ボリューム、同時実行数の試算、Step Functionsによる制御範囲など試行を重ね、リリースまでイテレーションを回すアジャイル開発で進めています。
エンドユーザーの使い勝手を向上させるため管理画面を用意
更に、除外フォルダやイベント検知頻度を変更できる管理画面も開発しました。シンプルで直観的な管理画面を用意することで、導入企業の管理者様が簡単に設定変更を行っていただけるようになりました。
・Amazon S3:静的コンテンツ格納用
・Amazon CloudFront:コンテンツキャッシュ
・API Gateway:フロントエンドからのAPIリクエスト処理
(フロントエンドはReactで実装)
AWS運用管理のノウハウでサービス信頼性を強化
ここまでの開発で機能としては十分ですが、サービスの信頼性を強化するため、フォージビジョン AWS運用管理サービスにて本サービスを運用・監視をしております。AWS認定技術者資格をもつAWSエンジニアがお客様の環境と同様に本サービス環境も運用しております。
ポイント
・ソフトウェア開発+AWSエンジニアのコラボレーション
・AWSマネージドサービスをフル活用した構成
・サーバレスで可用性、拡張性を確保
・アプリケーションからAWSまで全てをカバー