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

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

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

スケジュール関連の属性

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

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

Note

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

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

注意

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
Azure AD ユーザー プロビジョニングに対する Workday 直接マッピングを使用できます。 式は必要ありませんが、EmployeeHireDate と EmployeeLeaveDateTime の時刻部分を調整するために使用できます EmployeeHireDate と EmployeeLeaveDateTime
Azure AD ユーザー プロビジョニングに対する SuccessFactors 直接マッピングを使用できます。 式は必要ありませんが、EmployeeHireDate と EmployeeLeaveDateTime の時刻部分を調整するために使用できます EmployeeHireDate と EmployeeLeaveDateTime

式について詳しくは、「Azure Active Directory で属性マッピングの式を記述するためのリファレンス」をご覧ください

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

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

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

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

HR 属性 HR システム シナリオ Azure AD の属性
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 の有効期限が切れないようにすることができます。 詳しくは、「パスワードレスの認証方法を登録するように Azure AD で一時アクセス パスを構成する」をご覧ください。
  • データをインポートするときは、正確なタイミングにするためにユーザーが調整できるよう、ソースからタイム ゾーン情報が提供されるかどうか、およびその方法を、理解しておく必要があります。

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

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

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

属性について詳しくは、「Azure AD Connect クラウド同期の属性マッピング」をご覧ください。

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

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

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

Note

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

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

Azure AD でこれらの属性値を確認する方法

Azure AD のユーザー オブジェクトについて、これらのプロパティに設定されている値は、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
Select-MgProfile -Name beta

# Query a user, using its user ID, and return the desired properties
Get-MgUser -UserId "44198096-38ea-440d-9497-bb6b06bcaf9b" | Select-Object DisplayName, EmployeeLeaveDateTime

結果のスクリーンショット。

次のステップ