

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Windows Pod とコンテナの gMSA を設定する
<a name="windows-gmsa"></a>

## gMSA アカウントとは
<a name="_what_is_a_gmsa_account"></a>

.NET アプリケーションなどの Windows ベースのアプリケーションは、多くの場合、Active Directory を ID プロバイダーとして使用し、NTLM または Kerberos プロトコルを使用した認可/認証を提供します。

Kerberos チケットを Active Directory と交換するアプリケーションサーバーは、ドメインに参加している必要があります。Windows コンテナはドメイン結合をサポートしておらず、コンテナがエフェメラルリソースであるためあまり意味がないため、Active Directory RID プールに負担がかかります。

ただし、管理者は [gMSA Active Directory](https://docs.microsoft.com/en-us/windows-server/security/group-managed-service-accounts/group-managed-service-accounts-overview) アカウントを活用して、Windows コンテナ、NLB、サーバーファームなどのリソースの Windows 認証をネゴシエートできます。

## Windows コンテナと gMSA のユースケース
<a name="_windows_container_and_gmsa_use_case"></a>

Windows 認証を活用し、Windows コンテナとして実行されるアプリケーションは、Windows ノードを使用してコンテナに代わって Kerberos チケットを交換するため、gMSA の恩恵を受けます。gMSA 統合をサポートするように Windows ワーカーノードをセットアップするには、次の 2 つのオプションを使用できます。

この設定では、Windows ワーカーノードは Active Directory ドメインにドメイン結合され、Windows ワーカーノードの AD コンピュータアカウントは Active Directory に対する認証と、ポッドで使用する gMSA ID の取得に使用されます。

ドメイン結合アプローチでは、既存の Active Directory GPOs を使用して Windows ワーカーノードを簡単に管理および強化できます。ただし、Kubernetes クラスターで Windows ワーカーノードを結合すると、追加の運用オーバーヘッドと遅延が発生します。これは、ノードの起動時に追加の再起動が必要になり、Kubernetes クラスターがノードを終了した後に Active Directory ガレージをクリーンアップする必要があるためです。

次のブログ記事では、ドメイン結合 Windows ワーカーノードアプローチを実装する方法の詳細なstep-by-stepについて説明します。

 [Amazon EKS Windows ポッドでの Windows 認証](https://aws.amazon.com/blogs/containers/windows-authentication-on-amazon-eks-windows-pods/) 

この設定では、Windows ワーカーノードは Active Directory ドメインに参加せず、「ポータブル」アイデンティティ (ユーザー/パスワード) を使用して Active Directory に対して認証し、ポッドで使用する gMSA アイデンティティを取得します。

![ドメインレス gmsa](http://docs.aws.amazon.com/ja_jp/eks/latest/best-practices/images/windows/domainless_gmsa.png)


ポータブル ID は Active Directory ユーザーです。ID (ユーザー/パスワード) は AWS Secrets Manager または AWS System Manager パラメータストアに保存され、ccg\_plugin という AWS が開発したプラグインを使用して AWS Secrets Manager または AWS System Manager パラメータストアからこの ID を取得し、containerd に渡して gMSA ID を取得し、ポッドで使用できるようにします。

このドメインレスアプローチでは、gMSA を使用するときに Windows ワーカーノードの起動中に Active Directory の操作を行わず、Active Directory 管理者の運用オーバーヘッドを減らすことができます。

次のブログ記事では、Domainless Windows ワーカーノードアプローチを実装する方法の詳細なstep-by-stepについて説明します。

 [Amazon EKS Windows ポッドのドメインレス Windows 認証](https://aws.amazon.com/blogs/containers/domainless-windows-authentication-for-amazon-eks-windows-pods/) 

ポッドは gMSA アカウントを使用できますが、Windows 認証をサポートするように Microsoft IIS をセットアップするには、Dockerfile を使用してアプリケーションまたはサービスをセットアップする必要があります。

```
RUN Install-WindowsFeature -Name Web-Windows-Auth -IncludeAllSubFeature
RUN Import-Module WebAdministration; Set-ItemProperty 'IIS:\AppPools\SiteName' -name processModel.identityType -value 2
RUN Import-Module WebAdministration; Set-WebConfigurationProperty -Filter '/system.webServer/security/authentication/anonymousAuthentication' -Name Enabled -Value False -PSPath 'IIS:\' -Location 'SiteName'
RUN Import-Module WebAdministration; Set-WebConfigurationProperty -Filter '/system.webServer/security/authentication/windowsAuthentication' -Name Enabled -Value True -PSPath 'IIS:\' -Location 'SiteName'
```