Ossian Story
article thumbnail

Active Directory Federation Services (ADFS/SSO) 구축하기



Active Directory Federation Service (ADFS)란?


ADFS는 Office 365, 클라우드기반 SaaS Application, 내부의 Network, 내부의 Application의 다양한 엑세스 제어 및 Single Singe On(SSO)을 제공합니다.
IIS 설치는 인증서가 이미 발급되어 있는 경우 진행하지 않으셔도 됩니다.(*.pfx 인증서를 보유중일 경우)
또한 Active Directory Service가 설치되어 있는 환경에서 ADFS를 구현하신다면 반드시 
 ADFS 설치 전 "sc triggerinfo kdssvc start/networkon" 명령어를 커맨드에 입력하여 Windows 키 배포 서비스를 트리거 시켜주어야 합니다. 이유는 재부팅하였을 시 ADFS Service가 Windows키 배포 서비스 보다 먼저 시작되었을 시 ADFS Service가 Start Pending 될 수 있기 때문입니다.




IIS 및 SSL 인증서 발급 / 설치하기


이번 포스팅에선 AFDS 설치부터 인증서 받기 등 ADFS의 전반적인 모든 사항을 포스팅 합니다.

또한 Active Diretory Service가 설치되어 있다는 가정하에 포스팅 됩니다.

구축순서는 "IIS 설치 > 인증서 발급 > ADFS 설치 > SSO  Test"로 진행됩니다. 


1. 인증서의 쉬운 설치를 위한 IIS 서버 설치하기
   - 서버관리자의 역할 및 기능 추가에서 IIS 웹 서비스를 설치합니다.

  


2. IIS 역할에서 필요한 기능들을 설치합니다.
    - 기본적으로 인증에 대한 부분들을 선택하며 추가적으로 필요한 기능이 있다면 설치하면 됩니다.

  


  


3. IIS 실행 후 "인증서"를 클릭합니다.

  


4. 우측의 "인증서 요청 만들기"를 클릭한 후 인증서 요청정보를 입력합니다.

  


  


  


5. 인증서 요청까지 만들어 졌다면 SSL 인증서를 발급받기 위해 "https://www.gogetssl.com/ "사이트에 접속합니다.

   - 인증서 생성요청은 "무료 SSL 인증서 발급받기"를 참조하여 인증서를 발급 받습니다.

   - 단, CRS키 값 입력 부분에 IIS에서 생성한 CRS 키 값을 입력해야 합니다.
   - Paste your CSR 부분에 IIS에서 생성한 CSR 키 값을 넣은 후 "Validate CSR" 버튼을 클릭합니다. 그 이후에는 "무료 SSL 인증서 발급받기"
     포스팅을 참조 부탁드립니다.

  


6. SSL 인증완료 후 "Download CRT"를 클릭하여 인증서를 다운로드 받습니다.

  


7. 다시 IIS로 돌아온 후 우측 "인증서 요청 완료"를 클릭하여 발급받은 SSL 인증서를 선택합니다.
    - 인증서를 찾지 못할 경우 파일 형식을 "*.*"으로 변경 후 발급받은 SSL 인증서를 선택합니다.

  


8. 구분하기 쉬운 인증서 이름으로 변경 후 확인 버튼을 클릭합니다.

  


9. IIS를 통한 인증서 설치 절차가 모두 완료되었습니다. 이제 ADFS 설치를 진행합니다.  

  




Active Directory Federation Service (ADFS) 설치하기


1. 서버관리자 역할 및 기능추가에서 Active Directory Federation Service 를 설치합니다.

  


2. ADFS 설치가 완료되었다면, "이 서버에 페더레이션 서비스를 구성하십시오"를 클릭합니다.

  


3. "다음" 버튼을 클릭합니다.

  


4. Active Directory에 연결합니다. 이번 포스팅의 경우 ADFS Service와 AD Service가 하나의 Server에 구성되어 있음에 따라 자동으로 설정됩니다.

  


5. SSL 인증서 부분에 이전에 발급 및 설치한 SSL 인증서를 선택한 후 다음을 클릭합니다.

  


6. 아래의 명령어를 PowerShell에 입력하여 KDS 루크 키를 활성화 합니다.
    - Add-KdsRootKey -EffectiveTime (Get-Date).AddHours(-10)

  


7. PowerShell 입력 후 "이전" 버튼 클릭 후 다시 "다음" 버튼을 클릭하여 새로고침 합니다.
   - 관리자 계정 또는 관리 서비스 그룹계정을 통해 서비스 구동이 가능합니다.
   - 이번 포스팅에서는 관리자 계정으로 ADFS 서비스를 구동하겠습니다.
     + GMSA 계정을 만들어 관리하고 싶을 경우 아래의 명령어를 입력하여 GMSA 계정을 생성합니다.
        
Add-KdsRootKey -EffectiveTime (Get-Date).AddHours(-10)

        New-ADServiceAccount FsGmsa -DNSHostName adfs1.contoso.com -ServicePrincipalNames http/adfs1.contoso.com
     + GMSA 계정 생성시에는 기존 도메인 사용자에 FsGmsa 계정을 선택합니다.

  


  


8. 별도의 데이터베이스를 구축하는 것이 아니라면 Windows 내부의 기본 데이터베이스를 사용합니다.

  


9. 설치가 완료되었다면 "닫기"를 클릭하여 ADFS 설치를 완료합니다. 

  




ADFS 서버 접속을 위한 DNS Record 설정


1. 외부에서 URL로 접근할 수 있도록 DNS에 ADFS 서버에 대한 A Record 등록을 진행합니다.

  




ADFS Login Test


1. https://<User Domain name>/adfs/ls/IdpInitiatedSignon.aspx 으로 접속합니다.

   - Site가 정상적으로 표시되었다면 Active Directory에 생성한 계정으로 로그인을 시도해봅니다.
   - 정상적으로 로그인 될 경우 ADFS Server 구축을 완료한 것입니다. 

  


  


  



profile

Ossian Story

@ossians