同期と連携
このページの内容
同期は、他のシステムの人物を Users に自動的に反映するため、手動で入力しなくても、ドアのアクセス権が外部ソースのデータに追従します。このページでは、3 つの同期ソース、Performance Hub のスタッフ同期、識別子、ソースが所有する Access Time Windows、鮮度とスコープのマッピング、削除、重複の解消、同期アクティビティパネル、招待、一括削除について説明します。すべての設定は Settings → Sync settings で行います。
Performance Hub staff の同期は デフォルトでオン です。統合と Computer Vision からの同期は デフォルトでオフ のため、既存の施設では手動で管理している一覧がそのまま維持されます。ソースを有効にするまで、そこからは何も同期されません。
同期ソース


図 1:Sync settings
| ソース | 反映される内容 | 付与されるユーザーのソースバッジ |
|---|---|---|
| Performance Hub staff | ロールにこの施設が含まれる Performance Hub ユーザー | Performance Hub staff |
| 統合 | 接続された連携サービスのメンバーと、対応している場合はソースが所有する Access Time Windows | Integration / パートナーの名前 |
| Performance Hub features (CCTV/Computer Vision) | 監視カメラモジュールで識別された人物 | CCTV/Computer Vision |
各ブロックには個別の有効化トグルがあり、最終実行日時と件数(または Never run)が表示されます。
統合ソースでは、Sync from these integrations で連携サービスごとに同期の対象に含めるかどうかを選択することもできます。"Turn off an integration to stop mirroring its people. People already synced stay until you remove them."(連携サービスをオフにすると、その人物の反映が停止します。すでに同期された人物は、削除するまで残ります。)Show all integrations を選択すると、一覧全体が展開されます。
識別子の必須設定
ユーザーは、電話またはメールに送信されるワンタイムコードでモバイルアプリにサインインします。そのため、どちらもないレコードはドアのアクセスには使用できません。Require identifier ドロップダウンで、同期するレコードを指定します。
| オプション | 同期されるレコード |
|---|---|
| Email OR phone(デフォルト) | メールまたは電話番号がある |
| Email required | メールがある |
| Phone required | 電話番号がある |
| Both required | 両方がある |
要件を満たさないレコードはスキップされます(同期アクティビティパネルには、識別子がないためスキップされたことが表示されます)。
Access Time Window のマッピングとソースの鮮度
Access Time Windows を提供する連携サービスには、それぞれ個別の設定があります。
- Access Time Window mapping:"Map each partner scope key to facility doors or Access Scopes. Unknown and unmapped keys fail closed."(各パートナーのスコープキーを施設のドアまたは Access Scopes にマッピングします。不明なキーやマッピングされていないキーはフェイルクローズになります。)連携サービスごとに、
defaultキーを含めて最大 50 件のマッピングを設定できます。キーは Add partner scope key で追加します。 - Source freshness policy:安全のための設定です。"Choose how old a partner snapshot may be before all of its windows fail closed."(パートナーのスナップショットがどれだけ古くなったら、そのすべてのウィンドウをフェイルクローズにするかを選択します。)連携サービスが約束している更新頻度に合わせて設定すると、更新が止まった連携サービスのウィンドウがアクセスを許可し続けることを防げます。
連携サービスのウィンドウが更新される仕組みについては、Access Time Window のスナップショット を参照してください。
Performance Hub のスタッフ


