Je MacOS integrované v Microsoftím firemním on-premise prostředím pro správce noční můrou nebo procházka růžovou zahrádkou? Ani jedno, jde spíše o různé kompromisy a návyky.
Začneme s připojením do lokální domény Active Directory pomocí nástroje Adresářová utilita (originální návod od Apple). Pro připojení potřebujeme doménového uživatele, který má oprávnění k připojení počítače do domény.
Následně v nastavení u doménového uživatele zapneme Mobilní účet
, který umožňuje přihlašování se i v offline režimu (bez dostupnosti doménových řadičů). Po aktivaci se navíc na přihlašovací obrazovce zobrazí ikona uživatele (pro jednodušší přihlašování). V případě, že máme jablečné hodinky, lze je použít pro odemykání Macu s tímto doménovým uživatelem.
Pro přístup k souborům sdílené z windows (protokolem smb) můžeme použít klasické připojení přes Finder – Připojit a zadat cestu k serveru a sdílení. Případně se lze připojit i oboru názvů souborového systému DFS, ve formátu smb://example.com/DFSroot
. Před připojením si změníme parametry u připojování:
sudo defaults write /Library/Preferences/com.apple.NetworkAuthorization UseShortName -bool YES
sudo defaults write /Library/Preferences/com.apple.NetworkAuthorization UseDefaultName -bool NO
sudo defaults write /Library/Preferences/com.apple.NetworkAuthorization AllowUnknownServers -bool YES
Připojení následně proběhne přes Kerberos ověření s oprávněním aktuálně přihlášeného doménového uživatele (single sign on).
Nejzajímavější část integrace budou webové aplikace, ty lze rozběhat v Safari pouze pokud podporují ověřování Kerberos. S ověřením NTLM se v macOS jednoduše přes SSO nepřihlásíte. Tedy na webovém serveru (např. IIS) povolit ověřování Windows, zakázat Anonymní, zkontrolovat zda-li je Provider nastaven na Negotiate
a jestli jsou správně nastavena SPN pro daný webový server.
Pokud je vše správně nastaveno, Safari si bez problémů zažádá o Kerberos lístek pro daný server a následně se na něj přihlásí. Což můžeme ověřit příkazem klist
, který vylistuje všechny vydané lístky na daném počítači.
Pokud pro procházení webových stránek používáme Chrome nebo Edge, je potřeba delegace ověření povolit pro danou doménu, konkrétně příkazy:
defaults write com.google.Chrome AuthServerWhitelist "*.example.com, example.com"
defaults write com.google.Chrome AuthNegotiateDelegateWhitelist "*.example.com, example.com"
defaults write com.microsoft.Edge AuthServerWhitelist "*.example.com, example.com"
defaults write com.microsoft.Edge AuthNegotiateDelegateWhitelist "*.example.com, example.com"
To je prozatím vše. Snad to taková noční můra nebyla 🙂