トランスポート セキュリティには、認証と、必要に応じて、データベース間で交換されるメッセージの暗号化が含まれます。 データベース ミラーリングと Always On 可用性グループの場合、認証と暗号化はデータベース ミラーリング エンドポイントで構成されます。 データベース ミラーリング エンドポイントの概要については、「 データベース ミラーリング エンドポイント (SQL Server)」を参照してください。
認証
認証は、ユーザーが要求するユーザーであることを確認するプロセスです。 データベース ミラーリング エンドポイント間の接続には認証が必要です。 パートナーまたはミラーリング監視サーバーからの接続要求がある場合は、認証する必要があります。
データベース ミラーリングまたは Always On 可用性グループにサーバー インスタンスによって使用される認証の種類は、データベース ミラーリング エンドポイントのプロパティです。 データベース ミラーリング エンドポイントでは、2 種類のトランスポート セキュリティを使用できます。Windows 認証 (セキュリティ サポート プロバイダー インターフェイス (SSPI)) と証明書ベースの認証です。
Windows 認証
Windows 認証では、各サーバー インスタンスは、プロセスが実行されている Windows ユーザー アカウントの Windows 資格情報を使用して、もう一方の側にログインします。 Windows 認証では、次のようにログイン アカウントの手動構成が必要になる場合があります。
SQL Server のインスタンスが同じドメイン アカウントでサービスとして実行される場合、追加の構成は必要ありません。
SQL Server のインスタンスが異なるドメイン アカウント (同じドメインまたは信頼されたドメイン) でサービスとして実行される場合は、各アカウントのログインを他の各サーバー インスタンスの マスター に作成し、そのログインにエンドポイントに対する CONNECT アクセス許可を付与する必要があります。
SQL Server のインスタンスがネットワーク サービス アカウントとして実行される場合は、各ホスト コンピューター アカウント (DomainName**\**ComputerName$) のログインを他の各サーバーの マスター に作成し、そのログインにエンドポイントに対する CONNECT アクセス許可を付与する必要があります。 これは、ネットワーク サービス アカウントで実行されているサーバー インスタンスが、ホスト コンピューターのドメイン アカウントを使用して認証されるためです。
注
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 Management Studio によって作成されたミラーリング エンドポイントは、暗号化が必須または無効の状態で作成されます。 暗号化設定を SUPPORTED に変更するには、ALTER ENDPOINT Transact-SQL ステートメントを使用します。 詳細については、「ALTER ENDPOINT (Transact-SQL)」を参照してください。
必要に応じて、CREATE ENDPOINT ステートメントまたは ALTER ENDPOINT ステートメントで ALGORITHM オプションに次のいずれかの値を指定することで、エンドポイントで使用できる暗号化アルゴリズムを制御できます。
アルゴリズムの値 | 説明 |
---|---|
RC4 | エンドポイントが RC4 アルゴリズムを使用する必要があることを指定します。 これが既定値です。 注: RC4 アルゴリズムは非推奨です。 この機能は、今後のバージョンの Microsoft SQL Server で削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションはできるだけ早く修正してください。 AES を使用することをお勧めします。 |
AES(高度暗号化標準) | エンドポイントが AES アルゴリズムを使用する必要があることを指定します。 |
AES RC4 | 2 つのエンドポイントが、AES アルゴリズムを優先してこのエンドポイントと暗号化アルゴリズムをネゴシエートすることを指定します。 |
RC4 AES | 2 つのエンドポイントが、RC4 アルゴリズムを優先してこのエンドポイントと暗号化アルゴリズムをネゴシエートすることを指定します。 |
接続エンドポイントで両方のアルゴリズムが異なる順序で指定されている場合、接続を受け入れるエンドポイントが優先されます。
注
RC4 アルゴリズムは、旧バージョンとの互換性のためにのみサポートされています。 データベース互換性レベルが 90 または 100 の場合、新しい素材は RC4 または RC4_128 を使用してのみ暗号化できます (非推奨)。AES アルゴリズムのいずれかなど、新しいアルゴリズムを使用してください。 SQL Server 2012 以降のバージョンでは、RC4 またはRC4_128を使用して暗号化されたマテリアルは、任意の互換性レベルで復号化できます。
AES よりもかなり高速ですが、RC4 は比較的弱いアルゴリズムですが、AES は比較的強力なアルゴリズムです。 そのため、AES アルゴリズムを使用することをお勧めします。
暗号化を指定するための Transact-SQL 構文の詳細については、「 CREATE ENDPOINT (Transact-SQL)」を参照してください。
関連タスク
データベース ミラーリング エンドポイントのトランスポート セキュリティを構成するには
こちらもご覧ください
暗号化アルゴリズムの選択
エンドポイントの変更 (Transact-SQL)
DROP ENDPOINT (Transact-SQL)
SQL Server データベース エンジンと Azure SQL Database のセキュリティ センター
データベースを別のサーバー インスタンスで使用できるようにするときのメタデータの管理 (SQL Server)
データベース ミラーリング エンドポイント (SQL Server)
sys.database_mirroring_endpoints(Transact-SQL)
sys.dm_db_mirroring_connections (Transact-SQL)
データベース ミラーリング構成のトラブルシューティング (SQL Server)
AlwaysOn 可用性グループの構成 (SQL Server) の削除のトラブルシューティング