Windows Server
 Computer >> コンピューター >  >> システム >> Windows Server

ActiveDirectoryでの管理者権限の委任

この記事では、ActiveDirectoryドメインで管理者権限を委任する方法について説明します。委任を使用すると、ドメイン管理者、アカウントオペレーターなどの特権ドメイングループのメンバーにすることなく、一般的なドメイン(非管理者)ユーザーに一部のAD管理タスクを実行するためのアクセス許可を付与できます。たとえば、委任を使用して特定のADセキュリティグループ(ヘルプデスクなど)に、ユーザーをグループに追加したり、ADで新しいユーザーを作成したり、アカウントのパスワードをリセットしたりするためのアクセス許可を付与します。

ActiveDirectoryの委任されたアクセス許可について

ADで権限を委任するには、制御の委任ウィザード Active Directoryのユーザーとコンピューター(DSA.msc)で使用されます。

ADの管理者権限をかなりきめ細かいレベルで委任できます。 1つのグループにOUのパスワードをリセットする権限を付与し、別のグループにユーザーアカウントを作成および削除する権限を付与し、3番目のグループにグループメンバーシップを作成および変更する権限を付与できます。ネストされたOUで権限の継承を構成できます。アクセス許可は、ActiveDirectoryで次のレベルで委任できます。

  • ADサイト;
  • ドメイン全体;
  • Active Directory内の特定の組織単位(OU);
  • 特定のADオブジェクト。

Active Directoryでの委任制御のベストプラクティス:

  • 特定のユーザーアカウントに直接アクセス許可を委任(割り当て)することはお勧めしません。代わりに、ADで新しいセキュリティグループを作成し、それにユーザーを追加して、そのグループのOUに対するアクセス許可を委任します。別のユーザーに同じ権限を付与する場合は、そのユーザーをこのセキュリティグループに追加するだけです。
  • 許可された権限よりも優先されるため、拒否権限の使用は避けてください。
  • ドメイン内の委任されたアクセス許可を定期的に監査します(OUごとのアクセス許可の現在のリストを含むレポートはPowerShellを使用して作成できます)。
  • 管理者アカウントでOUを管理する権限を誰にも付与しないでください。それ以外の場合、サポートスタッフはドメイン管理者パスワードをリセットできます。すべての特権ユーザーとグループは、委任ルールの対象とならない別のOUに配置する必要があります。

ADでパスワードのリセットを委任し、アカウントのアクセス許可を解除する

ヘルプデスクグループに、パスワードをリセットし、ドメイン内のユーザーアカウントのロックを解除する権限を付与することがタスクであると想像してみてください。 PowerShellを使用してADに新しいセキュリティグループを作成しましょう:

New-ADGroup "HelpDesk" -path 'OU=Groups,OU=Paris,OU=Fr,dc=woshub,DC=com' -GroupScope Global

このグループに必要なユーザーを追加します:

Add-AdGroupMember -Identity HelpDesk -Members rdroz, jdupont

Active Directoryユーザーとコンピューターのmmcスナップイン(dsa.msc)を実行します )、ユーザーと一緒にOUを右クリックし(この例では'OU =Users、OU =Paris、OU =Fr、dc =woshub、DC =com')、 Delegate Control > メニュー項目

ActiveDirectoryでの管理者権限の委任

管理者権限を付与するグループを選択します。

ActiveDirectoryでの管理者権限の委任

事前構成された一連の特権の1つを選択します(次の一般的なタスクを委任します):

  • ユーザーアカウントを作成、削除、管理します。
  • ユーザーパスワードをリセットし、次回のログオン時にパスワードを強制的に変更します。
  • すべてのユーザー情報を読む;
  • グループの作成、削除、管理;
  • グループのメンバーシップを変更します。
  • グループポリシーリンクを管理する;
  • 結果として得られる一連のポリシー(計画)を生成します。
  • 結果として得られる一連のポリシーを生成する(ロギング);
  • inetOrgPersonアカウントを作成、削除、および管理します。
  • inetOrgPersonパスワードをリセットし、次回のログオン時にパスワードを強制的に変更します。
  • すべてのinetOrgPerson情報を読みます。

または委任するカスタムタスクを作成 。 2番目のオプションを選択します。

ActiveDirectoryでの管理者権限の委任

管理者権限を付与するADオブジェクトのタイプを選択します。ユーザーアカウントの制御を許可するため、ユーザーオブジェクトを選択します アイテム。 OUでユーザーを作成または削除する権限を付与する場合は、[このフォルダーで選択したオブジェクトを作成/削除する]オプションを選択します。 。この例では、そのような特権は付与していません。

ActiveDirectoryでの管理者権限の委任

