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

Active Directoryでのマネージドサービスアカウント(MSAおよびgMSA)の使用

マネージドサービスアカウント MSA )は、サービス、アプリケーション、およびスケジュールされたタスクを安全に実行するために使用できる特別な種類のActiveDirectoryアカウントです。基本的な考え方は、これらのアカウントのパスワードはActiveDirectoryによって完全に管理されるということです。 240文字の長さの複雑なパスワードが自動的に生成され、自動的に変更されます(デフォルトでは、30日ごと)。認証にはKerberosのみが使用され(NTLMセキュリティの問題はありません)、対話型ログオンは許可されません。パスワードは誰にも知られておらず、ローカルシステムに保存されません(mimikatzなどを使用してLSASSシステムプロセスからパスワードを抽出することはできません)。ツール)。このように、サービスまたは無人のジョブを開始するために、ADで個々のサービスユーザーを作成し、それらのパスワードを管理する必要はありません。

マネージドサービスアカウント Windows Server 2008 R2で導入されました(オブジェクトタイプmsDS-ManagedServiceAccount )。それらの主な制限は、そのようなアカウントは1つのサーバーでのみ使用できることです(クラスターおよびNLBサービスでは使用できません)。そのため、Windows Server2012ではグループマネージドサービスアカウント/gMSA(タイプmsDS-GroupManagedServiceAccount)が導入されました。 )。 gMSAアカウントは、複数のホストで同時に使用できます。

MSAとgMSAを使用して、ActiveDirectoryのサーバーとワークステーションでサービスとタスクを起動する機能について考えてみましょう。

MSA / gMSAサービスアカウントを使用するための要件:

マネージドサービスアカウント グループマネージドサービスアカウント
ADドメインとフォレストの機能レベル Windows Server2008R2以降 WindowsServer2012以降
KDC Microsoft Key Distribution Service(KdsSvc)が有効になっているドメインコントローラー
PowerShell サービスADアカウントを作成および管理するには、WindowsPowerShell用のActiveDirectoryモジュールをインストールする必要があります
.Net Framework .NETFramework3.5以降をサーバーにインストールする必要があります
サポートされているWindowsバージョン Windows 7 / Windows Server2008R2以降 Windows Server 2012 /Windows8以降

キー配布サービス(KDS)キーを作成する

MSA / gMSAアカウントの作成を開始する前に、1回限りの操作を実行し、KDSルートキーを作成する必要があります。これを行うには、ドメインコントローラーで次のPowerShellコマンドを実行します(Microsoft Key Distribution Servicesをインストールして実行する必要があります):

Add-KdsRootKey –EffectiveImmediately

この場合、キーが作成され、ADレプリケーションが終了してから10時間以内に使用可能になります。

ヒント。 テスト環境でキーをすぐに使用するには、次のコマンドを実行できます。
Add-KdsRootKey –EffectiveTime ((get-date).addhours(-10))

KDSルートキーが正常に作成されていることを確認します:
Get-KdsRootKey
Active Directoryでのマネージドサービスアカウント(MSAおよびgMSA)の使用

コマンドを使用してKDSキーを確認します:

Test-KdsRootKey -KeyId (Get-KdsRootKey).KeyId

Active Directoryでのマネージドサービスアカウント(MSAおよびgMSA)の使用

ActiveDirectoryで管理対象MSAアカウントを作成する方法

ADで新しいMSA管理アカウントを作成するには、次のコマンドを使用します。

New-ADServiceAccount -Name msaMunSrv1 –RestrictToSingleComputer

デフォルトでは、MSAとgMSAはコンテナCN=マネージドサービスアカウントに作成されます 、ただし、パスを使用してOUを変更できます パラメータ。

MSAサービスアカウントをターゲットコンピューターにリンクします:

$Identity = Get-ADComputer -identity mun-srv01
Add-ADComputerServiceAccount -Identity $identity -ServiceAccount msaMunSrv1

注意として、MSAアカウントは1つのADホストでのみ使用できます。

ADUC(Active Directoryユーザーとコンピューター)コンソールを開き、msDS-ManagedServiceAccountタイプの新しいアカウントがマネージドサービスアカウントに表示されていることを確認します。 コンテナ(OU)。

