次の方法で共有


Defender for Identity の gMSA ディレクトリ サービス アカウントを構成する

この記事では、ID ディレクトリ サービス アカウント エントリのMicrosoft Defenderとして使用するグループマネージド サービス アカウント (gMSA) を作成する方法について説明します。

前提条件

  • Active Directory で gMSA とセキュリティ グループを作成するためのアクセス許可があることを確認します。

  • センサーが gMSA パスワードを取得できるようにするアクセス許可を割り当てます。

  • パスワード取得を構成する方法を選択します。

    • gMSA アカウントを各センサーに直接割り当てます。

    • gMSA アカウントを使用する必要があるすべてのセンサーを含むグループを使用します。

  • デプロイに基づいて適切なグループを選択します。

    • 単一フォレスト、単一ドメインの展開: Active Directory フェデレーション サービス (AD FS) (AD FS) サーバーまたは Active Directory Certificate Services (AD CS) サーバーにセンサーをインストールしていない場合は、組み込みのドメイン コントローラー セキュリティ グループを使用します。

    • 複数のドメインを持つフォレスト: 1 つのディレクトリ サービス アカウント (DSA) を使用する場合は、ユニバーサル グループを作成し、各ドメイン コントローラーと AD FS または AD CS サーバーをユニバーサル グループに追加することをお勧めします。

  • マルチフォレスト環境またはマルチドメイン環境では、gMSA を作成するドメインがセンサーのコンピューター アカウントを信頼していることを確認します。

  • すべてのセンサーが gMSA のパスワードを取得し、クロスドメイン認証を実行できるように、すべてのセンサー コンピューター アカウントを含むユニバーサル グループを各ドメインに作成します。

gMSA アカウントを作成する

  1. これまで gMSA アカウントを使用したことがない場合は、Active Directory 内のMicrosoft グループ キー配布サービス (KdsSvc) の新しいルート キーを生成する必要がある場合があります。 この手順は、フォレストごとに 1 回だけ必要です。 すぐに使用するために新しいルート キーを生成するには、次のコマンドを実行します。

    Add-KdsRootKey -EffectiveImmediately
    
  2. 管理者として PowerShell コマンドを実行します。 このスクリプトでは、次の操作を行います。

    • gMSA アカウントを作成します。
    • gMSA アカウントのグループを作成します。
    • 指定したコンピューター アカウントをそのグループに追加します。
  3. スクリプトを実行する前に、

    • 環境に合わせて変数の値を更新します。
    • 各 gMSA に、フォレストまたはドメインごとに一意の名前を付けます。
# Variables:
# Specify the name of the gMSA you want to create:
$gMSA_AccountName = 'mdiSvc01'
# Specify the name of the group you want to create for the gMSA,
# or enter 'Domain Controllers' to use the built-in group when your environment is a single forest, and will contain only ___domain controller sensors.
$gMSA_HostsGroupName = 'mdiSvc01Group'
# Specify the computer accounts that will become members of the gMSA group and have permission to use the gMSA. 
# If you are using the 'Domain Controllers' group in the $gMSA_HostsGroupName variable, then this list is ignored
$gMSA_HostNames = 'DC1', 'DC2', 'DC3', 'DC4', 'DC5', 'DC6', 'ADFS1', 'ADFS2'

# Import the required PowerShell module:
Import-Module ActiveDirectory

# Set the group
if ($gMSA_HostsGroupName -eq 'Domain Controllers') {
    $gMSA_HostsGroup = Get-ADGroup -Identity 'Domain Controllers'
} else {
    $gMSA_HostsGroup = New-ADGroup -Name $gMSA_HostsGroupName -GroupScope DomainLocal -PassThru
    $gMSA_HostNames | ForEach-Object { Get-ADComputer -Identity $_ } |
        ForEach-Object { Add-ADGroupMember -Identity $gMSA_HostsGroupName -Members $_ }
}

