こんにちは、SCSKの柳原です。
今回の技術ブログでは、Dropboxのメンバー管理と認証について紹介します。
メンバーとグループ
Dropbox Businessではチームで一緒に仕事をする人をチームに招待し、アカウントを割り当てます。チームに招待された人をDropboxでは、チームメンバーと呼びます。
一人ひとりにアカウントを割り当てることによって、フォルダやファイルといったDropboxに保存されたコンテンツへのアクセス権限もメンバー単位で設定できます。また、いつ誰ががどんな操作を行ったかをログで確認できるようになりますので、セキュアな情報共有が可能となります。
また、一つのファイルに対して100人のメンバーにアクセス権限を与えるような場合、一人ひとりアクセス権限を付与するのは結構な手間です。そのようなときは、「グループ」を利用すると便利です。組織やプロジェクト毎にグループを用意し、関わりのある人をグループメンバーとして登録しておけば、グループを使ってアクセス権限を付与でき、とても楽になります。グループでアクセス権限を付与していた場合、グループメンバーの入れ替えで自動的にコンテンツのアクセス権限も変わります。
Dropboxでメンバー管理
メンバーの招待は、Dropbox管理者が dropbox.com にアクセスし、ブラウザ画面上で行います。
ユーザ登録
メンバー登録で入力する情報は下記のとおりです。
招待画面では、複数のメールアドレスを指定できますので、まとめて複数のメンバーを登録することも可能です。それでも、100人規模でメンバーを招待するにはブラウザ操作では大変なので、そのような場合は次に紹介するCSVファイルを使った一括登録機能を使うといいでしょう。
CSVファイルで一括登録
入社や入学の季節には、一度に大人数のメンバー招待を行う必要があります。このような場合、メンバー招待用のCSVファイルを使って、一括でメンバー登録すると簡単です。
CSVファイルの書式は非常に簡単で、下記の書式となっています。
メールアドレス,名,姓,グループ
CSVファイルを使った一括登録もDropbox管理者がブラウザでdropbox.comにアクセスして行います。用意したCSVファイルをインポートすれば、メンバーの一括登録完了です。
CSVファイルを使ったメンバー一括登録
Dropboxでグループ管理
グループの作成やグループメンバーの管理は、Dropbox管理者が dropbox.com にアクセスし、ブラウザ画面上で行います。
グループ作成
グループを作成したあと、グループメンバーを登録します。
グループメンバー登録
グループメンバーの追加画面では、登録したいメンバーの名前やメールアドレスの一部を入力すると、入力した内容にマッチするメンバーが選択肢として表示されるので、簡単に登録するメンバーを指定することができます。
グループメンバーの登録もユーザーの招待と同じく一度に大人数のメンバーを登録する場合、一人ずつ指定するのはかなり大変です。この場合、後で紹介するActive Directoryと連携させて運用するのを推奨します。
また、事前にグループを作成している場合、メンバー登録用CSVファイルで登録したいグループを指定することで、メンバー登録と同時にグループ登録もできます。
アカウントの一元管理とID連携
企業では様々な社内システムやクラウドサービスを利用しています。これらのアカウントをシステム毎に別々に管理していてはシステム管理者の負担が大きく、大変です。この問題を解決する方法として、ID管理システムを用いたアカウントの一元管理が挙げられます。
アカウント一元管理のイメージ図
ID情報を一元管理した場合も、各システムにおいてユーザーができること(認可)を制御するためシステム上にアカウントを作成する必要があります。このため、ID管理システムから各システムへユーザー情報などを連携(プロビジョニング)する必要があります。
Active Directoryとの連携
Dropboxでは、Active Directoryと連携することができます。Active Directoryのユーザー情報、グループ情報をDropboxに連携します。
DropboxとActive DirectoryのID連携
AD連携でできること
- メンバーの登録
- メンバーの削除
- グループの作成
- グループメンバーの追加
- グループメンバーの削除
- グループの削除
AD連携でできないこと
- パスワードの連携
- Dropboxで作成したユーザー/グループをActive Directoryに反映すること
Microsoft Azure Active Directory(以下、Azure AD)との連携
Azureサービスの一つであるAzure ADにはクラウドサービスへのID連携機能があります。この機能を活用することで、Azure ADのユーザー情報、グループ情報をDropboxに連携することが可能です。
Azure AD連携でできること
- メンバーの登録
- メンバーの削除
- グループの作成
- グループメンバーの追加
- グループメンバーの削除
- グループの削除
Azure ADの認証サービスと連携することで、パスワードの一元管理も可能です。ただし、これらの連携機能をすべて活用するには、Azure AD Premium 1以上のライセンスが必要となります。
OneLoginとの連携
クラウド認証サービスの一つである OneLogin にもDropboxとのID連携機能があり、ユーザー情報、グループ情報を連携できます。
また、OneLoginとLDAP、Active Directory、Azure ADなどのディレクトリサービスとの連携も可能で、これらのディレクトリサービスにアカウントを作成すると、自動的にOneLoginにもアカウントが作成され、またクラウドサービスにもアカウントが作成されます。
OneLoginとのID連携
OneLogin連携でできること
- メンバーの登録
- メンバーの削除
- グループの作成
- グループメンバーの追加
- グループメンバーの削除
- グループの削除
他にもクラウド認証サービスからDropboxにID連携できるサービスがあります。
- Google Cloud Identity
- okta
など
ID連携の裏側にはDropbox APIが
Active DirectoryとのID連携も、Azure ADとのID連携も、裏側ではDropbox API を使ってID連携機能が実現されています。
Dropbox API機能:
- メンバー管理 (招待、削除、情報修正)
- グループ管理 (作成、削除、グループメンバー追加/削除)
Dropbox APIで独自のID連携ツールを開発すれば、LDAPやその他のID管理システムとDropboxのID連携を実現することが可能です。
ここで紹介したID連携はDropboxのメンバー作成、グループ作成などメンバーとグループの管理に限られます。しかし、実際にDropboxを運用する上では、グループ作成と同時にそのグループで利用する共有フォルダを用意したり、さらに作成したフォルダのアクセス権限をグループに付与したりと、同時にいろいろな設定ができたほうが効率的にシステム運用できます。このような複雑な連携も Dropbox API を使ったツールを開発することで実現可能です。
認証と認証連携
Dropboxのユーザー認証機能
Dropboxのユーザー認証は、メールアドレスとパスワードで行います。
メールアドレスはID連携でID管理システムからDropboxに連携できましたが、パスワードは招待されたユーザー本人が別途Dropboxで設定する必要があります。このようにID連携できたとしても、パスワードはID管理システムから各システムに連携することはできません。
このため、ユーザーはシステム毎にパスワード設定する必要があり、多くのパスワードを管理しないといけません。このように沢山のパスワードを管理する場合、すべて同じパスワードを設定し、セキュリティ的に好ましくない状況となってしまいがちです。
認証連携
この問題を解決するために、Dropboxでは認証基盤システムと連携することが可能です。認証基盤システムと認証連携すると、Dropboxのユーザー認証の代わりに認証基盤システムで認証行うようになります。DropboxはSAML2.0のシングルサインオン・プロトコルに対応しています。
Dropboxと連携可能なSaaS型認証基盤システム:
- Azure Active Directory
- Google Cloud Identity
- HENNGE One
- OneLogin
- CloudGateUNO
- サテライトオフィス シングル・サイン・オン
- NextSet シングル・サイン・オン
- Okta
など多数あります。
認証基盤サービスとの連携メリット
Dropboxの認証方法は、IDとパスワードによるパスワード認証やワンタイムパスワードを用いた多要素認証機能がありますが、認証基盤サービスでは、充実した認証機能、アクセス制限機能を提供しており、よりセキュアにDropboxなどのクラウドサービスを利用できるようになっています。
認証システムとの連携で実現できるセキュリティ対策
- いろいろなタイプの多要素認証
- クライアント証明書によるアクセス端末制限
- アクセス元IPアドレスによるアクセス制限
など
実際にユーザープロビジョニングをやってみた
ここで、Microsoft Azure ADからDropboxへのユーザープロビジョニングに挑戦したいと思います。
ここでは Microsoft 365(以下、M365) の無償トライアルを申し込み、M365に含まれるAzure ADライセンスで検証してみたいと思います。
M365の準備
まず最初に、M365の1ヶ月無償トライアルをこちらのページから申し込みます。申し込みにはクレジットカードの登録が必要で1ヶ月を経過すると自動的に有償に切替わるため、検証が目的な場合、30日以内にキャンセルが必要です。
Microsoft 365のプラン一覧とトライアル申込み
M365のポータル画面にログインしたら、画面左に表示されてるメニューアイコンから一番下の「管理」アイコンをクリックします。M365管理センターが表示されたら、左上にあるナビゲーションメニューを開き、さらに[すべてを表示]をクリックします。すると、[Azure Active Directory]の項目が表示されるので、これをクリックし、Azure AD管理センター画面を開きます。
M365ポータル画面
M365管理センター画面
Azure AD 管理センター画面
Dropbox Businessへのユーザープロビジョニング設定をする
Azure ADから他のクラウドサービスとユーザープロビジョニング連携やSSO認証連携する場合、Azure AD管理センター画面で連携したいクラウドサービスを「アプリ」として登録します。ここではAzure ADとDropboxを連携したいので、Dropbox のアプリを登録する必要があります。
メニューからエンタープライズアプリケーションを選択し、新しいアプリケーションとして「Dropbox Business」を登録します。アプリの登録ができたら、アプリ一覧から「Dropbox Business」アプリを選択します。
Dropboxアプリの概要画面
Dropbox Business アプリの画面から「3.ユーザーアカウントのプロビジョニング」を選択し、ユーザープロビジョニングに必要な設定を行います。Dropboxには同じブラウザで事前に「チーム管理者」アカウントでログインしておくと設定がスムーズに進みます。
プロビジョニング設定画面
プロビジョニングの設定が終わったら、[プロビジョニングの開始]をクリックし、自動プロビジョニングを開始します。
プロビジョニング画面
ユーザーはプロビジョニングされるのか?
Azure ADの設定が終わったので、早速Azure ADのユーザーがDropboxにプロビジョニングされるか確認してみましょう。
Azure ADを使ったユーザープロビジョニングの流れは次のようになります。
Azure ADでのプロビジョニングの流れ
それでは、Azure ADにユーザーを登録します。
Azure ADへのユーザー登録
次に、登録したユーザーにDropbox Businessアプリを割り当てます。
ユーザーへのDropbox Businessアプリ割当
ユーザーへDropbox Businessアプリを割り当てると、自動的にDropboxにユーザーがプロビジョニングされます。プロビジョニング処理は一定間隔で処理されますので、その時間までお茶でも飲みながら待ちましょう。
プロビジョニング状況
プロビジョニングの時間になったら、プロビジョニング画面を更新します。
無事に先程登録した1アカウントがプロビジョニングされたことがわかりますね。
プロビジョニング結果
Dropboxでもユーザーが作成されているか確認してみましょう。チーム管理者アカウントでDropboxにログインし、「管理コンソール>メンバー」のページでプロビジョニングされたはずのアカウントを検索してみます。
Dropbox管理コンソールでの確認
確かに、Dropboxにアカウントがプロビジョニングされていることを確認できました。
ここまでの課題
Azure ADからDropboxに自動プロビジョニングするには、いくつかの課題があります
- Azure ADにユーザーアカウントを登録する必要がある。
- ユーザーにDropbox Businessアプリを割り当てる必要がある。
- グループのプロビジョニングはできない
課題1 のユーザーアカウントの登録については、オンプレミスのActive DirectoryからAzure AD Connectorを利用して自動的にユーザー/グループを作成することが可能です。
オンプレADからAzure ADへのID連携
課題2のユーザーにDropbox Businessアプリを割当てる作業を自動化するには、2つの解決策があります。1つは、Azure AD Premium1 ライセンスから利用可能な「動的グループ」を活用する方法です。Azure ADのこの機能を利用すると、Azure ADにユーザーアカウントが作成された後、そのユーザーにDropbox Businessアプリを自動的に割当てることが可能です。
2つ目は、PowerShellを使ってAzure ADのアプリ割当を行う方法です。アプリ割当を行うPowerShellバッチを作成し、定期的に実行することで、自動的なアプリ割当が実現できます。
課題3のグループのプロビジョニングですが、こちらはAzure AD Premium1ライセンスからプロビジョニング可能となっております。
プロビジョニングしてみた結果
Azure AD Free(M365無償トライアルで利用可能なライセンスでは Azure AD Premium1の機能は利用できませんでした)でも、ユーザープロビジョニングを実現することは可能ですが、完全自動化には至らず、手作業が必要だったり、できないこともあります。
完全自動化には、Azure AD Premium1 ライセンスが必要です。
まとめ
今回は、DropboxとのID連携、SSO認証連携について紹介しました。
ID連携、SSO認証連携でDropboxの運用管理の効率化、セキュリティ向上を目指してはいかがでしょうか。