IIS 7 AppPool ID를 SQL Server 로그온으로 추가
통합 파이프라인 모드의 AppPool을 사용하여 IIS 7 웹 사이트를 실행하고 있습니다.AppPool은 NetworkService 등에서 실행되지 않습니다.ID(목적에 따라)이지만 자체 AppPool ID(IIS AppPool\MyAppPool)를 사용합니다.
이것은 이른바 서비스 계정 또는 가상 계정입니다.(전체 계정이 아닌 사용자 계정...)
이 서비스 계정(IIS AppPool\MyAppPool)에 혼합 인증으로 실행되는 SQL Server 2008 Express에 연결할 수 있는 권한을 부여하려고 합니다.모드).
SQL Server는 일반 사용자 계정을 추가할 수 있지만 IIS AppPool\MyAppPool 가상 계정은 유효한 로그온에 추가할 수 없습니다(SQL Server에 따르면 계정을 찾을 수 없음).
가상 계정을 작동시키기 위해 제가 사용할 수 있도록 설정해야 하는 속임수나 방법이 있습니까?(w3wp.exe 프로세스는 taskmgr에 따라 이 ID로 실행되지만 NTFS 보안에서도 계정을 사용할 수 없습니다...)
도와주셔서 감사합니다!
"IIS APPPOOL\AppPoolName"은 작동하지만, 앞에서 언급한 것처럼 올바른 AD 이름이 아니므로 "Select User or Group" 대화 상자에서 검색해도 표시되지 않습니다(실제로는 찾을 수 있지만 실제 시스템 계정으로 간주되며...).이는 작동하지 않으며 찾을 수 없다는 오류 메시지를 표시합니다.
제가 어떻게 그것을 작동시켰는지는:
- SQL Server Management Studio에서 보안 폴더(데이터베이스, 서버 개체 등 폴더와 동일한 수준의 보안 폴더...)를 찾습니다.각 개별 데이터베이스 내의 보안 폴더가 아님)
- 로그인을 마우스 오른쪽 단추로 클릭하고 "새 로그인"을 선택합니다.
- 로그인 이름 필드에 IIS APPPOOL\YourAppPoolName을 입력합니다. 검색을 클릭하지 않습니다.
- 원하는 다른 값(예: 인증 유형, 기본 데이터베이스 등)을 입력합니다.
- 확인 클릭
AppPool 이름이 실제로 존재하는 한 로그인이 생성되어야 합니다.
CREATE LOGIN [IIS APPPOOL\MyAppPool] FROM WINDOWS;
CREATE USER MyAppPoolUser FOR LOGIN [IIS APPPOOL\MyAppPool];
이렇게 풀면 됩니다.
- "응용 프로그램 풀"을 엽니다.
- 응용 프로그램 풀을 선택했는지 마우스 오른쪽 버튼으로 클릭해야 합니다.그런 다음 "고급 설정"을 선택합니다.
- ID 탭에서 3개 지점을 클릭한 다음 "Built-in-account" 필드에서 "Local System"을 선택해야 합니다.
이렇게 하면 데이터베이스에 사용자를 작성할 필요가 없습니다.
시스템 간에 이동하는 경우 NETWORK SERVICE, LOCAL SYSTEM, 도메인 계정 또는 SQL 2008 R2(있는 경우) 관리 서비스 계정을 사용해야 합니다(이러한 인프라가 있는 경우 선호).Active Directory 도메인에 표시되지 않는 계정은 사용할 수 없습니다.
가상 계정(NT Service\MyService 및 IIS AppPool\MyAppPool)을 사용하는 부차적인 노트 프로세스는 이 게시물에서 제시하는 것처럼 여전히 "NETWORK SERVICE" 계정으로 실행되고 있습니다. http://www.adopenstatic.com/cs/blogs/ken/archive/2008/01/29/15759.aspx유일한 차이점은 이러한 프로세스가 "NT Service\MyService" 또는 "IIS AppPool\MyAppPool" 그룹의 멤버라는 것입니다(실제로는 사용자가 아닌 그룹이기 때문입니다).이는 또한 프로세스가 네트워크에서 NETWORK SERVICE 계정과 동일한 방식으로 시스템으로 인증하는 이유이기도 합니다.
액세스를 보호하는 방법은 NETWORK SERVICE 권한이 없는 계정에 의존하는 것이 아니라 "NT Service\MyService" 또는 "IIS AppPool\MyAppPool"에 더 많은 권한을 부여하고 필요한 경우 "Users"에 대한 권한을 제거하는 것입니다.
더 정확하거나 모순되는 정보를 가진 사람이 있다면 게시해주세요.
보기: http://www.iis.net/learn/manage/configuring-security/application-pool-identities
USE master
GO
sp_grantlogin 'IIS APPPOOL\<AppPoolName>'
USE <yourdb>
GO
sp_grantdbaccess 'IIS APPPOOL\<AppPoolName>', '<AppPoolName>'
sp_addrolemember 'aspnet_Membership_FullAccess', '<AppPoolName>'
sp_addrolemember 'aspnet_Roles_FullAccess', '<AppPoolName>'
이것이 당신이 찾고 있는 것일지도 모릅니다...
http://technet.microsoft.com/en-us/library/cc730708%28WS.10%29.aspx
또한 제한된 권한 도메인 사용자를 장기적으로 고려하는 것이 좋습니다. 사일로 시스템 시나리오에서는 사용자가 시도하는 작업이 잘 작동하지만 DB 서버용으로 다른 시스템으로 이동하는 경우에는 변경해야 합니다.
시행착오를 통해 알아냈습니다...갑옷의 진짜 틈은 IIS에서 조금 알려진 설정이었습니다.Configuration Editor
의 웹 사이트용
Section: system.webServer/security/authentication/windowsAuthentication
From: ApplicationHost.config <locationpath='ServerName/SiteName' />
불렀다useAppPoolCredentials
(으로 설정됨)False
결석으로다음으로 설정True
그리고 인생은 다시 위대해집니다!!!이것이 다음 사람의 고통을 덜어주기를 바랍니다.
제 경우 문제는 Visual Studio/Episerver 확장을 사용하여 MVC Alloy 샘플 프로젝트를 처음부터 만들기 시작했는데 로컬 Visual Studio iis express를 사용하여 실행했을 때 제대로 작동했다는 것입니다.그러나 기본적으로 SQL 데이터베이스는 LocalDB를 가리키며 사이트를 로컬 IIS에 배포할 때 해결한 초기 오류 중 일부를 표시하기 시작했습니다. 1. 로컬 사이트 URL 바인딩을 C:/Windows/System32/drivers/etc/hosts 2에 추가합니다.그런 다음 application.config를 편집하여 Visual studio를 사용하여 사이트를 실행할 때 화면 오른쪽 하단에 있는 IIS express를 마우스 오른쪽 버튼으로 클릭하여 파일 위치를 찾고 로컬 iis URL에 대한 바인딩을 추가했습니다. 3.마지막으로 SQL Express에서 빈 새 DB를 만들고 웹 구성에서 새 DB를 가리키도록 연결 문자열을 변경한 다음 패키지 관리자 콘솔(Visual Studio 사용)에서 -1. initialize-epidatabase 2. update-epidatabase 3과 같은 Epis서버 DB 명령을 실행하는 "데이터베이스에 액세스할 수 없습니다."라는 문제가 발생했습니다.변환-EPI 데이터베이스ToUtc
의 ApplicationPoolIdentity
를 MSSQL로 합니다.IIS_IUSRS
기본 풀에 해당합니다.
언급URL : https://stackoverflow.com/questions/1933134/add-iis-7-apppool-identities-as-sql-server-logons
'source' 카테고리의 다른 글
MongoDB에 null을 저장하는 중과 키를 전혀 저장하지 않는 중 (0) | 2023.05.12 |
---|---|
OS X 매버릭스용 Eclipse Kepler 요청 Java SE 6 (0) | 2023.05.12 |
iOS 시뮬레이터에서 네트워크를 비활성화할 수 있습니까? (0) | 2023.05.12 |
이클립스 ctrl+오른쪽은 아무 것도 하지 않습니다. (0) | 2023.05.12 |
코드에서 WPF 레이블에 텍스트를 추가하는 방법은 무엇입니까? (0) | 2023.05.12 |