連載
» 2013年01月23日 20時20分 UPDATE

クラウド・サービスと社内システムとのID連携 最新トレンド:第4回 Google Appsとのアイデンティティ基盤連携を実現する (1/2)

第2回と第3回で解説したOffice 365の場合と同様に、Google Appsでも社内のActive DirectoryをID基盤として利用できる。その環境構築の方法やGoogle提供APIのセキュアな利用方法について解説する。

[富士榮 尚寛(Microsoft MVP - Forefront Identity Manager),伊藤忠テクノソリューションズ株式会社]
クラウド・サービスと社内システムとのID連携 最新トレンド
Windows Server Insider


「クラウド・サービスと社内システムとのID連携 最新トレンド」のインデックス

連載目次

 第1回ではクラウド・サービスとのアイデンティティ連携に関する技術要素および基本的な考え方について解説し、第2回第3回では実際にOffice 365と社内のActive Directory(AD)の連携に関する環境構築の方法および社内外のPCおよびスマートフォンからの実際の利用方法を解説した。今回はOffice 365に引き続き、Googleの提供するSaaS(Software as a Service)であるGoogle Appsと社内ADとの連携方法、および社内のアイデンティティ情報を利用してGoogleが提供するAPI群をセキュアに利用するための方法について解説する。

本連載で構築するアイデンティティ連携基盤の全体像 本連載で構築するアイデンティティ連携基盤の全体像

 なお、以前の記事「Windowsで構築する、クラウド・サービスと社内システムのSSO環境 第3回」でもAD FS 2.0とGoogle Appsのシングル・サインオン(SSO)環境の構築方法を解説しているが、読者の便宜のため、重複部分を含め今一度解説を行う。

Google AppsとのID連携とSSOを実現する

 2012年12月に行われた仕様の改訂により、現在提供されているGoogle Appsのエディションは、ビジネス向け、教育機関向け、政府機関向けの3種類の提供のみとなっている。以前利用できた無償エディションは、新規に申し込めなくなっている。そのため、通常はビジネス向けエディションの30日間無償トライアル版を使って検証を行うことになる。本稿執筆時点では無償エディションを利用できたため、文中の画面ショットのGoogle Appsロゴがトライアル版とは異なるが、設定する項目名などは同じなので画面ショットを参考に設定を進めていただきたい。

 これから新たにGoogle Appsの利用を開始するには、独自ドメインを取得したうえで以下のURLからサインアップを行っていただきたい。

 今回はシングル・サインオンだけではなく、Googleの提供するProvisioning APIを利用して社内のID管理システムからGoogle Apps上のアカウントの管理の実装、およびOAuth 2.0を利用してスマートフォン・アプリケーションからセキュアにGoogle Data APIを実行するための環境の実装についても解説する。

Google Appsと社内Active Directoryの連携環境 Google Appsと社内Active Directoryの連携環境

シングル・サインオンの設定

 Google Appsへのログイン認証を社内AD DSと連携させるためには、AD FS 2.0を使ったSAML連携のための環境が必要となる。そのためには、大きく分けて次の2つの作業が必要だ。

  • AD FS 2.0の証明書利用者信頼にGoogle Appsの設定を追加
  • Google Appsのシングル・サインオン設定の有効化とIdP(アイデンティティ・プロバイダ)としてAD FS 2.0の登録

 では、順番に設定を行っていく。

●AD FS 2.0の証明書利用者信頼にGoogle Appsの設定を追加する

 今回は、第2回にOffice 365とのシングル・サインオン実現のために用意したAD FS 2.0の環境に、新しくGoogle Apps用の証明書利用者信頼を追加する。AD FS 2.0管理コンソールの左ペインより[証明書利用者信頼]を開き、右の操作ペインから[証明書利用者信頼の追加]をクリックして証明書利用者信頼の追加ウィザードを起動する。

証明書利用者信頼の追加ウィザードを起動する 証明書利用者信頼の追加ウィザードを起動する
AD FS 2.0管理コンソールでGoogle Apps用の設定を追加していく。
  (1)これを選ぶ。
  (2)これをクリックすると追加ウィザードが起動するので、下表のように設定する。

 ウィザード内では以下の情報を入力する。

設定ページ 設定項目 入力/選択値
データーソースの選択 この証明書利用者についてのデータを取得するために使用するオプション [証明書利用者についてのデータを手動で入力する]を選択
表示名の指定 表示名 Google Apps(任意の値)
プロファイルの選択 この証明書利用者信頼用の適切な構成プロファイル [AD FS 2.0 プロファイル]を選択
URL の構成 対応するプロトコル [SAML 2.0 Web SSO プロトコルのサポートを有効にする]にチェックを入れる
証明書利用者 SAML 2.0 SSO サービスの URL https://www.google.com/a/<取得したドメイン名>/acs
識別子の構成 証明書利用者信頼の識別子 google.com/a/<取得したドメイン名>
発行承認規則の選択 この証明書利用者の発行承認規則の初期動作 [すべてのユーザーに対してこの証明書利用者へのアクセスを許可する]を選択
証明書利用者信頼の追加ウィザードにおける設定項目

 なお、経験上AD FS 2.0をはじめとしたフェデレーション環境の構築に関するトラブルの大半は、タイプ・ミスと証明書の構成ミスに起因する。環境を構築した後に動作がおかしい場合は改めて設定内容を見直すことが重要である。

 証明書利用者信頼の追加ウィザードが完了すると[要求規則の編集]ダイアログが開くので、次は社内AD上の属性値をGoogle Appsへ渡すための識別子(名前ID)とひも付ける作業を行う。Google Apps上の識別子はメール・アドレス(<ユーザー名>@<ドメイン名>)を利用するため、社内ADのメール・アドレス属性の値をそのまま利用することとする。

