データベース ミラーリング トランスポート セキュリティ
更新 : 2005 年 12 月 5 日
SQL Server 2005 のトランスポート セキュリティには認証が必要です。状況によっては、複数のデータベース間で交換されるメッセージの暗号化も必要になります。
データベース ミラーリングでは、認証と暗号化はエンドポイントで構成します。ミラーリング エンドポイントの概要については、「データベース ミラーリング エンドポイント」を参照してください。
認証
認証とは、ユーザーが本人であるかどうかを検査するプロセスです。データベース ミラーリング エンドポイント間の接続には、認証が必要になります。パートナーまたはミラーリング監視サーバーから接続を要求された場合は、その接続要求を認証する必要があります。
サーバー インスタンスで使用される認証の種類は、そのサーバー インスタンスのデータベース ミラーリング エンドポイントのプロパティの 1 つです。データベース ミラーリングに使用できるトランスポート セキュリティには、Windows 認証と証明書ベース認証の 2 種類があります。
Windows 認証では、NT LAN Manager (NTLM) と Kerberos の 2 つの認証プロトコルがサポートされています。データベース ミラーリング エンドポイントは、いずれか 1 つのプロトコルのみを使用するように構成することも、両方のプロトコル間でネゴシエートするように構成することもできます。既定では、ネゴシエーションが使用されます。既定値 NEGOTIATE の場合、エンドポイントで Windows ネゴシエーション プロトコルが使用され、NTLM または Kerberos のいずれかが選択されます。エンドポイントで特定の認証方法 (NTLM または Kerberos) が指定されると、そのエンドポイントでは指定された方法しか使用できません。相手側のエンドポイントがもう一方の方法のみを使用するように構成されている場合、2 つのエンドポイントは相互に接続できません。これらの認証方法の詳細については、「エンドポイント認証の種類」を参照してください。
メモ : |
---|
このエンドポイントの詳細については、「データベース ミラーリング エンドポイント」を参照してください。 |
データベース ミラーリング接続では、Windows 認証 (セキュリティ サポート プロバイダ インターフェイス (SSPI)) または証明書ベースの認証のいずれかが使用されます。
Windows 認証
Windows 認証では、各サーバー インスタンスが相手側のインスタンスにログインする際には、プロセスを実行している Windows ユーザー アカウントの Windows 資格情報が使用されます。このため Windows 認証では、SQL Server サービスを信頼されたドメインのドメイン ユーザーとして実行するか、またはネットワーク サービスとして実行する必要があります。
Windows 認証では、両側の接続を認証するために、SQL Server のインスタンスを実行している Windows ユーザー アカウントの資格情報が使用されます。したがって、各サーバー インスタンスのユーザー アカウントには、他の各サーバー インスタンスにログインしたり、メッセージを送信したりするために必要なアクセス許可が必要です。
Windows 認証を使用したデータベース ミラーリング セッションの設定の例については、「Windows 認証を使用したデータベース ミラーリングの設定の例 (Transact-SQL)」を参照してください。
証明書
サーバー インスタンスが信頼されたドメインに存在しない場合や、SQL Server がローカル サービスとして実行されている場合など、一部の状況では Windows 認証を使用できません。そのような場合には、接続要求を認証するときに、ユーザーの資格情報ではなく証明書が必要になります。各サーバー インスタンスのミラーリング エンドポイントは、ローカルで作成された独自の証明書を使用して構成する必要があります。
暗号化方法は、証明書の作成時に設定されます。詳細については、「データベース ミラーリングで発信接続に証明書を使用できるようにする方法 (Transact-SQL)」を参照してください。使用する証明書は慎重に管理してください。
接続を設定するときに、サーバー インスタンスにより、独自の証明書の秘密キーを使用して ID が作成されます。接続要求を受け取るサーバー インスタンスでは、送信者の証明書の公開キーを使用して送信者の ID を認証します。たとえば、Server_A と Server_B という 2 つのサーバー インスタンスを考えてみます。Server_A では、Server_B に接続要求を送信する前に、秘密キーを使用して接続ヘッダーを暗号化します。Server_B では、Server_A の証明書の公開キーを使用して接続ヘッダーの暗号化を解除します。暗号化が解除されたヘッダーが正しい場合、Server_B は、そのヘッダーが Server_A によって暗号化されていたので、接続は認証されると認識します。暗号化が解除されたヘッダーが正しくない場合、Server_B は、接続要求が認証されないため、接続が拒否されると認識します。
セキュリティ メモ : |
---|
証明書は信頼されたソースからのみインストールしてください。 |
SQL Server 2005 には、証明書を使用してデータベース ミラーリング セキュリティを自動的に構成する方法は用意されていません。Transact-SQL を使用する必要があります。データベース ミラーリング セッションの設定に証明書ベースの認証を使用する例については、「証明書を使用したデータベース ミラーリングの設定の例 (Transact-SQL)」を参照してください。
データの暗号化
既定では、データベース ミラーリング エンドポイントは、ミラーリング接続経由で送信されるデータの暗号化を必要とします。このようなエンドポイントの接続対象となるエンドポイントも暗号化を使用している必要があります。ネットワークの安全性を保証できる場合を除いて、データベース ミラーリング接続に対して暗号化を使用することをお勧めします。暗号化は、無効にしたり、必須ではない状態でサポートすることもできます。暗号化が無効になっていると、データは暗号化されず、エンドポイントは暗号化を必要とするエンドポイントに接続できません。暗号化がサポートされている場合は、相手側のエンドポイントによって暗号化がサポートまたは必要とされている場合にのみデータが暗号化されます。
メモ : |
---|
SQL Server Management Studio で作成されるミラーリング エンドポイントは、暗号化が必須または無効の状態で作成されます。暗号化の設定を SUPPORTED に変更するには、Transact-SQL ステートメントの ALTER ENDPOINT を使用します。詳細については、「ALTER ENDPOINT (Transact-SQL)」を参照してください。 |
必要に応じて、エンドポイントで使用可能な暗号化アルゴリズムを管理できます。それには、CREATE ENDPOINT ステートメントまたは ALTER ENDPOINT ステートメントの ALGORITHM オプションに、次のいずれかの値を指定します。
ALGORITHM の値 | 説明 |
---|---|
RC4 |
エンドポイントで RC4 アルゴリズムを使用する必要があることを指定します。これは既定のオプションです。 |
AES |
エンドポイントで AES アルゴリズムを使用する必要があることを指定します。 |
AES RC4 |
2 つのエンドポイントが、AES アルゴリズムを優先するこのエンドポイントと暗号化アルゴリズムについてネゴシエートすることを指定します。 |
RC4 AES |
2 つのエンドポイントが、RC4 アルゴリズムを優先するこのエンドポイントと暗号化アルゴリズムについてネゴシエートすることを指定します。 |
接続するエンドポイントで 2 つのアルゴリズムが異なる順序で指定されている場合、接続を受け入れる側のエンドポイントの指定が優先されます。
メモ : |
---|
RC4 は、AES よりもかなり高速ですが、比較的弱いアルゴリズムです。それに対して、AES は比較的強いアルゴリズムです。したがって、AES アルゴリズムを使用することをお勧めします。 |
暗号化を指定する Transact-SQL 構文の詳細については、「CREATE ENDPOINT (Transact-SQL)」を参照してください。
データベース ミラーリング サーバー インスタンスのトランスポート セキュリティを構成するには
- データベース ミラーリング セッションを構成する方法 (SQL Server Management Studio)
- Windows 認証でミラーリング エンドポイントを作成する方法 (Transact-SQL)
- データベース ミラーリングで発信接続に証明書を使用できるようにする方法 (Transact-SQL)
参照
概念
データベースを別のサーバー インスタンスで使用できるようにするときのメタデータの管理
データベース ミラーリング エンドポイント
データベース ミラーリングの設定のトラブルシューティング
その他の技術情報
暗号化アルゴリズムの選択
ALTER ENDPOINT (Transact-SQL)
DROP ENDPOINT (Transact-SQL)
SQL Server のセキュリティに関する注意点
sys.database_mirroring_endpoints (Transact-SQL)
sys.dm_db_mirroring_connections
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2005 年 12 月 5 日 |
|