서비스 응용 프로그램 액세스 제한 또는 설정(SharePoint Server 2010)

 

적용 대상: SharePoint Foundation 2010, SharePoint Server 2010

마지막으로 수정된 항목: 2016-11-30

Microsoft SharePoint Server 2010에서는 지정된 웹 응용 프로그램만 서비스 응용 프로그램을 사용할 수 있도록 서비스 응용 프로그램에 대한 액세스를 제한할 수 있습니다.

기본적으로 로컬 팜의 모든 웹 응용 프로그램은 로컬 팜의 모든 서비스 응용 프로그램을 사용할 수 있습니다. 그러나 지정된 웹 응용 프로그램만 사용 가능하도록 서비스 응용 프로그램에 대한 액세스를 제한할 수 있습니다. 동일한 팜에서 여러 고객을 호스팅하며, 특정 고객의 서비스 응용 프로그램을 다른 고객의 웹 응용 프로그램과 분리하려는 경우 이 전략이 유용할 수 있습니다.

서비스 응용 프로그램에 대한 액세스를 제한했다가 나중에 전체 팜에서 서비스 응용 프로그램을 사용할 수 있도록 설정하려는 경우 제한을 제거하면 됩니다.

이 문서에서는 서비스 계정을 추가 및 제거하여 서비스 응용 프로그램에 대한 액세스를 제한하는 방법에 대해 설명합니다. 서비스 응용 프로그램에 대한 로컬 팜 수준 액세스를 다시 설정하는 방법도 소개합니다.

중요

서비스 응용 프로그램에 대한 액세스를 제한하기 전에 보안 및 서비스 인프라를 계획하는 것이 좋습니다.

SharePoint Server 2010에서 서비스 아키텍처를 계획하는 방법에 대한 자세한 내용은 다음 문서를 참조하십시오.

이 문서의 내용

서비스 응용 프로그램 액세스 제한

서비스 응용 프로그램에서 서비스 계정을 제거하여 서비스 응용 프로그램에 대한 액세스를 제한할 수 있습니다. 반대로, 서비스 응용 프로그램에 서비스 계정을 추가하면 서비스 응용 프로그램에 대한 액세스를 허용할 수 있습니다. 중앙 관리 또는 Windows PowerShell 2.0을 사용하여 이러한 작업을 수행할 수 있습니다.

서비스 응용 프로그램 액세스를 제한하려면 다음 작업을 수행해야 합니다.

  1. 서비스 응용 프로그램에 특정 서비스 계정을 추가합니다.

  2. 서비스 응용 프로그램에서 로컬 팜 ID를 제거합니다.

참고

이 문서의 절차에서는 서비스 응용 프로그램에 대한 액세스를 제한하거나 복원하는 방법을 설명합니다. 그러나 이 절차에서 제공하는 단계에 따라 어떤 서비스 응용 프로그램에나 원하는 서비스 계정을 추가할 수도 있고, 어떤 서비스 응용 프로그램에서나 원하는 서비스 계정을 제거할 수도 있습니다.
예를 들어 중앙 관리를 사용하여 서비스 응용 프로그램에 대한 로컬 팜 차원 액세스를 복원하려면 절차에서는 서비스 응용 프로그램에 로컬 팜 ID를 추가하는 방법을 명시적으로 설명합니다. 그러나 동일한 절차를 사용하여 원하는 다른 서비스 계정을 서비스 응용 프로그램에 추가할 수도 있습니다. 이렇게 하려면 로컬 팜 ID 대신 해당하는 서비스 계정을 입력하면 됩니다.

로컬 팜 ID는 기본적으로 서비스 응용 프로그램에 대한 로컬 팜 차원 액세스 권한을 제공하므로, 로컬 팜 ID도 제거하는 경우가 아니면 서비스 응용 프로그램에 명시적인 로컬 웹 응용 프로그램 사용 권한도 부여하는 것은 중복된 작업입니다.

