Azure AD Sync

プラグイン・ドキュメンテーション
 

概要

Azure AD (AAD) Syncプラグインは、Rock管理者がRockとAzure Active Directory間のデータを同期することを可能にします。 RockとAzure Active Directory間のデータを同期し、シングルサインオン(SSO)を可能にします。 シングルサインオン(SSO)を可能にし、Azure ADのユーザーがAzure ADの認証情報でRockにログインできるようにします。 認証情報でRockにログインできるようになります。 データの同期方向は RockからAzure ADへ、またはAzure ADからRockへ)、そしてオンデマンドで同期することもできます。 同期することができます。

デフォルトでは、Azure AD Sync プラグインはグループのメンバーを同期する。 のロジックを使用して、どちらかのシステムにある既存のレコードとの一致を試みます。 のロジックを使用する:

  1. AAD -> ロック -同期は、'ファーストネーム'、'ラストネーム'、'Eメール'の完全一致を検索します。
  2. Rock -> AAD- 同期はRockの'Eメール'とAADのユーザープリンシパル名(AADのEメールと思われる)が完全に一致するものを探します。

警告

重要: このプラグインでRockからAADに同期できるのは、Azure Active Directoryの「カスタムドメイン名」に存在するドメインのメールアドレスを持っているユーザーだけです。 RockからAADに同期する際、RockはAzure Active Directoryのメール対応グループのグループメンバーシップを変更できません(これにはメール対応セキュリティグループと配布リストが含まれます)。 メール対応グループは、Exchange/Office 365 Admin Centerからのみ管理できます。

さらに、以下のフィールドの変更を一方向(RockからAzure AD)に同期する自動ジョブを構成することもできます:

  • オフィス電話
  • 自宅電話
  • 役職名
  • 部門
  • 会社概要

また、User Photosのデータは、どちらの方向にも同期することができる。

Azure Active AzureActiveDirectoryのユーザー画像は、ユーザーがExchangeメールボックス (通常は Office 365 サブスクリプションの一部) を持っている場合にのみ、取得または変更できます。 これはMicrosoft Graph APIの制限です。

インストール前のセットアップ Azure Active Directoryの設定

プラグインを設定するには、Azure Active Directoryテナントにアプリケーションを登録し、必要な権限を付与する必要があります。

ステップ1:Azure ADテナントで新しいApp登録を作成する。

まず、Azure Portal で Active Directory ブレードを開き(正しいテナントを選択していることを確認)、左側のリソースメニューから「App 登録」オプションを選択します。 アプリ登録ブレードの上部にある「新規登録」ボタンをクリックして、新規登録を作成します。

設定オプションの説明:

  1. 名前 -ここでは好きな名前を選べるが、このアプリ登録の目的を明確にするために「Rock Azure AD Sync Plugin」のような名前にすることをお勧めする。
  2. Supported Account Types -このオプションは、デフォルトの選択(シングルテナント)のままにしておきます。
  3. リダイレクト URI -プラグインの SSO 機能を使用する場合 (Azure AD 認証情報で Rock にログインできるようにするため)、ここに値を入力する必要があります。 これは、Azure AD認証情報でRockにログインするために使用する(Rockサーバー上の)ページです。 どのようなURLでも構いませんが、https://my.church/sso や https://my.church/azurelogin のようなものを使用することをお勧めします。 Rockでこのページを設定することについては、後のセクションで説明します。SSO機能を使用しない場合は、この設定を空白のままにしておいてください。

ステップ2 コンフィギュレーション設定をメモする。

新しいApp登録を作成すると、以下の画面が表示されます。 作成した新しいリソースの管理ブレードに移動します。 このページには このページには、後でプラグインを設定する際に必要となる重要な情報が記載されています。 "アプリケーション(クライアント)ID "と "ディレクトリ(テナント)ID "の値を控えておいてください。 ステップ1でリダイレクトURIの値を入力した場合は、その値もメモしておいてください。 1 でリダイレクト URI の値を入力した場合は、その値もメモしておきます。

