Excel Services용 ID 위임(SharePoint Server 2010)

 

적용 대상: Excel Services, SharePoint Server 2010

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

이 시나리오에서는 Excel Services 서비스 응용 프로그램을 SharePoint Server 환경에 추가합니다. 또한 서비스가 워크시트에서 외부 SQL Server 데이터 원본의 데이터를 새로 고칠 수 있도록 Kerberos 제한 위임을 구성합니다.

시나리오 종속성

이 시나리오를 완료하려면 다음 문서에 나오는 시나리오를 먼저 완료해야 합니다.

구성 검사 목록

구성 영역 설명

Active Directory 구성

Excel Services 서비스 계정 만들기

Excel Services 서비스 계정에 대해 SPN 구성

Excel Services를 실행하는 서버용으로 Kerberos 제한 위임 구성

Excel Services 서비스 계정용으로 Kerberos 제한 위임 구성

SharePoint Server 구성

Excel Services 서버에서 Windows 토큰 서비스에 대한 클레임 시작

Excel Services 서버에서 Excel Services 서비스 인스턴스 시작

Excel Services 서비스 응용 프로그램 및 프록시 만들기

Excel Services 신뢰할 수 있는 파일 위치 및 인증 설정 구성

Excel Service 제한 위임 확인

테스트 통합 문서를 호스팅할 문서 라이브러리 만들기

테스트 SQL 데이터베이스 및 테스트 테이블 만들기

SQL 데이터 연결을 사용하여 테스트 Excel 통합 문서 만들기

SharePoint Server에 통합 문서 게시 및 데이터 연결 새로 고침

시나리오 환경 세부 정보

Kerberos 제한 위임 경로

시나리오 환경 다이어그램

이 시나리오에서는 SQL Server 서비스에 대해 Kerberos 제한 위임용으로 SharePoint Server Excel Services 서비스 계정을 구성합니다.

참고

이 시나리오에서는 C2WTS(Windows 토큰 서비스에 대한 클레임)에서 전용 서비스 계정을 사용하도록 구성합니다. C2WTS가 로컬 시스템을 사용하도록 구성된 상태로 유지하는 경우에는 C2WTS 및 Excel Services를 실행하는 컴퓨터용으로 컴퓨터 계정에 대해 제한 위임을 구성해야 합니다.

SharePoint Server 논리 인증

인증 흐름 다이어그램

이 시나리오의 인증은 클라이언트가 웹 프런트 엔드에서 Kerberos 인증을 사용하여 인증하면서 시작됩니다. SharePoint Server 2010에서는 로컬 STS(Security Token Service)를 사용하여 Windows 인증 토큰을 클레임 토큰으로 변환합니다. Excel 서비스 응용 프로그램은 클레임 토큰을 수락한 다음 WIF(Windows Identity Framework)의 일부분인 로컬 C2WTS(Windows 토큰 서비스에 대한 클레임)를 사용하여 해당 토큰을 Windows 토큰(Kerberos)으로 변환합니다. 그런 다음 Excel 서비스 응용 프로그램은 클라이언트의 Kerberos 티켓을 사용하여 백 엔드 데이터 원본에 인증합니다.

단계별 구성 지침

Active Directory 구성

Excel Services 서비스 계정 만들기

Excel Services는 자체 도메인 ID로 실행하는 것이 가장 좋습니다. Excel 서비스 응용 프로그램을 구성하려면 Active Directory 계정을 만들어야 합니다. 이 예제에서는 다음과 같은 계정을 만들었습니다.

SharePoint Server 서비스 IIS 응용 프로그램 풀 ID

Excel Services

vmlab\svcExcel

Excel Services 서비스 계정에 대해 SPN 구성

Excel Services에서 클라이언트의 ID를 백 엔드 데이터 원본으로 위임하려는 경우에는 Kerberos 제한 위임을 구성해야 합니다. 이 예제에서 Excel Services는 SQL 트랜잭션 데이터베이스에서 데이터를 쿼리할 것이므로 Kerberos 위임을 사용해야 합니다.

