連載
» 2014年12月22日 18時00分 UPDATE

基礎から分かるActive Directory再入門(10):Active Directoryとクラウドの連携

今回は、オンプレミスとクラウドを並行して利用する際のActive Directoryの効果的な活用方法と、将来におけるクラウド連携を考慮した管理方法を紹介する。

[国井傑(MVP for Directory Services),株式会社ソフィアネットワーク]

連載インデックス入れる

「基礎から分かるActive Directory再入門」のインデックス

連載目次

管理範囲はドメインを越えて

 本連載では、Active Directoryの管理単位は「ドメイン」であり、一つのドメインで全てを管理できるように設計、実装、運用すべきであると説明してきた。そうすれば、一度ユーザー名とパスワードを入力するだけで、ドメイン内の全てのサーバーにアクセスできるようになるからだ。

 しかし、クラウドが登場した現在は、クラウドのサービスにアクセスするたびに、いちいちユーザー名とパスワードを入力しなければならないのが現実である。IT管理者は、社内システムもクラウドサービスも管理しなければならないのだ。

 このような状況で、Active Directoryとクラウドをどのように管理していけばよいのだろうか。今回は実際に活用できる二つの方法を例に、オンプレミスとクラウドの管理テクニックを紹介する。

オンプレミスとクラウドでID情報を同期する

 Active Directoryだけでなく、クラウド側にもID情報を作成して管理しなければならない状況では、Active Directoryとクラウドで「同じユーザー名」となるようにID情報を構成する。

 この方法ならば、ユーザーはActive Directoryとクラウド、二度のサインイン操作が必要になるが、両方とも同じユーザー名を入力すればよいので、利用時の負担は軽減できる。具体的な実現方法は、以下のようになる。

Active DirectoryのID情報をCSVファイルにエクスポートし、クラウド側でインポートする

 本連載第8回「ユーザー管理再入門[Part2]〜複数のユーザーを一括作成する方法〜」でも紹介したように、Active DirectoryのID情報は「CSV」(Creating Shared Value:カンマ区切り)ファイルにエクスポートできる。CSVファイルへのエクスポートには、「csvde」コマンドを利用する。csvdeコマンドの入手、インストール方法などは、以下の記事を参考にしてほしい。

 下記のコマンド例では「example.com」ドメインの「employee OU」に保存されているオブジェクトをエクスポートして、「users.csv」ファイルに出力している。

csvde -d "ou=employee,dc=example,dc=com" -f users.csv


 CSVファイルのクラウド側でのインポート方法は「Google Apps」を例に説明する。Active DirectoryからエクスポートしたCSVファイルと、Google Appsで利用できるユーザー登録用のCSVファイルではフォーマットが異なるため、インポート前にCSVファイルを編集する必要がある。

 Google Appsのユーザー登録用CSVファイルは、一番左の列から「First Name」「Last Name」「Email Address」「Password」の順番で並ぶため、エクスポートしたCSVファイルの列を並び替える(画面1)。また、csvdeコマンドではパスワードはエクスポートされないので、手動で入力する必要がある。

画面1 画面1 「csvde」コマンドで生成されたCSVファイルの項目をGoogle Appsのユーザー登録用CSVファイルのフォーマットに合わせて並び替える

 登録するID情報の項目を並べ替えたら、Google Appsのユーザー管理画面からCSVファイルをインポートする(画面2)。これで、Active DirectoryのユーザーをまとめてGoogle Appsに登録できる。

画面2 画面2 CSVファイルをインポートすれば、Google AppsにActive ディレクトリのユーザーを一括で作成できる

「ディレクトリ同期ツール」を利用する

 ディレクトリの同期ツール(以下、ディレクトリ同期ツール)を使えば、CSVファイルのようにエクスポート/インポートといった面倒な操作を行うことなく、自動的にID情報をクラウドに登録できる。

 ディレクトリ同期ツールにはサードパーティやSIベンダーが提供する独自のツールもあれば、マイクロソフトの純正ツール「Microsoft Identity Manager」(旧称:Forefront Identity Manager)などもある。ここでは「Office 365」で提供されているディレクトリ同期ツール「dirsync」の使い方を紹介する。

 dirsyncはマイクロソフトが提供していた「Forefront Identity Manager」の機能限定版で、Active DirectoryとOffice 365に限定してID情報の同期を可能にするツール。Office 365の管理ポータルサイトからダウンロードできる(「ディレクトリ同期ツール」と表示されている)。

 dirsyncをドメインに参加しているサーバーにインストールすると、3時間に一度、ユーザー名とパスワードがActive DirectoryとOffice 365の間で自動的に同期されるようになる(画面3)。

画面3 画面3 「dirsync」を利用すれば、Active DirectoryとOffice 365でID情報を自動的に同期できる

 この方法では、ユーザーはクラウドにアクセスするための新しいユーザー名やパスワードを覚える必要もない上、管理者も手間をかけずにクラウドのID情報を管理できるようになる。

