次の方法で共有


SQL Server on Linux で SQL ログインのカスタム パスワード ポリシーを設定する

適用対象: SQL Server 2025 (17.x) プレビュー - Linux

この記事では、SQL Server on Linux の SQL ログイン パスワード ポリシーを設定および管理する方法について説明します。

パスワード ポリシーは、データベース環境をセキュリティで保護する上で重要な側面です。 次の要件が適用されます。

  • 複雑さ
  • 有効期限
  • 変遷

この強制により、SQL Server 認証を使用するログインがセキュリティで保護されます。

パスワード ポリシーは Windows で使用できます。 詳細については、「 Password Policy」をご参照ください。

カスタム ポリシー設定

SQL Server 2025 (17.x) Preview on Linux 以降では、 mssql.conf ファイルで次の構成パラメーターを設定して、カスタム パスワード ポリシーを適用できます。

構成オプション 説明
passwordpolicy.passwordminimumlength パスワードに必要な最小文字数を定義します。 パスワードは最大 128 文字です。
passwordpolicy.passwordhistorylength 記憶する必要がある以前のパスワードの数を決定します。
passwordpolicy.passwordminimumage ユーザーがパスワードを再度変更する前に待機する必要がある最小期間を指定します。
passwordpolicy.passwordmaximumage パスワードを変更する前に使用できる最大期間を設定します。

現在、 passwordminimumlength は 8 文字未満に設定できます。 パスワードは SQL Server の既定のパスワード ポリシーに従う必要があります。 既定では、パスワードの長さは少なくとも 8 文字で、大文字、小文字、10 進数の数字、記号の 4 種類のうち 3 種類を含んでいる必要があります。 パスワードには最大 128 文字まで使用できます。 パスワードはできるだけ長く、複雑にします。

SQL Server on Linux で SQL 認証ログインのカスタム パスワード ポリシーを構成するには、次の 2 つの方法があります。

  • adutil使用してカスタム パスワード ポリシーを適用する
  • mssql.conf ツールを使用して ファイルを手動で構成する

adutil を使用してカスタム パスワード ポリシーを設定する

Active Directory (AD) サーバーでポリシー管理が一元化されている環境では、ドメイン管理者は AD サーバーのパスワード ポリシー値を設定および変更できます。 さらに、SQL Server を実行する Linux マシンも Windows ドメインの一部である必要があります。

adutil を使用して、AD サーバーからパスワード ポリシーをフェッチし、mssql.conf ファイルに書き込みます。 この方法は、一元管理の利点を提供し、SQL Server 環境全体でポリシーの一貫した適用を保証します。

adutil の要件

  1. Kerberos 認証セッションを確立する

    • kinitsudoと一緒に実行して、Kerberos チケット発行チケット (TGT) を取得または更新します。

    • kinit コマンドには特権アカウントを使用します。 このアカウントには、ドメインに接続するためのアクセス許可が必要です。

    次の例では、 <user> を、ドメインの昇格された特権を持つアカウントに置き換えます。

    sudo kinit <user>@CONTOSO.COM
    
  2. チケットが付与されていることを確認します。

    sudo klist
    
  3. パスワード ポリシーを更新するには、 adutil を使用してドメインにクエリを実行します。

    sudo adutil updatepasswordpolicy
    

    コマンドが成功すると、次のようなメッセージが表示されます。

    Successfully updated password policy in mssqlconf.
    Restart SQL Server to apply the changes.
    

    必要に応じて、前のコマンドに --path オプションを追加できます。 mssql-conf ツールが既定のパスとは異なる場所にある場合は、このオプションを使用できます。 既定のパスは、/opt/mssql/bin/mssql-conf です。

  4. SQL Server サービスを再起動します。

    sudo systemctl restart mssql-server
    

mssql-conf を使用してカスタム パスワード ポリシーを手動で設定する

mssql.conf ファイル内のパラメーターを mssql-conf で更新することで、SQL 認証ログイン パスワード ポリシーを設定できます。 この方法では、ポリシー設定を簡単かつ直接的に制御できます。

SQL Server を実行している Linux ホストがドメインの一部ではなく、パスワード ポリシーを取得するドメイン コントローラーがない場合は、この方法を使用します。

次の mssql-conf コマンドを実行して、各ポリシー構成プロパティを設定します。

  1. パスワード ポリシーに記載されている複雑さの要件に従って、パスワードの最小長を 14 文字に設定 します

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.minimumpasswordlength 14
    
  2. パスワードの最小有効期間を 1 日に設定します。 ユーザーは 1 日後にパスワードを変更できます。

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordminimumage 1
    
  3. パスワード履歴の長さを 8 に設定します。 ユーザーは、古いパスワードを再利用する前に、8 つの一意のパスワードを使用する必要があります。

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordhistorylength 8
    
  4. パスワードの最大有効期間を 45 日に設定します。 ユーザーは、パスワードを変更する前に最大 45 日間使用できます。

    sudo /opt/mssql/bin/mssql-conf set passwordpolicy.passwordmaximumage 45
    
  5. SQL Server サービスを再起動します。

    sudo systemctl restart mssql-server
    

制限事項

現在、 minimumpasswordlength を 14 文字以上に設定することはできません。

Active Directory でグループ パスワード ポリシーを更新した後、 adutil updatepasswordpolicy コマンドを手動で実行して mssql.confを更新する必要があります。 このコマンドは自動的には実行されません。 SQL Server を実行している Linux マシンがドメインの一部であることを確認するか、 mssql-conf を使用して手動で設定します。

Active Directory では、各グループ レベルのパスワード ポリシーは、チェックボックスを使用して定義または未定義にすることができます。

パスワードの最小長のセキュリティ ポリシー設定のスクリーンショット。

ただし、ポリシーをオフにしても、SQL Server on Linux では無効になりません。 カスタム パスワード ポリシーの適用を回避するには、チェックボックスに依存するのではなく 、mssql-conf の設定を更新します。