図 2:Performance Hub staff ソース
"Anyone whose Performance Hub roles cover this facility is added to Users automatically and kept in step with Performance Hub IAM."(Performance Hub のロールにこの施設が含まれる人は、Users に自動的に追加され、Performance Hub IAM と同期した状態に保たれます。)たとえば、小売チェーンの店舗スタッフは、誰かが手動で追加しなくてもバックヤードのドアを使用できるようになります。
- スタッフ(Performance Hub ユーザー)は、Performance Hub staff、Role: …(ロールごとに 1 つ)のタグ、および組織管理者の場合は Organisation admin のタグ付きで同期されます。
- 編集可能な Performance Hub staff Access Policy が施設ごとに 1 回作成され、このタグを持つ人はすべてのドアをいつでも通過できます。カードにはポリシーが有効かどうかと Edit policy が表示されます。他の Access Policy と同様に編集または無効化できます。
- ロール には、対象に含まれるロールが表示されます。含めるロールと除外するロールは、組織管理者 が 組織設定 で設定します。その他の管理者には "Ask an organisation admin to change this in Organisation Settings."(組織設定での変更を組織管理者に依頼してください。)と表示されます。
- 同期をオフにする際は確認が求められます("Turn off Performance Hub staff sync?")。
スタッフの詳細は Performance Hub IAM で管理され、Users では読み取り専用です。スタッフのドアのアクセス権を停止するには、Users → Performance Hub のスタッフ を参照してください。
同期が実行されるタイミング
| トリガー | タイミング |
|---|---|
| Continuous | Performance Hub のスタッフの変更と、接続された連携サービスから送信された変更は、通常リアルタイムで同期されます |
| Daily full sync | "A full reconcile also runs automatically every day to catch any inconsistencies."(不整合を検出するため、完全な照合も毎日自動的に実行されます。)Next full sync に次回の実行日時が表示されます |
| Sync now | このページのボタンを押すと、連携サービスから最新のデータを取得し、Users に照合します。Running… と表示された後、Sync complete(または Sync failed)と表示されます |
同期で更新される内容と、変更されない内容
同期のたびに、同期された行はソースから更新されます。
| 同期のたびに上書きされる項目 | 保持される項目(管理者が所有) |
|---|---|
| 名、姓 | Access enabled スイッチ |
| 携帯電話番号、メール | Additional permanent access |
| 人物の種類、会員ステータス | Custom tags |
| 同期されたタグ | Notes |
| 最終同期日時 | 切り離しの状態、アプリのメッセージ |
| そのソースが所有する Access Time Windows | 恒久的な付与と管理者が所有する Access Time Windows |
そのため、同期されたユーザーを無効にしたり、付与を与えたり、タグを付けたりしても安全です。同期によって元に戻されることはありません。
切り離し: ユーザーのパネルで Track source updates をオフにすると、同期はその行を完全にスキップします。名前や連絡先の編集内容は保持され、ソースでの削除も影響しなくなります。Users を参照してください。
Access Time Windows を提供するソースの場合、切り離すと、明示的な確認の後にそのソースのウィンドウもクリアされます。再び連携すると、次に完全なスナップショットが正常に取得されたときにウィンドウが復元されます。取得に失敗した際のキャッシュされたウィンドウは復元されません。
削除
連携サービスでメンバーが削除されると、そのメンバーのドアのアクセス権が削除されます(Removed by integration)。Users の行は削除されないため、履歴は保持されます。
同期によって一度に異常に多くの人が削除される場合は、その削除はレビューのために保留されます(N removals held back for review)。連携サービスによる削除が安全上の上限を超えると、管理者がレビューするまで適用されません。そのため、連携サービスからの誤った取得によって全員のアクセス権が一度に削除されることはありません。
Access Time Window のスナップショット
各連携サービスは、自身のソースパーティションのみを更新します。メンバーの更新は、単調に増加するリビジョンを持つ完全なウィンドウのスナップショットです。
- ウィンドウのデータが省略されている場合、現在のソースのスナップショットは変更されません。
- 新しいスナップショットは、そのソースの一覧全体を置き換えます。
- 同じリビジョンで正規化後のペイロードも同じ場合は、冪等な再送として扱われます。
- 同じリビジョンでデータが異なる場合は競合となり、古いリビジョンは期限切れとしてスキップされます。
- 新しい空のスナップショットは、そのソースのウィンドウを明示的に取り消します。
- 上流での取得が失敗した場合や不完全な場合は、スナップショットを送信してはいけません。空のスナップショットや部分的なスナップショットは決して送信しないでください。
ソースの安定した各 scope_key(default を含む)は、Access Time Window のマッピング で施設全体、ドア、または Access Scope の対象にマッピングされます。不明なマッピングや無効なマッピングはフェイルクローズになります。設定画面には、ソースの経過時間と連携サービスのソース鮮度ポリシーも表示されます。
重複の解消