また、ブレード上部の "エンドポイント "をクリックし、最初の2つのエンドポイントをメモしておく必要がある:

これで以下の情報が収集されたはずだ:

  1. アジュール・テナントID
  2. AzureクライアントID
  3. OAuth 2.0 認証エンドポイント (v2)
  4. OAuth 2.0 トークン エンドポイント (v2)
  5. リダイレクトURI(プラグインのSSO機能を使用している場合)

ステップ3:アプリ登録に 権限を付与します。

Azure AD プラグインには、Azure AD テナントのユーザーおよびグループレコードの読み取りと変更、および Azure AD テナントから基本データを読み取る権限が必要です。 とグループレコードの読み取りと変更、およびディレクトリから基本データを読み取る権限が必要です。 ディレクトリから基本データを読み取る権限が必要です。 これは Microsoft Graph API を使用するため、以下のパーミッションが必要です:

  1. ディレクトリ.Read.All
  2. グループ.ReadWrite.All
  3. ユーザー.ReadWrite.All

アプリケーションに新しいパーミッションを追加するには、左側のリソース管理メニューから "API パーミッション "を選択し、"パーミッションの追加 "ボタンをクリックします。 Add a permission "ボタンをクリックします。 Microsoft Graph "オプションを選択し、"Application パーミッション "を選択し、必要なパーミッションを追加する。 この3つを一度に追加することもできる。

ステップ4:管理者の同意を得る。

追加したパーミッションを確定するには、以下の作業が必要です。 管理者の同意を得る必要があります。 このステップを終えると このステップを終えると、APIパーミッション画面は以下のスクリーンショットのようになります。 以下のスクリーンショットのようになります。

チップ

ヒント: 管理者の同意を付与するには、Azure AD テナントで管理者権限を持っている必要があります。 管理者権限を付与するには、Azure AD テナントの管理者権限が必要です。

ステップ5:クライアントシークレットを作成する。

プラグインは、Azure Active Directoryへの認証にクライアントシークレットを使用します。 このシークレットはパスワードのようなもので、このシークレットを持つ人は、前のステップでアプリケーション登録リソースに付与した権限を持つので、パスワードと同じようにこの値を機密性の高いものとして扱う必要があります。

新しいクライアントシークレットを作成するには、リソース管理ブレードから "Certificates & secrets "オプションを選択します(作成したアプリ登録が表示されているはずです)。 クライアントシークレット」セクションまでスクロールダウンし、ボタンをクリックして新しいクライアントシークレットを追加します。 シークレットには好きな名前を付けることができますが、アプリ登録と同様に、シークレットの目的がわかるような名前を付けることをお勧めします。 有効期限は "Never "を選択することをお勧めします。 別の有効期限を選択すると、古いシークレットの有効期限が切れたときに新しいシークレットを作成してプラグインの設定に入力する必要があります。

シークレットを作成したら を作成した後、その値をコピーすることができます。 この時 この時点で値を記録しておく必要がある。 を記録しておく必要があります。 後でこの値が必要になったとき 後でこの値が必要になり、この時点で記録しておかなかった場合は、 新しいシークレットを作成してそれを使う必要があります。 を作成し、それを使う必要があります。

チップ

この画面に進む前に、クライアント の値を確認してください。

Azure AD Sync Plugin認証設定を構成する

これでAzure Active Directoryテナントが設定され プラグインを設定する番です。 まだプラグインをインストールしていない場合は、Rock Shopからインストールしてください、 をインストールしていない場合は、今すぐRock Shopからインストールしてください。 また、プラグインの設定には、ステップ2の インストール前のセットアップのステップ2で記録した設定情報と、ステップ5で作成したクライアントシークレットも必要です。 シークレットも必要です。

