47
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Organization

Google Workspace と Azure AD を統合して、 Google Workspace にシングル サインオン (SSO) できる環境を一から構成する

はじめに

本記事は Microsoft Azure Tech Advent Calendar 2020 の 12 日目の記事です。

また、この記事は「G Suite と Azure AD を統合して、G Suite にシングル サインオン (SSO) する環境を一から構成する」という私が昨年書いた既存の Qiita の記事を Google Workspace 用に記事を見直しブラッシュ アップしたものになります。
(最終的には画面ショットが異なるのでほぼすべて書き直しました)

G Suite から Google Workspace にサービス名称が変わったことにより、SAML 連携するために必要な手順が変更になったかどうか一からチェックを行いました。
結論から言うと、SAML 連携するという観点だけ言うと、手順はほぼ同じでした。

Azure AD は SAML プロトコルを使って 3rd パーティー製エンタープライズ系の SaaS アプリケーションと連携しシングル サインオンさせることができます。
その中の 1 つに Google 社が提供しているクラウド サービスである Google Workspace があります。

本記事では、Google Workspace の評価版環境の入手からはじまり、Azure AD と Google Workspace 間の SAML 連携の構成方法、実際にシングル サインオンできるかどうかの確認までを記載しています。

正式な手順は、下記 Microsoft のチュートリアルに記載がありますので、あわせて参考にしてください。
チュートリアル:Azure Active Directory シングル サインオン (SSO) と Google Cloud (G Suite) Connector の統合

※公開情報内にも記載がありますが、サインオン URL の設定によって、シングル サインオン先が Gmail になるか Google Cloud Platform (Google Cloud の管理コンソール) になるかもしくはその他のサービスになるか動作が変わります。詳細は後述します。

SAML 連携すると何がうれしいのか

SaaS に限らず企業で利用しているアプリケーションは 1 つや 2 つのレベルでは到底収まらないと思います。
ID とパスワードをそれぞれアプリケーション毎に個別に用意した場合どうなるでしょうか。
ユーザーはアプリケーション毎に ID とパスワードを覚えないといけませんし、管理者はアプリケーション毎に ID とパスワードを払い出さないといけませんね。

アプリケーションが増えるたびに ID を払い出していたら管理が行き届かなくなりますし、シャドー IT の温床にもなります。
ID を含む資格情報の管理を Azure AD に任せつつ、 SaaS アプリと Azure AD を SAML 連携することで、Azure AD 上の資格情報を使って SaaS アプリケーションにシングル サインオンできます。
管理者は Azure AD 上のユーザーを管理するだけで済みますし、ユーザーはアプリケーション毎に ID とパスワードを覚える必要がなくなります。
どうですか、使わない手はないと思いませんか?もしそう思ったのなら、是非やりましょう。

Google Workspaceとは

Google 社の Cloud サービス G Suite をリブランディングして 2020 年 10 月 6 日に名称を変えて生まれ変わったのが Google Workspace です。
具体的に何が変わったのか、何が新しくなったのかという点については Google 社の下記サイトなどをご確認ください。

-参考情報
Google Workspace のご紹介

作業概要

Google Workspace の環境を用意する
Azure AD 側でシングル サインオンするために必要な設定を行う
シングル サインオンできるか動作確認をする

Google Workspace の環境を用意する

前身の G Suite は Basic 、Business、Enterprise の 3 エディションがあり、それぞれ 14 日間の無料試用期間が用意されていて、Business エディションであれば評価版ライセンスでもシングル サインオンが構成できました。

Google Workspace は Business エディション として下記 3 つのプラン、Enterprise エディションを含むと 4 つのプランがありますが、スモール スタート用の Business Starter プランでも SAML 連携ができました。

Google の管理者ヘルプサイトにも Business Starter プランもサードパーティの IdP (今回の場合は Azure AD) を使用したシングル サインオンに対応していることが分かります。

Google Workspace の各エディションの比較
image.png

従って、今回は Business Starter プランの無料試用版を申し込んで Azure AD と SAML 連携をしてみます。

まず、無料試用が選択できるページ にアクセスし、Business Starter の「使ってみる」をクリックします。
image.png

必要な情報を入力し、「次へ」をクリックします。
image.png

姓名と Google Workspace のアカウント管理者となるメールアドレスを入力し、「次へ」をクリックします。
image.png

Google Workspace を利用するためには、外部 DNS で引けるドメインを持っている必要があります。
ドメインを持っていない場合は、別途ドメインを用意してください。
ここでは「ドメインを持っている」にチェックを入れた状態で「次へ」をクリックします。
image.png

企業ドメインを入力し、「次へ」をクリックします。
※ここで入力するドメインは Azure AD 上に登録されている「カスタム ドメイン」名で Google Workdpace に対してシングル サインオンして利用を想定しているドメイン名を入力します。
image.png

確認画面が表示されるので「次へ」をクリックします。
image.png

