はじめに
Microsoft Entra ID Governance の主要機能であるライフサイクルワークフローは、就職者や異動者、退職者の Microsoft Entra ユーザーのライフサイクルプロセスを自動管理することができます。本記事では、ライフサイクルワークフローを使って、新入 (中途) 社員のアカウントを入社日に有効化する手順を紹介します。ID ガバナンス機能を有効化する手順については、以下の記事をご参考にしてください。
前提条件・事前準備
本記事の環境では、Microsoft Entra ID P2 ライセンス、および Microsoft Entra ID Governance ライセンスが有効になっています。
入職者の Microsoft Entra ユーザーを作成する
ライフサイクルワークフローを使って Microsoft Entra ユーザーを有効化するために、事前にアカウント状態を無効化したユーザーを作成する必要があります。
1. Microsoft Entra 管理センター (https://entra.microsoft.com) にアクセスし [ID]-[ユーザー]-[すべてのユーザー] をクリックします。続いて [一括操作]-[一括作成] をクリックし CSV テンプレートをダウンロードします。
2. ダウンロードした CSV を開き、名前 [displayName]、ユーザー名 [userPrincipalName]、初期パスワード [passwordProfile]、サインインのブロック [accountEnabled]、部署 [department] を入力します。
3. Microsoft Entra 管理センターのユーザー一括作成画面に戻り、作成した CSV をアップロードし [送信] をクリックします。
4. 一括作成した Entra ユーザーの従業員入社日 (EmployeeHireDate) 属性とマネージャー (Manager) 属性を設定します。Windows PowerShell を起動し、以下のコマンドを実行します。
# Import Microsoft.Graph module
Import-Module Microsoft.Graph.Users
# Singin Microsoft Graph
Connect-MgGraph -Scopes "User.ReadWrite.All" -NoWelcome
# Set employeeHireDate and manager parameter
$employeeHireDate = "2024-06-25T05:00:00+09:00"
$managerId = "user01@smejpsec.com"
# Get User Objects
$users = Get-MgUser -All -Filter "department eq 'Training' and accountEnabled eq false"
# Get Manager ObjectId
$manager = Get-MgUser -UserId $managerId
$id = $manager.Id
# Loop through each user
foreach ($user in $users) { `
Update-MgUser -UserId $user.Id -EmployeeHireDate $employeeHireDate; `
Set-MgUserManagerByRef -UserId $user.Id -OdataId https://graph.microsoft.com/v1.0/directoryObjects/$id; `
}
一時アクセスパス (TAP) 認証方法を有効にする
以下のページの「認証方法ポリシーに TAP を追加しよう」を参考に TAP を有効化します。
入社日に入職者アカウントを有効化するワークフローを作成しよう
1. Microsoft Entra 管理センター (https://entra.microsoft.com) にアクセスし [Identity Governance]-[ライフサイクルワークフロー] をクリックします。概要画面の [ワークフローの作成] をクリックします。
2. テンプレートの選択で [新入社員をオンボードする] の [選択] をクリックします。
3. 必要に応じて名前や説明を変更します。トリガーの詳細は既定値のまま [次へ: スコープの構成] をクリックします。
4. ルールのプロパティに [department]、演算子に [equal] が選択された状態で、値を [Training] に設定します。さらに [式の追加] をクリックし、条件式に [And]、プロパティに [accountEnabled]、演算子に [equal] が選択された状態で、値を [false] に設定します。設定後 [次へ: タスクの確認] をクリックします。
5. タスクフローの [ユーザーグループに追加する] をクリックし、必要に応じてグループ (ロール割り当てなしの静的なセキュリティグループのみ) を選択します。グループ追加を行わない場合は [× (閉じる)] から [削除] をクリックしてください。同様に [ウェルカムメールの送信] も削除します。
6. [タスクの追加] をクリックします。タスクの選択から [TAP を生成しメールを送信する] を選択し [追加] をクリックします。
7. タスクフローに追加された [TAP を生成しメールを送信する] をクリックし、TAP のアクティブ化期間を 8 時間に設定します。
8. [メールのカスタマイズ] タブに移動し、必要に応じてメール通知をカスタマイズできます。設定後 [保存] をクリックします。ワークタスクフローの設定が完了したら [次へ: 確認と作成] をクリックします。
9. ワークフローのスケジュールの [スケジュールの有効化] のチェックは [オフ] のまま [作成] をクリックします。※スケジュールを有効化することで、既定で 3 時間ごとにワークフローのトリガー条件 (employeeHireDate が今日付け以降) やルールに一致するユーザーに対してタスクを実行します。
ワークフローの動作を確認しよう
1. 作成したワークフローを選択し [オンデマンドで実行] をクリックします。
2. 登録した Entra ユーザーのうち一人を選択し [選択] をクリックします。
3. [ワークフローの実行] をクリックします。
4. ワークフローのタスクが実行され Manager あてに TAP が届きました。
5. タスクの動作が確認出来たら、作成したワークフローを選択し [スケジュールの有効化] をクリックします。
6. スケジュールに合わせてワークフローの条件でタスクが実行されます。オンデマンド実行された Entra ユーザー以外にも、ほかに登録した Entra ユーザーに対してタスクが実行されていることがわかります。
終わりに
本記事では、ライフサイクルワークフローを使って、新入 (中途) 社員のアカウントを入社日に有効化する手順を紹介いたしました。ライフサイクルワークフローのタスクには、今回紹介したアカウントを有効化する機能や TAP を発行する機能以外にもたくさんの機能があるので、ID 管理タスクの自動化に役立ててみてはいかがでしょうか。
コメント