서비스 응용 프로그램에 대한 사용 권한을 부여하려면 해당하는 서비스 계정을 검색 및 제공해야 합니다. 웹 응용 프로그램의 경우에는 이 계정을 응용 프로그램 풀 ID 계정이라고도 합니다.

서비스 계정에 대해 사용 권한을 부여한 후에 서비스 응용 프로그램에서 로컬 팜 ID를 제거하면 할당된 서비스 계정을 통해 관리되는 웹 응용 프로그램만 서비스 응용 프로그램에 액세스할 수 있습니다. 이 절차를 반복하고, 서비스 응용 프로그램에 여러 웹 응용 프로그램 서비스 계정을 추가하면 관리하는 서비스 계정이 서로 다른 여러 웹 응용 프로그램을 동일한 서비스 응용 프로그램에 할당할 수 있습니다.

경고

서비스 응용 프로그램에서 로컬 팜 ID를 제거하고 다른 서비스 계정을 해당 서비스 응용 프로그램에 할당하지 않는 경우에는 모든 웹 응용 프로그램에서 서비스 응용 프로그램을 사용할 수 없게 됩니다.

이 섹션의 내용

  • 중앙 관리를 사용하여 서비스 응용 프로그램 대한 액세스 제한

  • Windows PowerShell을 사용하여 서비스 응용 프로그램 대한 액세스 제한

중앙 관리를 사용하여 서비스 응용 프로그램 대한 액세스 제한

중앙 관리를 사용하여 서비스 응용 프로그램 액세스를 제한하려면 다음 단계를 수행해야 합니다.

  1. 웹 응용 프로그램 서비스 계정을 검색합니다.

  2. 서비스 응용 프로그램에 웹 응용 프로그램 서비스 계정을 추가합니다.

  3. 서비스 응용 프로그램에서 로컬 팜 ID를 제거합니다.

이 섹션의 절차

  • 중앙 관리를 사용하여 웹 응용 프로그램 서비스 계정을 검색하려면

  • 중앙 관리를 사용하여 서비스 계정에 대한 서비스 응용 프로그램 액세스 권한을 부여하고 제거하려면

중앙 관리를 사용하여 웹 응용 프로그램 서비스 계정을 검색하려면

  1. 이 절차를 수행하는 사용자 계정이 Farm Administrators SharePoint 그룹의 구성원인지 확인합니다.

  2. 중앙 관리 홈 페이지의 보안 섹션에서 서비스 계정 구성을 클릭합니다.

  3. 서비스 계정 페이지의 첫 번째 드롭다운 목록에서 웹 응용 프로그램 이름을 선택합니다.

    서비스 계정은 이 구성 요소에 대한 계정을 선택하십시오. 목록에 표시됩니다. 이 서비스 계정 이름은 다음 절차에서 사용할 것이므로 기록해 두십시오.

  4. 취소를 클릭하여 변경을 수행하지 않고 서비스 계정 페이지를 종료합니다.

중앙 관리를 사용하여 서비스 계정에 대한 서비스 응용 프로그램 액세스 권한을 부여하고 제거하려면

  1. 이 절차를 수행하는 사용자 계정이 Farm Administrators SharePoint 그룹의 구성원인지 확인합니다.

  2. 중앙 관리 홈 페이지의 응용 프로그램 관리 섹션에서 서비스 응용 프로그램 관리를 클릭합니다.

  3. 서비스 응용 프로그램 관리 페이지에서 사용 권한을 할당할 서비스 응용 프로그램이 포함된 행을 클릭합니다. 그러면 리본 메뉴를 사용할 수 있게 됩니다.

  4. 리본 메뉴에서 사용 권한을 클릭합니다.

  5. 연결 권한 대화 상자에서 이전 절차에서 검색한 서비스 계정 이름을 입력하고 추가를 클릭합니다.

  6. 새로 추가한 서비스 계정 이름이 가운데 창에서 선택되어 있는지 확인한 다음 아래쪽 창에서 해당하는 확인란을 클릭하여 필수 권한 수준을 제공합니다.

  7. 가운데 창에서 로컬 팜을 클릭하고 제거를 클릭합니다.

  8. 연결 권한 페이지에 서비스 응용 프로그램에 액세스하는 데 사용할 서비스 계정만 표시되어 있으며, 해당 서비스 계정에 서비스 응용 프로그램에 대한 필수 권한이 있는지 확인합니다. 사용 권한을 변경하려면 확인을 클릭하고, 변경하지 않고 작업을 종료하려면 취소를 클릭합니다.

