チュートリアル:G Suite を構成し、自動ユーザー プロビジョニングに対応させる

このチュートリアルでは、自動ユーザー プロビジョニングを構成するために G Suite と Azure Active Directory (Azure AD) の両方で行う必要がある手順について説明します。 構成すると、Azure AD では、Azure AD プロビジョニング サービスを使用して、G Suite に対するユーザーとグループのプロビジョニングおよびプロビジョニング解除が自動的に行われます。 このサービスが実行する内容、しくみ、よく寄せられる質問の重要な詳細については、「Azure Active Directory による SaaS アプリへのユーザー プロビジョニングとプロビジョニング解除の自動化」を参照してください。

注意

このチュートリアルでは、Azure AD ユーザー プロビジョニング サービスの上にビルドされるコネクタについて説明します。 このサービスが実行する内容、しくみ、よく寄せられる質問の重要な詳細については、「Azure Active Directory による SaaS アプリへのユーザー プロビジョニングとプロビジョニング解除の自動化」を参照してください。

サポートされる機能

  • G Suite でユーザーを作成する
  • アクセスが不要になった場合に G Suite のユーザーを削除する
  • Azure AD と G Suite の間でユーザー属性の同期を維持する
  • G Suite でグループとグループ メンバーシップをプロビジョニングする
  • G Suite へのシングル サインオン (推奨)

前提条件

このチュートリアルで説明するシナリオでは、次の前提条件目があることを前提としています。

  • Azure AD テナント
  • プロビジョニングを構成するためのアクセス許可を持つ Azure AD のユーザー アカウント (アプリケーション管理者、クラウド アプリケーション管理者、アプリケーション所有者、グローバル管理者など)。
  • G Suite テナント
  • 管理者アクセス許可を持つ G Suite 上のユーザー アカウント。

手順 1. プロビジョニングのデプロイを計画する

  1. プロビジョニング サービスのしくみを確認します。
  2. プロビジョニングの対象となるユーザーを決定します。
  3. Azure AD と G Suite の間でマップするデータを決定します。

手順 2. Azure AD でのプロビジョニングをサポートするように G Suite を構成する

Azure AD での自動ユーザー プロビジョニング用に G Suite を構成する前に、G Suite 上で SCIM プロビジョニングを有効にする必要があります。

  1. G Suite の管理コンソールに管理者アカウントでサインインし、 [セキュリティ] を選択します。 このリンクが表示されていない場合、画面下部の [その他の設定] メニューに隠れていることがあります。

    G Suite のセキュリティ

  2. [セキュリティ] ページで、 [API リファレンス] を選択します。

    G Suite の API

  3. [API アクセスを有効にする] を選択します。

    G Suite の API の有効化

    重要

    G Suite にプロビジョニングしようとしているすべてのユーザーについて、その Azure AD でのユーザー名がカスタム ドメインに関連付けられている 必要があります。 たとえば G Suite では、bob@contoso.onmicrosoft.com のようなユーザー名は使用できませんが、 bob@contoso.com のようなユーザー名は使用できます。 既存のユーザーのドメインは、ここにある手順に従って変更できます。

  4. Azure AD で目的のカスタム ドメインを追加して検証したら、それらを G Suite で再度検証する必要があります。 G Suite でドメインを検証するには、次の手順を参照してください。

    a. G Suite の管理コンソールで、 [ドメイン] を選択します。

    G Suite のドメイン

    b. [ドメインやドメイン エイリアスを追加] を選択します。

    G Suite のドメインの追加

    c. [別のドメインを追加] を選択し、追加するドメインの名前を入力します。

    G Suite の別の追加

    d. [Continue and verify domain ownership](続行してドメインの所有権を確認) を選択します。 次に、手順に従って、ドメイン名を所有していることを確認します。 Google でドメインを検証する方法に関する包括的な手順については、「サイトの所有権を確認する」を参照してください。

    e. G Suite に追加しようとしているすべての追加のドメインについて、前の手順を繰り返します。

  5. 次に、G Suite でユーザー プロビジョニングを管理するためにどの管理者アカウントを使用するかを決定します。 [Admin Roles] (管理者ロール) に移動します。

    G Suite の管理者

  6. そのアカウントの [Admin role] (管理者ロール) で、そのロールの [特権] を編集します。 このアカウントをプロビジョニングに使用できるように、 [Admin API Privileges](管理 API の権限) がすべて有効になっていることを確認します。

    G Suite の管理者権限

Azure AD アプリケーション ギャラリーから G Suite を追加して、G Suite へのプロビジョニングの管理を開始します。 SSO のために G Suite を以前に設定している場合は、その同じアプリケーションを使用することができます。 ただし、統合を初めてテストするときは、別のアプリを作成することをお勧めします。 ギャラリーからアプリケーションを追加する方法の詳細については、こちらを参照してください。

手順 4. プロビジョニングの対象となるユーザーを定義する

