Share via


Getting Started with Group Managed Service Accounts

適用対象: Windows Server 2022、Windows Server 2019、Windows Server 2016

このガイドでは、Windows Server 2012 でグループの管理されたサービス アカウントを有効にして使用するための手順および背景情報について説明します。

このドキュメントの内容

注意

このトピックでは、説明した手順の一部を自動化するのに使用できる Windows PowerShell コマンドレットのサンプルを示します。 詳細については、「コマンドレットの使用」を参照してください。

前提条件

グループの管理されたサービス アカウントの要件については、このトピックのセクションを参照してください。

はじめに

ネットワーク負荷分散 (NLB) (またはすべてのサーバーがクライアントに対して同じサービスを提供している) などの方式を使用しているサーバー ファームにホストされたサービスにクライアント コンピューターが接続するときに、サービスのすべてのインスタンスが同じプリンシパルを使用していない場合は、相互認証 (Kerberos など) をサポートする認証プロトコルを使用することはできません。 つまり、各サービスは同じパスワード/キーを使用して ID を証明する必要があります。

注意

フェールオーバー クラスターでは、gMSA をサポートしていません。 ただし、クラスター サービスの上位で実行されるサービスは、それが Windows サービス、アプリケーション プール、またはスケジュールされたタスクである場合、あるいは gMSA/sMSA をネイティブにサポートしている場合、gMSA または sMSA を使用できます。

サービスは次のプリンシパルを選択肢として備えており、各プリンシパルには特定の制限があります。

プリンシパル サポートされるサービス パスワード管理
Windows システムのコンピューター アカウント ドメインに参加している 1 つのサーバーに限定 コンピューターによる管理
Windows システムなしのコンピューター アカウント ドメインに参加している任意のサーバー なし
仮想アカウント 1 つのサーバーに限定 コンピューターによる管理
Windows 7 スタンドアロンの管理されたサービス アカウント ドメインに参加している 1 つのサーバーに限定 コンピューターによる管理
ユーザー アカウント ドメインに参加している任意のサーバー なし
グループの管理されたサービス アカウント Windows Server 2012 ドメインに参加している任意のサーバー ドメイン コントローラーによる管理、ホストによる取得

Windows コンピューター アカウント、Windows 7 スタンドアロンの管理されたサービス アカウント (sMSA)、または仮想アカウントを複数のシステムで共有することはできません。 仮想アカウントの場合、ID はマシンにもローカルであり、ドメインによって認識されません。 1 つのアカウントをサーバー ファームのサービスで共有するように構成する場合は、Windows システムとは別にユーザー アカウントまたはコンピューター アカウントを選択する必要があります。 いずれにしても、これらのアカウントには、シングルポイントコントロールでパスワードを管理する機能はありません。 このため問題が生じます。各組織は Active Directory のサービスのキーを更新してそのキーを該当するすべてのサービスのインスタンスに配布するために、コストの高いソリューションを作成する必要があります。

Windows Server 2012 の場合、サービス自体もサービス管理者も、グループの管理されたサービス アカウント (gMSA) を使用するとき、サービス インスタンス間のパスワード同期を管理する必要はありません。 AD で gMSA をプロビジョニングし、管理されたサービス アカウントをサポートするサービスを構成します。 gMSA の使用範囲は、LDAP を使用して gMSA の資格情報を取得できる任意のマシンに限られます。 Active Directory モジュールに含まれる *-ADServiceAccount コマンドレットを使用して gMSA をプロビジョニングできます。 ホストでのサービス ID の構成は、次のものによってサポートされます。

  • sMSA と同じ API。したがって sMSA をサポートする製品は gMSA をサポートします。

  • サービス コントロール マネージャーを使用してログオン ID を構成するサービス。

  • アプリケーション プールに対応する IIS マネージャーを使用して ID を構成するサービス。

  • タスク スケジューラを使用するタスク。

