SecurityManager.GetStandardSandbox(Evidence) SecurityManager.GetStandardSandbox(Evidence) SecurityManager.GetStandardSandbox(Evidence) Method

定義

指定された証拠を持つアプリケーションに安全に付与できるアクセス許可セットを取得します。Gets a permission set that is safe to grant to an application that has the provided evidence.

public:
 static System::Security::PermissionSet ^ GetStandardSandbox(System::Security::Policy::Evidence ^ evidence);
public static System.Security.PermissionSet GetStandardSandbox (System.Security.Policy.Evidence evidence);
static member GetStandardSandbox : System.Security.Policy.Evidence -> System.Security.PermissionSet

パラメーター

evidence
Evidence Evidence Evidence

アクセス許可セットと一致させるホスト証拠。The host evidence to match to a permission set.

戻り値

指定された証拠を持つアプリケーションの許可セットとして使用できるアクセス許可セット。A permission set that can be used as a grant set for the application that has the provided evidence.

例外

evidencenullです。evidence is null.

次の例は、使用する方法を示します、GetStandardSandboxサンド ボックス化されたアプリケーションのアクセス許可を取得するメソッドを設定します。The following example shows how to use the GetStandardSandbox method to obtain the permission set for a sandboxed application. サンド ボックスで、アプリケーションを実行する方法の詳細については、次を参照してください。方法。Run Partially Trusted Code in a Sandbox」 (方法: サンドボックスで部分信頼コードを実行する) を参照してください。For more information about running an application in a sandbox, see How to: Run Partially Trusted Code in a Sandbox.

using System;
using System.Collections;
using System.Diagnostics;
using System.Security;
using System.Security.Permissions;
using System.Security.Policy;
using System.Reflection;
using System.IO;

namespace SimpleSandboxing
{
    class Program
    {
        static void Main(string[] args)
        {
            // Create the permission set to grant to other assemblies.
            // In this case we are granting the permissions found in the LocalIntranet zone.
            Evidence e = new Evidence();
            e.AddHostEvidence(new Zone(SecurityZone.Intranet));
            PermissionSet pset = SecurityManager.GetStandardSandbox(e);

            AppDomainSetup ads = new AppDomainSetup();
            // Identify the folder to use for the sandbox.
            ads.ApplicationBase = "C:\\Sandbox";
            // Copy the application to be executed to the sandbox.
            Directory.CreateDirectory("C:\\Sandbox");
            File.Copy("..\\..\\..\\HelloWorld\\bin\\debug\\HelloWorld.exe", "C:\\sandbox\\HelloWorld.exe", true);

            // Create the sandboxed domain.
            AppDomain sandbox = AppDomain.CreateDomain(
               "Sandboxed Domain",
               e,
               ads,
               pset,
               null);
            sandbox.ExecuteAssemblyByName("HelloWorld");
        }
    }
}

Imports System
Imports System.Collections
Imports System.Diagnostics
Imports System.Security
Imports System.Security.Permissions
Imports System.Security.Policy
Imports System.Reflection
Imports System.IO



Class Program
    
    Shared Sub Main(ByVal args() As String) 
        ' Create the permission set to grant to other assemblies.
        ' In this case we are granting the permissions found in the LocalIntranet zone.
        Dim e As New Evidence()
        e.AddHostEvidence(New Zone(SecurityZone.Intranet))
        Dim pset As PermissionSet = SecurityManager.GetStandardSandbox(e)
        
        Dim ads As New AppDomainSetup()
        ' Identify the folder to use for the sandbox.
        ads.ApplicationBase = "C:\Sandbox"
        ' Copy the application to be executed to the sandbox.
        Directory.CreateDirectory("C:\Sandbox")
        File.Copy("..\..\..\HelloWorld\bin\debug\HelloWorld.exe", "C:\sandbox\HelloWorld.exe", True)
        
        ' Create the sandboxed domain.
        Dim sandbox As AppDomain = AppDomain.CreateDomain("Sandboxed Domain", e, ads, pset, Nothing)
        sandbox.ExecuteAssemblyByName("HelloWorld")
    
    End Sub 'Main
End Class 'Program

注釈

注意

.NET Framework 4.NET Framework 4でのホスト証拠evidence含める必要がありますSystem.Security.Policy.Zone証拠。In the .NET Framework 4.NET Framework 4, the host evidence in evidence must contain System.Security.Policy.Zone evidence.

次の表では、ゾーンごとに返されるアクセス許可セットを示します。The following table shows the permission sets that are returned for each zone.

ゾーンZone アクセス許可セットPermission set
MyComputer FullTrust
Intranet LocalIntranet
Trusted Internet
Internet Internet
Untrusted なしNone
NoZone なしNone

などの他の証拠UrlまたはSiteと考えられます。Other evidence, such as Url or Site, may be considered.

返されるアクセス許可セットは、アプリケーションを実行するサンド ボックスで使用できます。The returned permission set can be used by a sandbox to run the application. このメソッドが、ポリシーで指定されていないが、により、ホスト アプリケーションによって要求されたアクセス許可セットが妥当かどうかを判断することに注意してください。Note that this method does not specify policy, but helps a host to determine whether the permission set requested by an application is reasonable. このメソッドは、サンド ボックスに、ゾーンにマップを使用できます。This method can be used to map a zone to a sandbox.

適用対象