下記画面は任意に選択いただいて問題ありません。
image.png

ログイン情報を入力する画面で、さきほど指定したドメインでユーザーを作成します。
ユーザー名、パスワードを設定し「同意して続行」をクリックします。
image.png

しばらく待つと下記画面のとおり G Suite アカウントが作成されるので、「設定に進む」をクリックします。
image.png

Admin Console (Google Workspace の管理画面) の認証画面に遷移するのでそのまま「次へ」をクリックします。
image.png

「ログイン情報を入力しましょう」の画面で設定したパスワードを入力して「次へ」をクリックします。
image.png

多要素認証の設定画面が表示されるので、認証時に利用する電話番号を入力し、「コードを取得」をクリックします。
image.png

通知される確認コードを入力し「確認」をクリックします。
image.png

確認画面が表示されるので文面を確認の上、「同意する」をクリックします。
image.png

下記画面が表示されるので作成したドメインで Gmail を利用できるように「有効化」をクリックします。
image.png

「続行」をクリックします。
image.png

Gmail を利用するため、また、登録したドメインの所有者であることを証明するために、DNS サーバーに MX レコードを設定する必要があります。
以下画面ショットでは GMO Internet が表示されますが、当然利用されているドメインを管理しているホストは環境によってさまざまだと思いますので、
適切なドメインホスト サービスに移動してください。今回はこのまま GMO Internet (実体はお名前.com) で設定する例を記載します。

※想定ではこの画面で表示される DNS をホストしているサービス名は Google Workspace 側で自動検出して適切なサービス名が表示されているはずです。
もしドメインを管理しているサービス名が表示されない場合、各ホストごとのリンクが記載された手順がありますのでこちらを参考に設定をしてください。

