Zertifizierungsstellen-Webregistrierung mit einem Group Managed Service Account
Wer die Webregistrierung sprich den AppPool mit einem delegierten Account betreiben möchte, der geht wie folgt vor. Der gMSA-Account wird zusätzlich für die “Eingeschränkte Delegierung” konfiguriert.
CAWE gMSA Account
Das Vorhaben setzten wir komplett mit der Powershell um. Von der Einrichtung des Group Managed Service Accounts bis hin zur Konfiguration des AppPools.
Create gMSA & Configuration
# Domain Controller
New-ADServiceAccount -Name gMSA-SubCA -PrincipalsAllowedToRetrieveManagedPassword SRVSubCA$ -DNSHostName gMSA-SubCA.dwp.local
setspn -S HTTP/SRVSubCA.dwp.local DWP\gMSA-SubCA
$AllowedToDelegateTo = @(
“rpcss/SRVSubCA”,
“rpcss/SRVSubCA.dwp.local”,
“HOST/SRVSubCA”,
“HOST/SRVSubCA.dwp.local”
)
Get-ADServiceAccount -Identity gMSA-SubCA -Properties *
Get-ADServiceAccount -Identity gMSA-SubCA | Set-ADObject -Add @{“msDS-AllowedToDelegateTo”=$AllowedToDelegateTo}
Get-ADServiceAccount -Identity gMSA-SubCA | Set-ADAccountControl -TrustedToAuthForDelegation $True
Der gMSA Account wurde mit seinen Eigenschaften angelegt.
Nun folgt die Installation des gMSA-Accounts auf der CA sowie die Konfiguration des IIS AppPools.
Install local Group Set Identity
# SRVSubCA
Add-WindowsFeature RSAT-AD-PowerShell
Install-ADServiceAccount gMSA-SubCA
Test-ADServiceAccount gMSA-SubCA
Add-LocalGroupMember -Group IIS_IUSRS -Member DWP\gMSA-SubCA$
Import-Module WebAdministration
Set-ItemProperty IIS:\AppPools\DefaultAppPool -name processModel -value @{userName=”gMSA-SubCA$”;password=””;identitytype=3}
IISReset
Zum Abschluss prüfen wir noch, ob der spezifische Benutzer einem AppPool zugewiesen wurde.
Check Specific User
$appPools = Get-WebConfiguration -Filter ‘/system.applicationHost/applicationPools/add’
foreach($appPool in $appPools)
{
if($appPool.ProcessModel.identityType -eq “SpecificUser”)
{
Write-Host $appPool.Name -ForegroundColor Green -NoNewline
Write-Host ” -“$appPool.ProcessModel.UserName”=”$appPool.ProcessModel.identityType
}
}