さくらのクラウド:シングルサインオン(SSO)連携 ~ Google Workspace編 ~

クラウドとシングルサインオン(Single Sign On: SSO)の重要な関係

クラウドコンピューティングは、かつては新しい技術でしたが、今や日常生活や企業活動を支える基盤となっています。多くの企業が何らかの形でクラウドを活用しており、その用途は日々広がり続けています。アプリケーションをユーザーがインターネット経由で利用するSaaS、アプリケーション開発・実行に必要なプラットフォームを提供するPaaS、仮想サーバーやストレージなどのITインフラをクラウドで提供するIaaSなど提供形態はさまざまです。

総務省における調査によれば、すでに70%以上の企業が何らかの形態のクラウドサービスを利用中とされています。クラウドサービスはそれぞれが別々の管理画面を提供します。企業が多くのクラウドサービスを活用すればするほどログイン先は増えていき、一日に行われるログイン試行回数も併せて増えていきます。

多くのクラウドサービスを活用する企業では、IDやパスワードの管理に加え、二要素認証・多要素認証、さらにはログ監査や不正アクセスの検知といったセキュリティ対策も必要になります。これらの対応には多くの運用コストがかかります。このため企業にとってクラウドサービスを正しくそして安全に活用していくためには、それらをまとめて管理できるシングルサインオンという技術が重要になっていきます。

シングルサインオンとは一度のログインで複数のシステムやサービスにアクセスできる仕組みのことです。例えば、会社のポータルサイトにログインするだけで、メール、勤怠管理、ファイル共有などの各種業務アプリにも自動的にログインできるようになります。

SSOを実現するプロトコル

別の会社が開発しているクラウドサービスに自社が運営するシングルサインオンのシステムからログインできるようにするためには、共通の認証を取り扱う規格が必要です。一般的にSAMLOpenID Connectといったプロトコルが使われます。さくらのクラウドのSSOはSAMLをサポートしています。

IdP InitiatedとSP Initiated

一般的にSAMLと言われることが多いですが、実は2種類のモードがあります。その違いを説明する前に、用語の説明をします。

  • IdP(Identity Provider/認証提供者):ログインを行う側
  • SP(Service Provider/サービス提供者):ログイン後アクセスするサービス

SAMLには以下の2種類のモードがあります。

  • IdP Initiatedモード:ユーザーがIdP(例:Google Workspace)に直接ログインし、そこからSP(さくらのクラウド)に遷移する
  • SP Initiatedモード:ユーザーが最初にSP(さくらのクラウド)にアクセスし、そこからIdPにリダイレクトされて認証する

さくらのクラウドのSSOが記事執筆時点で対応しているのはIdP Initiatedモードです。

このようにIdP/Google Workspace側にログインボタンがあり、そこからさくらのクラウドにログインします。Google Workspaceの場合、この画面にアクセス出来ている時点でログイン済になっていますので、再度ログイン処理(ID/パスワードの入力)を行わなくてもさくらのクラウドの管理画面にアクセスできるようになります。

さっそくやってみる

では早速、SSO連携の設定を行っていきます。公式マニュアルはこちらにあります。

事前環境準備

この手順を試すためには以下の内容がすでにセットアップ済である必要があります。

  1. Google Workspaceのドメイン設定と初期セットアップ
  2. さくらのクラウドのアカウント開設

なお、Google Workspaceに登録するユーザー(メールアドレス)のドメインと、さくらのクラウドの管理者のメールアドレスは同じである必要はありません。異なるドメインでもOKです。

Google Workspaceの設定

https://admin.google.com へアクセスし、左ペインから「アプリ」→「ウェブアプリとモバイルアプリ」をクリックします。

「アプリ追加」→「カスタムSAMLアプリの追加」をクリックします。

次の画面では任意の名前を入力して「続行」をクリックして進みます。

画面に表示される値をコピーしてメモしておきます。SSOのURL、エンティティID、証明書が必要です。連携するSPごとに必要となる項目(オプション1でダウンロードできる設定ファイルなど)が異なりますので注意してください。

「続行」をクリックすると以下の画面となります。この画面を閉じずに別のブラウザタブでさくらのクラウド側の作業を行います。そのあと生成された値をこの画面に貼り付けますので後で戻ってきます。

さくらのクラウドのSSOプロファイル設定

管理画面左ペインから「SSOプロファイル」をクリックします。

画面右上の「SSOプロファイルの作成」をクリックします。

すると、SSOプロファイルの作成画面が表示されます。ここでは以下のように設定します。

  • SSOプロファイル名:任意の名前を付けます。
  • IdPエンティティID、IdPログインURL 、証明書:先ほどGoogle Workspace側で生成された値を入力します。

設定したら画面下の「作成」をクリックします。

なお、IdPログインURLは、Google Workspaes側では「sso url」と表示されていてわかりづらいので注意してください。

「作成」ボタンを押すと以下の画面が出てきますので、2つの値をコピーしておきます。

Google Workspaceでの設定 (続き)

先ほど、さくらのクラウドのSSO設定画面で生成された値を、Google Workspaceの設定画面に入力します。なお、さくらのクラウドとGoogle Workspaceでは設定項目が表示される順番が異なっているので注意してください。

次に、名前IDの設定値をUNSPECIFIEDからEMAILに変更し「続行」をクリックします。

この設定項目は、Google Workspaceにログイン後のユーザーがさくらのクラウドへのログインを行った際に、さくらのクラウド上に存在するユーザーをどのように特定するか?というパラメータを指定しています。さくらのクラウドとGoogle Workspaceは別々にユーザーを管理しています。この例では名前IDの設定値をEMAILにすることで、「Google Workspaceのメールアドレス」=「さくらのクラウドのユーザー識別子」と見なす設定になります。

次の画面は設定不要なので「作成」をクリックすると、さくらのクラウドへのシングルサインオン登録が完了します。登録が完了すると以下の画面のように表示されます。

さくらのクラウドでのユーザー登録(オプション)

いままでの手順で、Google Workspace経由でさくらのクラウドにログインを行える設定が完了しました。Google Workspace上のユーザー(メールアドレス)がまださくらのクラウドに存在していない場合、左ペインの「ユーザ」から同じメールアドレスを持つユーザーを作成します。

さくらのクラウドでのSSO有効化

最後のステップです。先ほどさくらのクラウドで作成したSSOのプロファイルを有効化します。作成されたSSOのプロファイルを開き「有効」を選択して保存を行えば完成です。

あとはGoogle Workspaceからさくらのクラウドボタンを押せばログインが完了します。

まとめ

Google Workspaceを活用したさくらのクラウドのSSO機能を試してみました。その他のIdPとの連携でお困りの方はお声がけください。