グループの管理されたサービス アカウントの要件

次の表に、Kerberos 認証が gMSA を使用してサービスを操作するための、オペレーティング システムの要件を一覧します。 表の後に Active Directory の要件を一覧します。

グループの管理されたサービス アカウントを管理するために使用する Windows PowerShell コマンドレットを実行するには 64 ビット アーキテクチャが必要です。

オペレーティング システムの要件

要素 要件 オペレーティング システム
クライアント アプリケーション ホスト RFC 準拠の Kerberos クライアント Windows XP 以降
ユーザー アカウントのドメイン DC RFC 準拠の KDC Windows Server 2003 以降
共有されたサービス メンバー ホスト Windows Server 2012
メンバー ホストのドメイン DC RFC 準拠の KDC Windows Server 2003 以降
gMSA アカウントのドメイン DC ホストでパスワードを取得するために使用できる Windows Server 2012 DC Windows Server 2012 を使用したドメイン。Windows Server 2012 より前のいくつかのシステムを使用可能
バックエンド サービス ホスト RFC 準拠の Kerberos アプリケーション サーバー Windows Server 2003 以降
バックエンド サービス アカウントのドメイン DC RFC 準拠の KDC Windows Server 2003 以降
Active Directory の Windows PowerShell 64 ビット アーキテクチャをサポートするコンピューターまたはリモート管理コンピューターにローカルにインストールされた Windows PowerShell for Active Directory (たとえば、リモート サーバー管理ツールキットを使用) Windows Server 2012

Active Directory ドメイン サービスの要件

  • gMSA ドメインのフォレスト内の Active Directory スキーマを Windows Server 2012 に更新して、gMSA を作成する必要があります。

    スキーマを更新するには、Windows Server 2012 を実行するドメイン コントローラーをインストールするか、Windows Server 2012 を実行しているコンピューターから adprep.exe のバージョンを実行します。 オブジェクト CN=Schema、CN=Configuration、DC=Contoso、DC=Com の object-version 属性値は 52 でなければなりません。

  • プロビジョニングされた新しい gMSA アカウント

  • グループ別に gMSA を使用するサービス ホストのアクセス許可を管理している場合は、新規または既存のセキュリティ グループ。

  • グループ別にサービス アクセス コントロールを管理する場合は、新規または既存のセキュリティ グループ。

  • Active Directory の最初のマスター ルート キーがドメインに展開されていない場合または作成されていない場合は、それを作成します。 作成した結果は、KdsSvc 操作ログ (Event ID 4004) で検証できます。

キーを作成する方法の手順については、「キー配布サービス KDS ルート キーの作成」を参照してください。 Microsoft キー配布サービス (kdssvc.dll)、AD のルート キー。

ライフサイクル

gMSA 機能を使用するサーバー ファームのライフサイクルは、通常、次のタスクを必要とします。

  • 新しいサーバー ファームの展開

  • 既存のサーバー ファームへのメンバー ホストの追加

  • 既存のサーバー ファームからのメンバー ホストの使用停止

  • 既存のサーバー ファームの使用停止

  • 必要に応じて、セキュリティ侵害を受けているメンバー ホストをサーバー ファームから削除

新しいサーバー ファームの展開

新しいサーバー ファームを展開するとき、サービス管理者は次のことを決める必要があります。

  • サービスが gMSA の使用をサポートするかどうか

  • サービスが認証済みの受信接続または送信接続を必要とするかどうか

  • gMSA を使用するサービス用のメンバー ホストのコンピューター アカウント名

  • サービスの NetBIOS 名

  • サービスの DNS ホスト名

  • サービスのサービス プリンシパル名 (SPN)

  • パスワード変更間隔 (既定では 30 日)。

手順 1:グループの管理されたサービス アカウントのプロビジョニング

フォレスト スキーマが Windows Server 2012 に更新されていて、Active Directory のマスター ルート キーが展開されていて、かつ gMSA を作成するドメイン内に少なくとも 1 つの Windows Server 2012 DC が存在する場合に限り、gMSA を作成できます。

