При запуске консоли ЦС (certsrv.msc), я могу щелкнуть правой кнопкой мыши свой ЦС, выбрать Характеристики а затем я могу изменить ACL моего ЦС в Безопасность вкладка Когда я изменяю его, изменения применяются к объекту AD по адресу:
CN=MY-CA,CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=contoso,DC=com
Когда я просматриваю его в редакторе ADSI, измененные записи ACL не наследуются, а применяются напрямую (как и ожидалось). Но когда я изменяю ACL этого объекта программно, например:
Import-Module ActiveDirectory
$path="AD:CN=MY-CA,CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=contoso,DC=com"
$acl = Get-Acl -Path $path
$acl.AddAccessRule(...)
Set-Acl -Path $path -AclObject $acl
Затем я вижу эти изменения в редакторе ADSI, но не вижу этих изменений, когда просматриваю ACL моего ЦС через консоль ЦС.
Итак, я делаю что-то не так? Должен ли я программно изменять и другие объекты?
Что я пробовал:
- После изменения я заставил AD синхронизироваться с:
repadmin /syncall /Aed - Я перезапустил службу ЦС
certsvc
Но это не похоже на проблему «синхронизации»…
Active Directory центр сертификации PowerShell Windows Server 2019 Ad-Certificate-Services
2 ответа
Эти ACL несколько отличаются. ACL для объекта AD влияет только на запись AD, и они не распространяются на CA.
ACL, которые вы видите в консоли CA Management, хранятся в конфигурации CA в реестре.
Я не уверен, есть ли простой способ редактировать разрешения в CA с помощью PowerShell изначально (без сторонних инструментов). Тем не менее, я бы рекомендовал использовать PKI PowerShell модуль для упрощения задачи. Модуль содержит несколько команд, связанных с ACL:
- Connect-CertificationAuthority
- Get-CertificationAuthorityAcl
- Add-CertificationAuthorityAcl
- Remove-CertificationAuthorityAcl
- Set-CertificationAuthorityAcl
ps я автор этого модуля PSPKI
Каждая команда имеет встроенную и интерактивную справку с полезными примерами использования каждой команды.
Склеп32
Благодаря указателям Crypt32 и некоторым дополнительным источникам1я придумал кроме того необходимые изменения, которые необходимо внести в реестр ЦС:
защита стека
