SQL Server データベースへの接続時にセキュリティを最大化する方法
Crystal Reports での SQL Server データベースへのアクセスについて
Crystal Reports for Visual Studio を使用している場合、SQL Server データベースには次のソースのいずれかからアクセスします。
ファイルに保存されているデータベース接続情報を使用して、レポート ファイルから直接アクセスする。
埋め込み Crystal Report Designer は、レポートの作成時または変更時にデータベース接続情報を設定します。この情報は、レポートが表示される場合には必ずレポート エンジンによって自動的にデータベースに渡されます。
Crystal Reports .NET API コードからアクセスする。
データベース接続情報は、レポートの実行時にプログラム的にレポートと対話するコードを使用して再設定できます。
レポートのソースが異なる場合でも、「どのようにして悪質な攻撃からデータベースを保護するか」というセキュリティ上の課題は同じです。
統合セキュリティを使用する Windows 認証の使用
セキュリティを最大化するため、Microsoft は Windows 認証による統合セキュリティの使用を推奨しています。この設定は、ユーザーのアプリケーションではユーザー ID とパスワード文字列が不必要になることを意味します。
統合セキュリティを使用して Crystal レポートを Web または Windows アプリケーションに統合する手順については、「チュートリアル:統合セキュリティの使用によるセキュリティで保護された SQL Server データベースへのログオン」を参照してください。
制限アクセス データベース アカウントによる SQL Server 認証の使用
データベースで SQL Server 認証を使用する場合は、効果的なセキュリティを実現するために、追加の手順を実行する必要があります。
重大なセキュリティ リスクを避けるため、システム管理者用の ID とパスワードは絶対に使用しないでください。代わりに、次の手順を実行します。
- 制限アクセス データベース アカウントを作成します。
- このアカウントを設定することにより、データベース内の必要なテーブルだけにアクセスできるようになります。
- アクセス可能な各テーブルに対し、SELECT 文だけを実行できる権限を付与します。
さらに、Microsoft では、ユーザー ID とパスワードの暗号化を推奨しています。ユーザー ID とパスワードの暗号化方法の詳細については、MSDN のセキュリティ情報を参照してください。
SQL 認証を使用して Crystal レポートを Web または Windows アプリケーションに統合する手順については、「チュートリアル:SQL 認証の使用によるセキュリティで保護された SQL Server データベースへのログオン」を参照してください。