Active Directoryでのマネージドサービスアカウント(MSAおよびgMSA)の使用

このADコンテナはデフォルトで非表示になっています。表示するには、高度な機能を有効にします 表示で スナップインのメニュー。

次のコマンドを使用して、MSAアカウント情報を取得できます。

Get-ADServiceAccount msaMunSrv1

Active Directoryでのマネージドサービスアカウント(MSAおよびgMSA)の使用

Active Directoryにグループマネージドサービスアカウント(gMSA)を作成する

gMSAアカウントを作成する前に、ドメインセキュリティグループを作成し、このグループサービスアカウントのパスワードの使用を許可するサーバーを追加します。グループを作成してデータを設定する最も簡単な方法は、PowerShellを使用することです。
New-ADGroup grMunSQL1 -path 'OU=Groups,OU=Munich,OU=DE,dc=woshub,DC=com' -GroupScope Global -PassThru –Verbose
Add-AdGroupMember -Identity grMunSQL1 -Members mun-sql01$, mun-sql02$, mun-sql03$

Active Directoryでのマネージドサービスアカウント(MSAおよびgMSA)の使用

グループマネージドサービスアカウント(gMSA)を作成するには、次のコマンドを使用します。

New-ADServiceAccount -name gmsaMunSQL1 -DNSHostName gmsaMunSQL1.woshub.com -PrincipalsAllowedToRetrieveManagedPassword grMunSQL1 –verbose

Active Directoryでのマネージドサービスアカウント(MSAおよびgMSA)の使用

gMSAアカウントは、デフォルトでマネージドサービスアカウントOUにも作成されます。

Active Directoryでのマネージドサービスアカウント(MSAおよびgMSA)の使用

Windowsへのグループマネージドサービスアカウントのインストール

ターゲットサーバーまたはワークステーションでMSA/gMSAサービスアカウントを使用するには、最初にActiveDirectoryPowerShellモジュールをインストールする必要があります。

Add-WindowsFeature RSAT-AD-PowerShell

サーバーにMSA(gMSA)サービスアカウントをインストールします。

Install-ADServiceAccount -Identity gmsaMunSQL1

サービスアカウントが正しくインストールされているかどうかを確認します:

Test-ADServiceAccount gmsaMunSQL1

コマンドがTrueを返す場合 、すべてが正しく構成されています。

Active Directoryでのマネージドサービスアカウント(MSAおよびgMSA)の使用

コマンドがFalseを返す場合 、MSAアカウントがサーバーにインストールされていないか、このコンピューターにそれを使用する権限がない可能性があります:

Active Directoryでのマネージドサービスアカウント(MSAおよびgMSA)の使用

WARNING: Test failed for Managed Service Account gmsaMunSQL1. If standalone Managed Service Account, the account is linked to another computer object in the Active Directory. If group Managed Service Account, either this computer does not have permission to use the group MSA or this computer does not support all the Kerberos encryption types required for the gMSA.

標準のRunAsを使用して、サービスとスクリプトがMSAサービスアカウントで実行できることを確認することはできません。代わりにPsExecツールを使用してください(NT Authority \ Systemに代わってpsexecを使用してコマンドプロンプトを実行する方法を以前に示しました)。

  1. 管理者としてコマンドプロンプトを開きます;
  2. 次のコマンドを実行します:PsExec64.exe -i -u woshub\gmsaMunSQL1$ -p ~ cmd.exe パスワードをに置き換えます 。これは、パスワードをADから取得する必要があることを意味します。
  3. 開いたcmdウィンドウで、whoamiを実行します コンソールがgMSAアカウントで実行されていることを確認するコマンド。 Active Directoryでのマネージドサービスアカウント(MSAおよびgMSA)の使用
  4. スクリプト、プログラム、またはサービスがマネージドサービスアカウントで正しく実行されていることを確認します。

現在、MSA / gMSAユーザーとして実行するために必要なWindowsサービス、タスクスケジューラタスク、IISプールなどを構成する必要があります。

マネージドサービスアカウントでWindowsサービスを実行するにはどうすればよいですか?

