ライフサイクル ワークフローの属性を同期する方法

ワークフローには特定のタスクが含まれており、指定した実行条件に基づいてユーザーに対して自動的に実行できます。 自動ワークフローのスケジュールは、Microsoft Entra ID の employeeHireDate および employeeLeaveDateTime ユーザー属性に基づいてサポートされます。

ライフサイクル ワークフローを最大限に活用するには、ユーザー プロビジョニングを自動化し、スケジュール関連の属性を同期する必要があります。

スケジュール関連の属性

次の表では、スケジュール (トリガー) 関連の属性と、サポートされている同期の方法を示します。

属性 Type HR インバウンド プロビジョニングでのサポート Microsoft Entra Connect クラウド同期でのサポート Microsoft Entra Connect 同期でのサポート
employeeHireDate DateTimeOffset はい Yes はい
employeeLeaveDateTime DateTimeOffset はい Yes はい

Note

クラウド専用ユーザーに対して employeeLeaveDateTime を手動で設定するには、特別なアクセス許可が必要です。 詳細については、「ユーザーの employeeLeaveDateTime プロパティを構成する」を参照してください

このドキュメントでは、オンプレミスの Microsoft Entra Connect クラウド同期または Microsoft Entra Connect からの必要な属性の同期を設定する方法について説明します。

Note

Active Directory には、EmployeeHireDate または EmployeeLeaveDateTime に対応する属性はありません。 オンプレミスの AD から同期する場合は、AD で使用できる属性を確認する必要があります。 この属性は、文字列である必要があります。

EmployeeHireDate と EmployeeLeaveDateTime の書式設定について

EmployeeHireDate と EmployeeLeaveDateTime には、特定の方法で書式設定する必要がある日付と時刻が含まれます。 つまり、式を使って、ソース属性の値を EmployeeHireDate または EmployeeLeaveDateTime が受け入れる書式に変換する必要がある場合があります。 次の表では、想定される書式の概要を示し、値の変換方法に関する式の例を示します。

シナリオ 式/書式 移行先 詳細情報
Workday から Active Directory へのユーザー プロビジョニング FormatDateTime([StatusHireDate], "yyyy-MM-ddzzz", "yyyyMMddHHmmss.fZ") オンプレミスの AD の文字列属性 Workday の属性マッピング
Active Directory ユーザー プロビジョニングに対する SuccessFactors FormatDateTime([endDate], ,"M/d/yyyy hh:mm:ss tt","yyyyMMddHHmmss.fZ") オンプレミスの AD の文字列属性 SAP Success Factors の属性マッピング
Active Directory へのカスタム インポート "yyyyMMddHHmmss.fZ" の形式である必要があります オンプレミスの AD の文字列属性 他の記録システムの属性マッピング
Microsoft Graph User API "YYYY-MM-DDThh:mm:ssZ" の形式である必要があります EmployeeHireDate と EmployeeLeaveDateTime
Workday からの Microsoft Entra へのユーザー プロビジョニング 直接マッピングを使用できます。 式は必要ありませんが、EmployeeHireDate と EmployeeLeaveDateTime の時刻部分を調整するために使用できます EmployeeHireDate と EmployeeLeaveDateTime
SuccessFactors から Microsoft Entra へのユーザー プロビジョニング 直接マッピングを使用できます。 式は必要ありませんが、EmployeeHireDate と EmployeeLeaveDateTime の時刻部分を調整するために使用できます EmployeeHireDate と EmployeeLeaveDateTime

式の詳細については、「Microsoft Entra ID で属性マッピングの式を記述するためのリファレンス」を参照してください。

表の式の例では、SAP には endDate を、Workday には StatusHireDate を使用しています。 ただし、異なる属性を使うこともできます。

たとえば、StatusHireDate の代わりに StatusContinuousFirstDayOfWork を Workday に使用できます。 その場合、式は次のようになります。

FormatDateTime([StatusContinuousFirstDayOfWork], , "yyyy-MM-ddzzz", "yyyyMMddHHmmss.fZ")

次の表では、推奨される属性とそのシナリオの推奨事項の一覧を示します。

