«Ø¸m¤@Ó¦³¼u©Ê¤S¨ã³ÆHA¬[ºcªºADFSªA°È§@ªÌ¡G³¯¬fîÚ / pºâ¾÷¤Î¸ê°Tºô¸ô¤¤¤ß§@·~ºÞ²z²Õ·F¨Æ
³æ¤@»{ÃÒñ¤J(Single Sign
On)ªº¬[ºc¾É¤J«á¡A»{ÃÒªA°ÈªºÃ©w«×´NÅܪº¬Û·í«n¡AADFSªA°È¬°¨ä¤¤ªº¤@ÓÃöÁäªA°È¡A¦p¦ó«Ø¸m¤@Ó¦³¼u©Ê¤S¦³°ª¥i¥Î«×ªºADFS´NÅܪº«Ü«n¡A¥»¤å
±N¤¶²Ð¦p¦ó«Ø¸m¤@Ó°ª¥i¥Î«×ªºADFS
Farm Service¡C
ADFS¬OADªºFederation Service¡A¥Dn´N¬OÅý¥~³¡ªºªA°È¥i¥H³z¹LFederation
Service¥D¾÷¨Ó§Q¥ÎAD¶i¦æÅçÃÒ¡A¶i¦Ó¹F¨ìSingle Sign Onªº¥Ø¼Ð¡A¬°Windows Server¸Ì±ªº¤@Ó¨¤¦â¡C
³oÃ䲳檺¸ÑÄÀ¤@¤UADFS¬O¦b°µ¤°»òªº¡A¥H»O¤j¨Ó»¡¡A±q¦Û¦æ¶}µoªº®Õ°È¨t²Î¡B¹q¤l¶l¥ó¡BµL½uºô¸ô¤Î¶³ºÝªA°È¡A¥[¤W©e¥~ªº¨t²Îµ¥¡A³£»Ýn¶i¦æµn¤JªÌªº¨¤ÀÅçÃÒ¡A³oÓ¨¤ÀÅçÃÒ¾÷¨î¥²¶·¬O¦w¥þ¦Ó¥B³q¥Î¡C
³Ìª½±µªºÅçÃҤ覡´N¬O¨C¤@Ó¨t²Î³£«Ø¥ß¤@Ó§t¦³¨Ï¥ÎªÌ±b¸¹¤Î±K½Xªº¸ê®Æ®w¥H¨Ñ¬d¸ß¡A¦ý»O¤jªº±b¸¹Ãþ«¬¹ê¦b¤Ó¦h¡A¥ú¬O¾Ç¥Í¥[¤W±Ð¾û¤uªºÃþ«¬©Mª¬ºA´N¤£¤U¼Æ¤QºØ¡AÁÙ¦³¤Hûªº²§°Ê¡B±K½XªººÞ²z¡A³o¨Ç¦]¯À·|¾ÉP±b¸¹ºÞ²zªº¦¨¥»·|«D±`°ª¡CY¦Ò¼{¾ã¦X¡A«h»O¤j¤º³¡¥i¦@¥Î¤@Ó¸ê®Æ®w¡A¦ý¥~³¡ªº¨t²Î©O¡H
³o®ÉADFS´N¬£¤W¥Î³õ¤F¡AADFSªººë¯«´N¦b©ó¥~³¡ªºA¨t²Î¥i¥H¸òB¨t²Î«Ø¥ß«H¥ôÃö«Y¡A·íBªº¨Ï¥ÎªÌn¦bA¨t²Îµn¤J®É¡A·|«·s¾É¦V¨ìBªº»{ÃÒ¨t²Î¶i¦æÅçÃÒ¡AYÅçÃÒ³q¹L¡A´N¥i¥H¨Ï¥ÎAªºÀ³¥Î¨t²Î¡A¾ãÓ¹Lµ{´N¦b©óAªºÀ³¥Î¨t²Î«H¥ôBÅçÃÒ¥L¦Û¤vªº¨Ï¥ÎªÌ¡C
ADFSªº¬[ºc¥iµø±¡ªp¦p¥H¤U¤è¦¡³W¹º¡G
¡@
¥»¤ån½Íªº¬O¦p¦ó«Ø¥ß¤@Ө㦳®e¿ùªºADFS Farm¬[ºc¡A¤]´N¬O¤W¹ÏªºÂŦⳡ¤À¡A¨ãÅ骺Àô¹Ò·Ç³Æ¦p¤U¡G
- ADFS¥D¾÷¡GWindows Server 2012 Standard¨â³¡¥H¤W¡A«Øij¥ÎVM(°µ¿ù¥Î§Ö·Ó¦^´_¤ñ¸û¤è«K)¡A½Ð¥ý¥[¤Jºô°ì¡C
- ½Ð¦b¨ä¤¤¤@¥x¦w¸ËSQL Server Management Studio¡A¦]¬°»Ýn¥Î¨ìsqlcmd³oÓ¤p¤u¨ã¡C
- ¸ê®Æ®w¥D¾÷¡GWindows SQL Server 2012¡A¥HCluster¤è¦¡«Ø¸m¡C
¨ãÅén°µªº¨Æ±¡¬°¥H¤U¤T¶µ¡G
(1) ·s¼WADFS¨¤¦â
(2) ±NConfigurationÀÉ®×¥ÑInternal Database·h¦ÜSQL Server
(3) ±N¨ä¾lADFS¥D¾÷¥[¤J¦P·ù¦øªA¾¹
³oÃä»Ý¸ÑÄÀ¬°¤°»òn§âConfiguration¸ê®Æ·h¨ìSQL Server¡A¦]¬°¹w³]ªºADFS
Configuration¸ê®Æ¬O©ñ¦bWIDªº¡A´N¬OWindows Internal Database¡A¬°¤@Ó¤º«Øªº¤p¸ê®Æ®w¡A¦ý©ñ¦bWID·|¦³¤@¨Ç¨î¡A©x¤èªº¸ÑÄÀ¦p¤U¡G
- No more than five federation servers
should be added to a federation server farm deployment. If you
need more federation servers to support higher performance in
farm deployment, use SQL Server instead.
- No more than 100 trust relationships
of the same type (either claims provider trusts or relying party
trusts) can be supported. For example, you can have up to 100
claims provider trusts and 100 relying party trusts with a
Windows Internal Database deployment, but to exceed this number
for either category of trusts, use SQL Server instead.
(°Ñ¦Ò¥X³B¡Ghttp://technet.microsoft.com/en-us/library/gg557750(v=ws.10).aspx)
²Ä¤@ÂIÁÙ¦n¡A´N¬O¤£¯à©ñ¶W¹L¤¥x¦P·ù¦øªA¾¹¡A°£«D¬O«D±`¤jªº³W¼Ò»Ýn¶W¹L¤¥x¡A¤£µMÀ³¸Ó°÷¥Î¡A¦ý¬O²Ä¤GÂI´N¤ñ¸û³Â·Ð¡A¤£¯à¶W¹L¤@¦Êµ§ªº«H¥ôÃö«Y¡A¤@Óºô§}¶i¨Ó¶i¦æ»{ÃÒ¡A´Nºâ¤@Ó¡A²{¦b¨ä¹ê¤£ºÞþÓ³æ¦ì¡AÀ³¥Î¨t²Î³£«D±`¦hÓ¡A¤@¦Êµ§«H¥ôÃö«YªÖ©w¬O¤£°÷¥Îªº¡A¬°¤F¥¼¨ÓªºÂX¥R©Ê¡A¥u¦n±Ë±ó¥ÎWID¤F¡C
±µ¤U¨Ó´N¬O¹ê°µ¤F¡A¸Ô²Óªº¨BÆJ°O¸ü¦p¤U¡G
Step.0 ¥ý¦bADFS¥D¾÷¤W¦w¸ËADFS¨¤¦â
-----------------------------------------------------------------------------------------------------------------------------------
¥H¹w³]ªº¤è¦¡¨Ó¦w¸Ë«h«Ü§Ö´N¥i¥H¦w¸Ë§¹²¦¡A¸Ë¦nªº·í¤U´N·|´£¥Ü§A¥i¥H§âADFS²Ä¤G¥x¡B²Ä¤T¥x¥[¶i¥hÅý¥LÅܦ¨¤@Ó¦P·ù¡A¥i¥H¦P®É´£¨Ñ°ª¥i¥Î©ÊªºªA°È¡A§Ú̶i¦æ¥Ü½dªºÀô¹Ò¬OServer
2012¡A¥¦¤ñ2008 R2²³æ«Ü¦h¡A¦]¬°2008R2¹w³]¬OADFS 1.0¡A¥²¶·¥t¥~¿W¥ß¸ËADFS2.0¡AServer
2012´N¦n¦h¤F¡Aª½±µ¤º«Ø2.0¡C
¡@
Step.1 ±NADFSªºªA°È°±¤î¡A¨Ã±N¸ê®Æ®wÀɮרø¸ü¨Ã·h¥X
-----------------------------------------------------------------------------------------------------------------------------------
¶}±Ò¤uµ{®vªº¦nªB¤Í Command Prompt¡A°O±on«ö¥kÁä"¥H¨t²ÎºÞ²zû¨¤À°õ¦æ"¡AµM«á¿é¤J¡G
net stop
adfssrv
§âADFSªºªA°È°±±¼¡A¨S¦³¥Î¨t²ÎºÞ²zû¨¤À´N·|¦s¨ú³Q©Ú¡A¨ä¹êª½±µ¥hªA°ÈÃö±¼¤]¬O¥i¥H¡A¦ý¤uµ{®v¥Î¥´«ü¥Oªº¤è¦¡¥i¥H§ó¥[ªí²{¥X±M·~«×¡C
±µ¤U¨Ón§âWID¤W±ªº¸ê®Æ®w¥ý¨ø¸ü¡A¥´¶}PowerShell¡A¿é¤J¥H¤U«ü¥O¡G
sqlcmd -S
\\.\pipe\MICROSOFT##WID\tsql\query
use master
go
sp_detach_db 'adfsconfiguration'
go
sp_detach_db 'adfsartifactstore'
go
·L³n¦bServer 2012§âWIDªº¥Ø¿ý§ï¤F¡A¦pªG¦U¦ì¦³¥hGoogle´N·|µo²{¡A¥H¤U¬O®t§O
³B¡G
Server 2008R2:
sqlcmd -S \\.\pipe\MSSQL$MICROSOFT##SSEE\sql\query
Server 2012:
sqlcmd -S \\.\pipe\MICROSOFT##WID\tsql\query
¦pªG§A¦b2012°õ¦æ¡A·|µo²{¤U«ü¥O®Ú¥»¨S¤ÏÀ³¡A¦]¬°¸ô®|¤w¸g´«¤F¡A¥H«e¬O¦bC:\Windows\SYSMSI\SSEE\MSSQL.2005\MSSQL\Data
²{¦bªº¸ô®|¤w¸g§ï¨ì¤FC:\Windows\WID\Data¤U±¡A¥Ñ¦¹¥i¨£¡A«Ü¦h«ü¥O³£n«§ä¡A¤£µM¤@©w·|±`±`¸I¾À¡C
¡@
Step.2 §â¸ê®Æ®wÀɮײ¾°Ê¨ì SQL SERVER¸ê®Æ®w¥D¾÷¤U
-----------------------------------------------------------------------------------------------------------------------------------
¨ø¸ü¤F¤§«á¡A¨ìC:\Windows\WID\Data¤U¡A§â¨âÓ¸ê®Æ®wÀɮ׸ò¨âÓLOGÀÉ
Ć adfsconfiguration.mdf
Ć adfsconfiguration_log.ldf
Ć adfsartifactstore.mdf
Ć adfsartifactstore_log.ldf
³o¥|ÓÀɮ׽ƻs¨ìSQL Server©ñ¸ê®Æ®wÀɮתº¥Ø¿ý¤U¡A¦ý¨ä¹ên©ñþ¸Ì³£¥i¥H¡A¸ò¨ä¥LMDF©ñ¦b¤@°_¤]¥i¥H¡C
¡@
Step.3 §âADFSªº¸ê®Æ®w¦bSQL Server±¾¸ü°_¨Ó
-----------------------------------------------------------------------------------------------------------------------------------
³Â·Ð¥´¶}DBAªº¦nªB¤Ísqlcmd¡A¿é¤J¥H¤U«ü¥O¡G
sqlcmd -S \\.\pipe\MICROSOFT##WID\tsql\query
use master
go
sp_attach_db 'adfsconfiguration',
'F:\MSSQL11.MSSQLSERVER\MSSQL\DATA\adfsconfiguration.mdf',
'F:\MSSQL11.MSSQLSERVER\MSSQL\DATA\adfsconfiguration_log.ldf'
go
sp_attach_db 'adfsartifactstore',
'F:\MSSQL11.MSSQLSERVER\MSSQL\DATA\adfsartifactstore.mdf',
'F:\MSSQL11.MSSQLSERVER\MSSQL\DATA\adfsartifactstore_log.ldf'
go
alter database AdfsConfiguration set
enable_broker with rollback immediate
go
*¸Ì±ªº¸ô®|´N¬O§A©ñ mdf Àɸò ldf Àɪº¦a¤è³á
¦¨¥\ªº¸Ü¡A´N¥i¥H¦b§AªºSQL Server¤U±¬Ý¨ìconfiguration¸òartifactstore¸ê®Æ®w¤F¡C
¡@
Step.4 §âADFSªº Configuration¸ê®Æ®w³]©w¤Á¨ìSQL Server
-----------------------------------------------------------------------------------------------------------------------------------
°µ¤F³oÓ¨BÆJADFS¤~·|¥h¦s¨úSQL Serverªº¸ê®Æ®w ½Ð¥Î¨t²ÎºÞ²zû¨¤À°õ¦æPowershell¿é¤J¡G
$temp=GEt-WmiObject -namespace root/ADFS
-class SecurityTokenService
$temp.ConfigurationdatabaseConnectionstring="data source=yourdatasource;initial
catalog=adfsconfiguration;User ID=username;Password=password;"
$temp.put()
*¸Ì±ªºdata source½Ð¨Ì·Ó§Aªº¸ê®Æ®w¦WºÙ³]©w
³oÃä°O¦í¤@©wn¡u¥H¨t²ÎºÞ²zû¨¤À°õ¦æ¡v¡A¤£µM³Ì«á$temp.put()·|¦^¶Ç¤F¤@ÓµL®ÄÈ0¡A¨ä¹ê´N¬OÅv¤£¨¬¡C
¡@
Step.5 ±Ò°ÊADFSªA°È
-----------------------------------------------------------------------------------------------------------------------------------
¥H¨t²ÎºÞ²zû¨¤À°õ¦æ Command Prompt¡A¿é¤J
net start adfssrv
¥i¥H±Ò°Ê¥Nªí§Aèè¤Á´«¦³¦¨¥\¡C
¡@
Step.6 §âADFSªºartifactstore dbconnection³]©w¤Á¨ìSQL Server
------------------------------------------------------------------------------
°O±o§ÚÌèè²¾Âà¤F¨âÓ¸ê®Æ®w¶Ü¡H²{¦bn§â¥t¥~¤@Ó³]©w¤]¤Á¹L¥h¡A½Ð¥Î¨t²ÎºÞ²zû¨¤À°õ¦æPowershell ¿é¤J¡G
Add-pssnapin microsoft.adfs.powershell
Set-adfsproperties ¡Vartifactdbconnection ¡§data source=DATASOURCE;
initial catalog=adfsartifactstore;integrated security=true¡¨
*¸Ì±ªºdata source½Ð¨Ì·Ó§Aªº¸ê®Æ®w¦WºÙ³]©w
¡@
Step.7 «·s±Ò°ÊADFSªA°È
-----------------------------------------------------------------------------------------------------------------------------------
¥H¨t²ÎºÞ²zû¨¤À°õ¦æ Command Prompt¡A¿é¤J
net stop adfssrv
net start adfssrv
¦¨¥\ªº¸Ü¥Nªí¨âÓ¸ê®Æ®w³£¤Á´«¨ìSQL Server¤F¡C
¡@
Step.8 §âADFS Server¥[¤J¦P·ù¦øªA¾¹
-----------------------------------------------------------------------------------------------------------------------------------
èè¥u°µ¤F²Ä¤@¥x¡A²{¦bn§â¨ä¥L´X¥x¤]¥[¶i¥h¦P·ù¦øªA¾¹
½Ð½T©w¥H¤U¨Æ±¡³£·Ç³Æ¦n¤F¡G
- ¦³¥[¤Jºô°ì
- ADFS¨¤¦â¦w¸Ë§¹²¦
- ADFS¾ÌÃÒ¦³import¶i¥h¥B¬O¥¿±`ªº
- ¦bIIS¤¤§âADFS¥Îªº¾ÌÃÒôµ²¨ì Default Web Siteªº443 PORT
²Ä¤TÂIªº·N«ä¬O¡A§An¦b¾ÌÃÒºÞ²z¸Ì±¬Ý¨ì¾ÌÃÒ¬O¨S¦³°ÝÃDªº¤~ OK¡C
²Ä¥|ÂI¨S¦³°µ¦nµ¥¤@¤U¥[¤J¦P·ù¦øªA¾¹·|¦³Äµ§i¥X²{¡C
¡@
¦pªG§âConfiguration¸ê®Æ·h¨ìSQL Serverªº¸Ü¡A´N¤£¯à¥ÎºëÆF¥[¤J¦P·ù¡A¤@©wn§Q¥Î«ü¥O¤è¦¡¨Ï¥ÎADFS¥Ø¿ý¤UªºFsConfig.exe¸Ì±ªºJoinSqlFarm«ü¥O¤~¥i¥H¥[¤J¡A½Ð¥ÎºÞ²zû¨¤À¥´¶}Command
Prompt¡A¨ìADFS©Ò¦bªº¥Ø¿ý¤UC:\Windows\ADFS¿é¤J¡G
FsConfig.exe
JoinSQLFarm /ServiceAccount
DomainName\AccountName /ServiceAccountPassword
Password
/SQLConnectionString "data source=YourDataSource;initial
catalog=adfsconfiguration;User ID=username;Password=password;"
*¬õ¦â³¡¤À¬O¨Ì·Ó§Aªº±b¸¹¶ñ¤J¡A¸Ì±ªºdata source½Ð¨Ì·Ó§Aªº¸ê®Æ®w¦WºÙ³]©w
¦pªG¤§«e¨S¦³¦b IIS §â¾ÌÃÒôµ²¦¨¥\ ·|¦³¥H¤U¿ù»~µe±¡G
¦¨¥\ªº¸Ü´N¹³¥H¤U³o¼Ë¡G
±µ¤U¨Ó´N§â³Ñ¤Uªº ADFS ¥D¾÷¤@¤@¥[¤J¡A´N¤j¥\§i¦¨¡C¤§«á´N¥i¥H³]©wNLBÅý¼Æ»OADFS¥D¾÷¶i¦æLoad
Balance¡A³o¼Ë´N¦³°ª¥i¥Î©Ê¤F¡C
¦pªG°µªº¶¶§Qªº¸Ü¡A¨ä¹ê¤j·§¤@¤p®É¤º´N¥i¥H«Ø¸m§¹¦¨¡A¦ý¤¤¶¡¹Lµ{¨ä¹ê«Ü®e©ö¸I¾À¡A¦pµ§ªÌ²Ä¤@¦¸°µ¤j·§ªá¤F¥|Ó¤p®É¥ª¥k¡C¸I¾Àªº¸Ü¤]¨SÃö«Y¡A¨ä¹ê´N¬O¦h¸Õ¤@¤U´N¥i¥H¤F¡A¼W¥[¸gÅçȤ]¬O¤£¿ùªº¡A§Æ±æ¤j®a³£¦³¤@Ó«ÜéwªºADFSªA°È¡C |