SQL Server の暗号化
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance
暗号化は、キーまたはパスワードを使用してデータを難読化するプロセスです。 このプロセスにより、対応する暗号化解除キーまたはパスワードがないとデータが使用できなくなる可能性があります。 暗号化では、アクセス コントロールの問題は解決されません。 ただし、暗号化を使用すると、アクセス コントロールがバイパスされる場合でもデータ損失のリスクが限定されるので、セキュリティが強化されます。 たとえば、データベース ホスト コンピューターの構成が適切でない場合に、機密データをハッカーが入手したとしても、その情報が暗号化されていれば、ハッカーはその情報を使用できません。
暗号化は、セキュリティの強化に役立つ便利なツールですが、すべてのデータまたは接続に対して考慮すべきものではありません。 暗号化を実装するかどうかを検討する際は、ユーザーがデータにどのようにアクセスするかを考慮する必要があります。 ユーザーがパブリック ネットワーク経由でデータにアクセスする場合は、セキュリティを強化するためにデータの暗号化が必要になると考えられます。 一方、すべてのアクセスにセキュリティで保護されたイントラネット構成が使用される場合には、暗号化は必ずしも必要ありません。 暗号化を使用する場合は、それに伴ってパスワード、キー、および証明書のメンテナンス計画が必要になります。
Note
トランスポート層セキュリティ (TLS 1.2) に関する最新情報は、「Microsoft SQL Server 用の TLS 1.2 のサポート」から入手できます。 TLS 1.3 の詳細については、「TLS 1.3 のサポート」を参照してください。
このセクションの内容
SQL Server では、接続、データ、ストアド プロシージャに対して暗号化を使用できます。 次の記事では、SQL Server での暗号化の詳細を説明します。
-
SQL Server の暗号化階層について説明します。
-
効果的な暗号化アルゴリズムを選択する方法について説明します。
-
保管時にデータを暗号化する方法に関する一般情報。
SQL Server とデータベースの暗号化キー (データベース エンジン)
SQL Server の暗号化キーでは、公開キー、秘密キー、対称キーを組み合わせて機密データの保護に使用します。 このセクションでは、暗号化キーを実装および管理する方法について説明します。
-
オンプレミスのデータベース管理者、クラウド データベース オペレーター、またはその他の高い権限はあっても承認されていないユーザーが、暗号化されたデータにアクセスできないようにします。 [安全なエンクレーブを使用する Always Encrypted] で [Always Encrypted] を展開して、インプレース暗号化と豊富な機密クエリを有効にします。
-
権限を持たないユーザーにはデータをマスクすることによって、機密データの開示を制限します。
-
公開キー暗号化の使用に関する情報。
関連するコンテンツ
- SQL Server の保護
- Azure SQL Database のセキュリティ機能の概要
- 暗号関数 (Transact-SQL)
- ENCRYPTBYPASSPHRASE (Transact-SQL)
- ENCRYPTBYKEY (Transact-SQL)
- ENCRYPTBYASYMKEY (Transact-SQL)
- ENCRYPTBYCERT (Transact-SQL)
- sys.key_encryptions (Transact-SQL)
- SQL Server とデータベースの暗号化キー (データベース エンジン)
- SQL Server Reporting Services (SSRS) の暗号化キーのバックアップと復元
- 接続を暗号化するために SQL Serverデータベース エンジンを構成する
- Microsoft TechNet: SQL Server TechCenter: SQL Server 2012 - セキュリティと保護