Share via


安全なクラス ライブラリの作成

クラス ライブラリは保護されているリソースやアンマネージ コードに頻繁にアクセスするため、クラス ライブラリにおけるプログラミング ミスは、セキュリティの脆弱性を露呈する可能性があります。クラス ライブラリをデザインする場合は、コード アクセス セキュリティについて理解し、クラス ライブラリの安全を確保にするように注意する必要があります。

クラス ライブラリの安全を確保するために考慮する必要がある主な 3 つの要素について次の表で説明します。

セキュリティ要素 説明

セキュリティ確認要求

確認要求は、コードの呼び出し元が必要なアクセス許可を持つことを要求するための機構として、クラス レベルおよびメソッド レベルに適用されます。確認要求によりスタック ウォークが行われ、コードの呼び出し時に、そのコードを直接または間接的に呼び出すすべての呼び出し元がスタック上でチェックされます。確認要求は、通常は、リソースを保護できるようにするためにクラス ライブラリで使用されます。

セキュリティ オーバーライド

オーバーライドは、ランタイムによるセキュリティ上の決定事項を変更するための手段として、クラスまたはメソッドのスコープで適用されます。呼び出されるタイミングは、呼び出し元がコードを使用するときです。オーバーライドは、スタック ウォークを中止させ、既に特定のアクセス許可を与えられている呼び出し元のアクセスを制限するために使用します。

ヒント

オーバーライドの使用は危険を伴うため、慎重に行う必要があります。

セキュリティの最適化

確認要求とオーバーライドを組み合わせることにより、コードとセキュリティ システムの対話時のパフォーマンスを向上させることができます。

参照

概念

セキュリティ確認要求
セキュリティ チェックのオーバーライド
クラスおよびメンバのスコープで使用される宣言セキュリティ
セキュリティの最適化

その他の技術情報

コード アクセス セキュリティ