次の方法で共有


CLR 統合のセキュリティ

適用対象:SQL Server

SQL Server と .NET Framework 共通言語ランタイム (CLR) の統合のセキュリティ モデルは、さまざまな種類の CLR オブジェクトと SQL Server 内で実行されている非 CLR オブジェクト間のアクセスを管理し、セキュリティで保護します。 これらのオブジェクトは、Transact-SQL ステートメントまたはサーバーで実行されている別の CLR オブジェクトから呼び出すことができます。 オブジェクト間の呼び出しをリンクと呼びます。 このようなオブジェクトに対して実行されるセキュリティ チェックの種類は、関連するリンクの種類によって異なります。

CLR 統合のセキュリティ モデルは、次のことを目標にしています。

  • 既定では、SQL Server でマネージド ユーザー コードを実行すると、SQL Server の整合性と安定性が損なわれることはありません。 SQL Server の堅牢性を損なう可能性のある操作の実行は、適切な高レベルのアクセス許可によって保護する必要があります。

  • マネージド ユーザー コードは、データベース内のユーザー データやその他のユーザー コードへの未承認のアクセス権を取得しないでください。 ユーザー定義コードは、そのコードを呼び出したユーザー セッションのセキュリティ コンテキストで実行する。実行には、そのセキュリティ コンテキストにおける適切な特権を使用する。

  • ユーザー コードからサーバー外部のリソースへのアクセスを禁止するための制御機能を備える。ユーザー コードの使用は、ローカル データのアクセスおよびコンピューティングに限定する。

  • ユーザー定義コードは、SQL Server プロセスで実行されることにより、システム リソースへの未承認のアクセスを取得できないようにする必要があります。

SQL Server では、SQL Server のユーザー ベースのセキュリティ モデルと CLR のコード アクセス ベースのセキュリティ モデルが統合されるようになりました。 このセクションでは、このようにセキュリティ モデルを組み合わせたアプローチによるメリットの一部を紹介します。

このセクションでは、次の操作を行います。

次の表に、このセクションの記事を示します。

記事 形容
CLR 統合 Code Access Security の マネージド コードのコード アクセス セキュリティ (CAS) モデルについて説明します
ホスト保護属性と CLR 統合プログラミング SAFE アセンブリと EXTERNAL_ACCESS アセンブリで許可されていないホスト保護属性 (HPA) 値に関する情報を提供します
接続 の権限借用と資格情報の SQL Server でユーザー コードの一部が相互に呼び出す方法について説明します
アプリケーション ドメインと CLR 統合のセキュリティ アセンブリをアプリケーション ドメインに読み込む方法について説明します