Microsoft Entra ID のパスワード ポリシーとアカウント制限

Microsoft Entra ID には、パスワードの複雑さ、長さ、有効期間などの設定を定義するパスワード ポリシーがあります。 また、ユーザー名に使用できる文字と長さを定義するポリシーもあります。

セルフサービス パスワード リセット (SSPR) を使用して Microsoft Entra ID 内のパスワードを変更またはリセットする場合は、パスワード ポリシーが確認されます。 パスワードがポリシーの要件を満たしていない場合、ユーザーは再試行するように求められます。 Azure 管理者には、通常のユーザー アカウントとは異なる SSPR の使用に関するいくつかの制限があり、Microsoft Entra ID の試用版と無料版には軽微な例外があります。

この記事では、ユーザー アカウントと関連付けられたパスワード ポリシー設定と複雑さの要件について説明します。 また、PowerShell を使用してパスワードの有効期限設定を確認または設定する方法についても説明します。

ユーザー名ポリシー

Microsoft Entra ID にサインインする必要があるユーザー アカウントはいずれも、一意のユーザー プリンシパル名 (UPN) 属性値がそのアカウントに関連付けられている必要があります。 Microsoft Entra Connect を使用して Microsoft Entra ID に同期されたオンプレミスの Active Directory ドメイン サービス環境を持つハイブリッド環境では、既定で Microsoft Entra ID UPN がオンプレミスの UPN に設定されます。

次の表は、Microsoft Entra ID に同期されているオンプレミスのアカウントと、Microsoft Entra ID で直接作成されたクラウド専用ユーザー アカウントの両方に適用されるユーザー名ポリシーの概要を示しています。

プロパティ UserPrincipalName の要件
使用できる文字 A - Z
a - z
0 – 9
使用できない文字 ユーザー名とドメインの間以外にある '@' 文字。
ピリオド文字 '.' を '@' 記号の直前に含めることはできません
長さの制限 全体の長さは 113 文字以内にする必要があります
'@' 記号の前に最大 64 文字まで可能
'@' 記号の後に最大 48 文字まで可能

Microsoft Entra パスワード保護

パスワード ポリシーは、Microsoft Entra ID で直接作成および管理されるすべてのユーザー アカウントに適用されます。 これらのパスワード ポリシー設定の一部は変更できませんが、Microsoft Entra のパスワード保護用のカスタム禁止パスワードまたはアカウント ロックアウト パラメーターを構成することができます。

既定では、間違ったパスワードを使用して 10 回サインインに失敗すると、アカウントはロックアウトされます。 ユーザーは 1 分間ロックされます。 さらなる不正なサインイン試行の後は、ロックアウト期間が長くなります。 スマート ロックアウトでは、直近 3 つの無効なパスワード ハッシュを追跡して、同じパスワードに対するロックアウト カウンターの増分を回避します。 同じ無効なパスワードが複数回入力されても、ロックアウトされることはありません。スマート ロックアウトのしきい値と期間を定義できます。

次の Microsoft Entra パスワード ポリシー オプションが定義されています。 特に明記されていない場合、これらの設定を変更することはできません。

プロパティ 必要条件
使用できる文字 A - Z
a - z
0 – 9
=
空白
使用できない文字 Unicode 文字
パスワードの制限 8 文字以上 256 文字以下。
次の 4 種類の文字のうち 3 つが必要です。
- 小文字
- 大文字
- 数値 (0 から 9)
- 記号 (上述のパスワードの制限を参照してください)
パスワードの有効期間 (パスワードの最大有効期間) 既定値:90 日。 2021 年より後に作成されたテナントの場合、既定の有効期限の値はありません。 現在のポリシーは Get-MgDomain を使って確認できます。
この値は、PowerShell 用 Microsoft Graph モジュールの Update-MgDomain コマンドレットを使って構成できます。
パスワードの有効期限 (パスワードを無期限にします) 既定値: false (パスワードの有効期限が指定されていることを示します)。
各ユーザー アカウントの値は、Update-MgUser コマンドレットを使って構成できます。
パスワード変更履歴 ユーザーがパスワードを変更する場合、前回のパスワードを再度使用することはできません
パスワード リセット履歴 ユーザーが忘れたパスワードをリセットする場合、前回のパスワードを再度使用することが ''できます''。