Active Directory 사용자 및 컴퓨터 MMC 스냅인은 일반적으로 Kerberos 위임을 구성하는 데 사용됩니다. 이 스냅인 내에서 위임 설정을 구성하려면 구성 중인 Active Directory에 서비스 사용자 이름이 적용되어 있어야 합니다. 그렇지 않으면 개체의 위임 탭이 개체 속성 대화 상자에서 표시되지 않습니다. Excel Services의 경우에는 SPN이 없어도 작동하지만, 여기서는 이러한 용도로 SPN을 구성하겠습니다.

명령줄에서 다음 명령을 실행합니다.

SETSPN -S SP/ExcelServices

참고

이 SPN은 유효한 SPN이 아니며, AD 사용자 및 컴퓨터 추가 기능에서 위임 옵션을 표시하기 위해 지정된 서비스 계정에 적용되는 것입니다. 지원되는 다른 방법으로 위임 설정을 지정할 수도 있지만(구체적으로는 msDS-AllowedToDelegateTo AD 특성), 이 문서에서는 해당 주제에 대해 다루지 않습니다.

Excel Services에 대해 Kerberos 제한 위임 구성

Excel Services에서 클라이언트 ID를 위임할 수 있도록 하려면 Kerberos 제한 위임을 구성해야 합니다. 또한 WIF C2WTS를 통해 클레임 토큰을 Windows 토큰으로 변환할 수 있도록 프로토콜 전환을 사용하여 제한 위임을 구성해야 합니다.

Excel이 인증하는 각 백 엔드 서비스로 자격 증명을 위임하려면 Excel Services를 실행하는 각 서버를 신뢰해야 합니다. 또한 동일한 백 엔드 서비스로의 위임을 허용하도록 Excel Services 서비스 계정을 구성해야 합니다.

이 예제에서는 다음 위임 경로를 정의합니다.

사용자 유형 사용자 이름 위임 대상 서비스

사용자

svcExcel

MSSQLSVC/MySqlCluster.vmlab.local:1433

* 이 시나리오 뒷부분에서 구성합니다.

** C2WTS를 로컬 시스템으로 실행하는 경우에만 필요합니다.

제한 위임을 구성하려면

  1. Active Directory 사용자 및 컴퓨터에서 Active Directory 개체의 속성을 엽니다.

  2. 위임 탭으로 이동합니다.

  3. 지정한 서비스에 대한 위임용으로만 이 사용자 트러스트를 선택합니다.

  4. 모든 인증 프로토콜 사용을 선택합니다. 이렇게 하면 프로토콜을 전환할 수 있습니다. 서비스 계정이 C2WTS를 사용하려면 이 옵션을 선택해야 합니다.

  5. 추가 단추를 클릭하여 서비스를 위임할 수 있는 서비스 사용자를 선택합니다.

  6. 사용자 및 컴퓨터를 선택합니다.

  7. 위임할 서비스를 실행 중인 서비스 계정을 선택합니다. 이 예제에서는 SQL 서비스의 서비스 계정을 선택하면 됩니다.

    참고

    선택한 서비스 계정에는 SPN이 적용되어 있어야 합니다. 이 예제에서는 해당 계정의 SPN을 이전 시나리오에서 구성했습니다.

  8. 확인을 클릭합니다. 그러면 다음 화면에서 위임할 SPN을 선택하라는 메시지가 표시됩니다.

  9. SQL 클러스터에 대한 서비스를 선택하고 확인을 클릭합니다.

  10. 이 계정이 위임된 자격 증명을 사용할 수 있는 서비스 목록에 선택한 SPN이 표시됩니다.

  11. 이 섹션 앞부분에서 정의한 각 위임 경로에 대해 이 단계를 반복합니다.

SQL Server에서 서비스를 실행하는 서비스 계정의 MSSQLSVC SPN 확인(시나리오 2에서 수행함)

다음 SetSPN 명령을 사용하여 Analysis Services 서비스 계정(vmlab\svcSQL)에 대한 SPN이 있는지 확인합니다.

SetSPN -L vmlab\svcSQL

다음 문자열이 표시되어야 합니다.

MSSQLSVC/MySqlCluster MSSQLSVC/MySqlCluster.vmlab.local:1433

SharePoint Server 구성

Excel Services 서버에서 Windows 토큰 서비스에 대한 클레임 구성 및 시작

