FileIOPermission クラス

定義

注意事項

Code Access Security is not supported or honored by the runtime.

ファイルとフォルダーにアクセスする機能を制御します。 このクラスは継承できません。

public ref class FileIOPermission sealed : System::Security::CodeAccessPermission, System::Security::Permissions::IUnrestrictedPermission
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
Public NotInheritable Class FileIOPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
継承
FileIOPermission
属性
実装

注釈

Caution

コード アクセス セキュリティ (CAS) は、.NET Framework と .NET のすべてのバージョンで非推奨になりました。 最近のバージョンの .NET では、CAS に関連する API が使用されている場合、CAS 注釈は使用されず、エラーが発生します。 開発者は、セキュリティ タスクを実行するための代替手段を求める必要があります。

このアクセス許可は、 FileIOPermissionAccessによって提供される次の 4 種類のファイル IO アクセスを区別します。

  • Read: ファイルの内容への読み取りアクセス、またはファイルの長さや最終変更時刻などのファイルに関する情報へのアクセス。

  • Write: ファイルの内容へのアクセスを書き込むか、ファイルに関する情報 (名前など) を変更するアクセス権を付与します。 また、削除と上書きも可能です。

  • Append: ファイルの末尾にのみ書き込む機能。 読み取り機能がありません。

  • PathDiscovery: パス自体の情報へのアクセス。 これにより、パス内の機密情報 (ユーザー名など) と、パスに表示されるディレクトリ構造に関する情報を保護できます。 この値は、パスで表されるファイルまたはフォルダーへのアクセスを許可しません。

Note

アセンブリ Write アクセス権を付与することは、アセンブリに完全な信頼を付与するのと似ています。 アプリケーションがファイル システムに書き込むべきではない場合は、 Write アクセス権を持つべきではありません。

これらのアクセス許可はすべて独立しています。つまり、あるアクセス許可が別の権限を意味するものではありません。 たとえば、 Write アクセス許可は、 Read または Appendへのアクセス許可を意味しません。 複数のアクセス許可が必要な場合は、次のコード例に示すように、ビットごとの OR を使用して組み合わせることができます。 ファイルのアクセス許可は、正規の絶対パスの観点から定義されます。呼び出しは常に正規のファイル パスで行う必要があります。

FileIOPermission では、ファイルとフォルダーに対する保護された操作について説明します。 File クラスは、ファイルとフォルダーへの安全なアクセスを提供するのに役立ちます。 セキュリティ アクセス チェックは、ファイルへのハンドルが作成されるときに実行されます。 作成時にチェックを行うことで、セキュリティ チェックのパフォーマンスへの影響が最小限に抑えられます。 ファイルを開くことは 1 回行われますが、読み取りと書き込みは複数回発生する可能性があります。 ファイルを開くと、それ以上のチェックは行われません。 オブジェクトが信頼されていない呼び出し元に渡されると、誤用される可能性があります。 たとえば、ファイル ハンドルは、アクセス許可の低いコードがアクセスできるパブリック グローバル静的ファイルに格納しないでください。

FileIOPermissionAccess は、ファイルまたはフォルダーに対して実行できるアクションを指定します。 さらに、これらのアクションは、ビットごとの OR を使用して複合インスタンスを形成するために組み合わせることができます。

フォルダーへのアクセスは、フォルダーに含まれるすべてのファイルへのアクセスと、そのサブフォルダー内のすべてのファイルとフォルダーへのアクセスを意味します。 たとえば、C:\folder1\ へのアクセス Read は、C:\folder1\file1.txt、C:\folder1\folder2\、C:\folder1\folder2\file2.txtなどに Read アクセスすることを意味します。

Note

.NET Framework 4 より前のバージョンの .NET Framework では、 CodeAccessPermission.Deny メソッドを使用して、信頼されたコードによるシステム リソースへの不注意なアクセスを防ぐことができます。 Deny は廃止され、リソースへのアクセスは、アセンブリに対して付与されたアクセス許可セットによってのみ決定されるようになりました。 ファイルへのアクセスを制限するには、サンドボックスで部分的に信頼されたコードを実行し、コードがアクセスを許可されているリソースにのみアクセス許可を割り当てる必要があります。 サンドボックスでアプリケーションを実行する方法については、「 方法: サンドボックスで部分的に信頼されたコードを実行する」を参照してください。

コンストラクター

名前 説明
FileIOPermission(FileIOPermissionAccess, AccessControlActions, String)
古い.

指定したファイルまたはディレクトリへの指定されたアクセス権と、ファイル制御情報に対する指定されたアクセス権を使用して、 FileIOPermission クラスの新しいインスタンスを初期化します。