EnforceCloudPasswordPolicyForPasswordSyncedUsers を有効にすると、Microsoft Entra のパスワード ポリシーは、Microsoft Entra Connect を使用してオンプレミスから同期されたユーザー アカウントに対して適用されます。 さらに、ユーザーが Unicode 文字を含むようにオンプレミスでパスワードを変更した場合、パスワードの変更はオンプレミスでは成功する可能性がありますが、Microsoft Entra ID では成功しない可能性があります。 Microsoft Entra Connect でパスワード ハッシュ同期が有効になっている場合でも、ユーザーはクラウド リソースのアクセス トークンを受け取ることができます。 ただし、テナントがユーザー リスクベースのパスワード変更を有効にした場合、パスワードの変更は高リスクとして報告されます。

ユーザーは、パスワードをもう一度変更するように求められます。 ただし、変更に Unicode 文字が含まれている場合は、スマート ロックアウトも有効になっているとロックアウトされる可能性があります。

リスクベースのパスワードのリセット ポリシーの制限事項

EnforceCloudPasswordPolicyForPasswordSyncedUsers を有効にすると、リスクが高い場合にクラウド パスワードを変更する必要があります。 ユーザーは、Microsoft Entra ID にサインインするときにパスワードを変更するように求められます。 新しいパスワードは、クラウドとオンプレミスの両方のパスワード ポリシーに準拠している必要があります。

パスワードの変更がオンプレミスの要件を満たしていても、クラウド要件を満たさない場合、パスワード ハッシュ同期が有効になっていれば、パスワードの変更は成功します。 たとえば、新しいパスワードに Unicode 文字が含まれている場合、パスワードの変更はオンプレミスで更新できますが、クラウドでは更新できません。

パスワードがクラウドのパスワード要件に準拠していない場合、パスワードはクラウドで更新されず、アカウントのリスクは減少しません。 ユーザーは引き続きクラウド リソースのアクセス トークンを受け取りますが、次回クラウド リソースにアクセスする際にパスワードを変更するように求められます。 ユーザーには、エラーや、選択したパスワードがクラウド要件を満たしていないという通知は表示されません。

管理者リセット ポリシーの相違点

既定で、管理者アカウントはセルフサービスのパスワード リセットが有効になっており、強力な既定の 2 ゲート パスワード リセット ポリシーが適用されます。 このポリシーは、ユーザーに対して定義したものとは異なる場合があります。また、このポリシーを変更することはできません。 パスワードのリセット機能は、必ず Azure 管理者ロールが割り当てられていないユーザーとしてテストする必要があります。

2 ゲート ポリシーには、電子メール アドレス、認証アプリ、電話番号など、2 つの認証データが必要であり、セキュリティの質問は禁止されています。 Office とモバイルの音声通話は、Microsoft Entra ID の試用版または無料版でも禁止されています。

SSPR 管理者ポリシーは、認証方法ポリシーに依存しません。 たとえば、認証方法ポリシーでサード パーティのソフトウェア トークンを無効にしても、管理者アカウントではサード パーティのソフトウェア トークン アプリケーションを登録して使用できますが、これは SSPR の場合のみです。

2 ゲート ポリシーは次のような状況で適用されます。

  • 次のすべての Azure 管理者ロールが影響を受けます。

    • アプリケーション管理者
    • 認証管理者
    • 課金管理者
    • コンプライアンス管理者
    • クラウド デバイス管理者
    • ディレクトリ同期アカウント
    • ディレクトリ ライター
    • Dynamics 365 管理者
    • Exchange 管理者
    • グローバル管理者
    • ヘルプデスク管理者
    • Intune 管理者
    • Microsoft Entra 参加済みデバイスのローカル管理者
    • パートナー レベル 1 のサポート
    • パートナー レベル 2 のサポート
    • パスワード管理者
    • Power Platform 管理者
    • 特権認証管理者
    • 特権ロール管理者
    • セキュリティ管理者
    • サービス サポート管理者
    • SharePoint 管理者
    • Skype for Business 管理者
    • Teams 管理者
    • Teams 通信管理者
    • Teams デバイス管理者
    • ユーザー管理者
  • 試用版サブスクリプションで 30 日間が経過した

    -または-

  • Microsoft Entra テナント用に、contoso.com のようなカスタム ドメインが構成されている

    -または-

  • Microsoft Entra Connect がオンプレミスのディレクトリからの ID を同期している

Update-MgPolicyAuthorizationPolicy PowerShell コマンドレットを使用して、管理者アカウントに対する SSPR の使用を無効にすることができます。 -AllowedToUseSspr:$true|$false パラメーターを使用して、管理者の SSPR を有効/無効にします。 管理者アカウントの SSPR を有効または無効にするポリシーの変更では、反映に最大で 60 分かかることがあります。

例外

