<serviceAuthorization> 要素

サービス操作へのアクセスを許可する設定を指定します。

<system.serviceModel>
  <behaviors>
    <serviceBehaviors>
      <serviceBehaviors> の <behavior>
        <serviceAuthorization> 要素

<serviceAuthorization
     impersonateCallerForAllOperations="Boolean"
      principalPermissionMode="None/UseWindowsGroups/UseAspNetRoles/Custom"
      roleProviderName="String"
      serviceAuthorizationManagerType="String" />
      <authorizationPolicies>
         <add policyType="String" />
      </authorizationPolicies>
</serviceAuthorization>

属性および要素

属性

属性 説明

impersonateCallerForAllOperations

サービスのすべての操作が呼び出し元を偽装するかどうかを指定するブール値。既定値は false です。

特定のサービス操作が呼び出し元を偽装する場合、スレッド コンテキストは、指定されたサービスを実行する前に呼び出し元のコンテキストに切り替えられます。

principalPermissionMode

サーバーでの操作を実行するために使用されるプリンシパルを設定します。値はの内容は次のとおりです。

  • なし
  • UseWindowsGroups
  • UseAspNetRoles
  • カスタム

既定値は UseWindowsGroups です。値は、PrincipalPermissionMode 型です。この属性の使い方の詳細については、「How To: Restrict Access With the PrincipalPermissionAttribute」を参照してください。

roleProviderName

Windows Communication Foundation (WCF) アプリケーションにロール情報を提供するロール プロバイダの名前を指定する文字列。既定値は空の文字列です。

ServiceAuthorizationManagerType

サービス承認マネージャの型を含む文字列。詳細については、ServiceAuthorizationManager を参照してください。

子要素

要素 説明

authorizationPolicies

add キーワードを使用して追加できる承認ポリシーの種類のコレクションを含みます。各承認ポリシーは、文字列の単一の必須属性 policyType を含みます。この属性は、入力クレームのセットをクレームの別のセットに変換することを可能にする承認ポリシーを指定します。アクセス制御は、それに基づいて許可または拒否されます。詳細については、AuthorizationPolicyTypeElement を参照してください。

親要素

要素 説明

<endpointBehaviors> の <behavior>

サービスの動作設定のコレクションが含まれています。

解説

このセクションには、承認、カスタム ロール プロバイダ、および偽装に影響する要素が含まれています。

principalPermissionMode 属性は、保護メソッドの使用を承認するときに使用するユーザー グループを指定します。既定値は UseWindowsGroups で、リソースにアクセスしようとしている ID を、"Administrators" や "Users" などの Windows グループから検索するように指定します。UseAspNetRoles を指定すると、次のコードに示すように、<system.web > 要素の下で構成されるカスタム ロール プロバイダを使用することもできます。

<system.web>
  <membership defaultProvider="SqlProvider" 
   userIsOnlineTimeWindow="15">
     <providers>
       <clear />
       <add 
          name="SqlProvider" 
          type="System.Web.Security.SqlMembershipProvider" 
          connectionStringName="SqlConn"
          applicationName="MembershipProvider"
          enablePasswordRetrieval="false"
          enablePasswordReset="false"
          requiresQuestionAndAnswer="false"
          requiresUniqueEmail="true"
          passwordFormat="Hashed" />
     </providers>
   </membership>
  <!-- Other configuration code not shown.-->
</system.web>

principalPermissionMode 属性で roleProviderName を使用する方法を次のコードに示します。

<behaviors>
   <behavior name="ServiceBehaviour">
     <serviceAuthorization principalPermissionMode ="UseAspNetRoles" 
                           roleProviderName ="SqlProvider" />
   </behavior> 
<!-- Other configuration code not shown. -->
</behaviors>

この構成要素の使い方の詳細な例については、「Authorizing Access to Service Operations」および「Authorization Policy」を参照してください。

関連項目

リファレンス

ServiceAuthorizationElement
ServiceAuthorizationBehavior

その他の技術情報

Security Behaviors in WCF
Authorizing Access to Service Operations
How To: Create a Custom AuthorizationManager for a Service
How To: Restrict Access With the PrincipalPermissionAttribute
Authorization Policy