[CentOS6][OpenAM10] SAML連携 - GoogleApps (uid)


Create: 2014/04/19
LastUpdate: 2014/04/20
≪ メニューに戻る

[CentOS6][OpenAM10] SAML連携 - Salesforce (統合ID) (Attribute)」では、SalesforceにSSOしました。
ここでは、同じ環境を使用して、GoogleAppsにSSOするように設定を追加します。
GoogleApps のログインIDはメールアドレスですが、ここでは、"@" 前の ユーザ名 でGoogleApps にSSOするように設定します。
たとえば、GoogleAppsユーザの "user01@blue32demo.com" は、OpenAMのログインIDが "user01" のユーザに紐付きます。

1.OpenAMの設定


トラストサークルとIdP は、SalesforceのSSOで作成したものを使用するので、ここでは作成しません。
GoogleApps を SP として登録します。
OpenAM管理画面 > [共通タスク] で下図の画面が表示されるので、[GoogleApps の設定] をクリックします。



[トラストサークル]は、1つしかないので、"test01-cot" が設定されます。
[ドメイン名] に GoogleApps のドメイン(blue21demo.com) を追加して、[作成]ボタンをクリックします。



[了解]ボタンをクリックします。



GoogleAppのシングルサインオン設定に必要な情報が表示されます。
[URL]は、メモしておきます。
[検証証明書] は、ダウンロードしてファイルに保存します。
最後に、[終了]ボタンをクリックします。



ダウンロードした証明書は、そのままでは、GoogleApps登録時にエラーになるので、下図の↑部分(==の直後)を改行します。



OpenAM管理画面 > [連携]タブを見ると、GoogleApps のSPが登録されているのが確認できます。(赤枠)



OpenAM管理画面 > [連携] > [エンティティプロバイダ(IDP)] をクリックして、IDPの設定を見てみると、[NameID値マップ] が "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified=uid" に変更されています。
この設定により、OpenAMにログインしたユーザのユーザID でSSOするようになります。



2.GoogleApps の設定


GoogleApps の設定は、以下の準備が実施されていることを前提にして記載します。

2.1.シングルサインオンの設定


GooleApps管理コンソールを開き、[セキュリティ]をクリックします。



[詳細設定] をクリックします。



[シングルサインオン(SSO)の設定] をクリックします。



[シングルサインオンを有効にする]、[ドメイン固有の発行元を使用]をチェックします。
[ログインページのURL]、[ログアウトページのURL]、[パスワード変更 URL] には、上記1でメモしたURLを設定します。
[認証の確認]には、上記1で保存した証明書ファイルをアップロードします。
設定が終わったら、[設定の保存]をクリックします。
※[ログアウトページのURL]に設定する URL の "?" 以降(ログアウト後のリダイレクト先)は削除しています。



ダッシュボードに戻ろうとすると、下図のようなメッセージが表示されました。
ブラウザの再表示ボタンをクリックします。



下図のメッセージが表示されたので、[理解して、同意します]をクリックします。



注意)
私の環境でシングルサインオンを有効にしたら、Chrome で管理コンソールへのログインしようとすると SSO が必要になりました。Cookie を削除するか、しばらく(1日ぐらい)待てば、SSO不要で管理コンソールにログインできるようになりました。

2.2.テストユーザの登録


GoogleAppsのSSOで使用するテスト用のユーザを作成します。
OpenAMのテストユーザは "user01" なので、同じユーザIDで作成します。
GoogleAppsの管理コンソールで[ユーザ]をクリックします。



赤枠のアイコンをクリックします。



[ユーザを手動で追加する]をチェックして、[次へ]をクリックします。



[姓]、[名]をクリックして、[メインのメールアドレス]に "user01" を入力し、[新しいユーザを作成]をクリックします。



[完了]をクリックします。



3.動作確認


"EXAMPLE\user01" ユーザでユーザ端末にログインします。
下図は、リモートデスクトップでログインする場合の例です。



WindowsDesktopSSOの設定をしているので、WindowsにログインしたユーザでOpenAMは認証済みになります。
ブラウザで以下のGoogleAppsのGmail にアクセスすると、OpenAMのログイン画面は表示されずに、GoogleApps に自動的にログインします。
  • https://mail.google.com/a/blue21demo.com
下図のように、GoogleAppsのログイン画面が表示されずに、GoogleAppsユーザのログイン後の画面が表示されたらOKです。



上記は、最初に GoogleApps側の URL にアクセスしてSSOしたので、SP Initiated SSO になります。
最初に OpenAM側のURLにアクセスして、GoogleApps にSSOする IdP Initiated SSO 試したい場合は以下のURLでアクセスします。各パラメータの意味は、マニュアルを参照してください。
なお、以下の例では、見やすいようにパラメータ値をURLエンコードしていませんが、パラメータ値はURLエンコードが必要です。
  • http://exam01.example.com:8080/openam/saml2/jsp/idpSSOInit.jsp?metaAlias=/test01/idp&spEntityID=google.com/a/blue21demo.com&RelayState=https://mail.google.com/a/blue21demo.com