IIS 7 アプリケーションプールの ID を SQL Server ログインとして追加する方法
IIS 7 アプリケーションプールの ID を SQL Server ログインとして追加する方法
メリット:
- 権限の向上: アプリケーションプールがデータベースに直接アクセスできるようになり、データベース操作に必要な権限を付与できます。
- セキュリティの強化: 個別のログインアカウントを作成することで、セキュリティリスクを軽減できます。
- トラブルシューティングの簡略化: 問題が発生した場合、原因を特定しやすくなります。
手順:
- IIS マネージャーを開きます: スタートメニューから 管理ツール > インターネットインフォメーションサービス (IIS) マネージャー を選択します。
- アプリケーションプールを選択します: 左側のナビゲーションツリーで アプリケーションプール を展開し、該当するアプリケーションプールを選択します。
- 詳細設定を開きます: 右側の アクション ペインで 詳細設定 を選択します。
- 「プロセスモデル」タブを選択します: 詳細設定ウィンドウで プロセスモデル タブを選択します。
- 「識別」グループボックスで「このユーザーアカウントを使用する」を選択します:
- 「ユーザー名」と「パスワード」に、SQL Server ログインアカウントの情報を入力します:**
- 「OK」をクリックして変更を保存します:
注意事項:
- SQL Server ログインアカウントには、必要な権限が付与されている必要があります。
- アプリケーションプールの ID を変更する前に、アプリケーションが停止していることを確認してください。
- 問題が発生した場合は、IIS ログおよび SQL Server ログを確認してください。
関連用語:
- IIS (Internet Information Services)
- アプリケーションプール
- SQL Server ログイン
- 権限
- セキュリティ
- トラブルシューティング
補足:
上記の手順は基本的なものです。詳細については、上記の参考資料を参照してください。
改善点:
- 冒頭にメリットを追加しました。
- 手順をより詳細に説明しました。
# スクリプトを実行する前に、以下の変数を設定してください。
$appPoolName = "MyApplicationPool"
$sqlServerName = "localhost"
$sqlLoginName = "MyLogin"
$sqlLoginPassword = "MyPassword"
# アプリケーションプールを取得します
$appPool = Get-Item "IIS:\AppPools\$appPoolName"
# アプリケーションプールの ID を取得します
$appPoolIdentity = $appPool.ProcessModel.Identity
# SQL Server ログインアカウントを作成します
New-SqlLogin -Name $sqlLoginName -Password $sqlLoginPassword -ServerInstance $sqlServerName
# アプリケーションプールの ID を SQL Server ログインとして追加します
$appPoolIdentity.LogonType = "SpecificUser"
$appPoolIdentity.Username = $sqlLoginName
$appPoolIdentity.Password = $sqlLoginPassword
# 変更を保存します
Set-Item $appPool
# アプリケーションプールを再起動します
Restart-IISAppPool $appPoolName
- このスクリプトを実行する前に、PowerShell を管理者として実行する必要があります。
- スクリプトを実行する前に、必要なモジュールがインストールされていることを確認してください。
IIS 7 アプリケーションプールの ID を SQL Server ログインとして追加する方法
方法 1:
- SQL Server Management Studio (SSMS) を使用します:
- SSMS を開き、該当する SQL Server インスタンスに接続します。
- セキュリティ > ログイン を展開します。
- 新しいログイン を右クリックし、新しいログイン を選択します。
- ログイン名、パスワード、およびその他のオプションを入力します。
- データベース エンジンへのアクセス セクションで、Windows 認証 を選択します。
- ユーザーの選択 をクリックし、アプリケーションプールの ID を選択します。
- OK をクリックしてログインを作成します。
- Transact-SQL (T-SQL) を使用します:
- 以下の T-SQL クエリを実行します。
USE [master]
CREATE LOGIN [MyLogin]
WITH PASSWORD = 'MyPassword',
DEFAULT_DATABASE = [MyDatabase],
DEFAULT_LANGUAGE = [en-US],
CHECK_POLICY = ON;
GRANT CONNECT TO [MyLogin];
EXEC sp_addsrvrolemember @loginame = 'MyLogin', @rolename = 'sysadmin';
- 上記のクエリは、サンプルです。必要に応じて変更してください。
- クエリを実行する前に、必要な権限を持っていることを確認してください。
IIS 7 アプリケーションプールの ID を SQL Server ログインとして追加するには、いくつかの方法があります。上記の情報を参考に、自分に合った方法を選択してください。
sql-server iis-7