図 3:重複の解消
"When two people share an email or phone number, only one can sync into Users. Choose who keeps the slot; the other is flagged as a conflict and not synced."(2 人が同じメールまたは電話番号を使用している場合、Users に同期できるのは 1 人だけです。どちらを残すかを選択してください。もう一方は競合としてフラグが付けられ、同期されません。)
- Prefer the active person:"A person with an active status always wins over an expired one. Turn off to apply the tiebreaker regardless of status."(有効なステータスの人物は、常に期限切れの人物より優先されます。オフにすると、ステータスに関係なくタイブレーカーが適用されます。)
- Tiebreaker:ステータスで優先する人物が決まらない場合に使用されます。たとえば Oldest By Date Of Birth, Then Earliest Start Date です。
もう一方のレコードは Users で Not synced – duplicate と表示され、Not synced タイルの件数に含まれます。たとえば医療クリニックでは、臨床医がスタッフであると同時に患者のメンバーでもある場合に、レコードを 1 つにまとめることができます。
アプリへの自動招待
App invitations の Auto-send app invitations は、まだ招待を受け取っていない対象の同期ユーザーにメールを送信します。Advanced recipient rules で受信者を制限することもできます。Send invitations… を使用すると、受信者の一覧を確認した後で既存のユーザーに一括送信できます。詳細は アプリへの招待 を参照してください。
同期アクティビティとトラブルシューティング
Sync activity & troubleshooting を展開すると、"see why recent records did or did not sync."(最近のレコードが同期された理由、または同期されなかった理由を確認できます。)名前、ID、理由で検索でき、Refresh で一覧を更新できます。各エントリには結果のバッジが表示されます。
| 結果 | 意味 |
|---|---|
| Added | Users に新しい行が作成されました |
| Updated | 既存の行がソースから更新されました |
| Skipped | レコードは同期されませんでした。エントリにその理由が表示されます(以下を参照) |
| Disabled | ソースで人物が削除されたため、アクセス権がオフになりました |
| Processed | レコードは処理されましたが、目に見える変更はありません |
| Stale snapshot | 新しい状態を上書きしないよう、古い Access Time Window のリビジョンが無視されました |
表示される可能性のあるスキップ理由:
| スキップ理由 | 対処法 |
|---|---|
| Integration sync is turned off for this facility | このページでソースのトグルを有効にします |
| This integration is turned off in sync settings | "Sync from these integrations" でその連携サービスを有効にします |
| No phone or email on the record (a phone or email is required to log in) | ソースシステムで連絡先の詳細を追加するか、Require identifier の条件を緩和します |
| Record is decoupled and managed manually | 想定どおりの動作です。同期を再開したい場合は、ユーザーの Track source updates トグルで再び連携します |
| No facility on the source record | ソースシステムで、ソースのレコードがこの施設に関連付けられていません |
| No matching Users record | 変更が、ここに行のない人物を参照しています(例:最初の同期の前に削除された) |
| Unknown or unmapped scope key | 連携サービスの scope_key マッピングを設定します。影響を受けるウィンドウはフェイルクローズになります |
| Access Time Window source is stale | ソースからの配信が正常に行われるよう復旧し、設定した鮮度のしきい値を確認します。検証されていない取得結果によってクリアしないでください |
エントリをクリックすると Sync activity detail が開き、名前、外部 ID、ソース、連携サービス、理由、サポートへのエスカレーション用の ID など、レコードの全情報が表示されます。
同期したユーザーの一括削除
連携サービスから取り込まれたユーザーを削除するには(例:連携サービスの接続を解除した後)、Bulk delete synced users を使用します。削除が行われる前に、対象の一覧を正確に確認できます。
- Bulk delete synced users で Bulk delete… をクリックします。
- 範囲として All integration-synced users または 1 つの連携サービスを選択します。Preview をクリックします。
- 確認します。ダイアログには、削除されるユーザーの正確な人数が(サンプルの一覧とともに)表示されます。警告に注意してください。This cannot be undone(元に戻せません)。また、それらの行に対する管理者のカスタマイズ(付与、カスタムタグ、メモ)は失われます。ユーザーのアクセスログの履歴は保持されます。
- Also turn off syncing from this integration (recommended) はデフォルトでオンになっています。オンのままにしてください。オフにすると、次の同期で同じユーザーが(以前のカスタマイズなしで)再作成されます。
- I understand this is permanent and customisations will be lost にチェックを入れ、Delete N をクリックします。
プレビューから確定までの間に対象のユーザーが変更された場合は、プレビューの再実行を求められます。これにより、確認したとおりの内容が確実に削除されます。
関連ページ
- Users:ソース、切り離し、ユーザーパネル
- Access Policy のスケジュール:スケジュールと Access Time Windows の設定
- アプリへの招待
- トラブルシューティング:「ユーザーが見つからない / 情報が古い」場合の手順