이 절차를 사용하여 원하는 서비스 계정에 대해 사용 권한을 부여하고 제거할 수 있습니다.

참고

중앙 관리를 사용하여 서비스 응용 프로그램에 대해 로컬 팜 ID를 복원하려면 다른 서비스 계정에는 적용되지 않는 추가 단계를 수행해야 합니다. 이 단계를 수행하는 방법에 대한 자세한 내용은 이 문서 뒷부분의 서비스 응용 프로그램에 대한 팜 수준 액세스 복원을 참조하십시오.

Windows PowerShell을 사용하여 서비스 응용 프로그램 대한 액세스 제한

이 섹션의 모든 절차에서는 작업 수행자가 적절한 사용 권한을 가지고 있으며, 이 섹션 뒷부분의 Windows PowerShell 세션을 시작하려면 절차에 설명된 대로 Windows PowerShell 2.0 명령 프롬프트 창을 열었다고 가정합니다.

Windows PowerShell 2.0을 사용하여 서비스 응용 프로그램에 대한 액세스를 제한하는 프로세스는 중앙 관리를 사용하여 동일한 작업을 수행하는 것보다 복잡합니다. Windows PowerShell 2.0에서는 몇 가지 절차를 통해 이후 절차의 입력으로 사용할 정보를 수집 및 저장합니다.

Windows PowerShell 2.0을 시작한 후에 서비스 응용 프로그램에 대한 액세스를 제한하는 나머지 단계는 다음과 같습니다.

  1. 로컬 팜 ID를 검색합니다.

  2. 웹 응용 프로그램 서비스 계정을 검색합니다.

  3. 웹 응용 프로그램 서비스 계정이 포함된 새 클레임 사용자를 만듭니다.

  4. 서비스 응용 프로그램의 보안 개체를 검색합니다.

  5. 서비스 응용 프로그램의 보안 개체에 웹 응용 프로그램 서비스 계정을 추가합니다.

  6. 서비스 응용 프로그램의 보안 개체에서 로컬 팜 ID를 제거합니다.

  7. 서비스 응용 프로그램에 업데이트된 보안 개체를 할당합니다.

  8. 업데이트된 사용 권한을 표시하고 검토합니다.

이 섹션의 내용

  • Windows PowerShell 세션을 시작하려면

  • Windows PowerShell을 사용하여 로컬 팜 ID를 검색하려면

  • Windows PowerShell을 사용하여 웹 응용 프로그램 서비스 계정을 검색하고 새 클레임 사용자를 만들려면

  • 서비스 응용 프로그램의 보안 개체를 검색하려면

  • 기본 설정 사용 권한으로 서비스 응용 프로그램 보안 개체를 업데이트하려면

Windows PowerShell 세션을 시작하려면

  1. Windows PowerShell 세션을 시작하려면 최소한 SharePoint Server 2010가 설치된 컴퓨터에서 WSS_ADMIN_WPG 로컬 그룹의 구성원이어야 하며, 구성 데이터베이스에서 SharePoint_Shell_Access 역할의 구성원이어야 합니다.

  2. 시작 메뉴에서 모든 프로그램을 클릭합니다.

  3. Microsoft SharePoint 2010 Products를 클릭합니다.

  4. SharePoint 2010 관리 셸을 클릭합니다.

