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 Domain Services (AD DS) 環境を持つハイブリッド環境では、既定で Microsoft Entra UPN はオンプレミスの UPN に設定されます。

次の表は、Microsoft Entra ID に同期されているオンプレミスの AD DS アカウントと、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 のパスワード ポリシーは、EnforceCloudPasswordPolicyForPasswordSyncedUsers を有効にしない限り、Microsoft Entra Connect を使用してオンプレミスの AD DS 環境から同期されたユーザー アカウントに対して適用されません。

次の 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 コマンドレットを使って構成できます。
パスワード変更履歴 ユーザーがパスワードを変更する場合、前回のパスワードを再度使用することはできません
パスワード リセット履歴 ユーザーが忘れたパスワードをリセットする場合、前回のパスワードを再度使用することが ''できます''。

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

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

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

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

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

    • アプリケーション管理者
    • アプリケーション プロキシ サービス管理者
    • 認証管理者
    • 課金管理者
    • コンプライアンス管理者
    • デバイス管理者
    • ディレクトリ同期アカウント
    • ディレクトリ ライター
    • Dynamics 365 管理者
    • Exchange 管理者
    • グローバル管理者または会社の管理者
    • ヘルプデスク管理者
    • Intune 管理者
    • メールボックス管理者
    • Microsoft Entra 参加済みデバイスのローカル管理者
    • パートナー レベル 1 のサポート
    • パートナー レベル 2 のサポート
    • パスワード管理者
    • Power BI サービス管理者
    • 特権認証管理者
    • 特権ロール管理者
    • セキュリティ管理者
    • サービス サポート管理者
    • SharePoint 管理者
    • Skype for Business 管理者
    • ユーザー管理者
  • 試用版サブスクリプションで 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 で問題が発生した場合は、「セルフサービス パスワード リセットのトラブルシューティング」を参照してください