SQL Server データベース エンジンと Azure SQL Database のセキュリティ
適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
このページでは、SQL Server Database Engine と Azure SQL Database でのセキュリティと保護に関して必要になる情報の検索に役立つリンクを示します。
凡例
認証: ユーザーはだれか
機能 | リンク |
---|---|
だれが認証したか Windows 認証 SQL Server 認証 Microsoft Entra ID (旧称 Azure Active Directory) |
だれが認証したか (Windows または SQL Server) 認証モードの選択 Microsoft Entra 認証を使用して Azure SQL に接続する |
どこで認証されたか マスター データベース: ログインと DB ユーザー ユーザー データベース: 包含 DB ユーザー |
マスター データベースでの認証 (ログインとデータベース ユーザー) SQL Server ログインの作成 Azure SQL Database におけるデータベースとログインの管理 データベース ユーザーの作成 ユーザー データベースでの認証 包含データベース ユーザー - データベースの可搬性を確保する |
他の ID の使用 [資格情報] 別のログインとして実行 別のデータベース ユーザーとして実行 |
資格情報 (データベース エンジン) 別のログインとして実行 別のデータベース ユーザーとして実行 |
認証: 何を実行できるか
機能 | リンク |
---|---|
権限の許可、取り消し、および拒否 セキュリティ保護可能なクラス 詳細なサーバーのアクセス許可 詳細なデータベースのアクセス許可 |
権限の階層 (データベース エンジン) アクセス許可 セキュリティ保護可能 データベース エンジンの権限の概要 |
ロールによるセキュリティ サーバー レベルのロール データベース レベルのロール |
サーバーレベルのロール データベース レベルのロール |
選んだデータ要素へのデータ アクセスを制限する ビュー/プロシージャを使用したデータ アクセスの制限 行レベルのセキュリティ 動的データ マスキング 署名済みオブジェクト |
ビュー と プロシージャを使用したデータ アクセスの制限 行レベルのセキュリティ (SQL Server) 行レベルのセキュリティ (Azure SQL Database) 動的なデータ マスキング (SQL Server) 動的なデータ マスキング (Azure SQL Database) 署名済みオブジェクト |
暗号化: 秘密データの格納
機能 | リンク |
---|---|
ファイルの暗号化 BitLocker 暗号化 (ドライブ レベル) NTFS 暗号化 (フォルダー レベル) Transparent Data Encryption (ファイル レベル) バックアップの暗号化 (ファイル レベル) |
BitLocker (ドライブ レベル) NTFS 暗号化 (フォルダー レベル) 透過的なデータ暗号化 (ファイル レベル) バックアップの暗号化 (ファイル レベル) |
ソースの暗号化 拡張キー管理モジュール Azure Key Vault に格納されたキー Always Encrypted |
拡張キー管理モジュール Azure キー コンテナーに格納されたキー 常に暗号化 |
列、データ、キーの暗号化 証明書による暗号化 対称キーによる暗号化 非対称キーによる暗号化 パスフレーズによる暗号化 |
証明書による暗号化 非対称キーによる暗号化 対称キーによる暗号化 パスフレーズによる暗号化 データの列の暗号化 |
接続のセキュリティ: 制限とセキュリティ保護
機能 | リンク |
---|---|
ファイアウォールによる防御 Windows ファイアウォールの設定 Azure サービスのファイアウォール設定 データベース ファイアウォールの設定 |
データベース エンジン アクセスを有効にするための Windows ファイアウォールを構成する Azure SQL データベースのファイアウォール設定 Azure サービスのファイアウォール設定 |
転送中のデータの暗号化 強制 SSL 接続 SSL 接続 (オプション) |
データベース エンジンへの暗号化接続の有効化 データベース エンジンへの暗号化接続の有効化、ネットワーク セキュリティ Microsoft SQL Server の TLS 1.2 サポート |
監査: アクセスの記録
機能 | リンク |
---|---|
自動監査 SQL Server 監査 (サーバー と DB レベル) SQL Database 監査 (データベース レベル) 脅威の検出 |
SQL Server Audit (データベース エンジン) SQL データベースの監査 SQL Database の Advanced Threat Protection の概要 SQL データベースの脆弱性評価 |
カスタム監査 のトリガー |
カスタム監査の実装: DDL Triggers と DML Triggersの作成 |
準拠 コンプライアンス |
SQL Server: 情報セキュリティ国際評価基準 SQL Database: Microsoft Azure セキュリティ センター: 機能による準拠 |
SQL インジェクション
SQL インジェクションとは、有害なコードを挿入した後にデータベース エンジンに渡すことで、解析および実行を行う攻撃です。 SQL Server では、構文的に有効であれば受信したクエリがすべて実行されるため、SQL ステートメントを構成するすべてのプロシージャに対して、インジェクションに対する脆弱性をレビューする必要があります。 すべてのデータベース システムに SQL インジェクションのリスクがあり、脆弱性の多くが、データベース エンジン にクエリを実行するアプリケーションで確認されています。 SQL インジェクション攻撃を阻止するには、ストアド プロシージャとパラメーター化コマンドを使用し、動的 SQL を回避して、すべてのユーザーのアクセス許可を制限します。 詳細については、「 SQL Injection」を参照してください。
アプリケーション プログラマ向けのその他のリンク:
参照
データベース エンジンの権限の概要
SQL Server の保護
プリンシパル (データベース エンジン)
SQL Server の証明書と非対称キー
SQL Server の暗号化
セキュリティ構成
強力なパスワード
TRUSTWORTHY データベース プロパティ
データベース エンジンの機能とタスク
SQL Server の知的所有権の保護