Windows PowerShell을 사용하여 웹 응용 프로그램 서비스 계정을 검색하고 새 클레임 사용자를 만들려면

  1. Windows PowerShell 2.0 명령 프롬프트에서 다음 명령을 입력하여 웹 응용 프로그램의 서비스 계정(응용 프로그램 풀 ID 계정)을 검색합니다.

    $webapp = Get-SPWebApplication <http://WebApplication>
    $webApp.ApplicationPool.UserName
    

    여기서 <http://WebApplication>은 웹 응용 프로그램 URL입니다.

    웹 응용 프로그램 서비스 계정 이름이 명령 프롬프트에 표시됩니다.

  2. 새 클레임 사용자를 만들려면 다음 명령을 입력합니다.

    $principal = New-SPClaimsPrincipal <ServiceAccount> -IdentityType WindowsSamAccountName
    

    여기서 <ServiceAccount>는 이전 명령을 실행하여 검색한 jane@contoso.com 또는 contoso\jane 형식의 사용자 이름입니다. 새 클레임 사용자는 $principal 변수에 포함됩니다.

서비스 응용 프로그램의 보안 개체를 검색하려면

  1. 서비스 응용 프로그램의 보안 개체를 검색하려면 다음 명령을 입력합니다. 서비스 응용 프로그램 보안 개체는 $security 변수에 저장됩니다.

    $spapp = Get-SPServiceApplication -Name "<ServiceApplicationDisplayName>"
    $spguid = $spapp.id
    $security = Get-SPServiceApplicationSecurity $spguid
    

    여기서 <ServiceApplicationDisplayName>은 서비스 응용 프로그램의 표시 이름입니다.

    중요

    표시 이름은 따옴표로 묶어야 하며 서비스 응용 프로그램 표시 이름과 정확히 일치해야 합니다(대/소문자 포함). 표시 이름이 정확히 일치하는 서비스 응용 프로그램이 여러 개인 경우에는(이름을 이와 같이 지정하지 않는 것이 좋음) Get-SPServiceApplication cmdlet을 인수 없이 실행하여 모든 서비스 응용 프로그램을 확인한 후에 해당 GUID로 서비스 응용 프로그램을 직접 식별할 수 있습니다. 예를 들면 다음과 같습니다.
    Get-SpServiceApplication
    모든 서비스 응용 프로그램이 나열됩니다.
    $spapp = Get-SpserviceApplication -Identity <GUID>
    $spguid = $spapp.id
    여기서 <GUID>는 사용 권한을 업데이트할 서비스 응용 프로그램의 GUID입니다.

기본 설정 사용 권한으로 서비스 응용 프로그램 보안 개체를 업데이트하려면

  1. 서비스 응용 프로그램 보안 개체를 업데이트하는 첫 번째 단계에서는 새 클레임 사용자 $principal을 서비스 응용 프로그램 보안 개체 $security에 추가합니다. 이렇게 하려면 다음 명령을 입력합니다.

    Grant-SPObjectSecurity $security $principal -Rights "<Rights>"
    

    여기서 <Rights>는 부여할 권한입니다(일반적으로는 모든 권한). 사용 가능한 권한은 서비스 응용 프로그램별로 다릅니다.

    모든 권한을 부여하지 않으려는 경우, 서비스 응용 프로그램에 부여할 수 있는 권한을 모르면 다음 명령을 실행하여 사용 가능한 권한 문자열을 반환할 수 있습니다.
    $rightslist = Get-SPServiceApplicationSecurity $spapp
    $rightslist.NamedAccessRights

  2. $farmID 변수에 저장된 로컬 팜 ID를 서비스 응용 프로그램 보안 개체 $security에서 제거하려면 다음 명령을 입력합니다.

    Revoke-SPObjectSecurity $security $farmID 
    
  3. 업데이트된 $security 보안 개체를 서비스 응용 프로그램에 할당하고 서비스 응용 프로그램의 보안 개체가 적절하게 업데이트되었는지 확인하려면 다음 명령을 입력합니다.

    Set-SPServiceApplicationSecurity $spapp -ObjectSecurity $security
    (Get-SPServiceApplicationSecurity $spapp).AccessRules
    

