

# Windows インスタンスの クレデンシャルガード
<a name="credential-guard"></a>

AWS Nitro System は Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンスの クレデンシャルガード をサポートしています。クレデンシャルガード は Windows 仮想化ベースのセキュリティ (VBS) 機能です。これにより、Windows カーネルの保護だけでなく、Windows ユーザー認証情報やコードインテグリティの適用などのセキュリティ資産を保護するための隔離環境を構築できます。EC2 Windows インスタンスを実行すると、クレデンシャルガード は AWS Nitro System を使用して、Windows ログイン認証情報がオペレーティングシステムのメモリから抽出されないように保護します。

**Topics**
+ [前提条件](#credential-guard-prerequisites)
+ [サポートされているインスタンスを起動する](#credential-guard-launch-instance)
+ [メモリインテグリティの無効化](#disable-memory-integrity)
+ [クレデンシャルガード を有効にする](#turn-on-credential-guard)
+ [クレデンシャルガード が実行されていることを確認する](#verify-credential-guard)

## 前提条件
<a name="credential-guard-prerequisites"></a>

クレデンシャルガード を使用するにはWindows インスタンスが 次の前提条件を満たす必要があります。

**Amazon マシンイメージ (AMI)**  
NitroTPM と UEFI 安全ブート を有効にするにはAMI を事前に設定しておく必要があります。サポートされている AMI の詳細については[Amazon EC2 インスタンスで NitroTPM を使用するための要件](enable-nitrotpm-prerequisites.md)を参照してください。

**メモリインテグリティ**  
*ハイパーバイザー保護コードインテグリティ (HVCI)* または*ハイパーバイザー強制コードインテグリティ*とも呼ばれる*メモリーインテグリティ*はサポートされていません。認証情報ガードを有効にする前に、この機能が無効になっていることを確認する必要があります。詳細については[メモリインテグリティの無効化](#disable-memory-integrity)を参照してください。

**インスタンスタイプ**  
次のインスタンスタイプは特段の記載がない限り、すべてのサイズで クレデンシャルガード をサポートしています: `C5`、`C5d`、`C5n`、`C6i`、`C6id`、`C6in`、`C7i`、`C7i-flex`、`M5`、`M5d`、`M5dn`、`M5n`、`M5zn`、`M6i`、`M6id`、`M6idn`、`M6in`、`M7i`、`M7i-flex`、`R5`、`R5b`、`R5d`、`R5dn`、`R5n`、`R6i`、`R6id`、`R6idn`、`R6in`、`R7i`、`R7iz`、`T3`。  
+ NitroTPM には共通して必須インスタンスタイプがいくつかありますが、クレデンシャルガード をサポートするにはインスタンスタイプが上記のインスタンスタイプのいずれかである必要があります。
+ クレデンシャルガード は以下ではサポートされていません。
  + ベアメタルインスタンス。
  + 次のインスタンスタイプ: `C7i.48xlarge`、`M7i.48xlarge`、`R7i.48xlarge`。
インスタンスタイプの詳細については、「[Amazon EC2 インスタンスタイプガイド](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-types.html)」を参照してください。

## サポートされているインスタンスを起動する
<a name="credential-guard-launch-instance"></a>

Amazon EC2 コンソールまたは AWS Command Line Interface (AWS CLI) を使用して、クレデンシャルガード をサポートしているインスタンスを起動できます。インスタンスを起動するにはAWS リージョン ごとに固有の互換性のある AMI ID が必要です。

**ヒント**  
以下のリンクを使用すると、Amazon EC2 コンソールで Amazon が提供する AMI と互換性のあるインスタンスを検出して起動できます。  
[https://console.aws.amazon.com/ec2/v2/home?#Images:visibility=public-images;v=3;search=:TPM-Windows_Server;ownerAlias=amazon](https://console.aws.amazon.com/ec2/v2/home?#Images:visibility=public-images;v=3;search=:TPM-Windows_Server;ownerAlias=amazon)

------
#### [ Console ]

**インスタンスを起動するには**  
サポートされているインスタンスタイプと事前設定された Windows AMI を指定し、ステップに従って[インスタンスを起動](ec2-launch-instance-wizard.md)します。

------
#### [ AWS CLI ]

**インスタンスを起動するには**  
[https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) コマンドを使用して、サポートされているインスタンスタイプと事前設定された Windows AMI を使用してインスタンスを起動します。

```
aws ec2 run-instances \
    --image-id resolve:ssm:/aws/service/ami-windows-latest/TPM-Windows_Server-2022-English-Full-Base \
    --instance-type c6i.large \
    --region us-east-1 \
    --subnet-id subnet-0abcdef1234567890
    --key-name key-name
```

------
#### [ PowerShell ]

**インスタンスを起動するには**  
[https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) コマンドを使用して、サポートされているインスタンスタイプと事前設定された Windows AMI を使用してインスタンスを起動します。

```
New-EC2Instance `
    -ImageId resolve:ssm:/aws/service/ami-windows-latest/TPM-Windows_Server-2022-English-Full-Base `
    -InstanceType c6i.large `
    -Region us-east-1 `
    -SubnetId subnet-0abcdef1234567890 `
    -KeyName key-name
```

------

## メモリインテグリティの無効化
<a name="disable-memory-integrity"></a>

サポートされているシナリオではローカルグループポリシーエディタを使用してメモリインテグリティを無効にできます。次のガイダンスは**[仮想化ベースのコードインテグリティ保護]** で各構成設定に適用できます。
+ **ロックなしで有効** — メモリインテグリティを無効にするには設定を **[無効]** に変更します。
+ **UEFI ロックで有効** — メモリインテグリティは UEFI ロックで有効になっています。UEFI ロックで一度有効にすると、メモリの整合性を無効にすることはできません。メモリインテグリティを無効にして新しいインスタンスを作成し、サポートされていないインスタンスが使用されていない場合は終了することをお勧めします。

**ローカルグループポリシーエディタでメモリの整合性を無効にするには**

1. リモートデスクトッププロトコル (RDP) を使用して、管理者権限を持つユーザーアカウントとしてインスタンスに接続します。詳細については[RDP クライアントを使用して Windows インスタンスに接続する](connect-rdp.md)を参照してください。

1. スタートメニューを開き、**cmd** を検索してコマンドプロンプトを起動します。

1. 次のコマンドを実行して、ローカルグループポリシーエディタ `gpedit.msc` を開きます。

1. ローカルグループポリシーエディタで、**[コンピュータの構成]**、**[管理用テンプレート]**、**[システム]**、**[デバイスガード]** の順に選択してください。

1. **[仮想化ベースのセキュリティを有効にする]** を選択してから、**[ポリシー設定の編集]** を選択してください。

1. **[仮想化ベースのコードインテグリティ保護]** の設定ドロップダウンを開き、**[無効]** を選択し、**[適用]** を選択してください。

1. インスタンスを再起動して、変更を適用します。

## クレデンシャルガード を有効にする
<a name="turn-on-credential-guard"></a>

サポートされているインスタンスタイプと互換性のある AMI を使用して Windows インスタンスを起動し、メモリの整合性が無効になっていることを確認すると、認証情報ガードを有効にできます。

**重要**  
次の手順を実行して クレデンシャルガード を有効にするには管理者権限が必要です。

**クレデンシャルガード を有効にするには**

1. リモートデスクトッププロトコル (RDP) を使用して、管理者権限を持つユーザーアカウントとしてインスタンスに接続します。詳細については[RDP クライアントを使用して Windows インスタンスに接続する](connect-rdp.md)を参照してください。

1. スタートメニューを開き、**cmd** を検索してコマンドプロンプトを起動します。

1. 次のコマンドを実行して、ローカルグループポリシーエディタ `gpedit.msc` を開きます。

1. ローカルグループポリシーエディタで、**[コンピュータの構成]**、**[管理用テンプレート]**、**[システム]**、**[デバイスガード]** の順に選択してください。

1. **[仮想化ベースのセキュリティを有効にする]** を選択してから、**[ポリシー設定の編集]** を選択してください。

1. **[仮想化ベースのセキュリティを有効にする]** メニューで **[有効]** を選択してください。

1. **[プラットフォームセキュリティレベルの選択]** では**[安全ブート と DMA 保護]** を選択してください。

1. **[クレデンシャルガード の設定]** では**[UEFI ロックで有効]** を選択してください。
**注記**  
残りのポリシー設定は クレデンシャルガード を有効にするために必要ないため、**[未構成]** のままにしておくことができます。

   以下の画像は前述のように構成された VBS 設定を示しています。  
![\[\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/vbs-credential-guard-gpo-enabled.png)

1. インスタンスを再起動して、設定を適用します。

## クレデンシャルガード が実行されていることを確認する
<a name="verify-credential-guard"></a>

Microsoft システム情報 (`Msinfo32.exe`) ツールを使用して、クレデンシャルガード が実行されていることを確認できます。

**重要**  
クレデンシャルガード を有効にするために必要なポリシー設定の適用を完了するにはまずインスタンスを再起動する必要があります。

**クレデンシャルガード が実行されていることの確認するには**

1. リモートデスクトッププロトコル (RDP) を使用してインスタンスに接続します。詳細については[RDP クライアントを使用して Windows インスタンスに接続する](connect-rdp.md)を参照してください。

1. インスタンス用の RDP セッションで、スタートメニューを開いて、**cmd** を検索して、コマンドプロンプトを開始します。

1. 次のコマンドを実行して、システム情報を開きます: `msinfo32.exe`

1. Microsoft システム情報ツールにはVBS 設定の詳細が一覧表示されます。仮想化ベースのセキュリティサービスの横に、**[クレデンシャルガード]** が **[実行中]** と表示されていることを確認します。

   次の画像はVBS が前述のように実行されていることを示しています。  
![\[\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/vbs-credential-guard-msinfo32-enabled.png)