私はPythonでWindowsサービスを作成しており、キーリングモジュールを使用して、定期的かつ永続的に使用する必要のある資格情報を安全に保存しています。これは、キーリングがローカルシステムのユーザー資格情報を使用してパスワードを保存することを意味します。
私がするのは、2つの基本的なキーリング関数を使用することだけです:get_password(SERVICE_NAME, username, password)
と
set_password(SERVICE_NAME, username)
。キーリングを理解し、バックエンドが自動的に構成されることを確認したので、キーリングを事前構成しません。
これをWindowsServer2008以降で実行すると、すべてがスムーズに機能します。しかし、これをWindows Server 2003で実行すると、次の厄介なエラーが発生します。
error: (1312, 'CredWrite', 'A specified logon session does not exist. It may already have been terminated.')
私のサービスを実行するために使用されるローカルシステムユーザーのログオンセッションと関係があると思いますが、それは何かを行うための権限を持っているはずのultra-admin-super-userの形式であると理解したので独特ですそれはシステムに必要です。しかし、ユーザーのログオン資格情報をローカル管理者に変更すると、すべてがスムーズに機能します。
これを機能させるには、サービスの構成を変更する必要がありますか?または、ローカルシステムユーザーのセキュリティポリシーを変更しますか?または、ローカル管理者の資格情報を使用してこのサービスを実行するようにユーザーに依頼する必要がありますか?