オンプレミスとクラウドでID情報を連携する

 前述のID同期では、Active Directoryとクラウドで「同じユーザー名とパスワード」を利用して、ユーザーの利用時の負担を軽減した。しかし、これにはユーザー名とパスワードの使い回しという大きな問題がある。

 複数のWebサービスで同じユーザー名とパスワードを使い回すことによる情報漏えいが問題視されている中、会社の重要情報であるActive DirectoryのID情報が外部に漏れるようなことは絶対に避けなければならない。そこで利用できるのが、「ユーザー名だけ」を使い回すID連携の仕組みになる。

 ID連携は、Active Directoryとクラウドの二つのシステムで同じIDを作成し、一方のシステムで認証したら、もう一方のシステムのIDはすでに認証されているものと見なす仕組みである。

 ID連携についても、Active DirectoryとGoogle Appsを例に解説しよう。社内システムにはActive Directoryのユーザー名とパスワードでサインインし、Google AppsにはGoogle Appsに登録されたユーザー名とパスワードでサインインする場合、最初にActive DirectoryとGoogle Appsで「同じユーザー名」を登録しておく。ここでは「haraguchi」というユーザーを登録したとしよう。

 Active Directoryにユーザー「haraguchi」でサインインしたら、そのユーザーはGoogle Appsのユーザー「haraguchi」と見なし、Google Appsでは直接サインイン操作をすることなくアクセスできるような連携を行っている(図1)。

図1 図1 Active DirectoryとGoogle AppsのID連携の仕組み

 Active Directoryの「haraguchi」とGoogle Appsの「haraguchi」を同一ユーザーと見なす仕組みを簡単に説明しよう。

 まず、Active Directoryにサインインしたユーザーに対して、「トークン」と呼ばれる情報を発行する。ユーザーはこの「トークン」を持ってGoogle Appsにアクセスする。

 トークンの中には「haraguchi」というユーザー名でActive DirectoryのユーザーとGoogle Appsのユーザーが関連付けられており、これによりGoogle Appsは「haraguchi」を正しいユーザーと見なしてアクセスを許可する。

 このとき、トークンを発行する役割を担うサーバーが「Active Directoryフェデレーションサービス」(ADFS)になる(図2)。ADFSは、Windows Server 2008以降にインストールして利用できる。

図2 図2 ID連携とADFSサーバー

 ID連携を実現するには、事前にActive Directoryとクラウドの両方に同じユーザー名(ID情報)を登録しておく必要があるが、そこは前のトピックで登場したID同期を活用すればよいだろう。ID同期で先にユーザー名を同期しておけば、ID連携を行う際のユーザー登録の手間を大幅に減らすことができるはずだ。

スムーズなID同期/ID連携を行うために必要なこと

 Active DirectoryとクラウドでIDを同期したり、連携したりする場合には、まずID情報の同期が必要になる。そして、その同期をスムーズに行うためには、自社のActive Directory環境が整っていることが大前提となる。最後に、ID同期を行う前にActive Directoryで行っておくべき作業をまとめておく。

不要なユーザーは削除する

 すでに退職した社員のID情報やテスト用に作成したユーザーなど、実際に使用されないユーザー情報がいつまでも残ったままになっていると、クラウドとの連携時に行うID同期の際に必要のないID情報までが登録されることになる。

 クラウドによっては登録されたID情報(ユーザー数)をベースに課金するケースもあるため、ゴミにお金を払い続けることになるかもしれないのだ。このような問題を回避するためにも、クラウドとの連携を行う前に、まずは不要なユーザーを削除しておこう。

ユーザーの属性情報は統一する

 ID同期でクラウドにユーザーを登録する場合、ユーザーの名前だけでなく、ユーザーの属性情報も同期させておいた方がクラウド上で設定を行うときに何かと便利である。なぜなら、「営業部のユーザーだけに●●を設定する」「東京事業所のユーザーだけにアクセス許可を割り当てる」などのように、属性をベースに設定を行うことがクラウドでは多いからである。

 できるだけ多くの属性情報を同期するには、ユーザーの属性情報がActive Directoryに登録されていることが大前提となる。部署や役職などの人事情報はActive Directoryではなく、社内の人事DBだけに登録されているケースも多いと思うが、これらの情報もできればActive Directoryに登録しておきたい。別のディレクトリ同期ツールで人事DBからActive Directoryに同期させるのも一つの方法だろう。


 ここまで、クラウドとの連携を見据えたActive Directoryの管理方法を紹介した。Active Directoryをやっと覚えたところで、クラウドという新しい技術が登場するのは、IT技術者の立場としては「覚えることが多くて大変」かもしれない。しかし、クラウドはもはや避けられないところまで業務に入り込んできていることも事実である。立ち止まることなく、これからも学習を続けていただければ幸いである。

Nothing stays the same. Now it's time for change.(変わらないものなんて何もないのさ。さあ、今こそ変わるときだ) 〜 Motley Crue - Time for change

マイクロソフトが期間限定公開中 Active Directoryのスキルをブラッシュアップしよう!

 クラウドの登場により、Active Directoryに求められる役割も変化しつつあります。

 クラウドに対応させるためのActive Directoryの設計ポイントとはどにあるのか? iOSやAndroidは、Active Directoryにどう絡むのか? Azure Active Directoryとは何者か? 生産性を高めるためのセキュリティを実現するには、どのようなインフラが必要か?

 今こそ、Active Directoryの役割を再学習し、古い知識をリセットしましょう!


筆者紹介

国井 傑(くにい すぐる)

株式会社ソフィアネットワーク取締役。1997年よりマイクロソフト認定トレーナーとして、Active DirectoryやActive Directoryフェデレーションサービス(ADFS)など、ID管理を中心としたトレーニングを提供している。2007年よりMicrosoft MVP for Directory Servicesを連続して受賞。なお、テストで作成するユーザーアカウントには必ずサッカー選手の名前が登場するほどのサッカー好き。


Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。