Share via


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 データベースへのログオン」を参照してください。