管理ツール > インストール済みプラグイン Installed Plugins に移動し、Azure AD Group Sync オプションを選択します。 次に、右上の Azure Credentials ボタンをクリックします。 ボタンをクリックし、前のステップで設定した値を入力する。

同期するグループを設定する

プラグインはRockまたはAzure ADのグループのメンバーを同期する。 ADにあるグループのメンバーを同期するので、両方のシステムでグループを作成する必要があります。 同期設定を構成するには Admin Tools] > [Installed Plugins] > [Azure AD Group Sync] に移動し、新しいエントリを追加するボタンをクリックします。 ボタンをクリックします。 以下の設定オプションが表示されます:

  1. Group Selection Type- これは、Rock Security Roleを選択するのか、通常のグループを選択するのかを決定します。
  2. Group - ロック・グループまたはセキュリティ・ロール。
  3. Azure AD Group- Azure AD のセキュリティロールまたはグループ。 これらのグループは、まず Azure AD ポータルで作成する必要があります。
  4. Sync Direction- ロックとアズールのどちらをデスティネーション・システムとするかをコントロールする。
  5. Add Individual If Unmatched- 一致するレコードが見つからない場合、その個人をRockまたはAzure ADに追加します。注:Azureに個人を追加しても、ライセンスは作成されず、メールボックスも追加されません。

チップ

新規ユーザーを派遣先システムに追加したい場合は、必ず "Add Individual If Unmatched "をチェックしてください。

Azure Active Directoryのメール対応グループについての注意点

上記の設定で Azure Active Directory のメール有効グループ(配布グループまたはメール有効セキュリティグループ)を選択し、同期方向を メール対応セキュリティグループ)を選択し、同期方向をRockからAADにデータをプッシュするように設定すると、警告通知が表示されます。 RockからAADにデータをプッシュするように同期方向を設定した場合、プラグインがAADのグループメンバーシップを変更できないという警告通知が表示されます。 プラグインはAzure Active Directoryのメール対応グループのグループメンバーシップを変更できません。 Active Directoryのメール対応グループのグループメンバーシップをプラグインで変更できないという警告通知が表示されます。 これは プラグインがこのグループのメンバーを追加または削除できないことを意味します。 これらのグループは引き続き RockとAADのユーザーレコード間の連絡先の同期はサポートされますが、メール有効グループのグループメンバーシップを変更する唯一の方法は次のとおりです。 メール有効グループのグループメンバーシップを変更する唯一の方法は、Exchange/Office 365管理センターからです。 管理センターから行うしかありません。

この方法でグループを設定すると、グループ同期リストにグループ設定に関する警告が表示されます。 グループ同期リストにグループ構成に関する警告が表示されます。

プラグインがRockグループのグループメンバーとAzure Active ディレクトリのメール対応グループのグループメンバーが同期されていない場合、プラグインが同期プロセスを実行しようとすると、ジョブで警告が表示されます。 プラグインが同期プロセスを実行しようとしたときに、RockグループとAzure Active Directoryメール有効グループが同期されていない場合、ジョブレポートとRockの例外リストに警告が表示されます。 レポートとRockの例外リストに警告が表示されます。 例外リスト 例外リストには、どのユーザーをグループから追加または削除できなかったかが表示されます。 グループに追加または削除できなかったユーザーを特定します (Azure ユーザー GUID によって)。 あなたは これらの警告は、Rockから同期するように設定したメール有効グループが手動で同期されていることを確認することで回避できます。 Rockから同期するように設定したメール対応グループが手動で同期されるようにすることで警告を回避できる。 同じ人を両方のグループに入れる)。

手動でグループを同期する

同期用のグループを設定した後、グループの横にある「同期」ボタンを押すことで、手動で同期させることができます。 グループの横にある "sync "ボタンを押して手動で同期させることができます。

[オプション] 自動同期ジョブの設定