이러한 절차에 따라 원하는 서비스 계정을 서비스 응용 프로그램에 추가하거나 서비스 응용 프로그램에서 제거할 수 있습니다.

서비스 응용 프로그램에 대한 팜 수준 액세스 복원

서비스 응용 프로그램에 로컬 팜 ID를 추가하여 서비스 응용 프로그램에 대한 팜 차원 액세스를 복원할 수 있습니다. 이렇게 하려면 중앙 관리 또는 Windows PowerShell 2.0 명령을 사용합니다. 그러나 로컬 팜 ID를 얻으려면 Windows PowerShell 2.0을 사용해야 합니다.

이 섹션의 내용

  • Windows PowerShell을 사용하여 로컬 팜 ID를 검색하려면

  • 중앙 관리를 사용하여 서비스 응용 프로그램에 대한 로컬 팜 차원 액세스를 복원하려면

  • Windows PowerShell을 사용하여 서비스 응용 프로그램에 대한 로컬 팜 차원 액세스를 복원하려면

Windows PowerShell을 사용하여 로컬 팜 ID를 검색하려면

  1. Windows PowerShell 세션을 시작하려면 절차의 4단계를 수행한 후에 이 절차를 시작합니다.

  2. 다음 명령은 로컬 팜 ID를 검색해 $farmID 변수에 저장한 다음 명령 프롬프트에 ID를 표시합니다.

    $farmID = Get-SPFarm | select id
    

    중앙 관리를 사용하여 팜 차원 액세스를 복원하려면 이 값을 클립보드에 복사하여 다음 절차에서 사용합니다.

    Windows PowerShell 2.0을 사용하여 서비스 응용 프로그램에 대한 팜 차원 액세스를 복원하려면 Windows PowerShell 2.0 명령 프롬프트에 다음의 명령을 추가로 입력합니다. 검색된 정보는 다음 절차에서 사용합니다.

    $claimProvider = (Get-SPClaimProvider System).ClaimProvider 
    $principal = New-SPClaimsPrincipal -ClaimType "https://schemas.microsoft.com/sharepoint/2009/08/claims/farmid" -ClaimProvider $claimProvider -ClaimValue $farmid
    

중앙 관리를 사용하여 서비스 응용 프로그램에 대한 로컬 팜 차원 액세스를 복원하려면

  1. 중앙 관리를 사용하여 서비스 계정에 대한 서비스 응용 프로그램 액세스 권한을 부여하고 제거하려면 절차의 1-3단계를 수행합니다.

  2. 연결 권한 대화 상자에서 이전 절차에서 검색한 로컬 팜 ID를 복사한 다음 추가를 클릭합니다.

  3. 가운데 창에서 로컬 팜 ID가 선택되어 있는지 확인하고 아래쪽 창에서 모든 권한 확인란을 클릭합니다.

  4. 확인을 클릭하여 서비스 응용 프로그램에 대한 팜 차원 액세스를 복원하거나, 취소를 클릭하여 변경하지 않고 작업을 종료합니다.

