はじめに

日商エレクトロニクスのAzure担当エンジニア 渡邊です。

前回のブログからかなり間が空いてしまいましたが、またAzureに関する情報を発信していきたいと思います。

さて、今回は過去の記事「Active Directory?Azure Active Directory?混乱ポイントを整理!」でご紹介しているシングルサインオン(SSO)環境をAzure ADとGsuiteで実際に構成してみたいと思います。

Azure ADを利用することで簡単にSSO環境を構成できると感じていただければと思います。

※ここで紹介している内容は2020年2月時点のものです。Azureは常に変化しますので最新の情報を参照してください。

1.ゴールと準備環境

今回のゴールはオンプレで利用するアカウントとパスワードを使ってGsuiteへログイン可能な環境を構成することです。

オンプレミス環境を想定してAzure上にWindows ADを構築し、オンラインで解決可能なドメイン(図では@example.com)を設定します。Azure ADにはWindows ADと同様のドメインをカスタムドメインで登録しておきます。Azure AD Connectを構築し、Windows ADで作成したユーザー[SSO_User01]をAzure ADへ同期させ、SSO_User01でAzureにログイン可能な環境を準備します。

Gsuite側はWindows ADと同一のドメイン設定を行い、事前にSSO_User01を作成しておきます。なお、ユーザー作成時はオンプレミス環境とは異なるパスワードを設定するとよりSSO環境が構成されていることが実感できると思います。

2.SSO環境構成

Azure AD、GsuiteでそれぞれSSO連携の設定を実施します。

2.1.Azure AD設定

Azureポータルへアクセスし、ログインします。左メニューから[Azure Active Directory]を選択します。

Azure ADの[概要]が表示されたら、オプション内の[エンタープライズアプリケーション]をクリックします。

[+ 新しいアプリケーション]をクリックします。

[ギャラリーから追加する]内にある検索バーに[G suite]と入力し、表示された[Google Cloud / G Suite Connector by Microsoft]をクリックすると詳細が右側に表示されるため[追加]をクリックします。

[概要]が表示されるため、[シングルサインオン]をクリックします。

シングルサインオンの構成方式を選択する画面が表示されます。今回は[SAML]を選択します。

[SAMLによるシングルサインオンのセットアップ]として5つのステップが表示されます。GsuiteとAzure ADでSAML連携を行う場合はこの5つのステップを実施するだけで接続が可能となります。まず[基本的なSAML構成]の右側にある[鉛筆マーク]をクリックして編集を行います。

各必須事項を入力します。それぞれパターンが記載されているため、同じように入力を行います。図の中の[]はAzure ADのカスタムドメインとして登録しているドメインを入力してください。入力が完了したら[保存]をクリックします。

保存が完了したら表示が変更されます。次に[ユーザー属性とクレーム]を編集します。

[必要な要求]と[追加の要求]が表示されます。Azure ADとGsuiteで同一のドメインを使用するため、今回のクレームはUserPrincipalnameを使用します。そのため、[必要な要求]のみを残し、[追加の要求]は全て削除します。

ステップの画面に戻り、[SAML署名証明書]の[証明書(Base64)]をダウンロードして保存しておきます。

ステップ4の[ログインURL]、[ログアウトURL]をコピーし、Gsuiteの設定へ移ります。

2.2.Gsuite設定

Gsuite管理コンソールへログインし、[セキュリティ]をクリックします。

[サードパーティのIDプロバイダを使用したシングルサインオン(SSO)の設定]をクリックします。

[サードパーティのIDプロバイダでSSOを設定する]を有効化し、[ログインページのURL]に[ステップ4]でコピーした[ログインURL]を貼り付けます。[ログアウトページのURL]に[ログアウトURL]を貼り付けます。[確認用の証明書]から先ほどダウンロードし保存した証明書をアップロードします。[ドメイン固有の発行元を使用]を有効化し、パスワード変更用URLへMicrosoftパスワード変更サイトのURLを入力します。なお、環境により[Microsoftパスワード変更サイト]からのパスワード変更が許可されていない場合がありますので、注意が必要です。入力が完了したら[保存]をクリックします。

これで設定は全て完了となります。

2.3.ログイン

SSOのテストを実施するために、ユーザーへアプリケーションの割り当てを行います。Azureポータルから[Azure AD]→[エンタープライズアプリケーション]を選択し、[Google Cloud / G Suite Connector by Microsoft]を選択し、[ユーザーとグループ]をクリックします。

[+ ユーザーの追加]をクリックします。

[ユーザー]をクリックし、[SSO_User01]を選択して[選択]をクリックします。

[割り当て]をクリックします。

[ユーザーとグループ]に選択したユーザーが表示されていることを確認します。

マイアプリポータルへアクセスし、割り当てたユーザーでログインし、割り当てたGsuiteのアイコンをクリックします。

Gsuiteを認証が行われることなく、Gmailの画面が表示されます。

もちろんドライブなども使用できます。

このようにAzure ADで認証を行うことで、別のアプリケーションを認証無しで利用することが可能です。
※使用するブラウザによってID選択が必要な場合やAzure ADの構成によっては多要素認証が必要になる場合などもあります。

2.4.ログインに失敗した場合

もし上記手順でログインに失敗した場合は、実施していなかったステップ5の[Google Cloud / G Suite Connector by Microsoft でシングル サインオンをTest]を活用してください。

ここでは失敗した際に表示されるMicrosoftのエラー文を貼り付けることで、どの部分に問題があるのかのヒントを与えてくれます。失敗した際にはまずここでエラーの確認を行ってみてください。

さいごに

今回はGsuiteで実際にSSO環境を構築してみました。Azure ADで他にも様々なアプリケーションとの連携が用意されており、SaaSだけでなく会社で開発したアプリケーションの連携なども可能となっています。また、今回はユーザーを事前にGsuite側で作成しましたが、ユーザーの事前作成が不要な方式もありますので機会があればそちらもご紹介したいと思います。

 

Azure ADの概要を知りたい方は、以下の資料もご参考くださいね。

この記事を書いた人

渡邊真悟
渡邊真悟
オンプレエンジニアとして活動するはずが、気が付いたらクラウドに飲み込まれていたエンジニア
新しいことに取り組むのが苦手だった自分を変え、常に最新の情報を取り入れられるように日々奮闘しています。
Azureの機能検証や、Azure Stackも担当していることからハイブリッド環境の検証もお届け出来ればと思っています。
こんな検証ができないか、等ありましたら是非当社までご連絡ください!