これで、MSA/gMSAアカウントで実行するように必要なWindowsサービスを構成できます。

  1. サービス管理コンソールを開きます(services.msc );
  2. 必要なサービスのプロパティを開き、[ログオン]に移動します 」タブ;
  3. このアカウントを選択します オプションを選択し、MSAアカウントの名前を入力します。必ず$を追加してください アカウント名の末尾にある記号(アカウントのパスワードを入力する必要はありません)。
  4. MSAサービスアカウントには自動的にサービスとしてログオンが付与されます 権限; Active Directoryでのマネージドサービスアカウント(MSAおよびgMSA)の使用
  5. 変更を保存した後、サービスを再起動する必要があります。
gMSAで複雑なサービスを実行するには、ドキュメントをチェックして、サポートされているかどうかを確認してください。現在、gMSAはSQL Server、IIS、AD LDS、ExchangeServerでサポートされています マネージドサービスアカウント/gMSAを使用したスケジュールされたタスクの実行

gMSAサービスアカウントでジョブを実行するようにWindowsタスクスケジューラを構成できます。 gMSAアカウントのパスワードはスクリプトに保存されないため、これは便利です。パスワードを暗号化または保護する必要はありません。パスワードが変更された場合、タスクを再構成する必要はありません。

MSA / gMSAアカウントにアクセス許可を付与するには、必要なセキュリティグループにアカウントを追加するだけで十分です。たとえば、ローカルのAdministratorsグループ、Domain Admins、DNSAdminsなどに。

PowerShellを使用して、gMSAアカウントとして実行するようにタスクを構成できます。たとえば、次のスクリプトは、データベースをバックアップするために毎日午後11時にPowerShellスクリプトを実行する新しいスケジュールされたタスクを作成します。

$action = New-ScheduledTaskAction -Execute powershell.exe  -Argument "-file C:\PS\Scripts\DBBackup.ps1 -executionpolicy bypass -NoProfile"
$trigger = New-ScheduledTaskTrigger -At 23:00 -Daily
$principal = New-ScheduledTaskPrincipal -UserID woshub\gmsaMunSQL1$ -LogonType Password
Register-ScheduledTask DBBackup –Action $action –Trigger $trigger –Principal $principal

Active Directoryでのマネージドサービスアカウント(MSAおよびgMSA)の使用

ヒント。 スケジュールされたタスクを実行するには、gMSAアカウントに「バッチジョブとしてログオン」を付与する必要があります。 " 許可。

-LogonType Password ‘引数は、このgMSAアカウントのパスワードがドメインコントローラーから取得されることを指定します。

PowerShellを使用したスケジュールされたタスクの管理の詳細をご覧ください。

taskschd.mscを使用して、必要な設定でスケジュールされたジョブを作成することもできます。 GUI。次に、schtasks.exeツールを使用して再構成し、マネージドサービスアカウントで実行できます。

schtasks /Change /TN BackupDB /RU "woshub\gmsaMunSQL1$" /RP ""


  1. Outlook と Gmail のメールを他のアカウントに自動的に転送する方法

    シンプルで使いやすいため、ほとんどの人が Google と Outlook のアカウントを持っています。私たちの何人かは、複数の理由で複数のアカウントを持っています。たとえば、個人 ID や職業 ID などです。残念ながら、それぞれのアカウントに同時にログインすることはできません。場合によっては、すべてのメールボックスをチェックするのが難しく、重要なメールを見逃すこともあります。したがって、Outlook と Gmail のアカウントを使用している場合は、すべてのメッセージを 1 つの受信トレイで取得できます。 そのため、今日、この記事ではメール転送について説明し、Outlook と Gma

  2. Windows 10 で個人、職場、学校のアカウントを管理する方法

    「職場または学校へのアクセス」ページに移動しますWindows 10 には、個人のデバイスで職場または学校のアカウントに接続したままにするための簡素化されたオプションが含まれています。以前の Windows バージョンとは異なり、ユーザー アカウントを切り替えることなく、組織が提供するファイルとリソースを使用できます。オペレーティング システムでは、外部アカウントをメインのサインイン アドレスにリンクできます。 開始するには、設定アプリの「アカウント」セクションに進みます。 Microsoft は Windows 10 Creators Update で仕事用アクセス設定の配置を変更した