目次:
定義-コードアクセスセキュリティ(CAS)とはどういう意味ですか?
コードアクセスセキュリティ(CAS)は、.NETフレームワークの共通言語ランタイム(CLR)がマネージコードを制限して、限られたアクセス許可セットで操作を実行できるセキュリティメカニズムです。
CASは、保護されたリソースおよび操作への不正アクセスを防ぐことにより、.NETフレームワークでセキュリティポリシーを実施します。 ユーザーからユーザー資格情報を取得する従来のセキュリティ方法とは異なり、CASは、バグや脆弱性を含む外部ソースからコードを取得するときに直面する問題に対処するように設計されています。 これらのバグと脆弱性により、ユーザーのシステムが悪意のあるコードに対して脆弱になり、ユーザーが知らないうちにタスクを実行する可能性があります。 CASは、特定のユーザーのコードが実行できる操作と実行できない操作のみを実際に認識して許可します。 この機能は、CLRを対象とするすべてのマネージコードに適用できます。
CASは、Windowsオペレーティングシステムによって提供されるセキュリティよりも上の層に構築された証拠ベースのセキュリティを提供します。 Windowsはユーザーのアクセス許可に基づいていますが、CASはアセンブリの証拠に基づいています。 アセンブリには、セキュリティポリシーで定義されたアクセス許可が含まれており、コードが必要なアクションを実行できるようにするための基盤を形成します。
Techopediaはコードアクセスセキュリティ(CAS)について説明します
CASは、特に次の要素で構築されています。
- 権限:これらは、保護されたリソースにアクセスしたり、保護された操作を実行したりするために必要な基本的な権限です。
- 許可セット:これは、「完全信頼」、「なし」、「インターネット」、「ローカルイントラネット」などの許可のセットです。
- コードグループ:これは、LocalIntranet_zoneやInternet_zoneなどのメンバーシップの条件が指定されたコードの論理的なグループです。
- 証拠:これは、アプリケーションディレクトリ、発行者、URL、セキュリティゾーンなどのアセンブリ関連の情報です。
- セキュリティポリシー:これは、エンタープライズ、マシン、ユーザー、およびアプリケーションドメインとして4つのレベルで階層的に表現されたコードに付与されるアクセス許可を決定するために、管理者が構成するルールのセットです。
コード実行の特権操作では、1つ以上のアクセス許可をCLRに要求します。 実際のアクセス許可は、コードグループに設定されたアクセス許可の和集合を使用して計算され、次にポリシーレベルの共通部分を使用して計算されます。 CLRは、要求されたアクセス許可が、そのアセンブリのメソッドの許可されたアクセス許可に含まれていることを確認します。 許可が与えられない場合、セキュリティ例外がスローされます。
CASは、コードのアクセス許可を定義する2つのセキュリティモードを提供します。
- 宣言型セキュリティは、アセンブリレベル、クラスレベル、またはメンバーレベルでセキュリティ属性を定義することにより実装されます。 宣言モードは、コンパイル時に呼び出しを評価する必要がある場合に使用されます。
- 命令型セキュリティは、ランタイムメソッド呼び出しを使用してセキュリティクラスのインスタンスを作成します。 命令モードは、実行時に呼び出しを評価する必要がある場合に使用されます。
CASには、セキュリティポリシーが異なる場合に別のシステムに移動したアプリケーションの誤動作など、制限があります。 さらに、アンマネージコードを制御したり、ユーザーシステムのセキュリティ設定のさまざまなシナリオのニーズに対応するアプリケーション開発を制御したりすることはできません。
CASのきめ細かいセキュリティテクノロジーを効果的に使用するには、開発者はタイプセーフコードを記述し、コンテキストに基づいて宣言型または命令型の構文を使用し、実行時にコードを実行するためのアクセス許可を要求し、安全なライブラリを使用する必要があります。
