Azure AD と Google Cloud(G Suite)で SSO 連携してみた

Azure AD と Google Cloud(G Suite)で SSO 連携してみた

今回は最強の IdP であるAzure AD を使って G Suite とシングルサインオン連携できるように設定していきます。AWS の時と違い、G Suite では一時的なユーザー情報の作成は対応していないので、SSO 連携と合わせてユーザープロビジョニングの設定も行います。

Google Cloud Identity のセットアップ

G Suite アカウントの作成

まずは G Suite で以下のページから G Suite の認証系サービス Google Cloud Identity をセットアップします。

https://cloud.google.com/identity?hl=ja

Cloud Identity のセットアップを開始して[次へ]をクリックします。

組織の情報として、[ビジネス名]に組織の名前を入力し、組織の人数を選択します。検証用なので少数で大丈夫だと思います。



サービスを利用する場所を選択します。

連絡用のメールアドレスを入力します。Google からのサービス受信用アドレスなので組織のアドレスでなく個人アドレスでも大丈夫です。

GSuite で利用する組織のドメインを入力します。

先ほど入力したドメインを確認して[次へ]をクリックします。

GSuite 最初のアカウントを作成します。指定した組織ドメインを持つアカウント名を指定し、アカウント所有者の名前を入力します。

この最初に作ったアカウントはアカウント管理者ロールを持ちます。後からこのロールは追加で他のアカウントにも割り当てることができます。

最後に利用条項に同意してアカウントの作成します。

ドメインの認証

アカウントを作成したら組織ドメインの所有権を確認します。

Google 側が指定する確認コードを、所有しているドメインの DNS レコードに登録します。

DNS レジストリ側で TXT レコードなどに指定の文字列を登録します。

設定したら[ドメインの所有権を証明]をクリックします。

問題なければ所有権が証明されます。

Azure AD での SSO 設定

G Suite アプリを登録

Azure ポータルにサインインし、[Azure Active Directory]>[エンタープライズアプリケーション]>[新しいアプリケーション]をクリックします。

ギャラリー検索バーに「Google Cloud」などと入力し、[Google Cloud/ G Suite Connector by Microsoft]を選択します。

内容を確認して[追加]をクリックします。

G Suite の SSO 設定

アプリの追加が完了したら[シングル サインオン]をクリックします。

シングルサインオン方式として[SAML]をクリックします。

[基本的な SAML 構成]で右上の[編集]をクリックします。

[基本的な SAML 構成]ブレードで、次のように設定します。<your-domain> の部分は先ほど G Suite で認証した組織ドメインを指定します。

  • [識別子(エンティティ ID)]
    • google.com
    • google.com/a/<your-domain>
    • https://google.com
    • https://google.com/a/<your-domain>
  • [応答 URL(Assertion Consumer Service URL)]
    • https://www.google.com
    • https://www.google.com/a/<your-domain>
  • [サインオン URL]
    • 認証後に自動アクセスしたいサービスによって次の2つから1つを選択します。
    • G Mail の場合
      • https://www.google.com/a/<your-domain>/ServiceLogin?continue=https://mail.google.com
    • GCP の場合
      • https://www.google.com/a/<your-domain>/ServiceLogin?continue=https://console.cloud.google.com

設定したら[保存]をクリックします。

[SAML 署名証明書][証明書 (Base64)]の証明書ファイルをダウンロードします。これは後ほど G Suite の管理ポータルで使用するので保存しておきます。

[Google Cloud / G Suite Connector by Microsoft のセットアップ]で、[ログイン URL][ログアウト URL]の値をコピーして控えておきます。

Azure AD 側での SSO 設定は以上です。

SSO を利用するユーザーを指定しておきます。[ユーザーとグループ]から SSO を利用するユーザーかグループを追加しておきます。

G Suite での SSO 設定

G Suite の管理ポータルにサインインします。トップ画面から[セキュリティ]をクリックします。

https://admin.google.com/u/1/ac/home

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

次のように設定していきます。設定したら[保存]をクリックします。

  • [サードパーティの ID プロバイダで SSO を設定する]:有効
  • [ログインページの URL]:Azure AD でコピーした[ログイン URL]
  • [ログアウトページの URL]:Azure AD でコピーした[ログアウト URL]
  • [認証用の証明書]:Azure AD でダウンロードした署名用証明書
  • [ドメイン固有の発行先を使用]:有効
  • [パスワード変更用 URL]:https://account.activedirectory.windowsazure.com/ChangePassword.aspx

ここまででひとまず SSO の設定は完了です。ただしサインインをするためには G Suite 側にユーザーを作っておく必要があるので、事前に同じ UPN でユーザーを作っておくか、次のプロビジョニング設定を行なってから接続を確認します。

G Suite プロビジョニング設定

デフォルト値で問題なかったので、必要な設定箇所を確認だけしていきます。

G Suite の管理ポータルで、[セキュリティ]>[アプリのアクセス制御]をクリックします。Google サービスの利用が無制限になっていることを確認します。

トップ画面に戻り、[管理者ロール]をクリックします。

用意されているロールの中で、[管理 API の権限]が全て許可されているロールがあることを確認します。このロールが割り当てられているユーザーをこの後使用するので、ロールの割り当てを準備しておきます。

Azure AD でのプロビジョニング設定

G Suite のアプリを選択し、メニューから[プロビジョニング]をクリックします。[プロビジョニング モード][自動]を選択します。

[管理者資格情報][承認する]をクリックします。

ホップアップが表示されるので、G Suite の管理者アカウントでサインインします。

Azure AD が G Suite を操作するアクセス許可を与えます。[許可]をクリックします。

承認が終わったら[保存]をクリックします。

一度保存した後に、プロビジョニング の設定を行います。[プロビジョニング状態][オン]にします。[範囲]は必要な割り当てユーザーを含むように選択します。

プロビジョニングの状態は Azure ポータル上で確認できます。1ユーザーだったのですぐにプロビジョニングが完了しました。

  

G Suite 側でユーザーが作られていることを確認します。管理ポータルから[ユーザー]をクリックします。

Azure AD 側で指定したユーザーが作成されていることを確認します。

接続確認

マイアプリポータルから Google Cloud のアイコンをクリックします。

Google Cloud Platform のポータルにサインインできることを確認します。