ActiveDirectoryでの管理者権限の委任
この記事では、ActiveDirectoryドメインで管理者権限を委任する方法について説明します。委任を使用すると、ドメイン管理者、アカウントオペレーターなどの特権ドメイングループのメンバーにすることなく、一般的なドメイン(非管理者)ユーザーに一部のAD管理タスクを実行するためのアクセス許可を付与できます。たとえば、委任を使用して特定のADセキュリティグループ(ヘルプデスクなど)に、ユーザーをグループに追加したり、ADで新しいユーザーを作成したり、アカウントのパスワードをリセットしたりするためのアクセス許可を付与します。
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 > メニュー項目。
管理者権限を付与するグループを選択します。
事前構成された一連の特権の1つを選択します(次の一般的なタスクを委任します):
- ユーザーアカウントを作成、削除、管理します。
- ユーザーパスワードをリセットし、次回のログオン時にパスワードを強制的に変更します。
- すべてのユーザー情報を読む;
- グループの作成、削除、管理;
- グループのメンバーシップを変更します。
- グループポリシーリンクを管理する;
- 結果として得られる一連のポリシー(計画)を生成します。
- 結果として得られる一連のポリシーを生成する(ロギング);
- inetOrgPersonアカウントを作成、削除、および管理します。
- inetOrgPersonパスワードをリセットし、次回のログオン時にパスワードを強制的に変更します。
- すべてのinetOrgPerson情報を読みます。
または委任するカスタムタスクを作成 。 2番目のオプションを選択します。
管理者権限を付与するADオブジェクトのタイプを選択します。ユーザーアカウントの制御を許可するため、ユーザーオブジェクトを選択します アイテム。 OUでユーザーを作成または削除する権限を付与する場合は、[このフォルダーで選択したオブジェクトを作成/削除する]オプションを選択します。 。この例では、そのような特権は付与していません。
権限のリストで、委任する権限を選択します。この例では、ユーザーアカウントのロックを解除する権限を選択します(ロックアウト時間を読み取る および書き込みlockoutTime )およびパスワードをリセットします(パスワードのリセット 。
ヘルプデスクチームがドメイン内のアカウントロックアウトの原因を特定するには、ドメインコントローラーのセキュリティログを検索するためのアクセス許可をチームに付与する必要があります。
[次へ]をクリックし、最後の画面で選択した権限の委任を確認します。
次に、ヘルプデスクグループのユーザーアカウントで、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グループの変更を追跡できます。
デフォルトでは、すべてのドメインユーザーが最大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.
ms-DS-MachineAccountQuota の値を増やすことで、ドメイン全体のレベルでこの制限を変更できます。 属性。または(より正確で安全な)特定のユーザーグループ(ヘルプデスク)の特定のOUにコンピューターを参加させるためのアクセス許可を委任することによって。これを行うには、コンピュータオブジェクトのオブジェクトを作成する権限を委任します タイプ。制御の委任ウィザードで、[このフォルダに選択したオブジェクトを作成する]を選択します 。
すべての子オブジェクトを作成を選択します [権限]セクションで。
ADの組織単位間でオブジェクトを移動する権限を委任する場合は、次の権限を付与する必要があります:ユーザーオブジェクトの削除、識別名の書き込み、名前(**)の書き込み、ユーザー(またはコンピューター)オブジェクトの作成。
ActiveDirectoryで委任されたアクセス許可を表示および削除する方法
ADのOUには、任意の数の委任ルールを割り当てることができます。 ADUCコンソールのOUのプロパティで、グループとそれらに委任されたアクセス許可のリストを取得できます。 セキュリティに移動します タブ。
これには、このコンテナーのアクセス許可が付与されているADサブジェクトのリストが含まれています。付与された権限のリストは、詳細strong>で確認できます。 タブ。ご覧のとおり、ヘルプデスクグループはパスワードをリセットできます。
以前に委任によって割り当てられた管理権限の特定のグループを取り消すことができます。アクセス許可を委任したグループの名前を見つけて、[削除]をクリックします 。
さらに、セキュリティ ->詳細strong> タブを使用すると、委任された権限をさまざまなセキュリティグループに手動で割り当てることができます。
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)をリセットする権限が委任されていることを示しています。
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組織コンテナーに他のアクセス許可を委任できます。
-
Zabbix:Active Directoryでのシングルサインオン(SSO)認証
この記事では、Kerberosを使用したActiveDirectoryでのZabbix4.0(またはそれ以降)の透過的なSSO(シングルサインオン)認証の段階的な構成について検討します。 その結果、ユーザーはクレデンシャルを入力せずにZabbixフロントページで自動的に認証されます。これを行うには、ユーザーはZabbixで指定されたActiveDirectoryドメインアカウントでWindowsにログインする必要があります。さらに、ユーザーはブラウザーを構成する必要があります(Kerberosサポートを有効にし、信頼できるイントラネットサイトをIEで設定する必要があります)。 シ
-
Windows 10 で Active Directory を有効にする方法
Active Directory は Windows Server Technical Preview を管理します。管理者が権限を付与し、ネットワーク上のリソースにアクセスするために使用するツールです。デフォルトでは、Windows PC にはインストールされません。ただし、Microsoft の公式 Web サイトからオンラインで入手して、デバイスにインストールすることができます。 Windows 10 で Active Directory を使用する方法について混乱していますか?答えが「はい」の場合、この記事は Windows 10 で Active Directory を有効にする方法