Azure AD プロビジョニング サービスを使用すると、アプリケーションへの割り当て、ユーザーまたはグループの属性に基づいてプロビジョニングされるユーザーのスコープを設定できます。 割り当てに基づいてアプリにプロビジョニングされるユーザーのスコープを設定する場合、以下の手順を使用して、ユーザーとグループをアプリケーションに割り当てることができます。 ユーザーまたはグループの属性のみに基づいてプロビジョニングされるユーザーのスコープを設定する場合、こちらで説明されているスコープ フィルターを使用できます。

  • G Suite にユーザーとグループを割り当てるときは、既定のアクセス 以外のロールを選択する必要があります。 既定のアクセス ロールを持つユーザーは、プロビジョニングから除外され、プロビジョニング ログで実質的に資格がないとマークされます。 アプリケーションで使用できる唯一のロールが既定のアクセス ロールである場合は、アプリケーション マニフェストを更新してロールを追加することができます。

  • 小さいところから始めましょう。 全員にロールアウトする前に、少数のユーザーとグループでテストします。 プロビジョニングのスコープが割り当て済みユーザーとグループに設定される場合、これを制御するには、1 つまたは 2 つのユーザーまたはグループをアプリに割り当てます。 スコープがすべてのユーザーとグループに設定されている場合は、属性ベースのスコープ フィルターを指定できます。

手順 5. G Suite への自動ユーザー プロビジョニングを構成する

このセクションでは、Azure AD でのユーザー、グループ、またはその両方の割り当てに基づいて、TestApp でユーザー、グループ、またはその両方が作成、更新、および無効化されるように Azure AD プロビジョニング サービスを構成する手順について説明します。

注意

G Suite の Directory API エンドポイントについて詳しくは、Directory API に関するページをご覧ください。

Azure AD で G Suite の自動ユーザー プロビジョニングを構成するには:

  1. Azure portal にサインインします。 [エンタープライズ アプリケーション] を選択し、 [すべてのアプリケーション] を選択します。 ユーザーは portal.azure.com にログインする必要があり、aad.portal.azure.com を使用できなくなります

    [エンタープライズ アプリケーション] ブレード

    [すべてのアプリケーション] ブレード

  2. アプリケーションの一覧で [G Suite] を選択します。

    アプリケーションの一覧の G Suite のリンク

  3. [プロビジョニング] タブを選択します。 [開始] をクリックします。

    [プロビジョニング] オプションが強調表示された [管理] オプションのスクリーンショット。

    [開始] ブレード

  4. [プロビジョニング モード][自動] に設定します。

    [自動] オプションが強調表示された [プロビジョニング モード] ドロップダウン リストのスクリーンショット。

  5. [管理者資格情報] セクション下にある [承認する] をクリックします。 ブラウザーの新しいウィンドウで Google 認可ダイアログ ボックスにリダイレクトされます。

    G Suite の承認

  6. Azure AD に G Suite テナントを変更するためのアクセス許可を付与することを確認します。 [Accept](承認) を選択します。

    G Suite のテナントの承認

  7. Azure Portal で、 [テスト接続] をクリックして Azure AD が G Suite に接続できることを確認します。 接続できない場合は、使用中の G Suite アカウントに管理者アクセス許可があることを確認してから、もう一度試します。 その後、承認 手順を再び試します。

  8. [通知用メール] フィールドに、プロビジョニングのエラー通知を受け取るユーザーまたはグループの電子メール アドレスを入力して、 [エラーが発生したときにメール通知を送信します] チェック ボックスをオンにします。

    通知用メール

  9. [保存] を選択します。

  10. [マッピング] セクションの [Provision Azure Active Directory Users](Azure Active Directory ユーザーをプロビジョニングする) を選択します。

  11. [属性マッピング] セクションで、Azure AD から G Suite に同期されるユーザー属性を確認します。 [Matching] (照合) プロパティとして選択されている属性は、更新操作のために G Suite のユーザー アカウントを照合するために使用されます。 一致する対象の属性を変更する場合は、その属性に基づいたユーザーのフィルター処理が確実に G Suite API でサポートされているようにする必要があります。 [保存] ボタンをクリックして変更をコミットします。

    属性 Type
    primaryEmail String
    relations.[type eq "manager"].value String
    name.familyName String
    name.givenName String
    suspended String
    externalIds.[type eq "custom"].value String
    externalIds.[type eq "organization"].value String
    addresses.[type eq "work"].country String
    addresses.[type eq "work"].streetAddress String
    addresses.[type eq "work"].region String
    addresses.[type eq "work"].locality String
    addresses.[type eq "work"].postalCode String
    emails.[type eq "work"].address String
    organizations.[type eq "work"].department String
    organizations.[type eq "work"].title String
    phoneNumbers.[type eq "work"].value String
    phoneNumbers.[type eq "mobile"].value String
    phoneNumbers.[type eq "work_fax"].value String
    emails.[type eq "work"].address String
    organizations.[type eq "work"].department String
    organizations.[type eq "work"].title String
    phoneNumbers.[type eq "work"].value String
    phoneNumbers.[type eq "mobile"].value String
    phoneNumbers.[type eq "work_fax"].value String
    addresses.[type eq "home"].country String
    addresses.[type eq "home"].formatted String
    addresses.[type eq "home"].locality String
    addresses.[type eq "home"].postalCode String
    addresses.[type eq "home"].region String
    addresses.[type eq "home"].streetAddress String
    addresses.[type eq "other"].country String
    addresses.[type eq "other"].formatted String
    addresses.[type eq "other"].locality String
    addresses.[type eq "other"].postalCode String
    addresses.[type eq "other"].region String
    addresses.[type eq "other"].streetAddress String
    addresses.[type eq "work"].formatted String
    changePasswordAtNextLogin String
    emails.[type eq "home"].address String
    emails.[type eq "other"].address String
    externalIds.[type eq "account"].value String
    externalIds.[type eq "custom"].customType String
    externalIds.[type eq "customer"].value String
    externalIds.[type eq "login_id"].value String
    externalIds.[type eq "network"].value String
    gender.type String
    GeneratedImmutableId String
    識別子 String
    ims.[type eq "home"].protocol String
    ims.[type eq "other"].protocol String
    ims.[type eq "work"].protocol String
    includeInGlobalAddressList String
    ipWhitelisted String
    organizations.[type eq "school"].costCenter String
    organizations.[type eq "school"].department String
    organizations.[type eq "school"].domain String
    organizations.[type eq "school"].fullTimeEquivalent String
    organizations.[type eq "school"].location String
    organizations.[type eq "school"].name String
    organizations.[type eq "school"].symbol String
    organizations.[type eq "school"].title String
    organizations.[type eq "work"].costCenter String
    organizations.[type eq "work"].domain String
    organizations.[type eq "work"].fullTimeEquivalent String
    organizations.[type eq "work"].location String
    organizations.[type eq "work"].name String
    organizations.[type eq "work"].symbol String
    OrgUnitPath String
    phoneNumbers.[type eq "home"].value String
    phoneNumbers.[type eq "other"].value String
    websites.[type eq "home"].value String
    websites.[type eq "other"].value String
    websites.[type eq "work"].value String
  12. [マッピング] セクションの [Provision Azure Active Directory Groups](Azure Active Directory グループをプロビジョニングする) を選択します。

  13. [属性マッピング] セクションで、Azure AD から G Suite に同期されるグループ属性を確認します。 [Matching] (照合) プロパティとして選択されている属性は、更新操作のために G Suite のグループを照合するために使用されます。 [保存] ボタンをクリックして変更をコミットします。

    属性 Type
    email String
    メンバー String
    name String
    description String
  14. スコープ フィルターを構成するには、スコープ フィルターのチュートリアルの次の手順を参照してください。

  15. G Suite で Azure AD プロビジョニング サービスを有効にするには、 [設定] セクションで [プロビジョニングの状態][オン] に変更します。

    プロビジョニングの状態を [オン] に切り替える

  16. [設定] セクションの [スコープ] で目的の値を選択することによって、G Suite にプロビジョニングするユーザーまたはグループ、あるいはその両方を定義します。

    プロビジョニングのスコープ

  17. プロビジョニングの準備ができたら、 [保存] をクリックします。

    プロビジョニング構成の保存