FileIOPermission(FileIOPermissionAccess, AccessControlActions, String[])
古い.

指定されたファイルとディレクトリへの指定されたアクセス権と、ファイル制御情報に対する指定されたアクセス権を使用して、 FileIOPermission クラスの新しいインスタンスを初期化します。

FileIOPermission(FileIOPermissionAccess, String)
古い.

指定したファイルまたはディレクトリへのアクセス権を指定して、 FileIOPermission クラスの新しいインスタンスを初期化します。

FileIOPermission(FileIOPermissionAccess, String[])
古い.

指定したファイルとディレクトリへの指定されたアクセス権を使用して、 FileIOPermission クラスの新しいインスタンスを初期化します。

FileIOPermission(PermissionState)
古い.

FileIOPermission クラスの新しいインスタンスを、指定されたとおりに完全に制限または無制限のアクセス許可で初期化します。

プロパティ

名前 説明
AllFiles
古い.

すべてのファイルに対して許可されるアクセス権を取得または設定します。

AllLocalFiles
古い.

すべてのローカル ファイルへの許可されるアクセスを取得または設定します。

メソッド

名前 説明
AddPathList(FileIOPermissionAccess, String)
古い.

指定したファイルまたはディレクトリのアクセス権を、アクセス許可の既存の状態に追加します。

AddPathList(FileIOPermissionAccess, String[])
古い.

指定したファイルとディレクトリへのアクセスを、アクセス許可の既存の状態に追加します。

Assert()
古い.

スタック内の上位の呼び出し元にリソースへのアクセス許可が付与されていない場合でも、呼び出し元のコードがこのメソッドを呼び出すコードを介して、アクセス許可要求によって保護されているリソースにアクセスできることを宣言します。 Assert()を使用すると、セキュリティの問題が発生する可能性があります。

(継承元 CodeAccessPermission)
Copy()
古い.

現在のアクセス許可と同じコピーを作成して返します。

Demand()
古い.

呼び出し履歴の上位のすべての呼び出し元に、現在のインスタンスで指定されたアクセス許可が付与されていない場合は、実行時に SecurityException を強制します。

(継承元 CodeAccessPermission)
Deny()
古い.
古い.

呼び出し履歴の上位の呼び出し元が、このメソッドを呼び出すコードを使用して、現在のインスタンスで指定されたリソースにアクセスできないようにします。

(継承元 CodeAccessPermission)
Equals(Object)
古い.

指定した FileIOPermission オブジェクトが現在の FileIOPermissionと等しいかどうかを判断します。

FromXml(SecurityElement)
古い.

XML エンコードから、指定された状態のアクセス許可を再構築します。

GetHashCode()
古い.

ハッシュ アルゴリズムやハッシュ テーブルなどのデータ構造で使用するのに適した FileIOPermission オブジェクトのハッシュ コードを取得します。

GetPathList(FileIOPermissionAccess)
古い.

指定した FileIOPermissionAccessを持つすべてのファイルとディレクトリを取得します。

GetType()
古い.

現在のインスタンスの Type を取得します。

(継承元 Object)
Intersect(IPermission)
古い.

現在のアクセス許可と指定したアクセス許可の積集合であるアクセス許可を作成して返します。

IsSubsetOf(IPermission)
古い.

現在のアクセス許可が指定のアクセス許可のサブセットかどうかを決定します。

IsUnrestricted()
古い.

現在のアクセス許可が無制限かどうかを示す値を返します。

MemberwiseClone()
古い.

現在の Objectの簡易コピーを作成します。

(継承元 Object)
PermitOnly()
古い.

呼び出し履歴の上位の呼び出し元がこのメソッドを呼び出すコードを使用して、現在のインスタンスで指定されているリソースを除くすべてのリソースにアクセスできないようにします。

(継承元 CodeAccessPermission)
SetPathList(FileIOPermissionAccess, String)
古い.

指定したアクセス権を指定したファイルまたはディレクトリに設定し、アクセス許可の既存の状態を置き換えます。

SetPathList(FileIOPermissionAccess, String[])
古い.

指定したファイルとディレクトリへの指定されたアクセスを設定し、指定したアクセスの現在の状態を新しいパスのセットに置き換えます。

ToString()
古い.

現在のアクセス許可オブジェクトの文字列形式を作成して返します。

(継承元 CodeAccessPermission)
ToXml()
古い.

アクセス許可とその現在の状態の XML エンコードを作成します。

Union(IPermission)
古い.

現在のアクセス許可と指定したアクセス許可の和集合であるアクセス許可を作成します。

適用対象

こちらもご覧ください