IUSRとIWAMは、IISを(OSコンポーネントとしてではなく)個別にインストールした非常に初期の時代に遡ります。デフォルトでは、Webサイトが匿名認証を許可している場合、OSの権限に関してIUSRアカウントが使用されます。これはデフォルトから変更できます。少なくともアカウントの名前を変更するためのセキュリティ上の推奨事項があるため、サーバー上の管理者アカウントの名前を変更することを推奨するように、「既知の」アカウントではありません。IUSRと認証の詳細については、MSDNをご覧ください。
IWAMは、アウトプロセスアプリケーション用に設計されており、IIS 5.0分離モードの場合にのみIIS 6.0で使用されます。通常、COM / DCOMオブジェクトで見ました。
アプリケーションプールIDに関しては、デフォルトではネットワークサービスとして実行されます。そのアカウントには管理者の権限よりも大きい権限があるため、ローカルシステムとして実行しないでください。したがって、基本的には、ネットワークサービス、ローカルサービス、またはこれら2つ以外のローカル/ドメインアカウントになります。
何をすべきかは、それによって異なります。ネットワークサービスとして残すことの利点の1つは、サーバー上の特権アカウントが制限されることです。ただし、ネットワーク経由でリソースにアクセスすると、Domain \ ComputerName $として表示されます。つまり、ネットワークサービスアカウントが別のボックスで実行されているSQL Serverなどのリソースにアクセスできるアクセス許可を割り当てることができます。また、コンピューターアカウントとして表示されるため、Kerberos認証を有効にすると、サーバー名でWebサイトにアクセスしている場合はSPNが既に配置されています。
WebベースのアプリケーションのSQL Serverにアクセスするサービスアカウントなど、ネットワークリソースにアクセスする特定のアカウントが必要な場合に、アプリケーションプールを特定のWindowsドメインアカウントに変更することを検討する場合。ASP.NETには、アプリケーションプールIDを変更せずにこれを行うためのその他のオプションがあるため、これはもはや厳密には必要ありません。ドメインユーザーアカウントの使用を検討するもう1つの理由は、Kerberos認証を行っていて、Webアプリケーションにサービスを提供する複数のWebサーバーがあったことです。良い例は、SQL Server Reporting Servicesを提供する2つ以上のWebサーバーがある場合です。フロントエンドは、おそらくreports.mydomain.comやreporting.mydomain.comなどの汎用URLになります。その場合、SPNはAD内の1つのアカウントにのみ適用できます。各サーバーのネットワークサービスでアプリプールを実行している場合、サーバーを離れるとDomain \ ComputerName $として表示されるため、機能しません。アプリ。解決策は、ドメインアカウントを作成し、すべてのサーバーのアプリプールIDを同じドメインユーザーアカウントに設定し、1つのSPNを作成して、Kerberos認証を許可することです。ユーザー資格情報をバックエンドデータベースサーバーに渡すことができるSSRSなどのアプリの場合、Kerberos委任を構成する必要があるため、Kerberos認証が必要です。dは、アプリを提供しているサーバーと同じ数のアカウントを持っています。解決策は、ドメインアカウントを作成し、すべてのサーバーのアプリプールIDを同じドメインユーザーアカウントに設定し、1つのSPNを作成して、Kerberos認証を許可することです。ユーザー資格情報をバックエンドデータベースサーバーに渡すことができるSSRSなどのアプリの場合、Kerberos委任を構成する必要があるため、Kerberos認証が必要です。dは、アプリを提供しているサーバーと同じ数のアカウントを持っています。解決策は、ドメインアカウントを作成し、すべてのサーバーのアプリプールIDを同じドメインユーザーアカウントに設定し、1つのSPNを作成して、Kerberos認証を許可することです。ユーザー資格情報をバックエンドデータベースサーバーに渡すことができるSSRSなどのアプリの場合、Kerberos委任を構成する必要があるため、Kerberos認証が必要です。
私はそれを取り入れることがたくさんあることを知っていますが、簡単な答えは、ローカルシステムを除いて、それは依存します。