HR 属性 HR システム シナリオ Microsoft Entra 属性
StatusHireDate Workday 就職者 EmployeeHireDate
StatusContinuousFirstDayOfWork Workday 就職者 EmployeeHireDate
StatusDateEnteredWorkforce Workday 就職者 EmployeeHireDate
StatusOriginalHireDate Workday 就職者 EmployeeHireDate
StatusEndEmploymentDate Workday 退職者 EmployeeLeaveDateTime
StatusResignationDate Workday 退職者 EmployeeLeaveDateTime
StatusRetirementDate Workday 退職者 EmployeeLeaveDateTime
StatusTerminationDate Workday 退職者 EmployeeLeaveDateTime
startDate SAP SF 就職者 EmployeeHireDate
firstDateWorked SAP SF 就職者 EmployeeHireDate
lastDateWorked SAP SF 退職者 EmployeeLeaveDateTime
endDate SAP SF 退職者 EmployeeLeaveDateTime

他の属性については、Workday 属性リファレンスSAP SuccessFactors 属性リファレンスに関する記事を参照してください。

時刻の重要性

ワークフローのタイミングを正確にスケジュールするには、以下を考慮することが重要です。

  • 属性の時刻部分を適切に設定する必要があります。たとえば、employeeHireDate には午前 1 時や午前 5 時のような 1 日の開示時刻を設定し、employeeLeaveDateTime には午後 9 時や午後 11 時のような 1 日の終了時刻を設定する必要があります
  • ワークフローが属性で指定された時刻より早く実行されることはありませんが、テナント スケジュール (既定は 3 時間) によってワークフローの実行が遅れる可能性があります。 たとえば、employeeHireDate を午前 8 時に設定しても、テナント スケジュールが午前 9 時まで実行されない場合、ワークフローはそれまで処理されません。 新入社員が午前 8 時に勤務を開始する場合は、時刻を (開始時刻 - テナント スケジュール) などのように設定して、従業員が到着する前に実行されるようにします。
  • 一時アクセス パス (TAP) を使っている場合は、最大有効期間を 24 時間に設定することをお勧めします。 このようにすると、異なるタイムゾーンにいる可能性のある従業員に送信された後で TAP の有効期限が切れないようにすることができます。 詳しくは、「パスワードレスの認証方法を登録するように Microsoft Entra ID で一時アクセス パスを構成する」をご覧ください。
  • データをインポートするときは、正確なタイミングにするためにユーザーが調整できるよう、ソースからタイム ゾーン情報が提供されるかどうか、およびその方法を、理解しておく必要があります。

Microsoft Entra Connect クラウド同期で EmployeeHireDate 用のカスタム同期ルールを作成する

次の手順では、クラウド同期を使用して同期ルールを作成する手順について説明します。

  1. Microsoft Entra 管理センターで、>[ハイブリッド管理]>[Microsoft Entra Connect] の順に移動します。
  2. [Microsoft Entra Connect クラウド同期の管理] を選択します。
  3. [構成] の下で、自分の構成を選択します。
  4. [クリックしてマッピングを編集] を選択します。 このリンクにより、 [属性マッピング] 画面が開きます。
  5. [属性の追加] を選択します。
  6. 次の情報を入力します。
    • マッピングの種類: 直接
    • ソース属性: msDS-cloudExtensionAttribute1
    • 既定値: 空白のまま
    • ターゲット属性: employeeHireDate
    • このマッピングを適用する: 常時Screenshot of the cloud attribute mapping.
  7. [適用] を選択します。
  8. [属性マッピング] 画面に戻ると、新しい属性マッピングが表示されます。
  9. [スキーマの保存] を選択します。

属性の詳細については、「Microsoft Entra Connect クラウド同期の属性マッピング」を参照してください。

Microsoft Entra Connect で EmployeeHireDate 用のカスタム同期ルールを作成する方法

