identity 要素 (ASP.NET 設定スキーマ)
[このドキュメントはプレビューのみを目的としており、以降のリリースで変更される可能性があります。プレースホルダーとして空白のトピックが含まれています。]
Web アプリケーションの ID を設定します。 この要素は構成ファイル階層の任意のレベルで宣言できます。
注意
このトピックの構文例には、この構文の動作方法を示すためのパスワードが含まれています。ユーザー独自のアプリケーションでは、セキュリティで保護されたパスワードを使用することをお勧めします。
<identity impersonate="true|false"
userName="domain\username"
password="<secure password>"/>
属性および要素
以降のセクションでは、属性、子要素、および親要素について説明します。
属性
属性 |
Description |
---|---|
Impersonate |
必須の属性です。 各要求に対してクライアント偽装を使用するかどうかを指定します。 この属性には、次のいずれかの値を指定できます。
値Description
false クライアント偽装を使用しないことを指定します。
true クライアント偽装を使用することを指定します。
|
Password |
省略可能な属性です。 impersonate 属性が true の場合、使用するパスワードを指定します。 暗号化されたワーカー プロセスの資格情報をレジストリ内に格納する方法の詳細については、userName 属性を参照してください。 |
userName |
省略可能な属性です。 impersonate 属性が true の場合、使用するユーザー名を指定します。 この属性と password 属性は、クリア テキストで構成ファイルに格納されます。 Microsoft Internet Information Services (IIS) では、ユーザー エージェントの要求に応答して .config ファイルが送信されることはありませんが、.config ファイルが他の手段で読み取られる可能性があります。 たとえば、サーバーが含まれるドメインの適切な資格情報を持つ認証されたユーザーにより読み取られる場合があります。 セキュリティ上の理由から、identity 属性は暗号化された userName および password 属性をレジストリ内に格納できます。 資格情報は、Microsoft Windows 2000 および Windows XP のデータ保護 API 暗号化関数によって暗号化され、REG_BINARY 形式となっている必要があります。 詳細については、このトピックで後述する「解説」および「例」を参照してください。 |
子要素
なし。
親要素
要素 |
Description |
---|---|
configuration |
共通言語ランタイムおよび .NET Framework アプリケーションで使用されるすべての構成ファイルのルート要素を指定します。 |
system.web |
ASP.NET 構成セクションのルート要素を指定します。 |
解説
ユーザー名とパスワードを暗号化し、それらをレジストリに格納するには、userName と password を次のように設定します。
userName="registry:HKLM\Software\AspNetProcess,Name"password="registry:HKLM\Software\AspNetProcess,Pwd"
キーワード registry とコンマの間の文字列は ASP.NET が開くレジストリ キーの名前を示します。 コンマの後ろの部分には ASP.NET が資格情報を読み取る文字列値の名前が 1 つ含まれます。 コンマが必要であり、資格情報が HKLM ハイブに格納されている必要があります。 構成形式が不正な場合、ASP.NET ではワーカー プロセスが起動されず、現在のアカウント作成エラー コード パスが表示されます。
資格情報は REG_BINARY 形式で、Windows API 関数 CryptProtectData の呼び出しの出力を含んでいる必要があります。 Aspnet_setreg.exe を使用すると、暗号化された資格情報を作成して、それらをレジストリに格納できます。Aspnet_setreg.exe は、CryptProtectData を使用して暗号化を実行します。 Microsoft Visual C++ のソース コードおよびドキュメントと同時に Aspnet_setreg.exe をダウンロードするには、ASP.NET の Web サイトに移動して、aspnet_setreg を検索します。
暗号化された資格情報を格納するキーに対するアクセス権を設定して、Administrators および SYSTEM だけがアクセス権を持つようにしてください。 キーは SYSTEM として実行されている ASP.NET プロセスによって読み取られるため、次のアクセス許可を設定してください。
Administrators:F
SYSTEM:F
CREATOR OWNER:F
ProcessAccount:R
これにより、データの保護を支援するために次のような二重の防御手段が取られることになります。
ACL アクセス許可では、データにアクセスする ID が Administrator である必要があります。
アカウントの資格情報を復元するには、攻撃者はサーバー上でコード (CryptUnprotectData API) を実行する必要があります。
既定の構成
次の既定の identity 要素は、Machine.config ファイルまたはルートの Web.config ファイルでは明示的に構成されません。 ただし、これはアプリケーションが返す既定の構成です。
<identity impersonate="false" userName="" password="" />
要素情報
構成セクション ハンドラー |
|
構成メンバー |
|
構成できる場所 |
Machine.config ルート レベルの Web.config アプリケーション レベルの Web.config 仮想ディレクトリ レベルまたは物理ディレクトリ レベルの Web.config |
要件 |
Microsoft Internet Information Services (IIS) 5.0、5.1、または 6.0 .NET Framework Version 1.0、1.1、または 2.0 Microsoft Visual Studio 2003 または Visual Studio 2005 |
参照
処理手順
How to: Lock ASP.NET Configuration Settings
Reference
system.web 要素 (ASP.NET 設定スキーマ)
概念
ASP.NET Configuration Overview
ASP.NET Server Controls and Browser Capabilities