見出し画像

【備忘】Cloud Identity(Idp)とO365・AzureAD(SP)連携検証②

【備忘】Cloud Identity(Idp)とO365・AzureAD(SP)連携検証の続きです

(再掲)今回やりたいこと

今回は、最終的にはCloud Identity(Idp)とO365(SP)を連携する検証を個人の勉強として行いたいです。
組織のGCPやAzureADには触れずに設定の検証を行いたいため、自前のGCP・Azureのお勉強環境を利用し、できるところまでやってみます。(そしてお金はかけたくない)
この投稿はその作業履歴・備忘です。

イメージはこちら👇
画像はリファレンスアーキテクチャより一部引用しています。

Cloud Identity(Idp)とO365(SP)を連携する

前回までで、Google側、Azure側の事前の設定が終わりました。
今回は続きでこちらの記事を参考にO365(AzureAD)にて、Google を ID プロバイダとして SSO を設定する、をやってみます。

流れは、以下の通りです。

  • 手順 1: ImmutableID を設定する

  • 手順 2: Google ID プロバイダ(IdP)の情報を入手する

  • 手順 3: Office 365 を SAML 2.0 のサービス プロバイダ(SP)として設定する

  • ーーーー(今回投稿ここから👇)ーーーーーーーーーーーー

  • 手順 4: Google を SAML ID プロバイダ(IdP)として設定する

  • 手順 5: Office 365 アプリケーションを有効にする

  • 手順 6: Google と Office 365 間の SSO の動作を確認する

  • 手順 7: 自動プロビジョニングを設定する

手順 4: Google を SAML ID プロバイダ(IdP)として設定する

1.Google 管理コンソールにログインします。
2.管理コンソールで、メニュー アイコン "" 次に "" [アプリ] 次に [ウェブアプリとモバイルアプリ] にアクセスします。
3.[アプリを追加] 次に [アプリを検索] をクリックします。
検索欄に「Office 365」と入力します。

https://support.google.com/cloudidentity/answer/6363817#
4.検索結果で、Office 365 SAML アプリケーションにカーソルを合わせ、[選択] をクリックします。

[Google ID プロバイダの詳細] ページで、[続行] をクリックします。

https://support.google.com/cloudidentity/answer/6363817#
「続行」

[サービス プロバイダの詳細] ページで次の設定を行います。
      [署名付き応答] チェックボックスをオンにします。
      [名前 ID の形式] を [PERSISTENT] に設定します。
       カスタム属性を作成して Office 365 Immutable ID を Google ユーザーのプロフィールに追加した場合は(上記の手順 1 を参照)、[名前 ID] でそのカスタム属性を選択します。
     それ以外の場合は、[名前 ID] を [Basic Information > Primary email] に設定します。

https://support.google.com/cloudidentity/answer/6363817#

今回、「カスタム属性を作成して Office 365 Immutable ID を Google ユーザーのプロフィールに追加した場合」ではなく、
ユーザープロビジョニングまで行いたいため、デフォルトのまま以下の設定とします。

デフォルトから特に変更する場所無、「続行」

[属性のマッピング] ページで、[フィールドを選択] メニューをクリックし、次の Google Directory の属性を対応する Office 365 の属性にマッピングします。

https://support.google.com/cloudidentity/answer/6363817#

記載の通り設定します。
「グループ メンバー(省略可)」は文字通り省略可のため、設定なしです。

「完了」

アプリに登録されました。
が、「自動プロビジョニングできるアプリ数の上限に達しました」・・・との記載が・・プロビジョニングの設定を試してみたかったのに・・

まずは手動でユーザーを設定することとし、後続手順で設定を続けます。

手順 5: Office 365 アプリケーションを有効にする

[ユーザー アクセス] をクリックします。
組織内のすべてのユーザーに対してサービスを有効または無効にするには、[オン(すべてのユーザー)] または [オフ(すべてのユーザー)] をクリックし、[保存] をクリックします。

https://support.google.com/cloudidentity/answer/6363817#
[オン(すべてのユーザー)]を選択

手順 6: Google と Office 365 間の SSO の動作を確認する

「IdP を起点とする SSO」のパターンで試してみます。

左上の [SAML ログインをテスト] をクリックします。
Office 365 が別のタブで開きます。開かない場合は、表示された SAML エラー メッセージの情報を参考にして、必要に応じて IdP と SP の設定を更新し、SAML ログインを再度テストしてください。

https://support.google.com/cloudidentity/answer/6363817#


「SAMLログインをテスト」をぽちっと

しかし、AADSTS51004のエラーに。
申し訳ありませんが、サインイン中に問題が発生しました。とのこと。
どうやら、自動プロビジョニングのつもりで飛ばした「手順 1: ImmutableID を設定する」が不足しているためと思われます。

「申し訳ありませんが、サインイン中に問題が発生しました。」

(再び)手順 1: ImmutableID を設定する

飛ばしていた以下を実施する必要がありました。
一番最後の「※はまった点」もご確認ください。

Office 365 管理コンソールでユーザーが作成された場合、ImmutableID は空白になります。これらのユーザーに対しては、PowerShell の Set-MsolUser コマンドを使用して、ユーザーの UPN(ユーザー プリンシパル名)に一致する ImmutableID を Office 365 で設定します。

Set-MsolUser -UserPrincipalName [ユーザー名]@[ドメイン名].com -ImmutableId [ユーザー名]@[ドメイン名].com

https://support.google.com/cloudidentity/answer/6363817#

以下のコマンドで設定します。

Connect-AzureAD
Connect-MsolService
Set-MsolUser -UserPrincipalName [GWSと同様UPN].com -ImmutableId [GWSと同様UPN].com

その後、改めて [SAML ログインをテスト]を実施すると・・・
ログインできそうです。

どきどき

次の画面で、AzureADのログイン画面に遷移

CloudIdentityの認証でログインできた風です

SP を起点とする SSO

https://login.microsoftonline.com/ を開きます。
Google ログインページに自動的にリダイレクトされます。

「https://login.microsoftonline.com/ 」にアクセスします。
AAD風のログイン画面でGWSにも登録した、SAML連携してログインしたアカウントを入力すると・・・

移動して

Googleのログイン画面が表示された

アドレスを入力

ログインできた風です。

ログインできました。

最後に

プロビジョニングは試せませんでしたが、SAMLのログインが確認できました。
なお、サインインした結果のログは、
CloudIdentity側は、GWS管理コンソールの [レポート]> [監査と調査] >[SAMLログイベント]から確認できました

CloudIdentity側

AzureAD側にも、同時間帯に「OfficeHome」のサインインイベントが出力されていました。

※はまった点

今回はまったのは、AzureAD側のUPNの設定の箇所でした。
今回の設定状況で、CloudIdentityとAzureAD側のUPNを合わせるためにAzureAD側のユーザーアカウントのUPNを変更が必要でした。
(同じ文字列にしないと、当然ながらSAML連携するときに突合できず、AADSTS51004エラーになる)

しかし、なぜか、「手順1.ImmutableID を設定する」のコマンドを実行した後にAzureAD側のUPN変更をしないと、エラーになってしまいました。

この順番で!
①ImmutableID を設定
「 Set-MsolUser -UserPrincipalName~」のコマンド実行
②AzureADのユーザーのUPNをCloudIdentity側の文字列と合わせる

いいなと思ったら応援しよう!