一部の機密データの暗号化にはCNGを使用しています。標準として、DB権限を持つSQLユーザーを使用する代わりに、SQL統合セキュリティを実装します。これを実装するために、アプリケーションのプールIDを、適切なDBアクセス許可が付与されているのと同じActiveDirectoryIDとして定義します。
問題は、AppPoolがローカルシステムで実行されている場合、CNGキーストアからキーを作成および取得できますが、そのIDをActive Directoryユーザーに変更すると、「指定された状態で使用するにはキーが無効です」というメッセージが表示され始めます。 CNGストアからキーを取得しようとしています。これが私たちの観察のいくつかです:
ユーザーレベルでCNGを実装するには、マシンキーの代わりにユーザーレベルのCNGキーを作成できる必要があります。これが完了し、ユーザーレベルのキーが正常に作成されました。UserProfileで確認できます-C:\ Users \ ADusername \ AppData \ Roaming \ Microsoft \ Crypto \ Keys
- プール設定で「LoadUserProfile=True」を設定しました。
- ADユーザーに%windows%\ Microsoft.Net \ Framework \Asp.NetTempファイルへの読み取り/変更権限も付与しました
引き続きこのエラーが発生します。どんな助けでも大歓迎です。