ライフサイクル ワークフローの属性を同期する方法
ワークフローには特定のタスクが含まれており、指定した実行条件に基づいてユーザーに対して自動的に実行できます。 自動ワークフローのスケジュールは、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 用のカスタム同期ルールを作成する
次の手順では、クラウド同期を使って同期ルールを作成する手順について説明します。
- Microsoft Entra 管理センターで、>[ハイブリッド管理]>[Azure AD Connect] に移動します。
- [Azure AD クラウド同期を管理する] を選択します。
- [構成] の下で、自分の構成を選択します。
- [クリックしてマッピングを編集] を選択します。 このリンクにより、 [属性マッピング] 画面が開きます。
- [属性の追加] を選択します。
- 次の情報を入力します。
- マッピングの種類: 直接
- ソース属性: extensionAttribute1
- 既定値: 空白のまま
- ターゲット属性: employeeHireDate
- このマッピングを適用する: 常に
- [適用] を選択します。
- [属性マッピング] 画面に戻ると、新しい属性マッピングが表示されます。
- [スキーマの保存] を選択します。
属性について詳しくは、「Azure AD Connect クラウド同期の属性マッピング」をご覧ください。
Azure AD Connect で EmployeeHireDate 用のカスタム同期ルールを作成する方法
次の例では、Active Directory の属性を Azure AD の employeeHireDate 属性に同期するカスタム同期ルールを設定する手順について説明します。
- 管理者として PowerShell ウィンドウを開き、
Set-ADSyncScheduler -SyncCycleEnabled $false
を実行してスケジューラを無効にします。 - Start\Azure AD Connect\ に移動し、同期ルール エディターを開きます
- 上部の方向が [受信] に設定されていることを確認します。
- [ルールの追加] を選びます。
- [Create Inbound synchronization rule] (インバウンド同期ルールの作成) 画面で、次の情報を入力して、[次へ] を選びます。
- 名前: In from AD - EmployeeHireDate
- 接続先システム: contoso.com
- 接続先システム オブジェクトの種類: user
- メタバース オブジェクトの種類: person
- 優先順位: 200
- [Scoping filter] (スコープ フィルター) 画面で [次へ] を選びます。
- [Join rules] (参加ルール) 画面で [次へ] を選びます。
- [変換] 画面 の [Add transformations] (変換の追加) で、次の情報を入力します。
- FlowType: 直接
- ターゲット属性: employeeHireDate
- ソース: msDS-cloudExtensionAttribute1
- [追加] を選択します。
- 同期ルール エディターで、上部の方向が [送信] に設定されていることを確認します。
- [ルールの追加] を選びます。
- [Create Outbound synchronization rule] (アウトバウンド同期ルールの作成) 画面で、次の情報を入力して、[次へ] を選びます。
- 名前: Out to Azure AD - EmployeeHireDate
- 接続先システム: <自分のテナント><>
- 接続先システム オブジェクトの種類: user
- メタバース オブジェクトの種類: person
- 優先順位: 201
- [Scoping filter] (スコープ フィルター) 画面で [次へ] を選びます。
- [Join rules] (参加ルール) 画面で [次へ] を選びます。
- [変換] 画面 の [Add transformations] (変換の追加) で、次の情報を入力します。
- FlowType: 直接
- ターゲット属性: employeeHireDate
- ソース: employeeHireDate
- [追加] を選択します。
- 同期ルール エディターを閉じます
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