このプラグインには、スケジュール可能な自動ジョブが含まれています。 が含まれています。 これを有効にするには 管理ツール > システム設定 > ジョブ管理に移動し、新しいジョブを追加してください。 新しいジョブを追加します。 スケジュールされたジョブ 詳細画面で、ジョブタイプとして "Azure AD の同期(プラグイン)" を選択します。

[オプション] 連絡先情報の同期を設定する

このプラグインは、グループを同期するたびにRockからAzure ADに連絡先情報を同期するように設定できます。 プラグインは、グループを同期するたびにRockからAzure ADに連絡先情報を同期するように設定できる(これは、グループが手動で同期されるか、自動化ジョブによって同期されるかにかかわらず発生する。 これはグループが手動で同期された場合でも、自動化ジョブによって同期された場合でも発生します。 これらの設定は、同期方向がRockからAzureである限り、同期されたすべてのグループに影響します。 方向がRockからAzureである限り)。

このセクションのオプションは、RockからAzureにデータをプッシュするすべての同期グループに影響します。

この機能を有効にし、設定を構成するには、次の場所に移動します。 管理ツール > インストール済みプラグイン > Azure ADグループ同期]に移動し、右上隅にある[連絡先設定]ボタンをクリックします。 「Contact Settings" ボタンをクリックする。

連絡先情報の同期を有効にする」オプションをチェックして有効にするまで、この画面のオプションを設定することはできません。

設定オプション:

  1. 連絡先情報の同期を有効にする- 連絡先情報の同期を有効にするには、このオプションを選択する必要があります。
  2. ファーストネーム- Azureのファーストネームフィールドは、Rockのファーストネームまたはニックネームフィールドのどちらかにマッチします。 この設定は、どちらを制御します。
  3. Job Title- この設定は、データがRockからAzure ADに送信される場合にのみ有効です。 同期が別の方向で行われる場合は効果がありません。 Person Attribute値またはLava式を選択して、Azure ADに送信される値を制御できます。
  4. 部門 - この設定は、データがRockからAzure ADに送信される場合にのみ有効である。 同期が別の方向で行われる場合は効果がありません。 Person Attribute値またはLava式を選択して、Azure ADに送信される値を制御できます。
  5. Office - この設定は、データがRockからAzure ADに送信される場合にのみ有効です。 同期が別の方向で行われる場合は効果がありません。 Person Attribute値またはLava式を選択して、Azure ADに送信される値を制御できます。
  6. Company - この設定は、データがRockからAzure ADに送信される場合にのみ有効である。 同期が別の方向で行われる場合は効果がありません。 Person Attribute値またはLava式を選択して、Azure ADに送信される値を制御できます。
  7. オフィス・フォン・タイプ- この設定は、Azure ADのオフィス/ビジネス・フォンへの同期に使用するロック・フォン・タイプを制御します。
  8. 携帯電話タイプ- この設定は、Azure ADの携帯電話に同期するために使用されるロックフォンタイプを制御します。

役職フィールド(役職名、部署、オフィス、および会社)は、RockからAzure ADにデータを同期する場合にのみ設定できます。 Azure ADからRockへデータを同期する場合、これらのフィールドは何の効果も持ちません。

警告

Microsoft Graph APIでは、Azure ADテナントの管理者権限を持つユーザーの電話番号を変更することはできません。 これは、セキュリティ上の理由による意図的な制限です(これらの電話番号はアカウントの回復に使用される可能性があります)。 これらのフィールドの同期を有効にしてこの条件が発生した場合、これらのフィールドは Azure AD で変更されません(ただし、その人の残りの情報は正しく同期されます)。

グループ構成と連絡先情報の同期に関する警告

チップ

同じレコードが双方向で同期されるような状況は避けることをお勧めします。

複数のグループ同期構成にすることで、個人が両方向で同期されるようにグループを構成することが可能です。 言い換えると、同じユーザーが、RockからAzureにデータをプッシュするように設定したグループと、AzureからRockにデータをプルするように設定した別のグループにいる可能性があります。 このような状況は避けることをお勧めしますが、意図的にこのように同期を設定する場合もあります。 その場合、連絡先情報の同期を設定した場合、連絡先情報はその方向でのみ同期されるため、Rockのデータが「マスターレコード」になります。 これは、Azure ADで直接行った変更が上書きされることを意味し、個人の連絡先情報の変更はRockで行う必要があります。