C2WTS(Windows 토큰 서비스에 대한 클레임)는 WIF(Windows Identity Foundation)의 구성 요소로, 사용자 클레임 토큰을 Windows 토큰으로 변환합니다. Excel Services는 Windows 통합 인증을 사용하는 백 엔드 시스템으로 자격 증명을 위임해야 할 때 C2WTS를 사용하여 사용자의 클레임 토큰을 Windows 토큰으로 변환합니다. WIF는 SharePoint Server 2010과 함께 배포되며, C2WTS는 중앙 관리에서 시작할 수 있습니다.

각 Excel Services 응용 프로그램 서버는 로컬에서 C2WTS를 실행해야 합니다. C2WTS는 포트를 열지 않으며 원격 호출기를 통해 액세스할 수 없습니다. 또한 로컬 호출 클라이언트 ID를 신뢰하도록 C2WTS 서비스 구성 파일을 구성해야 합니다.

로컬 시스템(기본 구성)이 아닌 전용 서비스 계정을 사용하여 C2WTS를 실행하는 것이 가장 좋습니다. C2WTS 계정에는 서비스가 실행되는 각 서버에 대한 특수한 로컬 권한이 필요하므로, 서버에서 서비스를 시작할 때마다 이러한 권한을 구성해야 합니다. 가장 좋은 방법은 C2WTS를 시작하기 전에 로컬 서버에서 서비스 계정 권한을 구성하는 것이지만, C2WTS를 시작한 후에 권한을 구성하는 경우에는 Windows 서비스 관리 콘솔(services.msc)에서 C2WTS를 다시 시작할 수 있습니다.

C2WTS를 시작하려면

  1. Active Directory에서 서비스를 실행할 서비스 계정을 만듭니다. 이 예제에서는 vmlab\svcC2WTS를 만들었습니다.

  2. 서비스 계정에 임의의 SPN(서비스 사용자 이름)을 추가하여 Active Directory 사용자 및 컴퓨터에서 해당 계정에 대한 위임 옵션을 표시합니다. 여기서는 Kerberos 인증을 사용하여 C2WTS에 인증하지 않으므로 SPN의 형식은 어떤 형식이든 관계없습니다. 그러나 환경에서 중복 SPN을 만들지 않도록 HTTP SPN은 사용하지 않는 것이 좋습니다. 이 예제에서는 다음 명령을 사용하여 SP/C2WTS를 vmlab\svcC2WTS에 등록했습니다.

    SetSPN -S SP/C2WTS vmlab\svcC2WTS
    
  3. C2WTS 서비스 계정에 대해 Kerberos 제한 위임을 구성합니다. 이 시나리오에서는 MSSQLSVC/MySqlCluster.vmlab.local:1433 서비스 사용자 이름을 사용하여 실행되는 SQL 서비스에 자격 증명을 위임합니다.

  4. 다음으로 C2WTS에 필요한 로컬 서버 권한을 구성합니다. C2WTS가 실행되는 각 서버(이 예제에서는 VMSP10APP01)에서 이러한 권한을 구성해야 합니다. 서버에 로그온한 후에 C2WTS에 다음 권한을 부여합니다.

    1. 로컬 Administrators 그룹에 서비스 계정을 추가합니다.

    2. 사용자 권한 할당 아래의 로컬 보안 정책(secpol.msc)에서 서비스 계정에 다음 권한을 부여합니다.

      1. 운영 체제의 일부로 작동

      2. 인증 후 클라이언트 가장

      3. 서비스로 로그온

  5. 중앙 관리를 엽니다.

  6. 보안->관리 서비스 계정 구성 아래에서 C2WTS 서비스 계정을 관리되는 계정으로 등록합니다.

  7. 서비스 아래에서 서버의 서비스 관리를 선택합니다.

  8. 오른쪽 위의 서버 선택 상자에서 Excel Services를 실행하는 서버를 선택합니다. 이 예제에서 해당 서버는 VMSP10APP01입니다.

  9. Windows 토큰 서비스에 대한 클레임을 찾아서 시작합니다.

  10. 보안->서비스 계정 관리로 이동하여 C2WTS의 ID를 새 관리되는 계정으로 변경합니다.

    참고

    전용 서비스 계정을 구성하기 전에 C2WTS가 이미 실행 중이었거나 C2WTS를 실행한 후에 서비스 계정 권한을 변경해야 하는 경우에는 서비스 콘솔에서 C2WTS를 다시 시작해야 합니다.