権限のリストで、委任する権限を選択します。この例では、ユーザーアカウントのロックを解除する権限を選択します(ロックアウト時間を読み取る および書き込みlockoutTime )およびパスワードをリセットします(パスワードのリセット

ヘルプデスクチームがドメイン内のアカウントロックアウトの原因を特定するには、ドメインコントローラーのセキュリティログを検索するためのアクセス許可をチームに付与する必要があります。

ActiveDirectoryでの管理者権限の委任

[次へ]をクリックし、最後の画面で選択した権限の委任を確認します。

ActiveDirectoryでの管理者権限の委任

次に、ヘルプデスクグループのユーザーアカウントで、PowerShellを使用してターゲットOUからユーザーのパスワードをリセットしてみます。

Set-ADAccountPassword gchaufourier -Reset -NewPassword (ConvertTo-SecureString -AsPlainText “P@ssdr0w1” -Force -Verbose) –PassThru

パスワードは正常にリセットされます(ドメインパスワードポリシーと一致する場合)。

次に、New-ADUserコマンドレットを使用してこのOUにユーザーを作成してみます。

New-ADUser -Name gmicheaux -Path 'OU=Users,OU=Paris,OU=FR,DC=woshub,DC=com' -Enabled $true

新しいADアカウントを作成する権限を委任していないため、アクセス拒否エラーが表示されます。

ドメインコントローラーのセキュリティログを使用して、管理者権限を委任したユーザーのアクションを監査できます。たとえば、ドメインでユーザーパスワードをリセットしたユーザー、ADでユーザーアカウントを作成したユーザー、機密性の高いADグループの変更を追跡できます。

コンピューターをADドメインに参加させるためのアクセス許可を委任する

デフォルトでは、すべてのドメインユーザーが最大10台のコンピューターをドメインに参加させることができます。 11番目の を追加する場合 コンピュータの場合、エラーが表示されます:

Your computer could not be joined to the domain. You have exceeded the maximum number of computer accounts you are allowed to create in this domain. Contact your system administrator to have this limit reset or increased.

ActiveDirectoryでの管理者権限の委任

ms-DS-MachineAccountQuota の値を増やすことで、ドメイン全体のレベルでこの制限を変更できます。 属性。または(より正確で安全な)特定のユーザーグループ(ヘルプデスク)の特定のOUにコンピューターを参加させるためのアクセス許可を委任することによって。これを行うには、コンピュータオブジェクトのオブジェクトを作成する権限を委任します タイプ。制御の委任ウィザードで、[このフォルダに選択したオブジェクトを作成する]を選択します 。

ActiveDirectoryでの管理者権限の委任

すべての子オブジェクトを作成を選択します [権限]セクションで。

ActiveDirectoryでの管理者権限の委任

ADの組織単位間でオブジェクトを移動する権限を委任する場合は、次の権限を付与する必要があります:ユーザーオブジェクトの削除、識別名の書き込み、名前(**)の書き込み、ユーザー(またはコンピューター)オブジェクトの作成。

ActiveDirectoryで委任されたアクセス許可を表示および削除する方法

ADのOUには、任意の数の委任ルールを割り当てることができます。 ADUCコンソールのOUのプロパティで、グループとそれらに委任されたアクセス許可のリストを取得できます。 セキュリティに移動します タブ。

これには、このコンテナーのアクセス許可が付与されているADサブジェクトのリストが含まれています。付与された権限のリストは、詳細で確認できます。 タブ。ご覧のとおり、ヘルプデスクグループはパスワードをリセットできます。

ActiveDirectoryでの管理者権限の委任

以前に委任によって割り当てられた管理権限の特定のグループを取り消すことができます。アクセス許可を委任したグループの名前を見つけて、[削除]をクリックします 。

さらに、セキュリティ ->詳細 タブを使用すると、委任された権限をさまざまなセキュリティグループに手動で割り当てることができます。

PowerShellを使用してActiveDirectoryのアクセス許可を委任する方法

OUに委任されているアクセス許可のリストを取得したり、PowerShellを使用して現在のアクセス許可を変更したりできます。 Get-ACL およびSet-ACL コマンドレットは、Active Directoryのアクセス許可を表示および変更するために使用されます(ファイルとフォルダーのNTFSアクセス許可を管理するために同じPowerShellコマンドレットが使用されます)。

次の簡単なスクリプトは、ADの特定の組織単位に委任されているすべての非標準のアクセス許可を一覧表示します。

# get the OU
$OUs = Get-ADOrganizationalUnit -Filter 'DistinguishedName -eq "OU=Users,OU=Paris,DC=woshub,DC=com"'| Select-Object -ExpandProperty DistinguishedName
$schemaIDGUID = @{}
$ErrorActionPreference = 'SilentlyContinue'
Get-ADObject -SearchBase (Get-ADRootDSE).schemaNamingContext -LDAPFilter '(schemaIDGUID=*)' -Properties name, schemaIDGUID |
ForEach-Object {$schemaIDGUID.add([System.GUID]$_.schemaIDGUID,$_.name)}
Get-ADObject -SearchBase "CN=Extended-Rights,$((Get-ADRootDSE).configurationNamingContext)" -LDAPFilter '(objectClass=controlAccessRight)' -Properties name, rightsGUID |
ForEach-Object {$schemaIDGUID.add([System.GUID]$_.rightsGUID,$_.name)}
$ErrorActionPreference = 'Continue'
ForEach ($OU in $OUs) {
$report += Get-Acl -Path "AD:\$OU" |
Select-Object -ExpandProperty Access |
Select-Object @{name='organizationalUnit';expression={$OU}}, `
@{name='objectTypeName';expression={if ($_.objectType.ToString() -eq '00000000-0000-0000-0000-000000000000') {'All'} Else {$schemaIDGUID.Item($_.objectType)}}}, `
@{name='inheritedObjectTypeName';expression={$schemaIDGUID.Item($_.inheritedObjectType)}}, `
*
}
# report with assigned OU permissions

委任された権限レポートは、グラフィカルなOut-GridViewコマンドレットを使用して取得できます。

$report| where {($_.IdentityReference -notlike "*BUILTIN*") -and ($_.IdentityReference -notlike "*NT AUTHORITY*") }| Out-GridView

または、アクセス許可のリストをCSVファイルにエクスポートして、Excelでさらに分析します(PowerShellスクリプトからExcelファイルにデータを直接書き込むことができます)。
$report | Export-Csv -Path "C:\reports\AD_OU_Permissions.csv" –NoTypeInformation

結果のレポートは、ヘルプデスクグループにOU内のユーザーパスワード(ObjectTypeName =User-Force-Change-Password)をリセットする権限が委任されていることを示しています。

ActiveDirectoryでの管理者権限の委任

dsaclsを使用できます OUに権限を委任するためのツール。例:

dsacls "ou=users,ou=paris,dc=woshub,dc=com" /I:S /G "WOSHUB\HELPDESK:CA;Reset Password;user" "WOSHUB\HELPDESK:WP;pwdLastSet;user" "WOSHUB\HELPDESK:WP;lockoutTime;user

PowerShellを使用して組織単位コンテナーにアクセス許可を割り当てることもできます(この例では、パスワードをリセットするためのアクセス許可が委任されます):

$ou = "AD:\OU=users,OU=Paris,DC=woshub,DC=com"
$group = Get-ADGroup helpdesk
$sid = new-object System.Security.Principal.SecurityIdentifier $group.SID
$ResetPassword = [GUID]"00299570-246d-11d0-a768-00aa006e0529"
$UserObjectType = "bf967aba-0de6-11d0-a285-00aa003049e2"
$ACL = get-acl $OU
$RuleResetPassword = New-Object System.DirectoryServices.ActiveDirectoryAccessRule ($sid, "ExtendedRight", "Allow", $ResetPassword, "Descendents", $UserObjectType)
$ACL.AddAccessRule($RuleResetPassword)
Set-Acl -Path $OU -AclObject $ACL

同様に、PowerShellを使用してAD組織コンテナーに他のアクセス許可を委任できます。


  1. Zabbix:Active Directoryでのシングルサインオン(SSO)認証

    この記事では、Kerberosを使用したActiveDirectoryでのZabbix4.0(またはそれ以降)の透過的なSSO(シングルサインオン)認証の段階的な構成について検討します。 その結果、ユーザーはクレデンシャルを入力せずにZabbixフロントページで自動的に認証されます。これを行うには、ユーザーはZabbixで指定されたActiveDirectoryドメインアカウントでWindowsにログインする必要があります。さらに、ユーザーはブラウザーを構成する必要があります(Kerberosサポートを有効にし、信頼できるイントラネットサイトをIEで設定する必要があります)。 シ

  2. Windows 10 で Active Directory を有効にする方法

    Active Directory は Windows Server Technical Preview を管理します。管理者が権限を付与し、ネットワーク上のリソースにアクセスするために使用するツールです。デフォルトでは、Windows PC にはインストールされません。ただし、Microsoft の公式 Web サイトからオンラインで入手して、デバイスにインストールすることができます。 Windows 10 で Active Directory を使用する方法について混乱していますか?答えが「はい」の場合、この記事は Windows 10 で Active Directory を有効にする方法