Windows PowerShell을 사용하여 서비스 응용 프로그램에 대한 로컬 팜 차원 액세스를 복원하려면

  1. Windows PowerShell을 사용하여 로컬 팜 ID를 검색하려면 절차의 2단계를 수행한 후에 이 절차를 시작합니다.

  2. 서비스 응용 프로그램 보안 개체 $security에 대해 검색된 로컬 팜 ID를 복원하려면 다음 명령을 입력합니다.

    $spapp = Get-SPServiceApplication -Name "<ServiceApplicationDisplayName>"
    $spguid = $spapp.id
    $security = Get-SPServiceApplicationSecurity $spguid
    Grant-SPObjectSecurity -Identity $security -Principal $farmID -Rights "Full Control"
    Set-SPServiceApplicationSecurity $spguid -ObjectSecurity $security
    

    여기서 <ServiceApplicationDisplayName>은 서비스 응용 프로그램의 표시 이름입니다.

    중요

    표시 이름은 따옴표로 묶어야 하며 서비스 응용 프로그램 표시 이름과 정확히 일치해야 합니다(대/소문자 포함). 표시 이름이 정확히 일치하는 서비스 응용 프로그램이 여러 개인 경우에는(이름을 이와 같이 지정하지 않는 것이 좋음) Get-SPServiceApplication cmdlet을 인수 없이 실행하여 모든 서비스 응용 프로그램을 확인한 후에 해당 GUID로 서비스 응용 프로그램을 직접 식별할 수 있습니다.

Windows Powershell 코드 예제

다음 예제에서 관리자는 "Contoso BDC" 서비스 응용 프로그램에 대한 액세스를 서비스 계정 "contoso\jane"을 통해 관리되는 http://contoso/hawaii 웹 응용 프로그램으로 제한하려 합니다. 서비스 응용 프로그램에 "contoso\jane"을 추가하고 로컬 팜 서비스 계정을 제거하면 "Contoso BDC"에 대한 액세스는 "contoso\jane" 서비스 계정을 통해 관리되는 웹 응용 프로그램, 즉 http://contoso/hawaii로만 제한됩니다.

$farmid = Get-SPFarm | select id
$claimProvider = (Get-SPClaimProvider System).ClaimProvider 
$principal = New-SPClaimsPrincipal -ClaimType "https://schemas.microsoft.com/sharepoint/2009/08/claims/farmid" -ClaimProvider $claimProvider -ClaimValue $farmid 
webapp = get-spwebapplication http://contoso
$webapp.applicationpool
$principal = New-SPClaimsPrincipal contoso/jane -IdentityType WindowsSamAccountName
$spapp = Get-SPServiceApplication -Name "Contoso BDC"
$spguid = $spapp.id
$security = Get-SPServiceApplicationSecurity $spguid
Grant-SPObjectSecurity $security $principal -Rights "Full Control"
Revoke-SPObjectSecurity $security $farmaccount
Set-SPServiceApplicationSecurity $spguid -ObjectSecurity $security
(Get-SPServiceApplicationSecurity $spguid).AccessRules

다음 예제에서는 서비스 응용 프로그램 "Contoso BDC"에 대한 액세스가 로컬 팜의 모든 웹 응용 프로그램으로 복원됩니다.

$farmid = Get-SPFarm | select id
$claimProvider = (Get-SPClaimProvider System).ClaimProvider 
$principal = New-SPClaimsPrincipal -ClaimType "https://schemas.microsoft.com/sharepoint/2009/08/claims/farmid" -ClaimProvider $claimProvider -ClaimValue $farmid 
$spapp = Get-SPServiceApplication -Name "Contoso BDC"
$spguid = $spapp.id
$security = Get-SPServiceApplicationSecurity $spguid
Grant-SPObjectSecurity -Identity $security -Principal $farmaccount -Rights "Full Control"
Set-SPServiceApplicationSecurity $spguid -ObjectSecurity $security
(Get-SPServiceApplicationSecurity $spguid).AccessRules

See Also

Reference

Get-SPWebApplication
New-SPClaimsPrincipal
Get-SPServiceApplication
Get-SPServiceApplicationSecurity
Grant-SPObjectSecurity
Revoke-SPObjectSecurity
Set-SPServiceApplicationSecurity
Get-SPFarm
Get-SPClaimProvider

Concepts

클레임 인증 구성(SharePoint Server 2010)
웹 응용 프로그램에 대한 서비스 응용 프로그램 연결 추가 또는 제거(SharePoint Server 2010)

Other Resources

웹 응용 프로그램에 대한 서비스 응용 프로그램 연결 추가 또는 제거(SharePoint Foundation 2010)