はじめに

Azure Active Directory(Azure AD)は、 Microsoft Azure(Azure)が提供するクラウドベースのディレクトリーサービスです。コネクトデータ()は、クラウドネイティブな組織を目指しているため、 Azure AD のようなクラウドベースのディレクトリーサービスを利用していきます。

この記事では、コネクトデータが設定したディレクトリーサービスの設定の流れを説明します。最終的には、 Azure AD のアカウントから G Suite のアカウントが自動で作成され(自動プロビジョニング)、 Azure AD にログインすることで G Suite のサービスが利用できるようになります(シングルサインオン=SSO)。

クラウドネイティブのディレクトリーサービスの候補

クラウドベースのディレクトリーサービスといえば、 Azure AD 他には G Suite や Salesforce があげられると思います。

いずれを中心にしても良いのですが、コネクトデータはクラウドサービスを中心に扱うため、 Salesforce は選択肢から外れます。 G Suite はアカウントを 1 つ作成すると利用料金がかかりますが、 Azure AD は無料でアカウントを作成することができます。また、 Azure AD にはゲストユーザーという概念があり、組織外のユーザーをディレクトリー内に追加するといったことも容易です。 G Suite は拡張属性が作りやすいとか、拡張属性の文字列制限文字数が多いといったメリットもありますが1、ここでは Azure AD に軍配をあげ、 Azure AD をディレクトリーサービスの中心とします。

SSO のメリットとデメリット

クラウドサービスのディレクトリーサービスを利用すると、シングルサインオン(SSO)の利用を検討したくなります。 SSO は、その名の通り一回サインオンしておけば、様々なサービスが利用できる状態になることです。

SSO のメリットは管理する ID が 1 つになることでしょう。今の時代、一つの業務をこなすのでも複数のサービスを利用することは必須ですが、それぞれで ID やパスワードを管理していては、業務効率が落ちてしまいます。また、管理的視点からも、複数の ID を運用する場合は、各々に対してセキュリティ基準を見守らなければいけませんが、 SSO の場合は集中管理することができます。

一方でデメリットもあり、 ID が 1 つであるがゆえに、その ID が漏洩してしまった場合は、その ID で複数のサービスが悪用される恐れがあります。 SSO を導入する際は、多要素認証などの仕組みを組み合わせ、 ID 漏洩のリスクを低減させることも運用上重要です。

ID を十分なセキュリティレベルで運用できれば、 SSO はメリットが大きく、管理コストをかけづらい小規模組織においては、導入すべきと考えます。

Azure AD と G Suite を連携する

組織に新しいメンバーが加わった場合、 Azure AD にアカウントを作成することにより、 G Suite にもアカウントが自動で作成される(自動プロビジョニングが行われる)ことを目標とします。

前提条件

G Suite のドメイン設定は完了し、管理者アカウント(特権管理者)は作成済みとします。特権管理者アカウントは、 G Suite の中で特別な存在であるため、 G Suite 上で以下の SSO 設定を行っても G Suite のアカウント・パスワード情報でログインすることになります。

また、管理者ユーザーの Microsoft Azure のアカウントを作成し、サブスクリプションが登録されているものとします。

SSO の設定

  1. Azure ポータル上で、 Azure Active Directory ブレードを開きます。
  2. Enterprise applications ブレードを開きます。
  3. New Application をクリックし Google Apps を選択します。
  4. Enterprise applications ブレードに戻り、 All applications から Google Apps を選択します(3. で名前を変更している場合はその名前を選択します)。
  5. Single sign-on を選択します。
  6. 以下のように設定し、 Test SAML Settings ボタンをクリックしてエラーが発生しないことを確認してから Save をクリックします。
    • Single Sign-on Mode: SAML-based Sign-on
    • Sign-on URL: https://mail.google.com/a/<ドメイン名>
    • Identifier: google.com
  7. 下部の Configure Google Apps をクリックし、説明通りに G Suite の設定を行います。最後の Quick Reference が次の G Suite の設定に必要な情報ですので、ブラウザーのタブを開いたまま G Suite の設定作業を行いましょう。

G Suite の設定

  1. G Suite 管理コンソールを開きます。
  2. セキュリティを開きます。
  3. シングル サインオン(SSO)の設定を開きます。
  4. サードパーティの ID プロバイダで SSO を設定するにチェックを入れます。
  5. ログイン ページの URL に、 Quick Reference の Azure AD Single Sign-On Service URL に指定される URL を入力します。
  6. ログアウト ページ URL に、 Quick Reference の Azure AD Sign Out URL に指定される URL を入力します。
  7. パスワード変更 URL に、 https://account.activedirectory.windowsazure.com/ChangePassword.aspx を入力します。
  8. 認証の確認に、 Quick Reference の Download Azure AD Signing Certifcate リンクからダウンロードできる証明書をアップロードします。
  9. 保存をクリックします。

自動プロビジョニングの設定

  1. Google Apps ブレードを開きます。
  2. Provisioning を選択します。
  3. Provisioning Mode を Automatic にします。
  4. Authorize ボタンをクリックし、 G Suite で権限の認可を行います。
  5. Provisioning Status を On にします。
  6. Scope を Sync only assigned users and groups を選択します。
  7. Save します。

ユーザーをプロビジョニングする

  1. Google Apps ブレードを開きます。
  2. Users and groups を選択します。
  3. Add user から、プロビジョニング対象の Azure AD ユーザーを追加します。
  4. プロビジョニングされて G Suite にアカウントが作成されていることを確認します。

アカウントが作成されるまで 20 分程度かかる場合があります。 G Suite には、強制停止された状態でアカウントが作成されますが、初回ログイン後にアクティブになります。

ユーザーのプロビジョニングの履歴は、 Google Apps ブレードの Audit logs から確認できます。 Activity が Export のものが Azure AD から G Suite への連携、 Import のものが G Suite から Azure AD への連携となります。約 20 分間隔でプロビジョニング処理が実施されるようです。

まとめ

クラウドネイティブなディレクトリーサービスである Azure AD を利用して、 G Suite への自動プロビジョニングと SSO を設定しました。 SSO は単一の ID で複数のサービスが運用できるメリットがある反面、その保護には十分気をつける必要があることに注意しましょう。

参考文献


  1. Azure AD は 256 文字、 G Suite は 500 文字です。