1 ゲート ポリシーには、1 つの認証データが必要です。電子メール アドレスまたは電話番号などです。 1 ゲート ポリシーは次のような状況で適用されます。

  • 試用版サブスクリプションの最初の 30 日以内である

    -または-

  • カスタム ドメインが構成されておらず (テナントで既定の *.onmicrosoft.com を使用している。これは運用環境での使用はお勧めしません)、Microsoft Entra Connect で ID を同期していない。

パスワードの有効期限のポリシー

ユーザー管理者は、Microsoft Graph を使用し、ユーザーのパスワードを有効期限が切れないように設定できます。

また、PowerShell コマンドレットを使用すると、期限が切れない構成を削除したり、期限が切れないように設定されているユーザー パスワードを確認したりすることもできます。

このガイダンスは、Intune や Microsoft 365 などの他のプロバイダーに適用され、これらは ID およびディレクトリ サービスについては Microsoft Entra ID にも依存します。 パスワード有効期限が、ポリシーの変更できる唯一の部分です。

Note

既定では、Microsoft Entra Connect を介して同期されていないユーザー アカウントのパスワードのみ、期限切れにならないように構成できます。 ディレクトリ同期の詳細については、「AD と Microsoft Entra の接続」をご覧ください。

PowerShell を使用したパスワード ポリシーの設定または確認

操作を開始するには、Microsoft Graph PowerShell モジュールをダウンロードしてインストールし、それをお使いの Microsoft Entra テナントに接続します。

モジュールがインストールされたら、次の手順を使用して、各タスクを必要に応じて完了します。

パスワードの有効期限ポリシーを確認する

  1. PowerShell プロンプトを開き、少なくともユーザー管理者として Microsoft Entra テナントに接続します。

  2. 個々のユーザーまたはすべてのユーザーに対して、次のいずれかのコマンドを実行します。

    • 1 人のユーザーのパスワードが無期限に設定されているかどうかを確認するには、次のコマンドレットを実行します。 <user ID> を、確認したいユーザーのユーザー ID に置き換えます。

      Get-MgUser -UserId <user ID> | Select-Object @{N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}}
      
    • すべてのユーザーについてパスワードを無期限にする設定を表示するには、次のコマンドレットを実行します。

      Get-MgUser -All | Select-Object UserPrincipalName, @{N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}}
      

パスワードを期限付きに設定する

  1. PowerShell プロンプトを開き、少なくともユーザー管理者として Microsoft Entra テナントに接続します。

  2. 個々のユーザーまたはすべてのユーザーに対して、次のいずれかのコマンドを実行します。

    • 1 人のユーザーのパスワードを期限付きに設定するには、次のコマンドレットを実行します。 <user ID> を、確認したいユーザーのユーザー ID に置き換えます。

      Update-MgUser -UserId <user ID> -PasswordPolicies None
      
    • 組織内のすべてのユーザーのパスワードを期限付きに設定するには、次のコマンドを使用します。

      Get-MgUser -All | foreach $_ { Update-MgUser -UserId $_.Id -PasswordPolicies None }
      

パスワードを無期限に設定する

  1. PowerShell プロンプトを開き、少なくともユーザー管理者として Microsoft Entra テナントに接続します。

  2. 個々のユーザーまたはすべてのユーザーに対して、次のいずれかのコマンドを実行します。

    • 1 人のユーザーのパスワードを無期限に設定するには、次のコマンドレットを実行します。 <user ID> を、確認したいユーザーのユーザー ID に置き換えます。

      Update-MgUser -UserId <user ID> -PasswordPolicies DisablePasswordExpiration
      
    • 組織内のすべてのユーザーのパスワードを無期限に設定するには、次のコマンドレットを実行します。

      Get-MgUser -All | foreach $_ { Update-MgUser -UserId $_.Id -PasswordPolicies DisablePasswordExpiration }
      

    警告

    -PasswordPolicies DisablePasswordExpiration を設定したパスワードは、引き続き LastPasswordChangeDateTime 属性に基づいて使用時間が計測されます。 LastPasswordChangeDateTime 属性に基づいて、有効期限を -PasswordPolicies None に変更すると、90 日より古い LastPasswordChangeDateTime を持つすべてのパスワードは、ユーザーが次回サインインで変更する必要があります。 この変更は多数のユーザーに影響を与える可能性があります。

次のステップ

SSPR の使用を開始するには、「チュートリアル Microsoft Entra セルフサービス パスワード リセットを使用して、ユーザーがアカウントのロックを解除したり、パスワードをリセットできるようにする」を参照してください。

SSPR で問題が発生した場合は、「セルフサービス パスワード リセットのトラブルシューティング」を参照してください