この操作により、 [設定] セクションの [スコープ] で定義したすべてのユーザーとグループの初期同期サイクルが開始されます。 初期サイクルは後続の同期よりも実行に時間がかかります。後続のサイクルは、Azure AD のプロビジョニング サービスが実行されている限り約 40 分ごとに実行されます。

注意

ユーザーが Azure AD ユーザーのメール アドレスを使用する既存の個人/コンシューマー アカウントを既に持っている場合は、何らかの問題が発生する可能性がありますが、ディレクトリ同期を実行する前に Google の転送ツールを使用して解決できます。

手順 6. デプロイを監視する

プロビジョニングを構成したら、次のリソースを使用してデプロイを監視します。

  1. プロビジョニング ログを使用して、正常にプロビジョニングされたユーザーと失敗したユーザーを特定します。
  2. 進行状況バーを確認して、プロビジョニング サイクルの状態と完了までの時間を確認します。
  3. プロビジョニング構成が異常な状態になったと考えられる場合、アプリケーションは検疫されます。 検疫状態の詳細については、こちらを参照してください。

ログの変更

  • 10/17/2020 - G Suite の追加のユーザーおよびグループ属性に対するサポートが追加されました。
  • 10/17/2020 - G Suite ターゲットの属性名が、ここで定義されている内容に一致するように更新されました。
  • 10/17/2020 - 既定の属性マッピングが更新されました。
  • 03/18/2021 - 新しいユーザーについては、ID ではなくマネージャーのメールが同期されるようになりました。 マネージャーを ID としてプロビジョニングされている既存のユーザーについては、Microsoft Graph を通じて再開することができます。その際、メールが確実にプロビジョニングされるよう、スコープは "フル" とします。 この変更は GSuite プロビジョニング ジョブにのみ影響し、Goov2OutDelta で始まる古いプロビジョニング ジョブには影響しません。 マネージャーのメールがプロビジョニングされるのは、ユーザーが最初に作成されたときか、またはマネージャーが変わったときであることに注意してください。 マネージャーが自分のメール アドレスを変更しても、マネージャーのメールはプロビジョニングされません。

その他のリソース

次のステップ