変換要求規則の追加ウィザードにおける「要求規則の構成」の設定 変換要求規則の追加ウィザードにおける「要求規則の構成」の設定
証明書利用者信頼の追加ウィザードが完了すると[要求規則の編集]ダイアログが表示されるので、[発行変換規則]タブの[規則の追加]ボタンをクリックすると、このウィザードが起動される。これは2ステップ目の設定ページ。
  (1)[Active Directory]を選ぶ。
  (2)それぞれ「E-Mail-Addresses」「名前 ID」と入力する。

 [要求規則の編集]ダイアログから起動する発行変換規則の追加ウィザードの設定ページおよび設定値は以下の通りである。

設定ページ 設定項目 入力/選択値
規則の種類の選択 要求規則テンプレート [LDAP 属性を要求として送信]を選択
要求規則の構成 要求規則名 MailAddress to NameID(任意の名称)
属性ストア [Active Directory]を選択
LDAP 属性 E-Mail-Addresses
出力方向の要求の種類 名前 ID
発行変換規則の追加ウィザードにおける設定項目

 次に、Google Appsからログアウトした際にAD FS 2.0からもログアウトし、発行した SAMLトークンを無効化するために必要なAD FS 2.0側に設定するエンドポイントの設定を行う。

 手順としては、AD FS 2.0管理コンソールで作成した証明書利用者信頼のプロパティを開き、[エンドポイント]タブから必要なエンドポイントを追加する。

エンドポイントを追加するためのダイアログを開く エンドポイントを追加するためのダイアログを開く
これはAD FS 2.0管理コンソールで作成した証明書利用者信頼のプロパティ。
  (1)このタブを選ぶ。
  (2)これをクリックするとエンドポイントの設定ダイアログが表示される。

 追加する内容は以下の通りである。

追加するエンドポイント情報 追加するエンドポイント情報
  (1)[SAML ログアウト]を選ぶ。
  (2)[POST]を選ぶ。
  (3)「https://<AD FS 2.0サーバ>/adfs/ls/?wa=wsignout1.0」と指定する。

 ここまででAD FS 2.0へのGoogle Appsに関する情報の登録は完了である。次はGoogle Apps側の設定を行う。

●Google Appsのシングル・サインオン設定の有効化と IdP としてAD FS 2.0を登録する

 Google Appsの管理コンソールへアクセスし、Google Apps上でシングル・サインオンを有効化し、先ほど設定したAD FS 2.0の情報を登録する。まず、管理コンソールへは https://www.google.com/a/<取得したドメイン名>へアクセスし、Google Appsのサインアップ時に指定した管理者IDとパスワードでログインする。その後、[高度なツール]メニューより[シングル サインオン (SSO) の設定]を開き、次のように設定する。

Google Apps側のシングル・サインオン設定画面 Google Apps側のシングル・サインオン設定画面
  (1)このタブのクリック後に表示されるメニューから[シングル サインオン (SSO) の設定]を選ぶと、この画面が表示される。
  (2)チェックを入れてオンにする。
  (3)「https://<AD FS 2.0サーバ>/adfs/ls」と入力する。
  (4)「https://<AD FS 2.0サーバ>/adfs/ls/?wa=wsignout1.0」と入力する。
  (5)ID管理システムのパスワード変更URLの入力欄。今回はダミーとして(3)と同じURL を指定する。
  (6)AD FS 2.0のトークン署名証明書をエクスポートしたものをアップロードする(エクスポートについては後述)。
  (7)チェックを入れてオンにする。

 なお、[認証の確認]でアップロードする証明書については、AD FS 2.0のトークン署名証明書を次の手順でエクスポートしたものを利用する。

トークン署名証明書のエクスポート トークン署名証明書のエクスポート
トークン署名証明書はAD FS 2.0管理コンソールを操作してエクスポートする。
  (1)これを選ぶ。
  (2)エクスポート対象のトークン署名証明書。
  (3)(2)を右クリックして表示されるメニューから、これをクリックする。すると証明書の内容が表示されるので、[詳細]タブにある[ファイルにコピー]ボタンをクリックして証明書をエクスポートする。その際、エクスポート形式は「DER encoded binary X.509 (.CER)」を指定する。

 以上でシングル・サインオンに関する設定は完了だが、このままでは社内AD上のアカウントとGoogle Apps上のアカウントが同期されていないため、ユーザーのひも付けができず、Google Appsが使える状態にはならない。そこで必要なのがプロビジョニングである。次ページでは、プロビジョニングの設定と環境構築後の動作確認について解説する。


       1|2 次のページへ

Copyright© 1999-2017 Digital Advantage Corp. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

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

Focus

- PR -

RSSについて

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

メールマガジン登録

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