次の手順を完了するには、Domain Admins のメンバーシップ、または msDS-GroupManagedServiceAccount オブジェクトを作成する権限が最低限必要です。

注意

-Name パラメーターの値は、-DNSHostName、-RestrictToSingleComputer、-RestrictToOutboundAuthentication が 3 つの展開シナリオのセカンダリ要件である場合には、常に必要です (-Name を指定するかどうかにかかわらず)。

New-ADServiceAccount コマンドレットを使用して gMSA を作成するには

  1. Windows Server 2012 ドメイン コントローラーのタスク バーから Windows PowerShell を実行します。

  2. Windows PowerShell のコマンド プロンプトで、次のコマンドを入力し、ENTER キーを押します (Active Directory モジュールが自動的にロードされます)。

    New-ADServiceAccount [-Name] <string> -DNSHostName <string> [-KerberosEncryptionType <ADKerberosEncryptionType>] [-ManagedPasswordIntervalInDays <Nullable[Int32]>] [-PrincipalsAllowedToRetrieveManagedPassword <ADPrincipal[]>] [-SamAccountName <string>] [-ServicePrincipalNames <string[]>]

    パラメーター String
    名前 アカウントの名前 ITFarm1
    DNSHostName サービスの DNS ホスト名 ITFarm1.contoso.com
    KerberosEncryptionType ホスト サーバーによってサポートされる暗号化の種類 None、RC4、AES128、AES256
    ManagedPasswordIntervalInDays 日単位のパスワード変更間隔 (指定がなければ既定では 30 日) 90
    PrincipalsAllowedToRetrieveManagedPassword メンバー ホストのコンピューター アカウントまたはメンバー ホストが属するセキュリティ グループ ITFarmHosts
    SamAccountName Name と同じでない場合はサービスの NetBIOS 名 ITFarm1
    ServicePrincipalNames サービスのサービス プリンシパル名 (SPN) http/ITFarm1.contoso.com/contoso.com、http/ITFarm1.contoso.com/contoso、http/ITFarm1/contoso.com、http/ITFarm1/contoso、MSSQLSvc/ITFarm1.contoso.com:1433、MSSQLSvc/ITFarm1.contoso.com:INST01

    重要

    パスワード変更間隔は作成時にしか設定できません。 パスワード変更間隔を変更する必要がある場合は、新しい gMSA を作成し、作成時にその間隔を設定してください。

    コマンドレットを単一行に入力します。ただし、書式上の制約から複数行に改行されて表示される場合があります。

    New-ADServiceAccount ITFarm1 -DNSHostName ITFarm1.contoso.com -PrincipalsAllowedToRetrieveManagedPassword ITFarmHosts$ -KerberosEncryptionType RC4, AES128, AES256 -ServicePrincipalNames http/ITFarm1.contoso.com/contoso.com, http/ITFarm1.contoso.com/contoso, http/ITFarm1/contoso.com, http/ITFarm1/contoso
    

この手順を完了するには、[Domain Admins] または [Account Operators] のメンバーシップ、あるいは msDS-GroupManagedServiceAccount オブジェクトを作成する機能が最低限必要です。 適切なアカウントおよびグループ メンバーシップの使用方法の詳細については、「ローカルおよびドメインの既定のグループ」を参照してください。