# Create the gMSA:
New-ADServiceAccount -Name $gMSA_AccountName -DNSHostName "$gMSA_AccountName.$env:USERDNSDOMAIN" `
 -PrincipalsAllowedToRetrieveManagedPassword $gMSA_HostsGroup

グループ メンバーシップを変更した後に Kerberos チケットを更新する

Kerberos チケットには、チケットの発行時にエンティティがメンバーになっているグループの一覧があります。 Kerberos チケットを既に受信した後にコンピューター アカウントをユニバーサル グループに追加した場合、新しいチケットを取得するまで gMSA のパスワードを取得できません。

Kerberos チケットを更新するには、次のことができます。

  • 新しい Kerberos チケットが発行されるまで待ちます。 Kerberos チケットは通常、10 時間有効です。

  • サーバーを再起動して、 新しいグループ メンバーシップを使用して新しい Kerberos チケットを要求します。

  • 既存の Kerberos チケットを消去 して、ドメイン コントローラーに新しい Kerberos チケットの要求を強制します。 次のコマンドを実行して、ドメイン コントローラーの管理者コマンド プロンプトからチケットを消去します。 klist purge -li 0x3e7

必要なディレクトリ サービス アカウントのアクセス許可を付与する

DSA には、Active Directory 内のすべての オブジェクト ( 削除されたオブジェクト コンテナーを含む) に対する読み取り専用アクセス許可が必要です。

削除済みオブジェクト コンテナーに対する読み取り専用アクセス許可を使用すると、Defender for Identity は Active Directory からのユーザーの削除を検出できます。

次のコード サンプルを使用して、gMSA アカウントを使用しているかどうかに関係なく、 削除済みオブジェクト コンテナーに必要な読み取りアクセス許可を付与するのに役立ちます。

ヒント

アクセス許可を付与する DSA がグループ管理サービス アカウント (gMSA) の場合は、まずセキュリティ グループを作成し、gMSA をメンバーとして追加し、そのグループにアクセス許可を追加する必要があります。 詳細については、「 gMSA を使用して Defender for Identity のディレクトリ サービス アカウントを構成する」を参照してください。

# Declare the identity that you want to add read access to the deleted objects container:
$Identity = 'mdiSvc01'

# If the identity is a gMSA, first to create a group and add the gMSA to it:
$groupName = 'mdiUsr01Group'
$groupDescription = 'Members of this group are allowed to read the objects in the Deleted Objects container in AD'
if(Get-ADServiceAccount -Identity $Identity -ErrorAction SilentlyContinue) {
    $groupParams = @{
        Name           = $groupName
        SamAccountName = $groupName
        DisplayName    = $groupName
        GroupCategory  = 'Security'
        GroupScope     = 'Universal'
        Description    = $groupDescription
    }
    $group = New-ADGroup @groupParams -PassThru
    Add-ADGroupMember -Identity $group -Members ('{0}$' -f $Identity)
    $Identity = $group.Name
}

# Get the deleted objects container's distinguished name:
$distinguishedName = ([adsi]'').distinguishedName.Value
$deletedObjectsDN = 'CN=Deleted Objects,{0}' -f $distinguishedName

# Take ownership on the deleted objects container:
$params = @("$deletedObjectsDN", '/takeOwnership')
C:\Windows\System32\dsacls.exe $params

# Grant the 'List Contents' and 'Read Property' permissions to the user or group:
$params = @("$deletedObjectsDN", '/G', ('{0}\{1}:LCRP' -f ([adsi]'').name.Value, $Identity))
C:\Windows\System32\dsacls.exe $params
  
# To remove the permissions, uncomment the next 2 lines and run them instead of the two prior ones:
# $params = @("$deletedObjectsDN", '/R', ('{0}\{1}' -f ([adsi]'').name.Value, $Identity))
# C:\Windows\System32\dsacls.exe $params

詳細については、「 削除されたオブジェクト コンテナーに対するアクセス許可の変更」を参照してください。

gMSA アカウントに必要な権限があることを確認する

Defender for Identity センサー サービス である Azure Advanced Threat Protection センサーは、DSA アカウントを偽装する LocalService として実行されます。 サービスとしてのログオン ポリシーが構成されていても、gMSA アカウントにアクセス許可が付与されていない場合、偽装は失敗します。 その場合、次の正常性の問題が発生します。 ディレクトリ サービスのユーザー資格情報が正しくありません。

このアラートが表示された場合は、グループ ポリシー設定またはローカル セキュリティ ポリシーで [サービスとしてのログオン] ポリシーが構成されているかどうかを確認チェック。

ローカル セキュリティ ポリシーを確認する

  1. secpol.msc を実行します。

  2. [ローカル ポリシー>ユーザー権利の割り当て] を選択します

  3. [サービスとしてログオン] ポリシー設定を開きます。

    サービス プロパティとしてのログオンのスクリーンショット。

  4. ポリシーが有効になったら、サービスとしてログオンできるアカウントの一覧に gMSA アカウントを追加します。

グループ ポリシー設定を確認する

  1. rsop.msc を実行します。

  2. [コンピューターの構成] -> [Windows 設定] -> [セキュリティ設定] -> [ローカル ポリシー] -> [ユーザー権利の割り当て] -> [サービスとしてログオン] に移動します。

    グループ ポリシー管理エディターのサービスとしてのログオン ポリシーのスクリーンショット。

  3. 設定が構成されたら、グループ ポリシー管理エディターでサービスとしてログオンできるアカウントの一覧に gMSA アカウントを追加します。

注:

グループ ポリシー管理エディターを使用してサービスとしてログオンする設定を構成する場合は、NT Service\All Services と作成した gMSA アカウントの両方を必ず追加してください。

Microsoft Defender XDRでディレクトリ サービス アカウントを構成する

センサーを Active Directory ドメインに接続するには、Microsoft Defender XDRでディレクトリ サービス アカウントを構成します。

  1. Microsoft Defender XDRで、[設定] > [ID] に移動します。

    設定ページと Defender for Identity ページにアクセスする方法を示すスクリーンショット。

  2. [ ディレクトリ サービス アカウント] を選択して、どのドメインに関連付けられているアカウントを確認します。

    Defender ポータルの [ディレクトリ サービス アカウント] ページを示すスクリーンショット。

  3. [資格情報の追加] を選択します

  4. 次の詳細を入力します:

    • アカウント名
    • ドメイン
    • Password
  5. グループ管理サービス アカウント (gMSA) か、単一ラベル ドメインに属しているかどうかを選択できます。

    追加された資格情報ペインのスクリーンショット。

    フィールド 注釈
    アカウント名 (必須) 読み取り専用 AD ユーザー名を入力します。 たとえば、 DefenderForIdentityUser です

    - 標準 の AD ユーザーまたは gMSA アカウントを使用する必要があります。
    - ユーザー名に UPN 形式を使用しないでください
    - gMSA を使用する場合、ユーザー文字列は $ 記号で終わる必要があります。 例: mdisvc$

    手記: 特定のユーザーに割り当てられたアカウントを使用しないことをお勧めします。
    パスワード (標準の AD ユーザー アカウントに必要) AD ユーザー アカウントの場合のみ、読み取り専用ユーザーの強力なパスワードを生成します。 例: PePR!BZ&}Y54UpC3aB
    グループ管理サービス アカウント (gMSA アカウントに必要) gMSA アカウントの場合のみ、[ グループ管理サービス アカウント] を選択します。
    ドメイン (必須) 読み取り専用ユーザーのドメインを入力します。 例: contoso.com

    ユーザーが配置されているドメインの完全な FQDN を入力することが重要です。 たとえば、ユーザーのアカウントがドメイン corp.contoso.com にある場合は、contoso.comcorp.contoso.com入力する必要があります。

    詳細については、「 単一ラベル ドメインの Microsoft サポート」を参照してください。
  6. [保存] を選択します。

  7. (省略可能)アカウントを選択して詳細ウィンドウを開き、その設定を表示します。

    アカウントの詳細ウィンドウのスクリーンショット。

注:

同じ手順を使用して、標準の Active Directory ユーザー アカウントのパスワードを変更できます。 gMSA アカウントにはパスワードは必要ありません。

トラブルシューティング

詳細については、「 センサーが gMSA 資格情報を取得できませんでした」を参照してください。

次の手順