次の例では、Active Directory の属性を Microsoft Entra ID の employeeHireDate 属性に同期するカスタム同期ルールを設定する手順について説明します。

  1. 管理者として PowerShell ウィンドウを開き、Set-ADSyncScheduler -SyncCycleEnabled $false を実行してスケジューラを無効にします。
  2. Start\Microsoft Entra Connect\ に移動し、同期ルール エディターを開きます
  3. 上部の方向が [受信] に設定されていることを確認します。
  4. [ルールの追加] を選びます。
  5. [Create Inbound synchronization rule] (インバウンド同期ルールの作成) 画面で、次の情報を入力して、[次へ] を選びます。
    • 名前: In from AD - EmployeeHireDate
    • 接続先システム: contoso.com
    • 接続先システム オブジェクトの種類: user
    • メタバース オブジェクトの種類: person
    • 優先順位: 20 Screenshot of creating an inbound synchronization rule basics.
  6. [Scoping filter] (スコープ フィルター) 画面で [次へ] を選びます。
  7. [Join rules] (参加ルール) 画面で [次へ] を選びます。
  8. [変換] 画面 の [Add transformations] (変換の追加) で、次の情報を入力します。
    • FlowType: 直接
    • ターゲット属性: employeeHireDate
    • ソース: msDS-cloudExtensionAttribute1 Screenshot of creating inbound synchronization rule transformations.
  9. [追加] を選択します。
  10. 同期ルール エディターで、上部の方向が [送信] に設定されていることを確認します。
  11. [ルールの追加] を選びます。
  12. [Create Outbound synchronization rule] (アウトバウンド同期ルールの作成) 画面で、次の情報を入力して、[次へ] を選びます。
    • 名前: Out to Microsoft Entra ID - EmployeeHireDate
    • 接続先システム: <自分のテナント><>
    • 接続先システム オブジェクトの種類: user
    • メタバース オブジェクトの種類: person
    • 優先順位: 21
  13. [Scoping filter] (スコープ フィルター) 画面で [次へ] を選びます。
  14. [Join rules] (参加ルール) 画面で [次へ] を選びます。
  15. [変換] 画面 の [Add transformations] (変換の追加) で、次の情報を入力します。
    • FlowType: 直接
    • ターゲット属性: employeeHireDate
    • ソース: employeeHireDate Screenshot of create outbound synchronization rule transformations.
  16. [追加] を選択します。
  17. 同期ルール エディターを閉じます
  18. Set-ADSyncScheduler -SyncCycleEnabled $true を実行して、再度スケジューラを有効にします。

Note

  • msDS-cloudExtensionAttribute1 はソースの例です。
  • Microsoft Entra Connect 2.0.3.0 以降では、既定の "Out to Microsoft Entra ID" ルールに employeeHireDate が追加されるため、手順 10 から 16 は必要ありません。
  • Microsoft Entra Connect 2.1.19.0 以降では、既定の "Out to Microsoft Entra ID" ルールに employeeLeaveDateTime が追加されるため、手順 10 から 16 は必要ありません。

詳しくは、「同期規則をカスタマイズする方法」と既定の構成の変更に関する記事をご覧ください。

プロビジョニング アプリケーションで属性マッピングを編集する

プロビジョニング アプリケーションを設定したら、その属性マッピングを編集できます。 アプリが作成されたら、HRM と Active Directory の間の既定のマッピングの一覧が表示されます。 その一覧で、既存のマッピングを編集したり、新しいマッピングを追加したりすることができます。

このマッピングを更新するには、次の操作を行います。

  1. Microsoft Entra 管理センター に 少なくともグローバル管理者 としてサインインします。

  2. ID>アプリケーション>エンタープライズ アプリケーション を参照します。

  3. プロビジョニングされたアプリケーションを開きます。

  4. [プロビジョニング] を選択し、[属性マッピングの編集] を選択します。

  5. [詳細オプションの表示] を選択し、[オンプレミス Active Directory の属性リストの編集] を選択します。 Screenshot of editing on-premises attribute.

  6. String 型として作成した 1 つまたは複数のソース属性を追加し、必要に応じてチェックボックスをオンにします。 Screenshot of source API list.

    Note

    追加されるソース属性の数と名前は、Active Directory から同期する属性によって異なります。

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

  8. そこから、追加された Active Directory 属性に HRM 属性をマップする必要があります。 これを行うには、式を使用して新しいマッピングを追加します。

  9. 式は、「EmployeeHireDate と EmployeeLeaveDateTime の書式設定について」セクションにある書式と一致している必要があります。 Screenshot of setting attribute format.

  10. [OK] を選択します。

Microsoft Entra ID でこれらの属性値を確認する方法

Microsoft Entra ID のユーザー オブジェクトについて、これらのプロパティに設定されている値を確認するには、Microsoft Graph PowerShell SDK を使用できます。 次に例を示します。

# Import Module
Import-Module Microsoft.Graph.Users

# Define the necessary scopes
$Scopes =@("User.Read.All", "User-LifeCycleInfo.Read.All")

# Connect using the scopes defined and select the Beta API Version
Connect-MgGraph -Scopes $Scopes


# Query a user, using its user ID, and return the desired properties
$user = Get-MgUser -UserID "9093a415-2968-48b5-808b-a1a6f006f7a3" -Property EmployeeLeaveDateTime
$User.EmployeeLeaveDateTime

Screenshot of the result.

次のステップ