New-ADServiceAccount コマンドレットを使用して、送信の認証のみに gMSA を作成するには
  1. Windows Server 2012 ドメイン コントローラーのタスク バーから Windows PowerShell を実行します。

  2. Windows PowerShell Active Directory モジュールのコマンド プロンプトで、次のコマンドを入力し、ENTER キーを押します。

    New-ADServiceAccount [-Name] <string> -RestrictToOutboundAuthenticationOnly [-ManagedPasswordIntervalInDays <Nullable[Int32]>] [-PrincipalsAllowedToRetrieveManagedPassword <ADPrincipal[]>]

    パラメーター String
    名前 アカウントの名前 ITFarm1
    ManagedPasswordIntervalInDays 日単位のパスワード変更間隔 (指定がなければ既定では 30 日) 75
    PrincipalsAllowedToRetrieveManagedPassword メンバー ホストのコンピューター アカウントまたはメンバー ホストが属するセキュリティ グループ ITFarmHosts

    重要

    パスワード変更間隔は作成時にしか設定できません。 パスワード変更間隔を変更する必要がある場合は、新しい gMSA を作成し、作成時にその間隔を設定してください。

New-ADServiceAccount ITFarm1 -RestrictToOutboundAuthenticationOnly - PrincipalsAllowedToRetrieveManagedPassword ITFarmHosts$

手順 2:サービス ID アプリケーション サービスの構成

Windows Server 2012 でサービスを構成するには、機能に関する次のドキュメントを参照してください。

gMSA をサポートするサービスが他に存在する場合があります。 それらのサービスを構成する方法の詳細については、適切な製品ドキュメントを参照してください。

既存のサーバー ファームへのメンバー ホストの追加

メンバー ホストの管理にセキュリティ グループを使用する場合は、次のいずれかの方法を使用して新しいメンバー ホストのコンピューター アカウントをセキュリティ グループ (gMSA のメンバー ホストがメンバーである) に追加します。

これらの手順を完了するには、[Domain Admins] のメンバーシップか、またはセキュリティ グループ オブジェクトにメンバーを追加する機能が最低限必要です。

コンピューター アカウントを使用する場合は、既存のアカウントを検索し、新しいコンピューター アカウントを追加します。

この手順を完了するには、[Domain Admins] または [Account Operators] のメンバーシップ、あるいは msDS-GroupManagedServiceAccount オブジェクトを管理する権利が最低限必要です。 適切なアカウントおよびグループ メンバーシップの使用方法の詳細については、「ローカルおよびドメインの既定のグループ」を参照してください。

Set-ADServiceAccount コマンドレットを使用してメンバー ホストを追加するには

  1. Windows Server 2012 ドメイン コントローラーのタスク バーから Windows PowerShell を実行します。

  2. Windows PowerShell Active Directory モジュールのコマンド プロンプトで、次のコマンドを入力し、ENTER キーを押します。

    Get-ADServiceAccount [-Identity] <string> -Properties PrincipalsAllowedToRetrieveManagedPassword

  3. Windows PowerShell Active Directory モジュールのコマンド プロンプトで、次のコマンドを入力し、ENTER キーを押します。

    Set-ADServiceAccount [-Identity] <string> -PrincipalsAllowedToRetrieveManagedPassword <ADPrincipal[]>

パラメーター String
名前 アカウントの名前 ITFarm1
PrincipalsAllowedToRetrieveManagedPassword メンバー ホストのコンピューター アカウントまたはメンバー ホストが属するセキュリティ グループ Host1、Host2、Host3

たとえば、メンバー ホストを追加するには、次のコマンドを入力し、ENTER キーを押します。

Get-ADServiceAccount [-Identity] ITFarm1 -Properties PrincipalsAllowedToRetrieveManagedPassword
Set-ADServiceAccount [-Identity] ITFarm1 -PrincipalsAllowedToRetrieveManagedPassword Host1$,Host2$,Host3$

グループの管理されたサービス アカウント プロパティの更新

これらの手順を完了するには、[Domain Admins] または [Account Operators] のメンバーシップ、あるいは msDS-GroupManagedServiceAccount オブジェクトを書き込む権利が最低限必要です。

Windows PowerShell 用の Active Directory モジュールを開き、Set-ADServiceAccount コマンドレットを使用してプロパティを設定します。