또한 서비스를 다시 시작한 후에 C2WTS에서 문제가 발생하면 C2WTS와 통신하는 IIS 응용 프로그램 풀을 다시 설정해야 할 수도 있습니다.

WIF C2WTS 서비스에 대해 시작 종속성 추가

시스템 다시 부팅 후에 C2WTS가 자동으로 시작되지 않을 수 있는 알려진 문제가 있습니다. 이 문제를 해결하려면 Cryptographic Services 서비스에 대한 서비스 종속성을 구성합니다.

  1. 명령 프롬프트 창을 엽니다.

  2. sc config "c2wts" depend= CryptSvc를 입력합니다.

  3. 서비스 콘솔에서 Windows 토큰 서비스에 대한 클레임을 찾습니다.

  4. 서비스의 속성을 엽니다.

  5. 종속성 탭에 Cryptographic Services가 표시되어 있는지 확인합니다.

  6. 확인을 클릭합니다.

Excel Services 서비스 계정에 웹 응용 프로그램 콘텐츠 데이터베이스에 대한 권한 부여

SharePoint Server 2010 Office Web Applications를 구성할 때는 웹 응용 프로그램의 서비스 계정이 지정된 웹 응용 프로그램용 콘텐츠 데이터베이스에 액세스할 수 있도록 허용하는 단계를 수행해야 합니다. 이 예제에서는 Windows PowerShell을 통해 Excel Services 서비스 계정에 "포털" 웹 응용 프로그램 콘텐츠 데이터베이스에 대한 액세스 권한을 부여합니다.

SharePoint 2010 관리 셸에서 다음 명령을 실행합니다.

$w = Get-SPWebApplication -Identity http://portal

$w.GrantAccessToProcessIdentity("vmlab\svcExcel")

Excel Services 서버에서 Excel Services 서비스 인스턴스 시작

Excel Services 서비스 응용 프로그램을 만들기 전에 지정된 팜 서버에서 Excel Services 서비스를 시작합니다.

  1. 중앙 관리를 엽니다.

  2. 서비스 아래에서 서버의 서비스 관리를 선택합니다.

  3. 오른쪽 위의 서버 선택 상자에서 Excel Services를 실행하는 서버를 선택합니다. 이 예제에서 해당 서버는 VMSP10APP01입니다.

  4. Excel Calculation Services 서비스를 시작합니다.

Excel Services 서비스 응용 프로그램 및 프록시 만들기

다음으로 웹 응용 프로그램에서 Excel Services 서비스를 사용할 수 있도록 새 Excel Services 서비스 응용 프로그램 및 응용 프로그램 프록시를 구성합니다.

  1. 중앙 관리를 엽니다.

  2. 프로그램 관리 아래에서 서비스 응용 프로그램 관리를 선택합니다.

  3. 새로 만들기를 선택하고 Excel Services 응용 프로그램을 클릭합니다.

  4. 새 서비스 응용 프로그램을 구성합니다. 이때 정확한 서비스 계정을 선택해야 합니다. Excel 서비스 계정이 목록에 없으면 관리되는 계정을 새로 만듭니다.

Excel Services 신뢰할 수 있는 파일 위치 및 인증 설정 구성

