パスワードレスデプロイへの移行

意識向上とユーザー教育

この最後の手順では、対象となる作業ペルソナをパスワードレスデプロイに合わせた残りのユーザーを含めます。 この段階を実行する前に、意識向上キャンペーンに投資します。

意識向上キャンペーンでは、Windows Hello for Business を使用するなど、デバイスを認証する新しい方法をユーザーに紹介します。 キャンペーンの目的は、事前にユーザーに変更を積極的にプロモートすることです。 価値と、会社が変化する理由について説明します。 キャンペーンは 1 日を提供し、質問とフィードバックを奨励する必要があります。 このキャンペーンは、ユーザー教育と同時期に行うことができます。ここで、変更をユーザーに示し、環境が許せば、ユーザーがエクスペリエンスを試すことができるようにします。

ヒント

ユーザー通信を容易にし、Windows Hello for Business展開を成功させるために、カスタマイズ可能な資料 (電子メール テンプレート、ポスター、トレーニングなど) は、Microsoft Entra テンプレートにあります。

作業ペルソナに合った残りのユーザーを含める

対象ユーザーの認識キャンペーンを実装しました。 これらのユーザーは通知を受け、パスワードレスに移行する準備ができています。 対象の作業ペルソナに一致する残りのユーザーを展開に追加します。

仕事用ペルソナのユーザーにパスワードが必要とされていないことを検証する

対象となる作業ペルソナのすべてのユーザーをパスワードレスに正常に移行しました。 パスワードレス環境での作業中に問題が発生しないように、職場のペルソナ内のユーザーを監視します。

報告されたすべての問題を追跡します。 報告された各問題に優先度と重大度を設定し、チームに問題を適切にトリアージさせます。 問題をトリアージするときは、次の質問を検討してください:

質問
🔲 報告するユーザーは、作業ペルソナの外部でタスクを実行していますか?
🔲 報告された問題は、作業ペルソナ全体に影響しますか、それとも特定のユーザーのみに影響しますか?
🔲 停止は構成の誤りの結果ですか?
🔲 停止は段階 2 から見落とされたギャップですか?

各organizationの優先順位と重大度は異なります。 ただし、ほとんどの組織は、作業の停止がかなり重要であると考えています。 チームは、優先度と重大度のレベルを事前に定義する必要があります。 これらの各レベルで、重大度と優先度の組み合わせごとにサービス レベル契約 (SLA) を作成し、すべてのユーザーにそれらの契約に対する説明責任を負わせます。 事後対応型の計画により、ユーザーは問題とその解決により多くの時間を費やすことができ、プロセスに費やす時間を減らすことができます。

サービス レベル契約に従って問題を解決します。 重大度が高い項目では、ユーザーのパスワード画面の一部またはすべてを返す必要がある場合があります。 明らかに、この結果は最終的な目標ではありませんが、パスワードレスに向けた勢いを遅くしないでください。 手順 2 でユーザーのパスワード画面を減らし、ソリューションに進み、そのソリューションをデプロイして検証する方法を参照してください。

ヒント

ドメイン コントローラーでパスワード認証イベントを監視します。 これは、まだパスワードを使用しているユーザーを事前に特定し、ユーザーに連絡するのに役立ちます。

パスワード認証を防ぐためにユーザー アカウントを構成する

対象となる作業ペルソナのすべてのユーザーをパスワードレス環境に移行し、すべてのワークフローを検証しました。 パスワードレス移行を完了する最後の手順は、ユーザーのパスワードに関する知識を削除することです。

パスワード のスクランブル

ユーザーのアカウントからパスワードを完全に削除することはできませんが、ユーザーがパスワードを使用して認証することを防ぐことができます。 最も簡単で最も効果的な方法は、パスワードをランダムな値に設定することです。 この方法では、ユーザーがパスワードを知り、それを使用して認証を行うのを防ぎますが、ユーザーは必要に応じてパスワードをリセットできます。

