> For AI agents: the complete documentation index is available at /resource/ucidm/docs/on-premise/1.9.0/llms.txt, the full documentation bundle is available at /resource/ucidm/docs/on-premise/1.9.0/llms-full.txt.

# 更新差分の確認

> \[!CAUTION]
> [experimental: 実験的な機能](/resource/ucidm/docs/on-premise/1.9.0/glossary/index.md#experimental-実験的な機能)
>
> 本機能は実験的な機能であるため、必ず [既知の制約事項・不具合](#既知の制約事項不具合) をご確認の上、参考情報として扱うようにしてください。属性によって差分情報を取得できないもの、差分情報のフォーマット上の問題で差分として検出されてしまうもの、複雑なオブジェクトを扱うときに意図しない値の差分を取得してしまう場合があります。

履歴一覧画面の履歴から更新差分の画面へ遷移できます。外部サービスへ ID 連携したとき、更新前後の値において差分が検出された場合、その連携先の属性に対してそれぞれの値を確認できます。

ドライランモードを有効にして、実際に ID 連携を行う前にどの属性の値が更新されるのか、現時点で内部ディレクトリサービスと外部サービスで適切な同期を取れているかといった点を確認することもできます。

次に本機能の概要をまとめます。

- ID 連携に失敗したときは差分情報を作成しません
  - 検証用途で差分比較したいときはドライランモードを有効にしてください
- ID 連携に成功しても、差分がまったくないときは差分情報を作成しません
- パスワードや機密情報に相当する値の差分情報は作成しません
- 基本的にはエントリーの追加・更新の ID 連携に対して差分情報が作成されます
  - 削除に対しても差分情報が作成されることもありますが、実運用においては削除データなのでとくに意味はありません
  - パスワード追加・更新は基本的に差分を生成しないはずですが、外部サービスによっては通常の更新リクエストとして扱う処理の都合上、他の属性で差分があった場合にその値を更新した差分として表示される可能性があります
- 差分情報は外部連携の後処理スクリプトへも連携されます

## 既知の制約事項・不具合

本機能は実験的な機能であるため、いくつか制約事項や正常に差分を取得できない属性があります。ここに記載されていないことで意図しない振る舞いがあれば、弊社までご連絡いただけると助かります。

意図した差分情報が検出されなかったり、不要な差分情報が検出されているといったことが起こったとしても、ID 連携の処理に影響を与えることはありません。

### すべての連携先サービス共通

- boolean 値をとる属性において文字列比較の都合により、例えば `TRUE` と `true` を差分とみなしてしまう場合があります

```
連携元の値: TRUE
連携先の更新前の値: true
連携先の更新後の値: TRUE
```

- 日時のタイムゾーンの違いを差分とみなしてしまう場合があります

```
連携元の値: 2023-10-28T23:59:59+09:00
連携先の更新前の値: 2023-10-28T14:59:59Z
連携先の更新後の値: 2023-10-28T23:59:59+09:00
```

### OpenLDAP/Windows AD

- グループのメンバー情報に関する次の属性の差分情報は取得できません

  - memberUid
  - member
  - uniqueMember
  - memberOf
  - members

- ステータス用属性として設定した属性の差分情報は取得できません

### Microsoft Entra ID

- グループのメンバー情報に関する次の属性の差分情報は取得できません

  - members

- userPrincipalName

  - マッピング設定で管理していないため、差分情報を取得できません

- passwordPolicies 属性の値
  - 文字列として複数の値を連携するため、設定した値によってスペース有無の違いにより、差分とみなされる場合があります

```
連携元の値: DisablePasswordExpiration,DisableStrongPassword
連携先の更新前の値: DisablePasswordExpiration, DisableStrongPassword
連携先の更新後の値: DisablePasswordExpiration,DisableStrongPassword
```

- passwordProfile オブジェクトのメンバー属性の値
  - たとえば forceChangePasswordNextSignIn などになります
  - ユーザーによって正常に差分情報を取得できない場合があります
    - 権限設定のせいか、取得できる場合とできない場合があります

### Google Workspace

- グループのメンバー情報に関する次の属性の差分情報は取得できません

  - members

- primaryEmail

  - マッピング設定で管理していないため、差分情報を取得できません

- hashFunction

  - リクエスト時のみに使う値であるため、差分情報はありません

- emails
  - 内部的にはオブジェクトで複数の属性を管理しているため、マッピング設定していない値をデフォルト値と比較して複数の属性の差分情報を取得する場合があります
    - address
    - customType
    - primary
    - type

### SCIM

- グループのメンバー情報に関する次の属性の差分情報は取得できません

  - members

- 実際に連携する外部サービスの振る舞いによって意図しない差分が表示される場合があります
  - 問題がある場合は、実際に連携されている外部サービスとその属性を弊社までご連絡いただけると助かります
