第2回と第3回で解説したOffice 365の場合と同様に、Google Appsでも社内のActive DirectoryをID基盤として利用できる。その環境構築の方法やGoogle提供APIのセキュアな利用方法について解説する。
第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)環境の構築方法を解説しているが、読者の便宜のため、重複部分を含め今一度解説を行う。
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へのログイン認証を社内AD DSと連携させるためには、AD FS 2.0を使ったSAML連携のための環境が必要となる。そのためには、大きく分けて次の2つの作業が必要だ。
では、順番に設定を行っていく。
今回は、第2回にOffice 365とのシングル・サインオン実現のために用意したAD FS 2.0の環境に、新しくGoogle Apps用の証明書利用者信頼を追加する。AD FS 2.0管理コンソールの左ペインより[証明書利用者信頼]を開き、右の操作ペインから[証明書利用者信頼の追加]をクリックして証明書利用者信頼の追加ウィザードを起動する。
ウィザード内では以下の情報を入力する。
設定ページ | 設定項目 | 入力/選択値 |
---|---|---|
データーソースの選択 | この証明書利用者についてのデータを取得するために使用するオプション | [証明書利用者についてのデータを手動で入力する]を選択 |
表示名の指定 | 表示名 | 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のメール・アドレス属性の値をそのまま利用することとする。
[要求規則の編集]ダイアログから起動する発行変換規則の追加ウィザードの設定ページおよび設定値は以下の通りである。
設定ページ | 設定項目 | 入力/選択値 |
---|---|---|
規則の種類の選択 | 要求規則テンプレート | [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へのGoogle Appsに関する情報の登録は完了である。次はGoogle Apps側の設定を行う。
Google Appsの管理コンソールへアクセスし、Google Apps上でシングル・サインオンを有効化し、先ほど設定したAD FS 2.0の情報を登録する。まず、管理コンソールへは https://www.google.com/a/<取得したドメイン名>へアクセスし、Google Appsのサインアップ時に指定した管理者IDとパスワードでログインする。その後、[高度なツール]メニューより[シングル サインオン (SSO) の設定]を開き、次のように設定する。
なお、[認証の確認]でアップロードする証明書については、AD FS 2.0のトークン署名証明書を次の手順でエクスポートしたものを利用する。
以上でシングル・サインオンに関する設定は完了だが、このままでは社内AD上のアカウントとGoogle Apps上のアカウントが同期されていないため、ユーザーのひも付けができず、Google Appsが使える状態にはならない。そこで必要なのがプロビジョニングである。次ページでは、プロビジョニングの設定と環境構築後の動作確認について解説する。
Copyright© Digital Advantage Corp. All Rights Reserved.