これらのプロパティの設定方法の詳細については、TechNet ライブラリの「 Set-ADServiceAccount 」を参照してください。または、Windows PowerShell の Active Directory モジュールのコマンド プロンプトに「 Get-Help Set-ADServiceAccount 」と入力し、ENTER キーを押してください。

既存のサーバー ファームからのメンバー ホストの使用停止

これらの手順を完了するには、[Domain Admins] のメンバーシップか、またはセキュリティ グループ オブジェクトからメンバーを削除する権利が最低限必要です。

手順 1:gMSA からメンバー ホストを削除する

メンバー ホストの管理にセキュリティ グループを使用する場合は、次のいずれかの方法を使用してセキュリティ グループ (gMSA のメンバー ホストがメンバーである) から使用停止にされたメンバー ホストのコンピューター アカウントを削除します。

コンピューター アカウントを一覧する場合は、既存のコンピューター アカウントを検索し、削除されたものを除くすべてのコンピューター アカウントを追加します。

この手順を完了するには、[Domain Admins] または [Account Operators] のメンバーシップ、あるいは msDS-GroupManagedServiceAccount オブジェクトを管理する権利が最低限必要です。 適切なアカウントおよびグループ メンバーシップの使用方法の詳細については、「ローカルおよびドメインの既定のグループ」を参照してください。

Set-ADServiceAccount コマンドレットを使用してメンバー ホストを削除するには
  1. Windows Server 2012 ドメイン コントローラーのタスク バーから Windows PowerShell を実行します。

  2. Windows PowerShell Active Directory モジュールのコマンド プロンプトで、次のコマンドを入力し、ENTER キーを押します。

    Get-ADServiceAccount [-Identity] <string> -Properties PrincipalsAllowedToRetrieveManagedPassword

  3. Windows PowerShell Active Directory モジュールのコマンド プロンプトで、次のコマンドを入力し、ENTER キーを押します。

    Set-ADServiceAccount [-Identity] <string> -PrincipalsAllowedToRetrieveManagedPassword <ADPrincipal[]>

パラメーター String
名前 アカウントの名前 ITFarm1
PrincipalsAllowedToRetrieveManagedPassword メンバー ホストのコンピューター アカウントまたはメンバー ホストが属するセキュリティ グループ Host1、Host3

たとえば、メンバー ホストを削除するには、次のコマンドを入力し、ENTER キーを押します。

Get-ADServiceAccount [-Identity] ITFarm1 -Properties PrincipalsAllowedToRetrieveManagedPassword
Set-ADServiceAccount [-Identity] ITFarm1 -PrincipalsAllowedToRetrieveManagedPassword Host1$,Host3$

手順 2:グループの管理されたサービス アカウントをシステムから削除する

ホスト システム上で Uninstall-ADServiceAccount または NetRemoveServiceAccount API を使用して、キャッシュされた gMSA 資格情報をメンバー ホストから削除します。

これらの手順を完了するには、[Administrators] のメンバーシップ、またはそれと同等のメンバーシップが最低限必要です。

Uninstall-ADServiceAccount コマンドレットを使用して gMSA を削除するには
  1. Windows Server 2012 ドメイン コントローラーのタスク バーから Windows PowerShell を実行します。

  2. Windows PowerShell Active Directory モジュールのコマンド プロンプトで、次のコマンドを入力し、ENTER キーを押します。

    Uninstall-ADServiceAccount <ADServiceAccount>

    たとえば、ITFarm1 という名前の gMSA のキャッシュされた資格情報を削除するには、次のコマンドを入力し、ENTER キーを押します。

    Uninstall-ADServiceAccount ITFarm1
    

Uninstall-ADServiceAccount コマンドレットの詳細については、Windows PowerShell の Active Directory モジュールのコマンド プロンプトで、「 Get-Help Uninstall-ADServiceAccount」と入力し、ENTER キーを押すか、または TechNet Web の「 Uninstall-ADServiceAccount」に掲載された情報を参照してください。