MX レコードを設定する(ホスト固有の手順

image.png

画面を下にスクロールすると「MX レコード」と「MX 確認コード」の項目がありますので、それぞれの値をコピーして控えます。
image.png

下記は お名前.com 上での設定例となりますが以下のように MX レコードを設定します。
image.png

必要な設定が全て完了した後に、画面右下の「GMAIL を有効にする」をクリックします。
image.png

「GMAIL を有効にする」をクリックすると下記画面ショットのように確認が行われますのでしばらく待ちます。
image.png

MX レコードが正常に引けるようになると下記画面が表示されますので、新規にユーザーを作成するか作成する必要がなければ「後で設定する」をクリックします。
image.png

これで登録したドメインで Gmail が利用できるようになりました。
「テストメールを送信」をクリックして管理者アカウントにメールの受信をテストできます。
image.png

以下のような感じで Gmail を利用してテストメールが受信できていることが確認できます。
image.png

管理コンソールの画面に戻り、「ドメイン」をクリックします。
image.png

「ドメインの管理」をクリックします。
image.png

上記一連の作業で Google Workspace に登録したドメインの所有者であることが証明されたので、プライマリ ドメインとしてドメインの管理の一覧に登録されていることが分かります。
image.png

これでようやくシングル サインオンの先として Gmail が利用できるようになりましたので、次は Azure AD と Google Workspace を SAML 連携していきます。

Azure AD 側でシングル サインオンするために必要な設定を行う

Azure ポータル (https://portal.azure.com) に管理者ユーザーでサインイン後に、「Azure Active Directory」 → 「エンタープライズ アプリケーション」→「すべてのアプリケーション」の順にクリックし、画面上部の「+新しいアプリケーション」をクリックします。
image.png

Azure AD ギャラリーの参照画面より「Google Cloud Platform」のアイコンをクリックします。
image.png

画面右下の「作成」をクリックします。
image.png

作成が完了すると下記画面に遷移するので、左ペインにある「シングル サインオン」をクリックします。
image.png

シングル サインオン方式の選択より、「SAML」をクリックします。
image.png

SAML によるシングル サインオンのセットアップの画面にて、基本的な SAML 構成の画面右上の鉛筆マークをクリックします。
image.png

下記画面が表示されますが、アスタリスクのマークがついている「識別子」「応答 URL」「サインオン URL」が必須の設定項目になります。
image.png

まず、Google Workspace との SAML 連携は、 SP-Initiate になるので、サインオン URL を入力する必要があります。
※ SP-Initiated と IdP-Initiated の違いについてはこの記事が参考になると思います。

Azure AD の SAML 構成に必要な設定項目とその意味、動作の説明について

シングル サインオン先を Gmail にしたい場合、Google Cloud Console にする場合でサインオン URL が異なります。
具体的には以下のように設定してください。

項目 サインオン URL
シングル サインオン先を Gmail にしたい場合 https://www.google.com/a/[yourdomain.com]/ServiceLogin?continue=https://mail.google.com
シングル サインオン先を Google Cloud Console にしたい場合 https://www.google.com/a/[yourdomain.com]/ServiceLogin?continue=https://console.cloud.google.com

上記 「yourdomain.com」は適宜、ご自身が設定したドメイン名に置き換えてください。
上記内容をみて何となくお分かりかと思いますが、シングル サインオン先を Google Drive にしたいのであれば、「ServiceLogin?continue=」以降の URL を「https://drive.google.com」
に指定すれば Google Drive にシングル サインオンします。
同じようにシングル サインオンさせたい Google Workspace 上のサービスの「サインオン URL」を設定できます。

次に、識別子のボックスに、下記 4 つの URL を入力します。

google.com/a/
google.com
https://google.com
https://google.com/a/

上記 「yourdomain.com」 は適宜、ご自身が設定したドメイン名に置き換えてください。

次に、応答 URL のボックスに、下記 2 つの URL を入力します。

https://www.google.com
https://www.google.com/a/

それぞれ必要な値の設定が完了したら画面上部の「保存」ボタンをクリックします。
image.png

SAML 署名証明書欄にて、証明書(Base64) のダウンロードのリンクをクリックし、任意のフォルダに保存します。
image.png

次に 「Google Cloud / G Suite Connector by Microsoft のセットアップ」の欄にある「ログイン URL」「Azure AD 識別子」「ログアウト URL」の値がそれぞれ
Google Workspace 管理コンソール側の設定をするために必要な値になるので、それぞれクリップボードにコピーして控えておきます。
image.png

Google Workspace 管理コンソール側で必要なシングル サインオンの構成をする

管理コンソールより「セキュリティ」をクリックします。
image.png

画面を下にスクロールさせて「サードパーティの ID プロバイダを使用したシングル サインオン(SSO)の設定」をクリックします。
image.png

シングル サインオンの設定を以下のとおり行い、「保存」をクリックします。

項目
サードパーティーの ID プロバイダで SSO を設定する チェックを入れます
ログインページの URL Azure ポータルの Google Cloud / G Suite Connector by Microsoft のセットアップからコピーした、 ログイン URL を貼り付けます
サインアウト URL Azure ポータル の Google Cloud / G Suite Connector by Microsoft のセットアップからコピーした、 ログアウト URL を貼り付けます
認証の確認 Azure ポータルよりダウンロードした、Base 64 の SAML 署名証明書をアップロードします
パスワードの URL の変更 https://account.activedirectory.windowsazure.com/ChangePassword.aspx
ドメイン固有の発行者を使用する チェックを入れます

image.png

これで Azure AD 側、Google Workspace 管理コンソール側それぞれの設定が完了したので Gmail に対してシングル サインオンできるか動作を確認します。

シングル サインオンできるか動作確認をする。

まず、Azure ポータルにもどり、Google Workspace (Gmail) にシングル サインオンするユーザーを割り当てます。
ユーザーとグループをクリックします。
image.png

画面上部の「+ユーザーの追加」をクリックします。
image.png

割り当ての画面より、ユーザーとグループをクリックすると、下記画面が表示されるので、ユーザーを選択し、「選択」をクリックします。
image.png

「割り当て」をクリックします。
image.png

ユーザーが割り当てられたことを確認します。
image.png

ブラウザでマイ アプリ (https://myapplications.microsoft.com) に割り当てた Azure AD ユーザー (test001) でサインインします。
表示されている、「Google Cloud」アイコンをクリックします。
image.png

クリック後に、割り当てたユーザー (test001) の Google Workspace (Gmail) にシングル サインオンできました。
image.png

ちなみに、Azure AD 上の「サインオン URL」を Google Cloud Console の URL 「https://www.google.com/a//ServiceLogin?continue=https://console.cloud.google.com 」 に設定している状態で同じようにマイ アプリから Google Cloud のアイコンをクリックすると下記画面ショットのように Google Cloud 管理コンソールにシングル サインオンします。
image.png

以上で設定は完了です、お疲れ様でした!

おわりに

今回は Azure AD 上のユーザーを利用して G Suite からさらに進化して生まれ変わった Google Workspace にシングル サインオンするために必要な手順を画面ショット付きでご紹介しました。
旧 G Suite と SAML 連携する際の手順とほぼ変わりませんでしたが、実際に設定してみた所感として Google Workspace 側の設定、特にドメインホストの所有者であることを証明するために必要な DNS サーバー側の設定と Google Workspace 側の管理コンソール上の設定が分かりやすくなっていました。
(以前はどこから verify するための MX レコードを入手すればいいか右往左往した記憶があったので…)

今回ご紹介したサービスは Google Workspace ですが、その他の SaaS アプリケーションと SAML 連携するために必要な作業も概ね今回の作業と同じ流れになります。
一度実際に手を動かして試してみれば、実はたいしたことはないということが体感できると思います。

ID 管理を Azure AD に任せて SaaS アプリと SAML 連携することで、ユーザーのサービス利用の利便性を高めて、管理者の ID 管理コストを下げることができます。
今回の記事が少しでも参考になれば幸いです。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
47
Help us understand the problem. What are the problem?