このルールには1つ例外があり、Microsoft Graph APIはAzure ADの管理者の電話番号(オフィスの電話と自宅の電話)の更新を許可していない。 この制限は、これらの値が Azure AD のアカウント回復プロセスで使用されるためで、外部からの変更を許可すると、管理者がアカウントを回復できなくなり、ロックアウトされる可能性があります。

[オプション]シングルサインオン(SSO)の設定

プラグインのシングルサインオン機能を設定すると、以下のことが可能になります。 ユーザーがAzure Active Directoryの認証情報でRockにログインできるようになる。 認証情報でRockにログインできるようになります。 この機能を有効にするには Azure ADアプリ登録でアプリのリダイレクトを構成する必要があります。 その詳細については、以下を参照してください。 Pre-Installation Setupをご覧ください。 プラグインを最初にセットアップするときに URL を入力しなくても、問題ありません。 プラグインを最初にセットアップしたときにURLを入力していなくても問題ありません。 を編集することで追加できます。

プラグインがインストールするAzure AD認証プロバイダ(Rock)を有効にして設定するには プラグインによってインストールされたAzure AD認証プロバイダを有効にして設定するには、管理ツール > セキュリティ > 認証サービス に移動し、「Azure AD」プロバイダを選択します。 Authentication Servicesに移動し、"Azure AD "プロバイダーを選択します。

設定オプション:

  • Active - Azure AD認証を有効にするには、このオプションを「Yes」に設定する。
  • Is Configured for 2FA- Rockで2要素認証(2FA)が有効で、Azure ADがRockの外部で多要素認証を処理するように構成されている場合、このオプションは「Yes」に設定する必要があります。No "に設定され、Rockが2ファクタ認証を必要とする場合、個人は認証にAzure ADを使用できません。

SSOリダイレクトページの設定

次に必要なことは、Rockに新しいページを作成することです。 (管理ツール > CMS設定 > ページ)を作成することです。 ルートも作りたいでしょう。 を作成し、デフォルトのページURLではなく、フレンドリーなURL(http://my.church/sso のような)で参照できるようにします。 のようなフレンドリーなURLで参照できるようにします。 この文書では このドキュメントでは、あなたがこの部分をどのように行うかを知っていると仮定します。 もし復習が必要であれば、いつでもRockのドキュメントを見直してください。 具体的には、Rock AdminのCMS 設定セクションから始めることをお勧めします。 の詳細から始めることをお勧めします。 and Building Websites Using Rockに詳しく書かれています。

ページとルートを作成したら、次の作業が必要です。 カスタムログインブロックをページに追加する必要があります。 Tech > Azure AD カテゴリにあります。

ブロックを ページにブロックを追加した後、ブロックに以下の設定を行う必要があります:

  • ログインオプション一覧
    • このオプションでは、ボタンテキスト(左側)を指定し、URLまたは認証プロバイダのタイプ名(右側)を入力することで、複数のログインオプションを設定できます。 ユーザーが Azure AD 経由でログインできるようにするには、Azure AD 認証プロバイダーの完全なタイプ名("tech.triumph.AzureAD.Security.Authentication.AzureAD")を入力する必要があります。
  • 成功のページ
    • これは、URLにリターンパラメータが指定されていない場合、ログイン成功後にユーザーがリダイレクトされる場所です。リターンパラメータがある場合、ユーザーはそのページにリダイレクトされます(標準のログインのように)。
  • 失敗したページ
    • ログインに失敗したユーザーがリダイレクトされる場所です。

このブロックは他のログイン方法でも動作するように設計されているが、ここではAzure ADのみを使用する。