ヒント

セルフサービス パスワード リセット (SSPR) Microsoft Entra有効にして、ユーザーが自分のパスワードをリセットできるようにします。 実装が完了すると、ユーザーはWindows Hello for Businessまたは FIDO2 セキュリティ キーを使用して Windows デバイスにサインインし、 からhttps://aka.ms/ssprパスワードをリセットできます。 パスワード ライトバックと組み合わせて、パスワード リセットをオンプレミスの Active Directoryに同期します。

次のサンプル PowerShell スクリプトは、64 文字のランダム なパスワードを生成し、Microsoft Entra IDに対して$userId変数名で指定されたユーザーに設定します。 環境に一致するようにスクリプトの userId 変数 (最初の行) を変更し、PowerShell セッションで実行します。 Microsoft Entra IDに対する認証を求められたら、パスワードをリセットできるロールを持つアカウントの資格情報を使用します。

$userId = "<UPN of the user>"

function Generate-RandomPassword{
    [CmdletBinding()]
    param (
      [int]$Length = 64
    )
  $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_=+[]{};:,.<>/?\|`~"
  $random = New-Object System.Random
  $password = ""
  for ($i = 0; $i -lt $Length; $i++) {
    $index = $random.Next(0, $chars.Length)
    $password += $chars[$index]
  }
  return $password
}

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
Install-Module Microsoft.Graph -Scope CurrentUser
Import-Module Microsoft.Graph.Users.Actions
Connect-MgGraph -Scopes "UserAuthenticationMethod.ReadWrite.All" -NoWelcome

$passwordParams = @{
 UserId = $userId
 AuthenticationMethodId = "28c10230-6103-485e-b985-444c60001490"
 NewPassword = Generate-RandomPassword
}

Reset-MgUserAuthenticationMethodPassword @passwordParams

同様のスクリプトを使用して、Active Directory に対してパスワードをリセットできます。 スクリプトの samAccountName 変数を環境 (最初の行) に一致するように変更し、PowerShell セッションで実行します。

$samAccountName = <sAMAccountName of the user>

function Generate-RandomPassword{
    [CmdletBinding()]
    param (
      [int]$Length = 64
    )
  $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_=+[]{};:,.<>/?\|`~"
  $random = New-Object System.Random
  $password = ""
  for ($i = 0; $i -lt $Length; $i++) {
    $index = $random.Next(0, $chars.Length)
    $password += $chars[$index]
  }
  return $password
}

$NewPassword = ConvertTo-SecureString -String (Generate-RandomPassword) -AsPlainText -Force

Set-ADAccountPassword -identity $userId -NewPassword $NewPassword -Reset

組織のポリシーで許可されている場合は、ランダム化されたパスワードを期限切れにならないように構成するか、長い有効期限を使用できます。 この構成により、ユーザーは自分のパスワードの変更を求めなくなります。

注意

セキュリティで保護された信頼された環境からのみスクリプトを実行し、スクリプトがログに記録されていないことを確認します。 スクリプトが実行されるホストは、ドメイン コントローラーと同じレベルのセキュリティで、特権ホストとして扱います。

パスワードの有効期間とパスワードのローテーション

organizationにパスワードローテーションの要件がない場合は、パスワードの有効期間を無効にすることをお勧めします。

organizationにパスワード ローテーション ポリシーがある場合は、ユーザーのパスワードを定期的にローテーションする自動化の実装を検討してください。 この方法では、ユーザーのパスワードが常にランダム化され、ユーザーがパスワードを認識できないようにします。

パスワード関連のガイダンスの詳細については、ホワイトペーパー「 パスワード ガイダンス」を参照してください。

次のステップ

Microsoft は、パスワードレスの体験を簡単にするために努力しています。 私たちは、パスワードレス環境への移行を支援し、真にパスワードレス環境の長期的なセキュリティの約束を達成するために、新機能に取り組んでいます。 頻繁に確認して、新機能を確認してください。