Excel Services 응용 프로그램을 만든 후에는 새 서비스 응용 프로그램에서 속성을 구성하여 신뢰할 수 있는 호스트 위치 및 인증 설정을 지정합니다.

  1. 중앙 관리를 엽니다.

  2. 프로그램 관리 아래에서 서비스 응용 프로그램 관리를 선택합니다.

  3. 새 서비스 응용 프로그램(이 예제에서는 Excel Services)의 링크를 클릭합니다.

  4. Excel Services 관리 화면에서 "신뢰할 수 있는 파일 위치"를 클릭합니다.

  5. 새 신뢰할 수 있는 파일 위치를 추가합니다.

  6. 테스트 라이브러리 위치를 지정합니다.

    참고

    이 예제에서는 루트 웹 응용 프로그램 URL 및 모든 하위 항목을 신뢰합니다. 프로덕션 환경에서는 신뢰할 위치를 보다 세부적으로 제한할 수 있습니다.

  7. 외부 데이터에서 신뢰할 수 있는 데이터 연결 라이브러리 및 포함 라이브러리를 선택합니다.

    참고

    이 예제에서는 포함된 연결을 사용하여 SQL Server에 연결합니다. 실제 환경에서는 별도의 연결 파일을 만들어 신뢰할 수 있는 데이터 연결 라이브러리에 저장할 수 있습니다. 이 경우에는 "신뢰할 수 있는 데이터 연결 라이브러리만"을 선택하면 됩니다.

  8. 외부 데이터 캐시 시간 변경 - 테스트에서는 데이터 새로 고침이 캐시가 아닌 데이터 원본에서 수행되도록 외부 데이터 캐시 수형을 변경하면 편리합니다. 이렇게 하려면 외부 데이터 아래에서 다음 설정을 변경합니다.

    자동 새로 고침(정기적/열 때마다) = 0

    수동 새로 고침 = 0

    참고

    테스트용으로만 캐시를 0으로 설정하며, 프로덕션 환경에서는 캐시 설정을 0보다 크게 구성할 수 있습니다.

Excel Services 제한 위임 확인

테스트 통합 문서를 호스팅할 문서 라이브러리 만들기

이전 단계에서 구성한 신뢰할 수 있는 경로에서 사이트를 열고, 테스트 Excel 통합 문서를 호스팅할 문서 라이브러리를 새로 만듭니다.

SQL 데이터 연결을 사용하여 테스트 Excel 통합 문서 만들기

다음으로 새 테스트 데이터베이스에 대한 데이터 연결을 사용하여 Excel 통합 문서를 만듭니다.

  1. Excel을 엽니다.

  2. 데이터 탭에서 기타 원본->** SQL Server**를 선택합니다.

  3. 테스트 SQL 데이터 원본에 연결합니다.

  4. 테스트 데이터베이스 및 테스트 테이블(이 예제에서는 판매)을 선택합니다.

  5. 다음을 클릭하고 인증 설정 단추를 클릭하여 Windows 인증이 지정되어 있는지 확인합니다.

  6. 마침을 클릭합니다.

  7. 피벗 테이블 보고서를 선택합니다.

  8. 피벗 테이블을 구성하고 SQL 원본에서 데이터가 반환되는지 확인합니다.

SharePoint Server에 통합 문서 게시 및 데이터 연결 새로 고침

Excel Services 응용 프로그램을 확인하는 마지막 단계에서는 통합 문서를 게시하고 포함된 SQL 연결 새로 고침을 테스트합니다.

  1. 파일 탭을 클릭합니다.

  2. 저장/보내기를 클릭하고 SharePoint에 저장을 클릭한 후에 위치 찾아보기를 클릭합니다.

  3. 이전 단계에서 만든 신뢰할 수 있는 라이브러리의 위치를 입력합니다.

  4. 브라우저의 Excel에서 열기가 선택되어 있는지 확인합니다.

    새 브라우저 창이 열리고 테스트 통합 문서가 표시됩니다. 통합 문서가 렌더링되면 데이터, 모든 연결 새로 고침을 차례로 클릭하여 데이터 연결을 새로 고칩니다.

    데이터 연결이 새로 고쳐지면 Excel Services용으로 Kerberos 위임이 정상적으로 구성된 것입니다. 연결을 추가로 테스트하려면 SQL Management Studio를 통해 원본 데이터를 변경한 다음 연결을 새로 고칩니다. 그러면 통합 문서에 새로 변경된 데이터가 표시됩니다. 변경 내용이 표시되지도 않고 새로 고침 시 오류도 발생하지 않으면 캐시된 데이터가 표시된 것입니다. 기본적으로 Excel Services에서는 5분 동안 외부 원본의 데이터를 캐시합니다. 이 캐시 설정은 변경 가능합니다. 자세한 내용은 이 문서의 Excel Services 신뢰할 수 있는 파일 위치 및 인증 설정 구성 을 참조하십시오.