为 sailpoint 服务帐户分配权限时出现问题

为 sailpoint 服务帐户分配权限时出现问题

我被分配了建立 sailpoint 服务帐户的任务,但没有为其分配域管理员权限。

我已将父 OU 的控制权委托给服务帐户,并为该帐户分配了以下权限

  • 读取所有属性
  • 阅读成员
  • 写入所有属性
  • 写入成员

然而,当我们尝试在子 OU 中重置密码时,权限却被拒绝。

我是否遗漏了什么?

答案1

如果执行管理重置,您需要授予重置密码 Active Directory 扩展权限(00299570-246d-11d0-a768-00aa006e0529)

例如:https://www.pwsh.ch/active-directory-powershell-delegate-permission-to-reset-user-passwords-for-a-specific-organizational-unit-150.html

function Set-ResetPasswordDelegation(){
    param(
    [string]$OrganizationalUnit,
    [string]$DelegationGroupName
    )
 
    # Configuration Parameters
    $confADRight = "ExtendedRight"
    $confDelegatedObjectType = "bf967aba-0de6-11d0-a285-00aa003049e2" # User Object Type GUID
    $confExtendedRight = "00299570-246d-11d0-a768-00aa006e0529" # Extended Right PasswordReset GUID
 
    # Collect and prepare Objects
    $delegationGroup = Get-ADGroup -Identity $DelegationGroupName
    $delegationGroupSID = [System.Security.Principal.SecurityIdentifier] $delegationGroup.SID
    $delegationGroupACL = Get-Acl -Path "AD:\$OrganizationalUnit"
 
    # Build Access Control Entry (ACE)
    $aceIdentity = [System.Security.Principal.IdentityReference] $delegationGroupSID
    $aceADRight = [System.DirectoryServices.ActiveDirectoryRights] $confADRight
    $aceType = [System.Security.AccessControl.AccessControlType] "Allow"
    $aceInheritanceType = [System.DirectoryServices.ActiveDirectorySecurityInheritance] "Descendents"
    $ace = New-Object System.DirectoryServices.ActiveDirectoryAccessRule($aceIdentity, $aceADRight, $aceType, $confExtendedRight, $aceInheritanceType,$confDelegatedObjectType)
 
    # Apply ACL
    $delegationGroupACL.AddAccessRule($ace)
    Set-Acl -Path "AD:\$OrganizationalUnit" -AclObject $delegationGroupACL
}
 
# Calling the function
Set-ResetPasswordDelegation -OrganizationalUnit "OU=Users,DC=pwsh,DC=ch" -DelegationGroupName "ServiceDesk-PasswordReset-Allow"

答案2

Greg Askew 的回答关于Reset Password需要委派的权限是正确的,他们应该获得答案的荣誉,但如果不是批量操作的话,我会提供一些更简单的选择。

首先,我建议创建一个 AD 组来委派权限 - 例如“StaffPasswordReset”或其他。您可能希望授予其他用户或组相同的权限,这样当您添加其他人时,您的 ACL 就不会变得混乱。

有三个主要选项(除脚本之外)可以授予权限,从迄今为止最简单的开始。

  1. 右键单击 OU 并Delegate Control在 OU 上运行向导。实际上,第二个预配置选项是Reset User Passwords and Force Password Change at next logon。选择要委派权限的帐户或组,然后就完成了。

  2. 在 ADSIEdit 中,或在启用了高级视图的 AD 用户和计算机中,您可以授予Reset PasswordOU 的“安全”选项卡上的用户或组权限。

  3. 或者您可以使用DSACLS,这比 Powershell 方法容易得多。

    dsacls "OU=OUName,dc=example,dc=com" /I:S /G "[mydomain\delegate]:CA;Reset Password";user

笔记:对于选项 2 和 3,由于您已经分配了权限Write All Properties(可能分配给了用户),因此这应该足够了。对于选项 1,向导会设置重置所需的所有权限。

但是,如果您只想委托密码重置,而不想授予“写入所有属性”权限,您还需要添加写入用户PwdlastSetlockoutTime属性的权限(以及授予Reset Password)。同样,在 OU 的“安全”选项卡中或使用DSACLS

dsacls "OU=OUName,dc=example,dc=com"  /I:S /G "[mydomain\delegate]:rpwp;PwdlastSet";user
dsacls "OU=OUName,dc=example,dc=com" /I:S /G "[mydomain\delegate]:rpwp;lockoutTime";user

笔记2: Write Member是关于授予添加/删除的权限团体成员。这是必需的吗?您的组是否与用户位于同一 OU(或同一父 OU 下)?如果没有,我建议单独委派。

相关内容