ASP.NET Web Forms でのセキュリティ、認証、および認可
最も安全な認証オプションを使用することをお勧めします。 Azure にデプロイされた .NET アプリについては、次を参照してください。
Azure Key Vault と .NET Aspire は、シークレットを格納および取得するための最も安全な方法を提供します。 Azure Key Vault は、暗号化キーとシークレット (証明書、接続文字列、パスワードなど) を保護するクラウド サービスです。 .NET アスパイアについては、「 ホスティングとクライアント統合の間の安全な通信を参照してください。
リソース所有者のパスワード資格情報の付与を避けるべき理由は次の通りです。
- それは、ユーザーのパスワードをクライアントに公開することになります。
- これは重大なセキュリティ上のリスクです。
- 他の認証フローが不可能な場合にのみ行なってください。
アプリがテスト サーバーにデプロイされると、環境変数を使用して接続文字列をテスト データベース サーバーに設定できます。 環境変数は、通常、暗号化されていないプレーンテキストで格納されます。 コンピューターまたはプロセスが侵害された場合、信頼されていないパーティーが環境変数にアクセスできるようになります。 最も安全な方法ではないため、環境変数を使用して運用接続文字列を格納しないことをお勧めします。
構成データのガイドライン:
- 構成プロバイダーのコードやプレーンテキストの構成ファイルには、パスワードなどの機密データを格納しないでください。
- 開発環境やテスト環境では運用シークレットを使用しないでください。
- プロジェクトの外部にシークレットを指定してください。そうすれば、誤ってリソース コード リポジトリにコミットされることはありません。
ログイン フォームまたは Windows 認証のいずれかを使用して、ユーザーがサイトにログインできるようにする (また、任意でロールに割り当てる) 方法。