.NET は、コード アクセス セキュリティと呼ばれるセキュリティ モデルを実装しています。アンマネージ コードは、そのコードが悪意のあるソースから発生したものであっても、アプリケーションを開始したユーザーの特権と権限で実行されます。
マネージ コードは、その起源の証拠を提供する必要があります。これにはさまざまな方法があります (たとえば、コードが特定のキーで署名されている、コードが特定の URL からダウンロードされている、コードがディスク上の特定のディレクトリにある、など)。その証拠に基づいて、アセンブリはポリシーが適用されるグループに分けられます。ポリシーは、主にシステム リソースへのアクセス (DNS ルックアップの実行、ネットワーク接続の開始、「分離ストレージ」へのアクセス、ローカル ファイル システムへのアクセス (すべて、または選択したディレクトリのみ))、アクセスに関する特定のアクセス許可をコード グループに付与できます。レジストリ、ネットワーク共有へのアクセスなど)。コントロール パネルには、このようなポリシーを定義できるツールがあります。
アセンブリが制限された操作を実行しようとすると、特権チェックが行われます。アクセスが許可されると、操作が続行されます。チェックが失敗すると、例外がスローされます。通常、チェックにはスタック トラバーサルが含まれます (つまり、すべての呼び出し元がその操作に対して信頼されている必要があります) が、例外があります。
特殊なケースとして、アセンブリに「完全な信頼」を割り当てて、すべてのアクセス許可を付与することができます。「部分信頼」という言葉は聞いたことがありませんが、一部の権利はあるが完全信頼ではないアセンブリを指していると思います。
これは単なる概要であることを理解してください。コード アクセス セキュリティについては、さらに多くのことが述べられています。