Active Directory Federation Services 단계별가이드 Microsoft Corporation 게시일 : 2006년 3월작성자 : Nick Pierson 편집자 : Jim Becker 요약 이가이드에서는소규모테스트랩환경에서 ADFS(Active

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Active Directory Federation Services 단계별가이드 Microsoft Corporation 게시일 : 2006년 3월작성자 : Nick Pierson 편집자 : Jim Becker 요약 이가이드에서는소규모테스트랩환경에서 ADFS(Active"

Transcription

1 Active Directory Federation Services 단계별가이드 Microsoft Corporation 게시일 : 2006년 3월작성자 : Nick Pierson 편집자 : Jim Becker 요약 이가이드에서는소규모테스트랩환경에서 ADFS(Active Directory Federation Service) 를설정하기위한지침을제공합니다. 이가이드의지침은완료하는데약 3 시간정도걸립니다. 이가이드에서는 ADFS 사용웹서버에서자격인식응용프로그램과 Windows NT 토큰기반응용프로그램 (Microsoft Windows SharePoint Services 또는 Microsoft Office SharePoint Portal Server 2003) 을설치하는방법을알아봅니다. 또한두유형의응용프로그램에대한페더레이션된액세스를인증하고권한부여하는두대의페더레이션서버를구성하는방법에대해서도설명합니다. 이가이드의코드만으로도자격인식응용프로그램과 Windows NT 토큰기반응용프로그램을만들수있으므로추가다운로드는필요하지않습니다.

2 URL 및기타인터넷웹사이트참조를포함하여이설명서의내용은예고없이변경될수있습니다. 다른설명이없는한용례에사용된회사, 기관, 제품, 도메인이름, 전자메일주소, 로고, 사람, 장소및이벤트등은실제데이터가아닙니다. 실제회사, 기관, 제품, 도메인이름, 전자메일주소, 로고, 사람, 장소또는이벤트등과연관시킬의도가없으며그렇게단정지어서도안됩니다. 해당저작권법을준수하는것은사용자의책임입니다. 저작권에서의권리와는별도로, 이설명서의어떠한부분도 Microsoft Corporation 의명시적인서면승인없이는어떠한형식이나수단 ( 전기적, 기계적, 복사기에의한복사, 디스크복사또는다른방법 ) 또는목적으로도복제되거나, 검색시스템에저장또는도입되거나, 전송될수없습니다. Microsoft 가이설명서본안에관련된특허권, 상표권, 저작권또는기타지적재산권등을보유할수도있습니다. 서면사용권계약에따라 Microsoft 로부터귀하에게명시적으로제공한권리이외에, 이설명서의제공은귀하에게이러한특허권, 사용권, 저작권또는기타지적소유권등에대한어떠한사용권도허여하지않습니다. c 2006 Microsoft Corporation. All rights reserved. Active Directory, Microsoft, SharePoint,MS-DOS, Windows, Windows NT 및 Windows Server 는미국, 대한민국및 / 또는기타국가에서의 Microsoft Corporation 등록상표또는상표입니다. 여기에인용된실제회사와제품이름은해당소유자의상표일수있습니다.

3 목차 ADFS 에대한단계별가이드... 7 가이드정보... 7 알려진문제... 7 이가이드에서제공하지않는정보... 8 요구사항 단계 : 사전설치작업... 9 컴퓨터설정 컴퓨터운영체제및네트워크설정구성 IIS 설치 IIS 6.0 Resource Kit 다운로드및설치 SharePoint Portal Server 2003 다운로드 Active Directory 설치및구성 Active Directory 설치 사용자계정및리소스계정만들기 해당보안그룹에사용자추가 해당도메인에테스트컴퓨터가입 서버인증인증서만들기, 내보내기및가져오기 각서버에대한서버인증인증서만들기 파일로 adfsresource 서버인증인증서내보내기 adfsweb 으로 adfsresource 서버인증인증서가져오기 단계 : ADFS 설치및로컬시스템구성 ADFS 웹에이전트설치 페더레이션서비스설치 ADFSAppPool ID 에로컬시스템계정할당 adfsaccount 에서파일로토큰서명인증서내보내기 단계 : 웹서버구성 Windows SharePoint Services 설치및구성 Windows SharePoint Services 설치 Windows SharePoint Services 액세스권한구성 IIS 및 ADFS 웹에이전트구성 자격인식응용프로그램설치및구성 IIS 에서새웹사이트만들기및구성 자격인식응용프로그램파일만들기... 27

4 4 단계 : 페더레이션서버구성 Trey Research 의페더레이션서비스구성 트러스트정책구성 Windows NT 토큰기반응용프로그램을위한그룹자격만들기및매핑 자격인식응용프로그램을위한그룹자격만들기 Active Directory 계정저장소추가 Windows NT 토큰기반응용프로그램추가및구성 자격인식응용프로그램추가및구성 계정파트너추가및구성 A. Datum Corporation 의페더레이션서비스구성 트러스트정책구성 Windows NT 토큰기반응용프로그램을위한그룹자격만들기 자격인식응용프로그램을위한그룹자격만들기 Active Directory 계정저장소추가및구성 리소스파트너추가및구성 단계 : 클라이언트컴퓨터에서페더레이션된응용프로그램에액세스 adfsaccount 페더레이션서버를신뢰하도록브라우저설정구성 예제자격인식응용프로그램에액세스 Windows SharePoint Services 응용프로그램에액세스 관리자권한을사용하여 Windows SharePoint Services 응용프로그램에액세스 부록 A: ADFS 와함께 SharePoint Portal Server 2003 사용 SharePoint Portal Server 2003 및 ADFS 의알려진문제 SharePoint Portal Server 2003 검색기능에필요한추가컴퓨터설치 컴퓨터운영체제및네트워크설정구성 IIS 설치 treyresearch 도메인에컴퓨터가입 Power Users 그룹에 Terrya 추가 Administrators 그룹에 Terrya 추가 SharePoint Portal Server 2003 의 adfsweb 준비 adfsweb 서버인증인증서만들기및내보내기 adfsweb 의새서버인증인증서만들기 파일로 adfsweb 서버인증인증서내보내기 spsdb 에 SQL Server 2000 설치및구성 SQL Server 2000 설치 SQL Server 2000 SP4 설치 모든웹서버에 SharePoint Portal Server 2003 설치 구성데이터베이스만들기, 서버팜토폴로지구성및포털웹사이트만들기 SharePoint Portal Server 2003 구성데이터베이스만들기 서버팜토폴로지에서버추가... 77

5 서버팜토폴로지구성 adfsweb 에서 Trey Research 포털사이트만들기및구성 Trey Research 포털사이트만들기및가상서버확장구성 Trey Research 포털사이트에대한액세스권한할당 페더레이션용 spsindex 및 adfsweb 구성 페더레이션용 spsindex 구성 페더레이션용 adfsweb 구성 Trey Research Portal Server 2003 사이트에대한페더레이션된액세스및검색기능테스트 Trey Research 포털사이트에액세스 Terrya 로 Trey Research 포털사이트에액세스및검색과인덱싱구성 검색기능테스트 부록 B: 지원되지않는 SharePoint 기능을사용하지않도록설정 Office 응용프로그램에서편집기능을사용하지않도록설정하고제거되었는지확인 Office 응용프로그램에서편집기능식별 Office 응용프로그램에서편집기능을사용하지않도록설정 Office 응용프로그램에서편집기능이제거되었는지확인 부록 C: 그룹정책을사용하여인증서가표시되지않도록하기 파일로 adfsweb 및 adfsaccount 인증서내보내기 그룹정책을사용하여 adfsweb, adfsresource 및 adfsaccount 인증서를클라이언트컴퓨터로밀어넣기 클라이언트에서 Gpupdate 실행및인증서표시여부테스트... 93

6

7 ADFS 배포에대한단계별가이드 7 ADFS 에대한단계별가이드 가이드정보 이가이드에서는테스트랩에서작업 ADFS(Active Directory Federation Service) 환경을설정하는프로세스를알아보고자격인식응용프로그램과 Windows NT 토큰기반응용프로그램을둘다설치하고테스트하는방법에대해설명합니다. Windows SharePoint Services 버전 2.0 과 SharePoint Portal Server 2003 모두 Windows NT 토큰기반응용프로그램에해당합니다. 테스트랩환경을사용하여 ADFS 기술및조직에배포되는방식을평가할수있습니다. 이가이드의단계를완료하면다음을수행할수있습니다. 두가상회사 (A. Datum Corporation 및 Trey Research) 간의 ADFS 페더레이션에참가할 4 대의컴퓨터 ( 클라이언트하나, 웹서버하나및페더레이션서버둘 ) 를설정합니다. 페더레이션된사용자의지정된계정저장소로사용할두개의포리스트를만듭니다. 각포리스트는하나의가상회사를나타냅니다. ADFS 를사용하여두회사간의페더레이션된트러스트관계를설정합니다. ADFS 를사용하여자격을만들고, 채우고, 매핑합니다. 다른회사에있는자격인식응용프로그램과 Windows SharePoint Services 사이트에액세스하도록한회사의사용자에게페더레이션된액세스를제공합니다. 웹서버에 SharePoint Portal Server 2003 을설치및구성하여 ADFS 에서어떻게작동하는지볼수있습니다 ( 옵션 ). 자세한내용은부록 A: ADFS 와함께 SharePoint Portal Server 2003 사용을참조하십시오. 1-5 단계의지시를따른후부록의단계로진행합니다. 이가이드의단계를순서대로수행해야합니다. 알려진문제 Windows SharePoint Services 및 SharePoint Portal Server 2003 과관련된절차를수행하기전에먼저 ADFS 에서이러한응용프로그램을사용하는것과관련된알려진문제에대해읽어보십시오. Windows SharePoint Services 및 ADFS 의지원문제에

8 ADFS 배포에대한단계별가이드 8 대한자세한내용은 Microsoft 기술자료웹사이트 ( 의문서 , Windows SharePoint Services and SharePoint Portal Server 2003 Support boundaries for Active Directory Federation Services 를참조하십시오. 이가이드에서제공하지않는정보 이가이드에서는다음정보를제공하지않습니다. 프로덕션환경에서의 ADFS 설치및구성에대한안내자료 ADFS 를배포또는관리하는방법에대한자세한내용은 Microsoft 웹사이트 ( 의 Windows Server 2003 R2 Roadmap 에서 ADFS 계획, 배포및작업내용을참조하십시오. ADFS 에서사용하도록 Microsoft 인증서서비스를설치및구성하기위한지침 Microsoft 인증서서비스를설치및구성하는방법에대한자세한내용은 Microsoft 웹사이트 ( 의 Windows Server 2003 용공개키구조를참조하십시오. 페더레이션서버프록시를설치및구성하기위한지침 페더레이션서버에는페더레이션서버프록시역할의기능이포함되어있습니다. 예를들어페더레이션서버에서는클라이언트인증, 홈영역검색및로그아웃을수행할수있습니다. 요구사항 이가이드의단계를완료하려면다음항목이있어야합니다. 테스트컴퓨터 4 대 페더레이션서버의경우 Microsoft Windows Server 2003 R2, Enterprise Edition 또는 Datacenter Edition ADFS 사용웹서버의경우 Windows Server 2003 R2, Standard Edition, Enterprise Edition 또는 Datacenter Edition 인터넷정보서비스 (IIS) 6.0 Resource Kit 도구

9 ADFS 배포에대한단계별가이드 9 1 단계 : 사전설치작업 ADFS(Active Directory Federation Service) 를설치하기전에 ADFS 기술평가에사용할기본컴퓨터 4 대를설정합니다. 이단계에서는다음을수행합니다. 네트워크설정을구성합니다. Active Directory 디렉터리서비스포리스트두개를만듭니다. 필요한사용자계정과그룹계정을만듭니다. 컴퓨터를적절한포리스트에가입시킵니다. 인터넷정보서비스 (IIS) 를설치하고자체서명된인증서로작동하도록구성합니다. 다음그림과같이인증서를가져오거나내보냅니다. 사전설치작업은다음과같은작업으로구성되어있습니다. 컴퓨터설정 Active Directory 설치및구성 서버인증인증서만들기, 내보내기및가져오기 관리자격증명 이단계의모든작업을수행하려면 4 대의컴퓨터각각에로컬 Administrator 계정으로로그온합니다. Active Directory 에서계정을만들려면해당도메인의 Administrator 계정으로로그온합니다.

10 ADFS 배포에대한단계별가이드 10 컴퓨터설정 이섹션에서는다음절차를설명합니다. 컴퓨터운영체제및네트워크설정구성 IIS 설치 IIS 6.0 Resource Kit 다운로드및설치 SharePoint Portal Server 2003 다운로드 컴퓨터운영체제및네트워크설정구성 다음표를사용하여적절한컴퓨터이름, 운영체제및이가이드의단계를완료하는데필요한네트워크설정을설정합니다. 중요 고정 IP( 인터넷프로토콜 ) 주소를사용하여컴퓨터를구성하기전에각컴퓨터가인터넷에연결된상태에서 Microsoft Windows XP 및 Windows Server 2003 R2 의정품인증을먼저완료하는것이좋습니다. 인터넷에연결된상태에서클라이언트컴퓨터를제외한각컴퓨터에 IIS 6.0 Resource Kit 응용프로그램을다운로드할수도있습니다. SharePoint Portal Server 2003 을구성하려면 ( 자세한내용은부록 A: ADFS 와함께 SharePoint Portal Server 2003 사용참조 ) 인터넷을통해 SharePoint Portal Server 일시험판설치를다운로드해야할수도있습니다. 컴퓨터이름 ADFS 클라이언트 / 서버 역할 운영체제요구 사항 IP 설정 DNS 설정 adfsclient 클라이언트 Windows XP 서비스팩 2(SP2) IP 주소 : 서브넷마스크 : 기본설정 : 대체설정 :

11 ADFS 배포에대한단계별가이드 11 컴퓨터이름 ADFS 클라이언트 / 서버 역할 운영체제요구 사항 IP 설정 DNS 설정 adfsweb 웹서버 Windows Server 2003 R2, Standard Edition 또는 Enterprise Edition IP 주소 : 서브넷마스크 : 기본설정 : adfsaccount 페더레이션서버및도메인컨트롤러 Windows Server 2003 R2, Enterprise Edition IP 주소 : 서브넷마스크 : 기본설정 : adfsresource 페더레이션서버및도메인컨트롤러 Windows Server 2003 R2, Enterprise Edition IP 주소 서브넷마스크 : 기본설정 : 클라이언트에는기본및대체 DNS(Domain Name System) 서버설정을모두설정해야합니다. 두값유형을지정된대로구성하지않으면 ADFS 시나리오가작동하지않습니다. IIS 설치 다음절차를사용하여 adfsweb, adfsresource 및 adfsaccount 컴퓨터에 IIS 를설치합니다. IIS를설치하려면다음을수행합니다. 1. 시작을클릭하고제어판을가리킨다음프로그램추가 / 제거를클릭합니다. 2. 프로그램추가 / 제거에서 Windows 구성요소추가 / 제거를클릭합니다. 3. Windows 구성요소마법사에서응용프로그램서버확인란을선택한후? 다음을

12 ADFS 배포에대한단계별가이드 12 클릭합니다. 4. Windows 구성요소마법사완료페이지에서마침을클릭합니다. IIS 6.0 Resource Kit 다운로드및설치 이단계의절차를완료하려면 adfsweb, adfsaccount 및 adfsresource 컴퓨터에 IIS 6.0 Resource Kit 를다운로드하여설치합니다. 리소스키트에는 ADFS 의자체서명된인증서를만드는데사용할 SelfSSL.exe 명령줄도구가포함되어있습니다. IIS 6.0 Resource Kit 를구하려면 Microsoft 웹사이트 ( 의 Internet Information Services(IIS) 6.0 Resource Kit Tools 를참조하십시오. SharePoint Portal Server 2003 다운로드 웹서버에 SharePoint Portal Server 2003 을설치하려면부록 A: ADFS 와함께 SharePoint Portal Server 2003 사용에나와있는것처럼인터넷을통해 adfsweb 컴퓨터로 120 일시험판소프트웨어를다운로드해야할수도있습니다. 이소프트웨어를구하려면 Microsoft 웹사이트 ( 의 SharePoint Portal Server 2003 Trial Software 를참조하십시오. ADFS 와함께 Windows SharePoint Services 를설치하려는경우에 ADFS 에서 SharePoint Portal Server 2003 을테스트하지않으려면이소프트웨어를다운로드할필요가없습니다. Active Directory 설치및구성 이섹션에서는다음절차를설명합니다. Active Directory 설치사용자계정및리소스계정만들기해당보안그룹에사용자추가해당도메인에테스트컴퓨터가입

13 ADFS 배포에대한단계별가이드 13 Active Directory 설치 Dcpromo 도구를사용하면양쪽페더레이션서버에서두개의새 Active Directory 포리스트를만들수있습니다. Dcpromo 를실행할경우다음표에있는 Active Directory 도메인이름을사용합니다. 최상의보안을위해서는프로덕션환경에서도메인컨트롤러를페더레이션서버와도메인컨트롤러로실행하면안됩니다. Dcpromo 를사용하여새포리스트를만들려면 Windows Server 2003 TechCenter 웹사이트의 Create a new forest( 절차를사용합니다. Active Directory 를설치하기전에앞의이전표에지정된대로 IP 주소를구성해야합니다. 그러면 DNS 레코드가제대로구성됩니다. 컴퓨터이름회사이름 Active Directory 도메인 이름 DNS 구성 ( 새포리스트 ) adfsaccount A. Datum Corporation adatum.com 메시지가나타나면 DNS 설치 adfsresource Trey Research treyresearch.net 메시지가 나타나면 DNS 설치 사용자계정및리소스계정만들기 두개의포리스트를설정한후 Active Directory 사용자및컴퓨터스냅인을시작하여두포리스트에서페더레이션된액세스를테스트하고확인하는데사용할수있는계정을몇개만듭니다. 다음표의값을사용하여두포리스트모두의테스트계정을만듭니다. adfsaccount 컴퓨터에서다음표의값을구성합니다. 다음생성이름사용자이름 보안글로벌그룹 TreyTokenAppUsers 해당없음

14 ADFS 배포에대한단계별가이드 14 다음생성이름사용자이름 보안글로벌그룹 TreyClaimAppUsers 해당없음 사용자 Adam Carter Adamcar 사용자 Alan Shen Alansh (adamcar 는 Windows SharePoint Services 및 SharePoint Portal Server 2003 사이트모두에액세스하는페더레이션된사용자의역할을합니다.) (alansh 는자격인식응용프로그램에액세스하는페더레이션된사용자의역할을합니다.) adfsresource 컴퓨터에서다음표의값을구성합니다. 다음생성이름기타동작 조직구성단위 (OU) 페더레이션된사용자해당없음 보안글로벌그룹 AdatumTokenAppUsers 페더레이션된사용자 OU에서이그룹생성 사용자 Terry Adams Terrya를사용자이름으로 사용 사용자 OU 에서이계정생성 (Terrya 는 Windows SharePoint Services 및 SharePoint Portal Server 2003 사이트의관리자역할을합니다.)

15 ADFS 배포에대한단계별가이드 15 해당보안그룹에사용자추가 Active Directory 사용자및컴퓨터스냅인을연상태에서다음표에지정된대로각보안그룹에두사용자를모두추가합니다. 이작업은 adfsaccount 컴퓨터에서수행합니다. 사용자다음의구성원으로추가 : Adam Carter Alan Shen TreyTokenAppUsers TreyClaimAppUsers 해당도메인에테스트컴퓨터가입 다음표의값을사용하여어떤컴퓨터를어떤도메인에가입시킬것인지를지정할수있습니다. 이작업은 adfsclient 컴퓨터와 adfsweb 컴퓨터에서수행합니다. 컴퓨터이름가입대상 : adfsclient adfsweb adatum.com treyresearch.net 서버인증인증서만들기, 내보내기및가져오기 웹서버및페더레이션서버설정시가장중요한요소는필수자체서명된인증서를제대로만들어서내보내는것입니다. 이섹션에서는다음절차를설명합니다. 각서버에대한서버인증인증서만들기 파일로 adfsresource 서버인증인증서내보내기 adfsresource 에서 adfsweb 으로서버인증인증서가져오기 프로덕션환경에서는인증서를 CA( 인증기관 ) 에서가져옵니다. 이문서에서다루는테스트랩배포에서는자체서명된인증서가사용됩니다.

16 각서버에대한서버인증인증서만들기 ADFS 배포에대한단계별가이드 16 웹서버및양쪽페더레이션서버컴퓨터의 \Program Files\IIS Resources\SelfSSL 디렉터리에서 SelfSSL 명령을실행합니다. ADFS 의페더레이션서비스구성요소를사용하려면페더레이션서비스를설치하기전에먼저 IIS 의기본웹사이트에 SSL(Secure Sockets Layer) 을설치해야하므로 ADFS 를설치하기전에페더레이션서버에서이절차를수행해야합니다. ADFS 웹에이전트의경우 ADFS 웹에이전트를설치할때 IIS 에 SSL 인증서가설치되어있을필요가없지만 Windows NT 토큰기반 ADFS 웹에이전트를사용하도록설정할때는 SSL 인증서가필요합니다. 컴퓨터이름해당컴퓨터에다음명령을입력합니다. Adfsaccount selfssl /t /n:cn=adfsaccount.adatum.com /v:365 Adfsresource selfssl /t /n:cn=adfsresource.treyresearch.net /v:365 Adfsweb selfssl /t /n:cn=adfsweb.treyresearch.net /v:365 프롬프트가표시되면 Y 를선택하여사이트 1 의 SSL 설정을바꿉니다. 파일로 adfsresource 서버인증인증서내보내기 리소스파트너페더레이션서버와웹서버간에모두성공적으로통신할수있도록먼저웹서버에서페더레이션서버의루트를신뢰해야합니다. 자체서명된인증서를사용하므로서버인증인증서가루트입니다. 따라서리소스파트너 adfsresource 서버인증인증서를내보낸다음파일을 adfsweb 서버로가져와서이트러스트를생성해야합니다. adfsresource 서버인증인증서를파일로내보내려면 adfsresource 컴퓨터에서다음절차를수행합니다. adfsresource 서버인증인증서를파일로내보내려면다음을수행합니다. 1. 시작을클릭하고모든프로그램, 관리도구를차례로가리킨다음인터넷정보서비스 (IIS) 관리자를클릭합니다.

17 ADFS 배포에대한단계별가이드 콘솔트리에서 ADFSRESOURCE, 웹사이트를차례로두번클릭하고기본웹사이트를마우스오른쪽단추로클릭한다음속성을클릭합니다. 3. 디렉터리보안탭에서인증서보기, 자세히탭을차례로클릭한다음파일에복사를클릭합니다. 4. 인증서내보내기마법사시작페이지에서다음을클릭합니다. 5. 개인키내보내기페이지에서아니요, 개인키를내보내지않습니다. 를클릭한후다음을클릭합니다. 6. 파일내보내기형식페이지에서 DER 로인코딩된 X.509 바이너리 (.Cer) 를클릭한후다음을클릭합니다. 7. 내보낼파일페이지에서 C:\adfsresource.cer 을입력한후다음을클릭합니다. 다음절차를통해이인증서를 adfsweb 컴퓨터로가져와야합니다. 따라서네트워크를통해이파일이해당컴퓨터에액세스할수있도록설정해야합니다. 8. 인증서내보내기마법사완료에서마침을클릭합니다. 9. 인증서내보내기마법사대화상자에서확인을클릭합니다. adfsweb 으로 adfsresource 서버인증인증서가져오기 adfsweb 컴퓨터에서다음절차를수행합니다. 서버인증인증서를가져오려면다음을수행합니다. 1. 시작, 실행을차례로클릭하고 mmc 를입력한다음확인을클릭합니다. 2. 파일, 스냅인추가 / 제거를차례로클릭합니다. 3. 추가, 인증서, 추가를차례로클릭합니다. 4. 컴퓨터계정, 다음을차례로클릭합니다. 5. 로컬컴퓨터 ( 이콘솔이실행되고있는컴퓨터 ), 마침, 닫기, 확인을차례로클릭합니다. 6. 인증서 ( 로컬컴퓨터 ) 폴더, 신뢰할수있는루트인증기관폴더를차례로두번클릭하고인증서를마우스오른쪽단추로클릭하고모든작업을가리킨다음가져오기를클릭합니다. 7. 인증서가져오기마법사시작페이지에서다음을클릭합니다.

18 ADFS 배포에대한단계별가이드 가져올파일페이지에서 \\adfsresource\c$\adfsresource.cer 을입력한후다음을클릭합니다. adfsresource.cer 파일을가져오려면네트워크드라이브를매핑해야할수있습니다. adfsresource.cer 파일을 adfsresource 컴퓨터에서 adfsweb 으로직접복사한다음마법사로해당위치를가리킬수도있습니다. 9. 인증서저장소페이지에서모든인증서를다음저장소에저장을클릭한후다음을클릭합니다. 10. 인증서가져오기마법사완료페이지에서입력한정보가정확한지확인한다음마침을클릭합니다. 2 단계 : ADFS 설치및로컬시스템구성 IIS( 인터넷정보서비스 ) 와필수구성요소인증서를구성했으므로각서버에 ADFS(Active Directory Federation Service) 구성요소를설치할수있습니다. 이섹션에서는다음절차를설명합니다. ADFS 웹에이전트설치페더레이션서비스설치 ADFSAppPool ID에로컬시스템계정할당 adfsaccount에서파일로토큰서명인증서내보내기 관리자격증명 이단계의모든절차를수행하려면 adfsaccount 컴퓨터와 adfsresource 컴퓨터에해당도메인의 Administrator 계정으로로그온합니다. adfsweb 컴퓨터에로컬 Administrator 계정으로로그온합니다. ADFS 웹에이전트설치 다음절차를사용하여 adfsweb 컴퓨터에자격인식 ADFS 웹에이전트와 Windows NT 토큰기반 ADFS 웹에이전트를모두설치할수있습니다.

19 ADFS 배포에대한단계별가이드 19 ADFS 웹에이전트를설치하려면다음을수행합니다. 1. 시작을클릭하고제어판을가리킨다음프로그램추가 / 제거를클릭합니다. 2. 프로그램추가 / 제거에서 Windows 구성요소추가 / 제거를클릭합니다. 3. Windows 구성요소마법사대화상자에서 Active Directory 서비스를클릭한다음자세히를클릭합니다. 4. Active Directory 서비스대화상자에서 ADFS(Active Directory Federation Service) 를클릭한다음자세히를클릭합니다. 5. ADFS(Active Directory Federation Service) 대화상자에서 ADFS 웹에이전트, 자세히를차례로클릭합니다. 6. ADFS 웹에이전트대화상자에서자격인식응용프로그램확인란과 Windows NT 토큰기반응용프로그램확인란을모두선택한다음확인을클릭합니다. 7. ADFS(Active Directory Federation Service) 대화상자에서확인을클릭합니다. 8. Active Directory 서비스대화상자에서확인을클릭합니다. 9. Windows 구성요소마법사에서다음을클릭합니다. 10. 설치파일의위치를묻는메시지가표시되면 R2?installation files\cmpnents\r2 로이동한다음확인을클릭합니다. 11. Windows 구성요소마법사완료페이지에서마침을클릭합니다. 페더레이션서비스설치 다음절차를사용하여 adfsaccount 컴퓨터와 adfsresource 컴퓨터에 ADFS 의페더레이션서비스구성요소를설치합니다. 컴퓨터에페더레이션서비스를설치하면해당컴퓨터는페더레이션서버가됩니다. 페더레이션서비스를설치하려면다음을수행합니다. 1. 시작을클릭하고제어판을가리킨다음프로그램추가 / 제거를클릭합니다. 2. 프로그램추가 / 제거에서 Windows 구성요소추가 / 제거를클릭합니다. 3. Windows 구성요소마법사대화상자에서 Active Directory 서비스를클릭한다음자세히를클릭합니다. 4. Active Directory 서비스대화상자에서 ADFS(Active Directory Federation Service) 를클릭한다음자세히를클릭합니다. 5. ADFS(Active Directory Federation Service) 대화상자에서페더레이션서비스

20 ADFS 배포에대한단계별가이드 20 확인란을선택한다음확인을클릭합니다. Microsoft ASP.NET 2.0 이사용으로설정되어있지않으면예를클릭하여사용으로설정한다음확인을클릭합니다. 6. Active Directory 서비스대화상자에서확인을클릭합니다. 7. Windows 구성요소마법사에서다음을클릭합니다. 8. 페더레이션서비스페이지에서자체서명된토큰서명인증서를만들기를클릭합니다. 9. 트러스트정책에서트러스트정책을새로만들기, 다음을차례로클릭합니다. 10. 설치파일의위치를묻는메시지가표시되면 R2 Installation Folder\cmpnents\r2 로이동한다음확인을클릭합니다. 11. Windows 구성요소마법사완료페이지에서마침을클릭합니다. ADFSAppPool ID 에로컬시스템계정할당 adfsresource 및 adfsaccount 컴퓨터에서모두다음절차를사용합니다. 이러한페더레이션서버는도메인컨트롤러로도구성되므로이단계는이가이드의컨텍스트에서만필요합니다. 최상의보안을위해서는도메인컨트롤러를페더레이션서버와도메인컨트롤러로실행하면안되고프로덕션환경에서로컬시스템계정으로 IIS 를실행하면안됩니다. ADFSAppPool ID 에로컬시스템계정을할당하려면다음을수행합니다. 1. 시작을클릭하고모든프로그램, 관리도구를차례로가리킨다음인터넷정보서비스 (IIS) 관리자를클릭합니다. 2. 콘솔트리에서 ADFSRESOURCE 또는 ADFSACCOUNT, 응용프로그램풀을차례로두번클릭하고 ADFSAppPool 을마우스오른쪽단추로클릭한다음속성을클릭합니다. 3. ID 탭의메뉴에서로컬시스템을클릭하고이응용프로그램풀을로컬시스템으로실행하시겠습니까? 메시지가표시되면예를클릭합니다.

21 ADFS 배포에대한단계별가이드 21 adfsaccount 에서파일로토큰서명인증서내보내기 adfsaccount 컴퓨터에서다음절차를사용하여 adfsaccount 컴퓨터에서파일로토큰서명인증서를내보냅니다. adfsaccount 에서파일로토큰서명인증서를내보내려면다음을수행합니다. 1. 시작을클릭하고모든프로그램, 관리도구를차례로가리킨다음 ADFS(Active Directory Federation Service) 를클릭합니다. 2. 페더레이션서비스를마우스오른쪽단추로클릭한다음속성을클릭합니다. 3. 일반탭에서보기를클릭합니다. 4. 자세히탭에서파일에복사를클릭합니다. 5. 인증서내보내기마법사시작페이지에서다음을클릭합니다. 6. 개인키내보내기페이지에서아니요, 개인키를내보내지않습니다. 를클릭한후다음을클릭합니다. 7. 파일내보내기형식페이지에서 DER 로인코딩된 X.509 바이너리 (.Cer) 를클릭한후다음을클릭합니다. 8. 내보낼파일페이지에 C:\adfsaccount_ts.cer 을입력한후다음을클릭합니다. 나중에계정파트너마법사에계정파트너확인인증서에대해묻는메시지가표시되면 adfsresource 컴퓨터로 adfsaccount 토큰서명인증서를가져옵니다 (4 단계 : 페더레이션서버구성참조 ). 이때이파일을가져오려면네트워크를통해이컴퓨터에액세스합니다. 9. 인증서내보내기마법사완료에서마침을클릭합니다. 3 단계 : 웹서버구성 이단계에서는같은웹서버 (adfsweb) 에서 Windows SharePoint Services 와예제자격인식응용프로그램을모두다설정하기위한지침을설명합니다. 지침에따라두응용프로그램을모두설정하거나하나의응용프로그램만설정할수있습니다. Windows SharePoint Services 설치및구성

22 ADFS 배포에대한단계별가이드 22 자격인식응용프로그램설치및구성 관리자격증명 이단계의모든작업을수행하려면 adfsweb 에로컬 Administrator 계정으로로그온합니다. Windows SharePoint Services 설치및구성 이섹션에서는다음절차를설명합니다. Windows SharePoint Services 설치 Windows SharePoint Services 액세스권한구성 IIS 및 ADFS 웹에이전트구성 Windows SharePoint Services 설치 다음절차를사용하여 adfsweb 컴퓨터에 Windows SharePoint Services 를설치합니다. Windows SharePoint Services 및 ADFS 의지원문제에대한자세한내용은 Microsoft 기술자료웹사이트 ( 의문서 , Windows SharePoint Services and SharePoint Portal Server 2003 Support boundaries for Active Directory Federation Services 를참조하십시오. Windows SharePoint Services 를설치하려면다음을수행합니다. 1. 시작을클릭하고제어판을가리킨다음프로그램추가 / 제거를클릭합니다. 2. 프로그램추가 / 제거에서 Windows 구성요소추가 / 제거를클릭합니다. 3. Windows 구성요소마법사에서 Windows SharePoint Service 확인란을선택한후다음을클릭합니다. 4. 설치파일의위치를묻는메시지가표시되면 R2 Installation Folder\cmpnents\r2\ 로이동한다음확인을클릭합니다. 5. Microsoft Windows SharePoint Services 2.0 설치페이지에서표준설치를클릭하고다음을클릭한후설치를클릭합니다. 6. Windows 구성요소마법사완료페이지에서마침을클릭합니다.

23 Windows SharePoint Services 액세스권한구성 ADFS 배포에대한단계별가이드 23 adfsweb 컴퓨터에서다음절차를사용하여 treyresearch.net 포리스트의 terrya 계정에대한관리자권한과 adatumtokenappusers 리소스그룹으로매핑되는 adatum.com 의페더레이션된사용자에대한읽기전용권한을구성합니다. Windows SharePoint Services 액세스권한을구성하려면다음을수행합니다. 1. Internet Explorer 를시작하고 를입력한다음 Enter 키를누릅니다. 2. 사이트설정, 사용자관리, 사용자추가를차례로클릭합니다. 3. 사용자에 treyresearch\terrya 를입력합니다. 4. 사이트그룹에서관리자확인란을선택하여 Terry 에사이트에대한관리자권한을할당한후다음을클릭합니다. 5. 입력한사용자정보가올바른지확인한다음마침을클릭합니다. 6. 다시사용자추가를클릭합니다. 7. 사용자에 adatumtokenappusers 를입력합니다. 8. 사이트그룹에서판독기확인란을선택하여페더레이션된사용자에사이트에대한읽기전용액세스권한을할당한후다음을클릭합니다. 9. 입력한사용자정보가올바른지확인한다음마침을클릭합니다. IIS 및 ADFS 웹에이전트구성 adfsweb 컴퓨터에서이절차를사용하여 A. Datum Corporation 의승인된클라이언트가웹사이트에액세스할수있도록설정합니다. IIS 및 ADFS 웹에이전트를구성하려면다음을수행합니다. 1. 시작을클릭하고모든프로그램, 관리도구를차례로가리킨다음인터넷정보서비스 (IIS) 관리자를클릭합니다. 2. 콘솔트리에서 ADFSWEB 을두번클릭하고웹사이트를마우스오른쪽단추로클릭한다음속성을클릭합니다. 3. ADFS 웹에이전트탭의페더레이션서비스 URL 에 를입력한다음확인을클릭합니다.

24 ADFS 배포에대한단계별가이드 24 ADFS 웹에이전트탭이없으면 IIS 스냅인을닫았다가다시시작합니다. 4. 웹사이트, 기본웹사이트를차례로두번클릭한다음속성을클릭합니다. 5. ADFS 웹에이전트탭에서 ADFS(Active Directory Federation Service) 웹에이전트사용확인란을선택한다음확인을클릭하여기본값을그대로사용합니다. 이렇게하면익명액세스가사용설정된다는내용의메시지가표시되면확인을클릭합니다. 이속성페이지의반환 URL 값은 Trey Research 의페더레이션서비스에대해응용프로그램을설정할때지정한응용프로그램 URL 값과정확히일치해야합니다. 자격인식응용프로그램설치및구성 샘플자격인식응용프로그램을호스팅하도록웹서버를구성하려면 adfsweb 컴퓨터에서다음작업을완료합니다. IIS 에서새웹사이트만들기및구성 자격인식응용프로그램파일만들기 IIS 에서새웹사이트만들기및구성 Windows SharePoint Services 응용프로그램에는기본웹사이트가필요하므로인터넷정보서비스 (IIS) 에서예제자격인식응용프로그램에맞는웹사이트를추가로만들어서구성해야합니다. IIS 에서새웹사이트만들기 stepbystep 웹사이트구성 stepbystep 웹사이트에 adfsweb 서버인증인증서할당 IIS 에서새웹사이트만들기 다음절차를사용하여 IIS 에서새웹사이트를만듭니다. IIS 에서새웹사이트를만들려면다음을수행합니다. 1. 시작을클릭하고관리도구를가리킨다음인터넷정보서비스 (IIS) 관리자를클릭합니다.

25 ADFS 배포에대한단계별가이드 콘솔트리에서 ADFSWEB 을두번클릭하고웹사이트를마우스오른쪽단추로클릭하고새로만들기를가리킨다음웹사이트를클릭합니다. 3. 웹사이트만들기마법사입니다. 페이지에서다음을클릭합니다. 4. 웹사이트설명페이지의설명에 stepbystep 을입력한후다음을클릭합니다. 5. IP 주소및포트설정페이지의이웹사이트가사용해야하는 TCP 포트 ( 기본값 : 80) 필드에서 80 을 8080 으로바꾸고다음을클릭합니다. 6. 웹사이트홈디렉터리페이지에서찾아보기를클릭하고 c:\inetpub 폴더를강조표시한다음새폴더만들기를클릭하고폴더이름을 stepbystep 으로지정한다음확인, 다음을차례로클릭합니다. 7. 웹사이트액세스권한페이지에서읽기가선택되어있는지확인한후다음을클릭합니다. 8. 웹사이트만들기마법사를성공적으로완료했습니다. 페이지에서마침을클릭합니다. stepbystep 웹사이트구성 다음절차를사용하여 stepbystep 웹사이트를구성합니다. Stepbystep 웹사이트를구성하려면다음을수행합니다. 1. 인터넷정보서비스 (IIS) 관리자스냅인에서 ADFSWEB, 웹사이트를차례로두번클릭하고 stepbystep 을마우스오른쪽단추로클릭한다음속성을클릭합니다. 2. 웹사이트탭의 SSL 포트에 8081 을입력합니다. 3. ASP.NET 탭의 ASP.NET 버전메뉴에서 이선택되어있는지확인합니다. 4. 디렉터리보안탭의인증및액세스제어섹션에서편집을클릭합니다. 5. 인증방법대화상자에서 Windows 통합인증확인란의선택을취소하고확인을클릭하고다시확인을클릭합니다. 6. 콘솔트리에서 stepbystep 을마우스오른쪽단추로클릭하고새로만들기를가리킨다음가상디렉터리를클릭합니다. 7. 가상디렉터리만들기마법사시작페이지에서다음을클릭합니다. 8. 가상디렉터리별칭페이지의별칭에 claimapp 를입력한후다음을클릭합니다. 9. 웹사이트콘텐츠디렉터리페이지에서찾아보기를클릭하고 c:\inetpub\stepbystep 폴더를강조표시한다음새폴더만들기단추를

26 ADFS 배포에대한단계별가이드 26 클릭하고폴더이름을 claimapp 로지정한다음확인, 다음을차례로클릭합니다. claimapp 폴더이름에대문자는사용하지마십시오. 폴더이름에대문자가들어있으면사용자는웹사이트주소를입력할때에도대문자를사용해야합니다. 10. 가상디렉터리액세스권한페이지에서읽기및스크립트실행확인란을선택한후다음을클릭합니다. 11. 가상디렉터리만들기마법사를완료했습니다. 페이지에서마침을클릭합니다. 12. 콘솔트리에서 stepbystep 을두번클릭하고 claimapp 폴더를마우스오른쪽단추로클릭한다음속성을클릭합니다. 새 claimapp 폴더를보려면 IIS 를새로고쳐야할수있습니다. 13. 문서탭에서목록에 default.aspx 가있는지확인합니다. 해당파일이없으면추가를클릭하고 default.aspx 를입력한다음확인을클릭하고다시확인을클릭합니다. stepbystep 웹사이트에 adfsweb 서버인증인증서할당 다음절차를사용하여 stepbystep 웹사이트에 adfsweb 서버인증인증서를할당합니다. stepbystep 웹사이트에 adfsweb 서버인증인증서를할당하려면다음을수행합니다. 1. 인터넷정보서비스 (IIS) 관리자에서 stepbystep 웹사이트를마우스오른쪽단추로클릭한다음속성을클릭합니다. 2. 디렉터리보안탭에서서버인증서를클릭합니다. 3. 웹서버인증서마법사입니다. 페이지에서다음을클릭합니다. 4. 서버인증서페이지에서기존인증서를할당합니다., 다음을차례로클릭합니다. 5. 사용가능한인증서페이지에서 adfsweb.treyresearch.net 인증서, 다음을차례로클릭합니다. 6. SSL 포트페이지에서기본값 (SSL 포트 8081) 을그대로사용하고다음을클릭합니다. 7. 인증서요약페이지에서세부정보를확인하고다음을클릭합니다. 8. 웹서버인증서마법사완료페이지에서마침을클릭합니다.

27 자격인식응용프로그램파일만들기 ADFS 배포에대한단계별가이드 27 이섹션에나와있는예제자격인식응용프로그램을사용하여페더레이션서비스가 ADFS 보안토큰에서보내는자격을테스트합니다. 자격인식응용프로그램은다음 3 개파일로구성되어있습니다. default.aspx web.config default.aspx.cs 다음절차에따라이세가지파일을만들수있습니다. default.aspx 파일만들기 web.config 파일만들기 default.aspx.cs 파일만들기 파일을만든후 c:\inetpub\stepbystep\claimapp 폴더에모두저장합니다. default.aspx 파일만들기 다음절차를사용하여 default.aspx 파일을만듭니다. default.aspx 파일을만들려면다음을수행합니다. 1. 메모장을시작합니다. 2. 다음코드를새메모장파일에복사해붙여넣습니다. Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> OutputCache Location="None" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" " <html xmlns=" > <head> <meta http-equiv="content-language" content="en-us"> <meta http-equiv="content-type" content="text/html; charset=windows-1252"> <title>claims-aware Sample Application</title>

28 ADFS 배포에대한단계별가이드 28 <style> <!--.pagetitle { font-family: Verdana; font-size: 18pt; font-weight: bold;}.propertytable td { border: 1px solid; padding: 0px 4px 0px 4px}.propertyTable th { border: 1px solid; padding: 0px 4px 0px 4px; fontweight: bold; background-color: #cccccc ; text-align: left }.propertytable { border-collapse: collapse;} td.l{ width: 200px } tr.s{ background-color: #eeeeee }.banner { margin-bottom: 18px }.propertyhead { margin-top: 18px; font-size: 12pt; font-family: Arial; font-weight: bold; margin-top: 18}.abbrev { color: #0066FF; font-style: italic } --> </style> </head> <body> <form ID="Form1" runat=server> <div class=banner> <div class=pagetitle>sso Sample</div> [ <asp:hyperlink ID=SignOutUrl runat=server>sign Out</asp:HyperLink> <a href="<%=context.request.url.getleftpart(uripartial.path)%>">refresh without viewstate data</a>] </div> <div class=propertyhead>page Information</div> <div style="padding-left: 10px; padding-top: 10px">

29 ADFS 배포에대한단계별가이드 29 <asp:table runat=server ID=PageTable CssClass=propertyTable> <asp:tableheaderrow> <asp:tableheadercell>name</asp:tableheadercell> <asp:tableheadercell>value</asp:tableheadercell> <asp:tableheadercell>type</asp:tableheadercell> </asp:tableheaderrow> </asp:table> </div> <div class=propertyhead>user.identity</div> <div style="padding-left: 10px; padding-top: 10px"> <asp:table CssClass="propertyTable" ID=IdentityTable runat=server> <asp:tableheaderrow> <asp:tableheadercell>name</asp:tableheadercell> <asp:tableheadercell>value</asp:tableheadercell> <asp:tableheadercell>type</asp:tableheadercell> </asp:tableheaderrow> </asp:table> </div> <div class=propertyhead>(iidentity)user.identity</div> <div style="padding-left: 10px; padding-top: 10px"> <asp:table CssClass="propertyTable" ID=BaseIdentityTable runat=server> <asp:tableheaderrow> <asp:tableheadercell>name</asp:tableheadercell> <asp:tableheadercell>value</asp:tableheadercell> <asp:tableheadercell>type</asp:tableheadercell> </asp:tableheaderrow>

30 ADFS 배포에대한단계별가이드 30 </asp:table> </div> <div class=propertyhead>(singlesignonidentity)user.identity</div> <div style="padding-left: 10px; padding-top: 10px"> <asp:table CssClass="propertyTable" ID=SSOIdentityTable runat=server> <asp:tableheaderrow> <asp:tableheadercell>name</asp:tableheadercell> <asp:tableheadercell>value</asp:tableheadercell> <asp:tableheadercell>type</asp:tableheadercell> </asp:tableheaderrow> </asp:table> </div> <div class=propertyhead>singlesignonidentity.securitypropertycollection</div> <div style="padding-left: 10px; padding-top: 10px"> <asp:table CssClass="propertyTable" ID=SecurityPropertyTable runat=server> <asp:tableheaderrow> <asp:tableheadercell>uri</asp:tableheadercell> <asp:tableheadercell>claim Type</asp:TableHeaderCell> <asp:tableheadercell>claim Value</asp:TableHeaderCell> </asp:tableheaderrow> </asp:table> </div> <div class=propertyhead>(iprincipal)user.isinrole(...)</div> <div style="padding-left: 10px; padding-top: 10px">

31 ADFS 배포에대한단계별가이드 31 <asp:table CssClass="propertyTable" ID=RolesTable runat=server> </asp:table> <div style="padding-top: 10px"> <table> <tr><td>roles to check (semicolon separated):</td></tr> <tr><td><asp:textbox ID=Roles Columns=55 runat=server/></td><td align=right><asp:button UseSubmitBehavior=true ID=GetRoles runat=server Text="Check Roles" OnClick="GoGetRoles"/></td></tr> </table> </div> </div> </form> </body> </html> 3. 메모장파일을 c:\inetpub\stepbystep\claimapp 디렉터리에 default.aspx 로저장합니다. web.config 파일만들기 다음절차를사용하여 web.config 파일을만듭니다. web.config 파일을만들려면다음을수행합니다. 1. 메모장을시작합니다. 2. 다음코드를새메모장파일에복사해붙여넣습니다. <?xml version="1.0" encoding="utf-8"?> <configuration> <configsections> <sectiongroup name="system.web">

32 ADFS 배포에대한단계별가이드 32 <section name="websso" type="system.web.security.singlesignon.webssoconfigurationhandler, System.Web.Security.SingleSignOn, Version= , Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" /> </sectiongroup> </configsections> <system.web> <sessionstate mode="off" /> <compilation defaultlanguage="c#" debug="true"> <assemblies> <add assembly="system.web.security.singlesignon, Version= , Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null"/> <add assembly="system.web.security.singlesignon.claimtransforms, Version= , Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null"/> </assemblies> </compilation> <customerrors mode="off"/> <authentication mode="none" /> <httpmodules> <add name="identity Federation Services Application Authentication Module" type="system.web.security.singlesignon.webssoauthenticationmodule, System.Web.Security.SingleSignOn, Version= , Culture=neutral,

33 ADFS 배포에대한단계별가이드 33 PublicKeyToken=31bf3856ad364e35, Custom=null" /> </httpmodules> <websso> <authenticationrequired /> <eventloglevel>55</eventloglevel> <auditsuccess>2</auditsuccess> <urls> <returnurl> </urls> <cookies writecookies="true"> <path>/claimapp</path> <lifetime>240</lifetime> </cookies> <fs> </websso> </system.web> <system.diagnostics> <switches> <add name="webssodebuglevel" value="0" /> <!-- Change to 255 to enable full debug logging --> </switches> <trace autoflush="true" indentsize="3"> <listeners> <add name="lsloglistener"

34 ADFS 배포에대한단계별가이드 34 type="system.web.security.singlesignon.boundedsizelogfiletracelistener, System.Web.Security.SingleSignOn, Version= , Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" initializedata="c:\logdir\claimapp.log" /> </listeners> </trace> </system.diagnostics> </configuration> 3. 메모장파일을 c:\inetpub\stepbystep\claimapp 디렉터리에 web.config 로저장합니다. default.aspx.cs 파일만들기 다음절차를사용하여 default.aspx.cs 파일을만듭니다. default.aspx.cs 파일을만들려면다음을수행합니다. 1. 메모장을시작합니다. 2. 다음코드를새메모장파일에복사해붙여넣습니다. using System; using System.Data; using System.Collections.Generic; using System.Configuration; using System.Reflection; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Security;

35 ADFS 배포에대한단계별가이드 35 using System.Security.Principal; using System.Web.Security.SingleSignOn; using System.Web.Security.SingleSignOn.Authorization; public partial class _Default : System.Web.UI.Page { const string NullValue = "<span class=\"abbrev\" title=\"null Reference, or not applicable\"><b>null</b></span>"; static Dictionary<string, string> s_abbreviationmap; static _Default() { s_abbreviationmap = new Dictionary<string, string>(); // // Add any abbreviations here. Make sure that prefixes of // replacements occur *after* the longer replacement key. // s_abbreviationmap.add("system.web.security.singlesignon.authorization", "SSO.Auth"); s_abbreviationmap.add("system.web.security.singlesignon", "SSO"); s_abbreviationmap.add("system", "S"); } protected void Page_Load(object sender, EventArgs e) { SingleSignOnIdentity ssoid = User.Identity as

36 ADFS 배포에대한단계별가이드 36 SingleSignOnIdentity; // // Get some property tables initialized. // PagePropertyLoad(); IdentityLoad(); BaseIdentityLoad(); SSOIdentityLoad(ssoId); SecurityPropertyTableLoad(ssoId); // // Filling in the roles table // requires a peek at the viewstate // since we have a text box driving this. // if (!IsPostBack) { UpdateRolesTable(new string[] { }); } else { GoGetRoles(null, null); } // // Get the right links for SSO //

37 ADFS 배포에대한단계별가이드 37 if (ssoid == null) { SignOutUrl.Text = "Single Sign On isn't installed..."; SignOutUrl.Enabled = false; } else { if (ssoid.isauthenticated == false) { SignOutUrl.Text = "Sign In (you aren't authenticated)"; SignOutUrl.NavigateUrl = ssoid.signinurl; } else SignOutUrl.NavigateUrl = ssoid.signouturl; } } void SecurityPropertyTableLoad(SingleSignOnIdentity ssoid) { Table t = SecurityPropertyTable; if (ssoid == null) { AddNullValueRow(t); return; } //

38 ADFS 배포에대한단계별가이드 38 // Go through each of the security properties provided. // bool alternating = false; foreach (SecurityProperty securityproperty in ssoid.securitypropertycollection) { t.rows.add(createrow(securityproperty.uri, securityproperty.name, securityproperty.value, alternating)); alternating =!alternating; } } void UpdateRolesTable(string[] roles) { Table t = RolesTable; t.rows.clear(); bool alternating = false; foreach (string s in roles) { string role = s.trim(); t.rows.add(createpropertyrow(role, User.IsInRole(role), alternating)); } } alternating =!alternating;

39 ADFS 배포에대한단계별가이드 39 void IdentityLoad() { Table propertytable = IdentityTable; if (User.Identity == null) { AddNullValueRow(propertyTable); } else { propertytable.rows.add(createpropertyrow("type name", User.Identity.GetType().FullName)); } } void SSOIdentityLoad(SingleSignOnIdentity ssoid) { Table propertytable = SSOIdentityTable; if (ssoid!= null) { PropertyInfo[] props = ssoid.gettype().getproperties(bindingflags.instance BindingFlags.Public BindingFlags.DeclaredOnly); AddPropertyRows(propertyTable, ssoid, props); } else { AddNullValueRow(propertyTable);

40 ADFS 배포에대한단계별가이드 40 } } void PagePropertyLoad() { Table propertytable = PageTable; string leftsidepath = Request.Url.GetLeftPart(UriPartial.Path); leftsidepath)); } propertytable.rows.add(createpropertyrow("simplified Path", void BaseIdentityLoad() { Table propertytable = BaseIdentityTable; IIdentity identity = User.Identity; if (identity!= null) { PropertyInfo[] props = typeof(iidentity).getproperties(bindingflags.instance BindingFlags.Public BindingFlags.DeclaredOnly); AddPropertyRows(propertyTable, identity, props); } else { AddNullValueRow(propertyTable); }

41 ADFS 배포에대한단계별가이드 41 } void AddNullValueRow(Table table) { TableCell cell = new TableCell(); cell.text = NullValue; TableRow row = new TableRow(); row.cssclass = "s"; row.cells.add(cell); } table.rows.clear(); table.rows.add(row); void AddPropertyRows(Table propertytable, object obj, PropertyInfo[] props) { bool alternating = false; foreach (PropertyInfo p in props) { string name = p.name; object val = p.getvalue(obj, null); propertytable.rows.add(createpropertyrow(name, val, alternating)); alternating =!alternating; }

42 ADFS 배포에대한단계별가이드 42 } TableRow CreatePropertyRow(string propertyname, object propertyvalue) { return CreatePropertyRow(propertyName, propertyvalue, false); } TableRow CreatePropertyRow(string propertyname, object value, bool alternating) { if (value == null) return CreateRow(propertyName, null, null, alternating); else return CreateRow(propertyName, value.tostring(), value.gettype().fullname, alternating); } TableRow CreateRow(string s1, string s2, string s3, bool alternating) { TableCell first = new TableCell(); first.cssclass = "l"; first.text = Abbreviate(s1); TableCell second = new TableCell(); second.text = Abbreviate(s2); TableCell third = new TableCell(); third.text = Abbreviate(s3);

43 ADFS 배포에대한단계별가이드 43 TableRow row = new TableRow(); if (alternating) row.cssclass = "s"; row.cells.add(first); row.cells.add(second); row.cells.add(third); return row; } private string Abbreviate(string s) { if (s == null) return NullValue; string retval = s; foreach (KeyValuePair<string, string> pair in s_abbreviationmap) { // // We only get one replacement per abbreviation call. // First one wins. // if (retval.indexof(pair.key)!= -1) { string replacedvalue = string.format("<span class=\"abbrev\" title=\"{0}\">{1}</span>", pair.key, pair.value); retval = retval.replace(pair.key, replacedvalue); break;

44 ADFS 배포에대한단계별가이드 44 } } return retval; } // // ASP.NET server side callback // protected void GoGetRoles(object sender, EventArgs ea) { string[] roles = Roles.Text.Split(';'); UpdateRolesTable(roles); } } 3. 파일을 c:\inetpub\stepbystep\claimapp 디렉터리에 default.aspx.cs 로저장합니다. 4 단계 : 페더레이션서버구성 ADFS(Active Directory Federation Service) 를설치했고웹서버에자격인식응용프로그램및 Windows NT 토큰기반응용프로그램 (Windows SharePoint Services) 을구성했으므로이제 Trey Research 와 A. Datum Corporation 모두의페더레이션서버에서페더레이션서비스를구성합니다. 이단계에서는다음을수행합니다. Trey Research 의페더레이션서비스가자격인식응용프로그램과 Windows SharePoint Services 응용프로그램을모두인식하도록설정합니다. 각페더레이션서비스에계정저장소및그룹자격을추가합니다. 해당포리스트의 Active Directory 그룹에매핑되도록각그룹자격을구성합니다.

45 ADFS 배포에대한단계별가이드 45 매핑되는대상응용프로그램유형에따라페더레이션서비스마다다르게그룹자격을구성해야합니다. 다음그림에서는이단계에서각페더레이션서비스및응용프로그램유형에대해자격을구성하는방법을보여줍니다. 이단계는다음작업으로구성됩니다. Trey Research 의페더레이션서비스구성 A. Datum Corporation 의페더레이션서비스구성 관리자격증명 이단계의모든작업을수행하려면 adfsaccount 및 adfsresource 컴퓨터에해당도메인의 Administrator 계정으로로그온합니다.

46 ADFS 배포에대한단계별가이드 46 Trey Research 의페더레이션서비스구성 이섹션에서는다음절차를설명합니다. 트러스트정책구성 Windows NT 토큰기반응용프로그램을위한그룹자격만들기및매핑자격인식응용프로그램을위한그룹자격만들기 Active Directory 계정저장소추가 Windows NT 토큰기반응용프로그램추가및구성자격인식응용프로그램추가및구성계정파트너추가및구성 트러스트정책구성 다음절차를사용하여 adfsresource 컴퓨터에서 Trey Research 의페더레이션서비스에대해트러스트정책을구성합니다. Trey Research 트러스트정책을구성하려면다음을수행합니다. 1. 시작을클릭하고모든프로그램, 관리도구를차례로가리킨다음 ADFS(Active Directory Federation Service) 를클릭합니다. 2. 콘솔트리에서페더레이션서비스를두번클릭하고트러스트정책을마우스오른쪽단추로클릭한다음속성을클릭합니다. 3. 일반탭의페더레이션서비스 URI 에서 urn:federation:myorganization 을 urn:federation:treyresearch 로바꿉니다. 이값은대 / 소문자를구분합니다. 4. 페더레이션서비스끝점 URL 에서 를 로바꿉니다. 5. 표시이름탭에서이트러스트정책에대한표시이름필드에 Trey Research 를입력 ( 기존에있을수있는모든값을 Trey Research 로교체 ) 한다음확인을클릭합니다.

47 ADFS 배포에대한단계별가이드 47 Windows NT 토큰기반응용프로그램을위한그룹자격만들기및매핑 다음절차를사용하여 adatum.com 포리스트의사용자대신 Windows NT 토큰기반응용프로그램에대한권한부여결정을하는데사용할그룹자격을만들고매핑합니다. Windows NT 토큰기반응용프로그램을위한그룹자격만들기 글로벌그룹에 Adatum TokenApp 자격매핑 Windows NT 토큰기반응용프로그램을위한그룹자격만들기 다음절차를사용하여 Windows NT 토큰기반응용프로그램을위한그룹자격을만듭니다. Windows NT 토큰기반응용프로그램을위한그룹자격을만들려면다음을수행합니다. 1. 시작을클릭하고모든프로그램, 관리도구를차례로가리킨다음 ADFS(Active Directory Federation Service) 를클릭합니다. 2. 페더레이션서비스, 트러스트정책, 내조직을차례로두번클릭하고조직자격을마우스오른쪽단추로클릭하고새로만들기를가리킨다음조직자격을클릭합니다. 3. 새조직자격만들기대화상자의자격이름에 Adatum TokenApp Claim 을입력합니다. 4. 그룹자격이선택되어있는지확인하고확인을클릭합니다. 글로벌그룹에 Adatum TokenApp 자격매핑 그룹자격을만들었으므로다음절차를사용하여로컬 treyresearch.net 포리스트의 adatumtokenappusers 글로벌그룹에해당자격을매핑합니다. 글로벌그룹에 Adatum TokenApp 자격을매핑하려면다음을수행합니다. 1. 조직자격폴더에서새 Adatum TokenApp 자격을마우스오른쪽단추로클릭한다음속성을클릭합니다. 2. 그룹자격속성페이지의리소스그룹탭에서이자격을다음로컬리소스그룹에매핑합니다., 단추를차례로클릭하고 adatumtokenappusers 를입력한다음확인을클릭하고다시확인을클릭합니다.

48 자격인식응용프로그램을위한그룹자격만들기 ADFS 배포에대한단계별가이드 48 다음절차를사용하여 adatum.com 포리스트의사용자대신샘플자격인식응용프로그램에대한권한부여결정을하는데사용할그룹자격을만듭니다. 자격인식응용프로그램을위한그룹자격을만들려면다음을수행합니다. 1. 시작을클릭하고모든프로그램, 관리도구를차례로가리킨다음 ADFS(Active Directory Federation Service) 를클릭합니다. 2. 페더레이션서비스, 트러스트정책, 내조직을차례로두번클릭하고조직자격을마우스오른쪽단추로클릭하고새로만들기를가리킨다음조직자격을클릭합니다. 3. 새조직자격만들기대화상자의자격이름에 Adatum ClaimApp Claim 을입력합니다. 4. 그룹자격이선택되어있는지확인하고확인을클릭합니다. Active Directory 계정저장소추가 다음절차를사용하여 Trey Research 의페더레이션서비스에 Active Directory 계정저장소를추가합니다. Active Directory 계정저장소를추가하려면다음을수행합니다. 1. 시작을클릭하고모든프로그램, 관리도구를차례로가리킨다음 ADFS(Active Directory Federation Service) 를클릭합니다. 2. 페더레이션서비스, 트러스트정책, 내조직을차례로두번클릭하고계정저장소를마우스오른쪽단추로클릭하고새로만들기를가리킨다음계정저장소를클릭합니다. 3. 계정저장소추가마법사시작페이지에서다음을클릭합니다. 4. 계정저장소형식페이지에서 Active Directory 가선택되어있는지확인한후다음을클릭합니다. 5. 이계정저장소사용페이지에서이계정저장소사용확인란이선택되어있는지확인하고다음을클릭합니다. 6. 계정저장소추가마법사완료페이지에서마침을클릭합니다.

49 ADFS 배포에대한단계별가이드 49 Windows NT 토큰기반응용프로그램추가및구성 이섹션에서는다음절차를설명합니다. Windows NT 토큰기반응용프로그램추가 Adatum TokenApp 자격사용 Windows NT 토큰기반응용프로그램추가 adfsresource 컴퓨터에서다음절차를사용하여 Windows SharePoint Services 사이트의 URL(Uniform Resource Locator) 을 Trey Research 의페더레이션서비스에추가합니다. Windows NT 토큰기반응용프로그램을추가하려면다음을수행합니다. 1. 시작을클릭하고모든프로그램, 관리도구를차례로가리킨다음 ADFS(Active Directory Federation Service) 를클릭합니다. 2. 페더레이션서비스, 트러스트정책, 내조직을차례로두번클릭하고응용프로그램을마우스오른쪽단추로클릭하고새로만들기를가리킨다음응용프로그램을클릭합니다. 3. 응용프로그램추가마법사시작페이지에서다음을클릭합니다. 4. 응용프로그램종류페이지에서 Windows NT 토큰기반응용프로그램을클릭한후다음을클릭합니다. 5. 응용프로그램정보페이지의응용프로그램표시이름에 Token-based Application 을입력합니다. 6. 응용프로그램 URL 에 을입력한후다음을클릭합니다. 7. 수락된 ID 자격페이지에서 UPN( 사용자이름 ) 을클릭한후다음을클릭합니다. 8. 이응용프로그램사용페이지에서이응용프로그램사용확인란이선택되어있는지확인하고다음을클릭합니다. 9. 응용프로그램추가마법사완료페이지에서마침을클릭합니다. Adatum TokenApp 자격사용 페더레이션서비스가응용프로그램을인식하므로다음절차를사용하여해당응용프로그램에대해 Adatum TokenApp 자격그룹자격을사용하도록설정합니다.

50 ADFS 배포에대한단계별가이드 50 Adatum TokenApp 자격을사용하도록설정하려면다음을수행합니다. 1. 응용프로그램폴더에서토큰기반응용프로그램을클릭합니다. 2. Adatum TokenApp 자격그룹자격을마우스오른쪽단추로클릭한다음사용을클릭합니다. 자격인식응용프로그램추가및구성 다음절차를사용하여 adfsresource 컴퓨터에서 Trey Research 의페더레이션서비스에자격인식응용프로그램을추가합니다. 자격인식응용프로그램추가 Adatum ClaimApp 자격사용 자격인식응용프로그램추가 다음절차를사용하여자격인식응용프로그램을추가합니다. 자격인식응용프로그램을추가하려면다음을수행합니다. 1. 시작을클릭하고모든프로그램, 관리도구를차례로가리킨다음 ADFS(Active Directory Federation Service) 를클릭합니다. 2. 페더레이션서비스, 트러스트정책, 내조직을차례로두번클릭하고응용프로그램을마우스오른쪽단추로클릭하고새로만들기를가리킨다음응용프로그램을클릭합니다. 3. 응용프로그램추가마법사시작페이지에서다음을클릭합니다. 4. 응용프로그램종류페이지에서자격인식응용프로그램을클릭한후다음을클릭합니다. 5. 응용프로그램정보페이지의응용프로그램표시이름에 Claims-aware Application 을입력합니다. 6. 응용프로그램 URL 에 를입력한후다음을클릭합니다. 기본웹사이트는기본 SSL 포트 (443) 를사용하고있으므로 SSL 트래픽을포트 8081 로라우팅하려면응용프로그램 URL 에 8081 에대한참조가필요합니다. 7. 수락된 ID 자격페이지에서 UPN( 사용자이름 ) 을클릭한후다음을클릭합니다.

51 ADFS 배포에대한단계별가이드 이응용프로그램사용페이지에서이응용프로그램사용확인란이선택되어있는지확인하고다음을클릭합니다. 9. 응용프로그램추가마법사완료페이지에서마침을클릭합니다. Adatum ClaimApp 자격사용 페더레이션서비스에서응용프로그램을인식하므로다음절차를사용하여해당응용프로그램에대해 Adatum ClaimApp 그룹자격을사용하도록설정합니다. Adatum ClaimApp 그룹자격을사용하도록설정하려면다음을수행합니다. 1. 응용프로그램폴더에서자격인식응용프로그램을클릭합니다. 2. Adatum ClaimApp 자격그룹자격을마우스오른쪽단추로클릭한다음사용을클릭합니다. 계정파트너추가및구성 다음절차를사용하여 adfsresource 컴퓨터에서 Trey Research 의페더레이션서비스에 A. Datum Corporation 의계정파트너를추가합니다. 계정파트너추가 Windows NT 토큰기반응용프로그램을위한들어오는그룹자격매핑만들기 자격인식응용프로그램을위한들어오는그룹자격매핑만들기 계정파트너추가 계정파트너를추가하면 A. Datum Corporation 과 Trey Research 간의관계가구성됩니다. 이관계는공개키의대역외교환을통해설정됩니다. 이키는 Trey Research 가 A. Datum Corporation 에서보내는토큰의유효성을검사하도록두회사간의트러스트를설정합니다. 다음절차를사용하여계정파트너를추가합니다. 계정파트너를추가하려면다음을수행합니다. 1. 시작을클릭하고모든프로그램, 관리도구를차례로가리킨다음 ADFS(Active Directory Federation Service) 를클릭합니다. 2. 페더레이션서비스, 트러스트정책, 파트너조직을차례로두번클릭하고계정파트너를마우스오른쪽단추로클릭하고새로만들기를가리킨다음계정파트너를클릭합니다.

52 ADFS 배포에대한단계별가이드 계정파트너추가마법사시작페이지에서다음을클릭합니다. 4. 정책파일가져오기페이지에서아니요가선택되어있는지확인하고다음을클릭합니다. 5. 계정파트너정보페이지의표시이름에 A. Datum Corporation 을입력합니다. 6. 페더레이션서비스 URI 에 urn:federation:adatum 을입력합니다. 이값은대 / 소문자를구분합니다. 7. 페더레이션서비스끝점 URL 에 를입력한후다음을클릭합니다. 8. 계정파트너확인인증서페이지에서찾아보기를클릭하고 \\adfsaccount\c$ 를입력한다음열기, adfsaccount_ts.cer, 다음을차례로클릭합니다. adfsaccount_ts.cer 파일을가져오려면네트워크드라이브를매핑해야할수있습니다. 계정파트너확인인증서는 2 단계 : ADFS 설치및로컬시스템구성에서 adfsaccount 컴퓨터로부터내보낸토큰서명인증서입니다. 9. 페더레이션시나리오페이지에서페더레이션된웹 SSO 를클릭한후다음을클릭합니다. 10. 계정파트너 ID 자격페이지에서 UPN 자격확인란을선택한후다음을클릭합니다. 11. 수락된 UPN 접미사페이지에서 adatum.com 을입력하고추가, 다음을차례로클릭합니다. 12. 이계정파트너사용페이지에서이계정파트너사용확인란이선택되어있는지확인한후다음을클릭합니다. 13. 계정파트너추가마법사완료페이지에서마침을클릭합니다. Windows NT 토큰기반응용프로그램을위한들어오는그룹자격매핑만들기 들어오는그룹자격매핑을사용하여계정파트너가보낸그룹자격을리소스파트너가권한부여결정을하는데사용할수있는자격으로변환합니다. 다음절차를사용하여 Windows NT 토큰기반응용프로그램을위한들어오는그룹자격매핑을만듭니다.

53 ADFS 배포에대한단계별가이드 53 Windows NT 토큰기반응용프로그램을위한들어오는그룹자격매핑을만들려면다음을수행합니다. 1. 시작을클릭하고모든프로그램, 관리도구를차례로가리킨다음 ADFS(Active Directory Federation Service) 를클릭합니다. 2. 페더레이션서비스, 트러스트정책, 파트너조직, 계정파트너를차례로두번클릭하고 A. Datum Corporation 을마우스오른쪽단추로클릭하고새로만들기를가리킨다음들어오는그룹자격매핑을클릭합니다. 3. 들어오는새그룹자격매핑만들기대화상자의들어오는그룹자격이름에 TokenAppMapping 을입력합니다. 이값은대 / 소문자를구분합니다. 계정파트너조직의나가는그룹자격매핑에서지정된값과정확히일치해야합니다. 4. 조직그룹자격에서 Adatum TokenApp 자격그룹자격을선택한다음확인을클릭합니다. 자격인식응용프로그램을위한들어오는그룹자격매핑만들기 다음절차를사용하여샘플자격인식응용프로그램을위한들어오는그룹자격매핑을만듭니다. 자격인식응용프로그램을위한들어오는그룹자격매핑을만들려면다음을수행합니다. 1. 시작을클릭하고모든프로그램, 관리도구를차례로가리킨다음 ADFS(Active Directory Federation Service) 를클릭합니다. 2. 페더레이션서비스, 트러스트정책, 파트너조직, 계정파트너를차례로두번클릭하고 A. Datum Corporation 을마우스오른쪽단추로클릭하고새로만들기를가리킨다음들어오는그룹자격매핑을클릭합니다. 3. 들어오는새그룹자격매핑만들기대화상자의들어오는그룹자격이름에 ClaimAppMapping 을입력합니다. 이값은대 / 소문자를구분합니다. 계정파트너조직의나가는그룹자격매핑에서지정된값과정확히일치해야합니다. 4. 조직그룹자격에서 Adatum ClaimApp 자격그룹자격을선택한다음확인을클릭합니다.

54 ADFS 배포에대한단계별가이드 54 A. Datum Corporation 의페더레이션서비스구성 이섹션에서는다음절차를설명합니다. 트러스트정책구성 Windows NT 토큰기반응용프로그램을위한그룹자격만들기자격인식응용프로그램을위한그룹자격만들기 Active Directory 계정저장소추가및구성리소스파트너추가및구성 트러스트정책구성 다음절차를사용하여 adfsaccount 컴퓨터에서 A. Datum Corporation 의페더레이션서비스에대해트러스트정책을구성합니다. 트러스트정책을구성하려면다음을수행합니다. 1. 시작을클릭하고프로그램을선택하고관리도구를가리킨다음 ADFS(Active Directory Federation Service) 를클릭합니다. 2. 콘솔트리에서페더레이션서비스를두번클릭하고트러스트정책을마우스오른쪽단추로클릭한다음속성을클릭합니다. 3. 일반탭의페더레이션서비스 URI 에서 urn:federation:myorganization 을 urn:federation:adatum 으로바꿉니다. 이값은대 / 소문자를구분합니다. 4. 페더레이션서비스끝점 URL 에서 를 로바꿉니다. 5. 표시이름탭에서이트러스트정책에대한표시이름필드에 A. Datum 을입력 ( 기존에있을수있는모든값을 A. Datum 으로교체 ) 한다음확인을클릭합니다. Windows NT 토큰기반응용프로그램을위한그룹자격만들기 다음절차를사용하여 treyresearch.net 포리스트에인증하는데사용할그룹자격을만듭니다.

55 ADFS 배포에대한단계별가이드 55 Windows NT 토큰기반응용프로그램을위한그룹자격을만들려면다음을수행합니다. 1. 시작을클릭하고프로그램을선택하고관리도구를가리킨다음 ADFS(Active Directory Federation Service) 를클릭합니다. 2. 페더레이션서비스, 트러스트정책, 내조직을차례로두번클릭하고조직자격을마우스오른쪽단추로클릭하고새로만들기를가리킨다음조직자격을클릭합니다. 3. 새조직자격만들기대화상자의자격이름에 Trey TokenApp Claim 을입력합니다. 4. 그룹자격이선택되어있는지확인하고확인을클릭합니다. 자격인식응용프로그램을위한그룹자격만들기 다음절차를사용하여 treyresearch.net 포리스트에인증하는데사용할그룹자격을만듭니다. 자격인식응용프로그램을위한그룹자격을만들려면다음을수행합니다. 1. 시작을클릭하고모든프로그램, 관리도구를차례로가리킨다음 ADFS(Active Directory Federation Service) 를클릭합니다. 2. 페더레이션서비스, 트러스트정책, 내조직을차례로두번클릭하고조직자격을마우스오른쪽단추로클릭하고새로만들기를가리킨다음조직자격을클릭합니다. 3. 새조직자격만들기대화상자의자격이름에 Trey ClaimApp Claim 을입력합니다. 4. 그룹자격이선택되어있는지확인하고확인을클릭합니다. Active Directory 계정저장소추가및구성 다음절차를사용하여 A. Datum Corporation 의페더레이션서비스에 Active Directory 계정저장소를추가합니다. Active Directory 계정저장소추가 Windows NT 토큰기반응용프로그램을위한그룹자격에글로벌그룹매핑 자격인식응용프로그램을위한그룹자격에글로벌그룹매핑

56 ADFS 배포에대한단계별가이드 56 Active Directory 계정저장소추가 다음절차를사용하여 Active Directory 계정저장소를추가합니다. Active Directory 계정저장소를추가하려면다음을수행합니다. 1. 시작을클릭하고프로그램을선택하고관리도구를가리킨다음 ADFS(Active Directory Federation Service) 를클릭합니다. 2. 페더레이션서비스, 트러스트정책, 내조직을차례로두번클릭하고계정저장소를마우스오른쪽단추로클릭하고새로만들기를가리킨다음계정저장소를클릭합니다. 3. 계정저장소추가마법사시작페이지에서다음을클릭합니다. 4. 계정저장소형식페이지에서 Active Directory 가선택되어있는지확인한후다음을클릭합니다. 페더레이션서비스와연결된 Active Directory 저장소는하나만있을수있습니다. Active Directory 옵션을사용할수없다면원인은이페더레이션서비스용으로 Active Directory 저장소가이미만들어져있기때문입니다. 5. 이계정저장소사용페이지에서이계정저장소사용확인란이선택되어있는지확인하고다음을클릭합니다. 6. 계정저장소추가마법사완료페이지에서마침을클릭합니다. Windows NT 응용프로그램을위한그룹자격에글로벌그룹매핑 다음절차를사용하여 Trey TokenApp 그룹자격에 Active Directory 글로벌그룹을매핑합니다. Windows NT 토큰기반응용프로그램의그룹자격에글로벌그룹을매핑하려면다음을수행합니다. 1. 시작을클릭하고모든프로그램, 관리도구를차례로가리킨다음 ADFS(Active Directory Federation Service) 를클릭합니다. 2. 페더레이션서비스, 트러스트정책, 내조직, 계정저장소를차례로두번클릭하고 Active Directory 를마우스오른쪽단추로클릭하고새로만들기를가리킨다음그룹자격추출을클릭합니다. 3. 새그룹자격추출만들기대화상자에서추가를클릭하고 treytokenappusers 를

57 ADFS 배포에대한단계별가이드 57 입력한다음확인을클릭합니다. 4. 이조직자격에매핑메뉴에 Trey TokenApp 자격이표시되는지확인한다음확인을클릭합니다. 자격인식응용프로그램을위한그룹자격에글로벌그룹매핑 다음절차를사용하여 Trey ClaimApp 그룹자격에 Active Directory 글로벌그룹을매핑합니다. 자격인식응용프로그램의그룹자격에글로벌그룹을매핑하려면다음을수행합니다. 1. 시작을클릭하고모든프로그램, 관리도구를차례로가리킨다음 ADFS(Active Directory Federation Service) 를클릭합니다. 2. 페더레이션서비스, 트러스트정책, 내조직, 계정저장소를차례로두번클릭하고 Active Directory 를마우스오른쪽단추로클릭하고새로만들기를가리킨다음그룹자격추출을클릭합니다. 3. 새그룹자격추출만들기대화상자에서추가를클릭하고 treyclaimappusers 를입력한다음확인을클릭합니다. 4. 이조직자격에매핑메뉴에 Trey ClaimApp 자격이표시되는지확인한다음확인을클릭합니다. 리소스파트너추가및구성 다음절차를사용하여 A. Datum Corporation 의페더레이션서비스에리소스파트너를추가합니다. 리소스파트너추가 Windows NT 토큰기반응용프로그램을위한나가는그룹자격매핑만들기 자격인식응용프로그램을위한나가는그룹자격매핑만들기 리소스파트너추가 다음절차를사용하여리소스파트너를추가합니다. 리소스파트너추가 1. 시작을클릭하고모든프로그램, 관리도구를차례로가리킨다음 ADFS(Active Directory Federation Service) 를클릭합니다.

58 ADFS 배포에대한단계별가이드 페더레이션서비스, 트러스트정책, 파트너조직을차례로두번클릭하고리소스파트너를마우스오른쪽단추로클릭하고새로만들기를가리킨다음리소스파트너를클릭합니다. 3. 리소스파트너추가마법사시작페이지에서다음을클릭합니다. 4. 정책파일가져오기페이지에서아니요가선택되어있는지확인하고다음을클릭합니다. 5. 리소스파트너정보페이지의표시이름에 Trey Research 를입력합니다. 6. 페더레이션서비스 URI 에 urn:federation:treyresearch 를입력합니다. 이값은대 / 소문자를구분합니다. 7. 페더레이션서비스끝점 URL 에 를입력한후다음을클릭합니다. 8. 페더레이션시나리오페이지에서페더레이션된웹 SSO 를클릭한후다음을클릭합니다. 9. 리소스파트너 ID 자격페이지에서 UPN 자격확인란을선택한후다음을클릭합니다. 10. UPN 접미사선택페이지에서모든 UPN 도메인접미사를다음으로바꾸기를클릭한다음 adatum.com 을입력합니다. 11. 이리소스파트너사용페이지에서이리소스파트너사용확인란이선택되어있는지확인한후다음을클릭합니다. 12. 계정파트너추가마법사완료페이지에서마침을클릭합니다. Windows NT 토큰기반응용프로그램을위한나가는그룹자격매핑만들기 나가는그룹자격매핑을사용하여그룹자격을변환한후리소스파트너에보냅니다. 다음절차를사용하여 Windows NT 토큰기반응용프로그램을위한나가는그룹자격매핑을만듭니다. Windows NT 토큰기반응용프로그램을위한나가는그룹자격매핑을만들려면다음을수행합니다. 1. 시작을클릭하고모든프로그램, 관리도구를차례로가리킨다음 ADFS(Active Directory Federation Service) 를클릭합니다. 2. 페더레이션서비스, 트러스트정책, 파트너조직, 리소스파트너를차례로두번

59 ADFS 배포에대한단계별가이드 59 클릭하고 Trey Research 를마우스오른쪽단추로클릭하고새로만들기를가리킨다음나가는그룹자격매핑을클릭합니다. 3. 나가는새그룹자격매핑만들기대화상자의조직그룹자격에서 Trey TokenApp 자격을클릭합니다. 4. 나가는그룹자격이름에 TokenAppMapping 을입력한다음확인을클릭합니다. 이값은대 / 소문자를구분합니다. 리소스파트너조직의들어오는그룹자격매핑에서지정된값과정확히일치해야합니다. 자격인식응용프로그램을위한나가는그룹자격매핑만들기 다음절차를사용하여샘플자격인식응용프로그램을위한나가는그룹자격매핑을만듭니다. 자격인식응용프로그램을위한나가는그룹자격매핑을만들려면다음을수행합니다. 1. 시작을클릭하고모든프로그램, 관리도구를차례로가리킨다음 ADFS(Active Directory Federation Service) 를클릭합니다. 2. 페더레이션서비스, 트러스트정책, 파트너조직, 리소스파트너를차례로두번클릭하고 Trey Research 를마우스오른쪽단추로클릭하고새로만들기를가리킨다음나가는그룹자격매핑을클릭합니다. 3. 나가는새그룹자격매핑만들기대화상자의조직그룹자격에서 Trey ClaimApp 자격을클릭합니다. 4. 나가는그룹자격이름에 ClaimAppMapping 을입력한다음확인을클릭합니다. 이값은대 / 소문자를구분합니다. 리소스파트너조직의들어오는그룹자격매핑에서지정된값과정확히일치해야합니다.

60 ADFS 배포에대한단계별가이드 60 5 단계 : 클라이언트컴퓨터에서페더레이션된응용프로그램에액세스 이단계에서는다음절차를설명합니다. adfsaccount 페더레이션서버를신뢰하도록브라우저설정구성예제자격인식응용프로그램에액세스 Windows SharePoint Services 응용프로그램에액세스관리자권한을사용하여 Windows SharePoint Services 응용프로그램에액세스 관리자격증명 이단계의처음세작업을수행하기위해관리자격증명을사용하여클라이언트컴퓨터에로그온할필요는없습니다. 즉, 사용자 Alansh 또는 Adamcar 가클라이언트에로그온되어있으면 adfsclient 컴퓨터의로컬관리자그룹 ( 예 : Power Users, Administrators) 에추가되지않은상태에서도웹기반응용프로그램에액세스할수있습니다. adfsaccount 페더레이션서버를신뢰하도록브라우저설정구성 다음절차를사용하여브라우저설정이 adfsaccount 페더레이션서버를신뢰하도록각사용자의 Internet Explorer 설정을수동으로구성합니다. 한번은 Alansh 로로그온하고두번째는 Adamcar 로로그온하여이절차를두번완료합니다. adfsaccount 페더레이션서버를신뢰하도록브라우저설정을구성하려면다음을수행합니다. 1. Internet Explorer 를시작합니다. 2. 도구메뉴에서인터넷옵션을클릭합니다. 3. 보안탭에서로컬인트라넷아이콘, 사이트를차례로클릭합니다. 4. 고급을클릭하고영역에웹사이트추가에 을입력한다음추가를클릭합니다. 5. 확인을세번클릭합니다.

61 예제자격인식응용프로그램에액세스 ADFS 배포에대한단계별가이드 61 다음절차를사용하여해당응용프로그램에대해권한이부여된클라이언트에서샘플자격인식응용프로그램에액세스합니다. 자격인식응용프로그램에액세스하려면다음을수행합니다. 1. adfsclient 컴퓨터에 Alansh 로로그온합니다. 2. 브라우저창을연다음 로이동합니다. 보안경고대화상자에서인증서정보를묻는메시지가두번표시됩니다. 인증서보기, 설치를차례로클릭하여인증서를각각설치하거나메시지가표시될때마다예를클릭합니다. 이러한보안경고프롬프트는각각 " 신뢰여부를결정한적이없는회사에서발급한보안인증서입니다." 라는메시지를표시합니다. 이가이드에서도자체서명된인증서가사용되므로이메시지가표시됩니다. 3. 홈영역을묻는메시지가나타나면 A. Datum, 제출을차례로클릭합니다. 인증서를묻는메시지가한번더표시됩니다. 4. 이때브라우저에자격인식샘플응용프로그램이나타납니다. 샘플응용프로그램의 SingleSignOnIdentity.SecurityPropertyCollection 섹션에서웹서버로전송된자격을확인할수있습니다. 5. Alansh 로로그오프한다음 Adamcar 로로그온합니다. 이절차의 2-4 단계를반복합니다. Adam 의전달자격과 Alan 의전달자격사이의차이점을비교합니다. Windows SharePoint Services 응용프로그램에액세스 다음절차를사용하여해당응용프로그램에대해권한이부여된클라이언트에서 Windows SharePoint Services 사이트에액세스합니다. Windows NT 토큰기반응용프로그램에액세스하려면다음을수행합니다. 1. adfsclient 컴퓨터에 Adamcar 로로그온합니다.

62 ADFS 배포에대한단계별가이드 브라우저창을연다음 로이동합니다. 이전절차에서인증서를설치하지않은경우보안경고대화상자에서인증서정보를묻는메시지가두번표시됩니다. 인증서보기, 설치를차례로클릭하여각인증서를설치하거나메시지가표시될때마다예를클릭합니다. 3. 홈영역을묻는메시지가나타나면 A. Datum, 제출을차례로클릭합니다. 이전절차에서인증서를설치하지않은경우인증서를묻는메시지가한번더표시됩니다. 4. 이시점에서 SharePoint 사이트가나타나야합니다. 읽기권한만있어야합니다. 5. Adamcar 로로그오프한다음 Alansh 로로그온합니다. 이절차의 2-4 단계를반복합니다. SharePoint 사이트의구조는표시되지만 Alan 에게웹사이트내용을읽을수있는권한이없습니다. 관리자권한을사용하여 Windows SharePoint Services 응용프로그램에액세스 프로덕션환경에서는 ADFS 보호웹사이트에대한관리자액세스권한이리소스조직의포리스트에위치해있는계정에주로부여됩니다. 따라서클라이언트컴퓨터에서 Windows SharePoint Services 사이트의설정을수정하려면해당웹사이트에대한관리자격증명이할당된 treyresearch.net 포리스트의계정 (terrya) 을사용합니다. 다음절차를사용하여클라이언트브라우저에서쿠키를삭제하고적절한관리자격증명을사용하여 Windows SharePoint Services 사이트에로그온합니다. 관리자격증명을사용하여 SharePoint 사이트에액세스하려면다음을수행합니다. 1. 브라우저창을열고쿠키를삭제합니다 로이동합니다. 3. 홈영역을묻는메시지가나타나면 Trey Research, 제출을차례로클릭합니다. 4. 자격증명을확인하는메시지가나타나면 treyresearch\terrya 를입력한다음 Terry 의계정과관련된암호를입력합니다. 그러면사이트가나타나고사용자는전체쓰기권한을갖게됩니다.

63 ADFS 배포에대한단계별가이드 Adam 의자격증명을사용하여다시이웹사이트에액세스하려면홈영역을다시 A. Datum 으로변경합니다. 홈영역을변경하려면다음을수행합니다. 중요 a. 다시쿠키를삭제합니다. b. 브라우저창을닫습니다. c. 새브라우저창을엽니다. d. adfsweb 주소를입력합니다. e. 홈영역을묻는메시지가나타나면 A. Datum Corporation 을클릭한다음적절한자격증명을입력합니다. 프로덕션환경에서 Windows SharePoint Services 나 SharePoint Portal Server 2003 을배포하기전에먼저 SharePoint Services 기능이 ADFS 에지원되는지파악해야합니다. 자세한내용은 Microsoft 기술자료웹사이트 ( 의문서 , Windows SharePoint Services and SharePoint Portal Server 2003 Support boundaries for Active Directory Federation Services 를참조하십시오. 이문서에서는 ADFS 에지원되는 SharePoint Services 기능과지원되지않는 SharePoint Services 기능에대해설명합니다. 또한이지침서의부록 B: 지원되지않는 SharePoint 기능을사용하지않도록설정에나오는지침을수행하여이테스트랩에서설정한것과동일한구성을사용하여지원되지않는 SharePoint Services 기능을제거하는방법을배웁니다. 부록 A: ADFS 와함께 SharePoint Portal Server 2003 사용 조직의비즈니스요구에따라페더레이션된사용자가사용할수있도록 SharePoint Portal Server 2003 을구성할수도있습니다. 이섹션에서선택적절차를완료하여 SharePoint Portal Server 2003 을 ADFS(Active Directory Federation Services) 와함께사용할수있도록설치및구성할수있습니다. 이섹션의절차를사용하여 SharePoint 사이트에대한페더레이션된액세스를구성하려면다음하드웨어및소프트웨어가있어야합니다. 추가컴퓨터 5 대 ( 이가이드의 1 단계에서 ADFS 를설치하는데사용한컴퓨터 4 대외 ) Microsoft SQL Server 2000 소프트웨어서비스팩 3(SP3) 이상

64 ADFS 배포에대한단계별가이드 64 이소프트웨어의평가판을구하려면 Microsoft 웹사이트 ( 에서 SQL Server 2000 Evaluation Edition Release A 를참조하십시오. SharePoint Portal Server 2003 소프트웨어 이소프트웨어의평가판을구하려면 Microsoft 웹사이트 ( 에서 SharePoint Portal Server 2003 Trial Software 를참조하십시오. 이가이드의 1-5 단계에서설명한대로샘플자격인식응용프로그램및 Windows SharePoint Services 응용프로그램을모두테스트한후에는다음정보및절차를사용하여 ADFS 와함께사용할 SharePoint Portal Server 2003 을설치및구성할수있습니다. SharePoint Portal Server 2003 및 ADFS의알려진문제 SharePoint Portal Server 2003 검색기능에필요한추가컴퓨터설치 SharePoint Portal Server 2003의 adfsweb 준비 adfsweb 서버인증인증서만들기및내보내기 spsdb에서 SQL Server 2000 설치및구성모든웹서버에 SharePoint Portal Server 2003 설치구성데이터베이스만들기및서버팜토폴로지구성 adfsweb에서 Trey Research 포털사이트만들기및구성페더레이션용 spsindex 및 adfsweb 구성 Trey Research 포털사이트에대한페더레이션된액세스및검색기능테스트 SharePoint Portal Server 2003 및 ADFS 의알려진문제 이가이드에따라 ADFS 와함께사용할 SharePoint Portal Server 2003 을설치하기전에다음알려진문제를검토하는것이좋습니다. SharePoint Portal Server 2003 의대체액세스매핑기능은 ADFS 와는작동하지않습니다. 대체액세스매핑은여러개의 URL(Uniform Resource Locator) 을동일한인터넷정보서비스 (IIS) 가상서버나웹사이트로매핑합니다. 이 URL 은클라이언트가액세스하는위치에따라인트라넷이나엑스트라넷주소로구성할수있습니다. 예를

65 들어인트라넷주소를 로, 엑스트라넷주소를 로구성할수있습니다. ADFS 배포에대한단계별가이드 65 대체액세스매핑을사용하면지정된사이트나응용프로그램에대해고유한반환 URL 이적용되므로 ADFS 에서는대체액세스매핑을지원하지않습니다. ADFS 웹에이전트및페더레이션서비스는반환 URL 을사용하여신뢰정책에서응용프로그램기반인증요구사항을조회하고 SAML(Security Assertions Markup Language) 보안토큰에서대상요소를설정합니다. 또한 ADFS 는다음을수행하지않습니다. 올바른응용프로그램에대한재생공격을방지하기위해토큰이나쿠키가발급되지않은응용프로그램에보안토큰이나쿠키를보냅니다. 개인정보를보호하고사용자의개인신원정보 (PII) 가무단으로노출되지않도록하기위해자격이발급되지않은응용프로그램에대해자격을제공합니다. SSL(Secure Sockets Layer) 종료는 ADFSprotected SharePoint 사이트앞에서사용할경우 ISA(Internet Security and Acceleration) 서버기반 SSL 브리징을사용할때에만작동합니다. SSL 종료는프록시서버나방화벽에의해클라이언트의 HTTPS(Secure Hypertext Transfer Protocol) 요청이먼저처리된구성입니다. 이요청은이어서 HTTP(Hypertext Transfer Protocol) 를사용하여웹서버로전달됩니다. ADFS 에서는페더레이션된클라이언트와 ADFS 보호 SharePoint 사이트간에 SSL 연결을사용해야합니다. 브라우저클라이언트의보안제약조건에따라웹서버까지계속해서 SSL/TLS(Transport Layer Security) 채널보호가필요하기때문입니다. SSL 종료는 ISA 서버기반 SSL 브리징과함께사용할수있습니다. SSL 브리징은 ISA 서버컴퓨터가수신한 SSL 요청을 SSL 요청또는 HTTP 요청중에서어떤것으로웹서버에전달할것인지결정합니다. 즉, ADFS 에서는원래 SSL 클라이언트연결이 ISA 에서종료되지만 ISA 에서 ADFS 보호 SharePoint 사이트까지연결은 HTTPS 로구성해야합니다. SharePoint Portal Server 2003 및 ADFS 검색문제 SharePoint Portal Server 2003 검색프로세스는두부분으로나뉩니다. 먼저크롤러가제공된서버에연결해모든문서와원래파일에표시된 ACL( 액세스제어목록 ) 을검색합니다. 그런다음어떤사용자에게검색된파일에대한액세스를허가해야하는지결정하기위해로컬에서인덱싱컴퓨터가실행됩니다. 크롤러는인증되지않은 POST 를사용하여서버에연결합니다. ADFS 웹에이전트에서이기능을지원하지않으며영구적쿠키를가져오기위해사용자가취할수있는조치가없으므로 ADFS 로검색기능을사용하기위해서는다음항목이필요합니다.

66 ADFS 배포에대한단계별가이드 66 크롤러액세스를위해 SharePoint 서버앞에페더레이션되지않은웹프런트엔드서버가있어야합니다. 인덱스서버의호스트파일은페더레이션되지않은웹프런트엔드서버를가리키도록수정해야합니다. 이작업을수행하는방법에대한지침은호스트파일수정을참조하십시오. 인덱싱되거나검색된파일은인덱싱컴퓨터와같은도메인에있거나트러스트된도메인에있어야합니다. 크롤러는검색한파일에표시된 ACL 을반환합니다. 이 ACL 에는액세스가허가된사용자의 SID( 보안식별자 ) 가들어있습니다. 인덱싱컴퓨터는 Active Directory 에있는사용자계정의 SID 와원래 ACL 의 SID 를비교하여사용자에게필터링된파일목록을제공합니다. 파일을 Windows 트러스트가없는계정파트너도메인에서검색할경우에는이작업이실패합니다. 이는원래 ACL 에계정파트너도메인의외부사용자계정에해당되는 SID 가들어있지만인덱싱컴퓨터가이 SID 를리소스도메인에있는외부사용자리소스계정의 SID 와비교하기때문입니다. SharePoint Portal Server 2003 에서 IIS 익명인증을적용하도록 web.config 파일을수정해야합니다. 이작업을수행하는방법에대한지침은익명액세스를적용하기위해 adfsweb 에서 web.config 파일수정을참조하십시오. 기본적으로 SharePoint Portal Server 2003 에서는 Windows 통합인증을사용해야합니다. ADFS 에서는모든인증요청이 ADFS 웹에이전트를통과하도록익명인증에맞게 IIS 를구성해야합니다. ADFS 에대한 SharePoint 지원과관련된최근문제를보려면 Microsoft 기술자료웹사이트 ( 에서문서 Windows SharePoint Services and SharePoint Portal Server 2003 Support boundaries for Active Directory Federation Services 를참조하십시오. SharePoint Portal Server 2003 검색기능에필요한추가컴퓨터설치 SharePoint Portal Server 2003 검색기능을 ADFS 와함께사용하려면대형서버팜배포에맞게 SharePoint Portal Server 2003 을구성해야합니다. SharePoint Portal Server 2003 을사용하여대형서버팜을설치하려면컴퓨터가 6 대이상있어야합니다. 각컴퓨터에는다음목록에나와있는것처럼팜에할당된전용역할이있습니다.

67 ADFS 배포에대한단계별가이드 67 SharePoint Portal Server 2003 웹서비스를실행중인웹서버두대 ( 일반적으로는프런트엔드웹서버로알려져있음 ) SharePoint Portal Server 2003 검색서비스를실행중인웹서버두대 SharePoint Portal Server 2003 인덱스서비스를실행중인웹서버한대 SharePoint Portal Server 2003 콘텐츠데이터베이스를저장하는 SQL Server 2000 을실행중인데이터베이스서버한대 페더레이션된사용자가검색기능에액세스할수있도록하려면 ADFS 에서 ADFS 웹에이전트및익명액세스를활성화하여한대이상의전용프런트엔드웹서버를페더레이션에맞게구성해야합니다. 두번째프런트엔드웹서버는페더레이션되지않으며 Windows 통합인증으로설정됩니다. 이가이드에서는 adfsweb 이라는이름의서버가페더레이션된프런트엔드웹서버역할을합니다. 다음으로기존 ADFS 테스트랩에추가로 5 대의컴퓨터를추가하고 SharePoint Portal Server 2003 서비스또는 SQL 서비스를호스팅하도록구성합니다. 그리고나서다음그림에서와같이 treyresearch.net 도메인에컴퓨터를가입합니다. 이섹션에서는다음절차를설명합니다.