

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

# アクティブディレクトリを使用する際のベストプラクティス
<a name="self-managed-AD-best-practices"></a>

Amazon FSx for NetApp ONTAP SVM をセルフマネージド Microsoft アクティブディレクトリに接続させる際に考慮するべき提案事項やガイドラインについていくつか説明します。これらはベストプラクティスとして推奨されていますが、必須ではないことに注意してください。

**Topics**
+ [Amazon FSx サービスアカウントにアクセス許可を委任する](#connect_delegate_privileges)
+ [Amazon FSx でアクティブディレクトリ設定を最新の状態に保つ](#keep-ad-config-updated)
+ [セキュリティグループを使用して VPC 内のトラフィックを制限する](#least-privilege-sg-rules)
+ [ファイルシステムのネットワークインターフェイス用のアウトバウンドセキュリティグループルールの作成](#sg-rules-fsx-eni)
+ [を使用した Active Directory 認証情報の保存 AWS Secrets Manager](#bp-store-ad-creds-using-secret-manager)

## Amazon FSx サービスアカウントにアクセス許可を委任する
<a name="connect_delegate_privileges"></a>

Amazon FSx に提供するサービスアカウントは、少なくとも必要最低限のアクセス許可を持つように設定してください。さらに、組織単位 (OU) を他のドメインコントローラーから分離します。

Amazon FSx SVM をドメインに接続させるには、サービスアカウントに委任された許可があることを確認してください。**[ドメイン管理者]** グループのメンバーには、このタスクを実行するための十分な許可があります。ただし、ベストプラクティスとして、これを実行するために必要最小限の許可のみ付与したサービスアカウントを使用してください。次の手順は、FSx for ONTAP SVM をドメインに接続させるために必要な許可のみを委任する方法を示しています。

この手順は、ディレクトリに接続し、かつ Active Directory User and Computers MMC スナップインがインストールされているマシンで実行します。

**Microsoft Active Directory ドメインのサービスアカウントを作成するには**AD のサービスアカウントを作成する

1. Microsoft Active Directory ドメインのドメイン管理者としてログインしていることを確認してください。

1. **アクティブディレクトリユーザーとコンピュータ** MMC スナップインを開きます。

1. タスクペインで、ドメインノードを展開します。

1. 変更する OU のコンテキスト (右クリック) メニューを見つけて開き、**[Delegate Control]** (コントロールの委任) を選択します。

1. **[Delegation of Control Wizard]** (コントロールウィザードの委任) ページで、**[Next]** (次へ) を選択します。

1. **[Selected users and groups]** (選択したユーザーとグループ) に特定のユーザーまたは特定のグループを追加するには、**[Add]** (追加) を選択してから、**[Next]** (次へ) を選択します。

1. **[Tasks to Delegate]** (委任するタスク) ページで、**[Create a custom task to delegate]** (委任するカスタムタスクの作成) を選択し、**[Next** (次へ) を選択します。

1. **[Only the following objects in the folder]** (フォルダー内の以下のオブジェクトのみ) を選択してから、**[Computer objects]** (コンピュータオブジェクト) を選択します。

1. **[Create selected objects in this folder]** (このフォルダー内に選択したオブジェクトを作成する) を選択してから、**[Delete selected objects in this folder]** (このフォルダー内の選択したオブジェクトを削除する) を選択します。続いて、**[Next]** (次へ) を選択します。

1. **[これらのアクセス許可を表示]** で、**[一般]** と **[プロパティ固有]** が選択されていることを確認します。

1. **[Permissions]** (アクセス許可) を使用する場合、以下を選択します。
   + **[Reset Password]** (パスワードのリセット)
   + **[Read and write Account Restriction]** (読み取りおよび書き込み、アカウントの制限)
   + **[Validated write to DNS host name]** (DNS ホスト名への書き込みの検証)
   + **[Validated write to service principal name]** (サービスプリンシパル名への書き込みの検証)
   + **[msDS-SupportedEncryptionTypes の書き込み]**

1. **[Next]** (次へ) を選択し、**[Finish]** (完了) を選択します。

1. **アクティブディレクトリユーザーとコンピュータ** MMC スナップインを閉じます。

**重要**  
SVM が作成された後に Amazon FSx が OU で作成するコンピュータオブジェクトを移動しないでください。移動した場合、SVM が誤設定される原因となります。

## Amazon FSx でアクティブディレクトリ設定を最新の状態に保つ
<a name="keep-ad-config-updated"></a>

Amazon FSx SVM の中断されない可用性を確保するには、セルフマネージド AD 設定を変更する際、SVM のセルフマネージドアクティブディレクトリ(AD) の設定を更新してください。

例えば、AD が時間ベースのパスワードリセットポリシーを使用しているとします。この場合、パスワードがリセットされたらすぐに、Amazon FSx でサービスアカウントのパスワードを更新してください。これを行うには、Amazon FSx コンソール、Amazon FSx API、または を使用します AWS CLI。同様に、アクティブディレクトリドメインの DNS サーバーの IP アドレスが変更された場合、変更が発生したらすぐに DNS サーバーの IP アドレスを Amazon FSx で更新します。

更新されたセルフマネージド AD 設定に問題がある場合、SVM の状態は **[Misconfigured]** (誤設定) に変わります。この状態では、コンソール、API、CLI の SVM 説明の横にエラーメッセージと推奨アクションが表示されます。SVM の AD 設定に問題が発生した場合は、設定プロパティに推奨された是正処置を必ず実行してください。問題が解決した場合は、SVM の状態が **[Created]** (作成済み) に変わっていることを確認します。

詳細については、「[AWS マネジメントコンソール、 AWS CLI、および API を使用した既存の SVM Active Directory 設定の更新](update-svm-ad-config.md)」および「[ONTAP CLI を使用してアクティブディレクトリの設定を変更する](manage-svm-ad-config-ontap-cli.md#using-ontap-cli-to-modify-ad)」を参照してください。

## セキュリティグループを使用して VPC 内のトラフィックを制限する
<a name="least-privilege-sg-rules"></a>

仮想プライベートクラウド (VPC) のネットワークトラフィックを制限するために、VPC に最小特権のプリンシパルを実装できます。言い換えると、許可を必要最低限に制限することができます。これを行うには、セキュリティグループルールを使用します。詳細については、「[Amazon VPC セキュリティグループ](limit-access-security-groups.md#fsx-vpc-security-groups)」を参照してください。

## ファイルシステムのネットワークインターフェイス用のアウトバウンドセキュリティグループルールの作成
<a name="sg-rules-fsx-eni"></a>

セキュリティを強化するには、アウトバウンドトラフィックルールを使用したセキュリティグループの設定を検討してください。これらのルールは、セルフマネージド AD ドメインコントローラー、あるいはサブネットまたはセキュリティグループ内へのアウトバウンドトラフィックのみを許可する必要があります。このセキュリティグループを Amazon FSx ファイルシステムの Elastic Network Interface に関連付けられた VPC に適用します。詳細については[Amazon VPC によるファイルシステムアクセスコントロール](limit-access-security-groups.md)を参照してください。

## を使用した Active Directory 認証情報の保存 AWS Secrets Manager
<a name="bp-store-ad-creds-using-secret-manager"></a>

を使用して AWS Secrets Manager 、Microsoft Active Directory ドメイン結合サービスアカウントの認証情報を安全に保存および管理できます。この方法により、機密性の高い認証情報をアプリケーションコードまたは構成ファイルにプレーンテキストで保存する必要がなくなり、セキュリティ体制が強化されます。

シークレットへのアクセスを管理するように IAM ポリシーを設定し、パスワードの自動ローテーションポリシーを設定することもできます。

### Active Directory 認証情報を AWS Secrets Manager (コンソール) に保存する
<a name="bp-store-ad-creds-sm-console"></a>

#### ステップ 1: KMS キーを作成する
<a name="create-kms-key-console"></a>

Secrets Manager で Active Directory 認証情報を暗号化および復号するための KMS キーを作成します。

**キーを作成するには**
**注記**  
**暗号化キー**の場合は、新しいキーを作成します。 AWS デフォルトの KMS キーは使用しないでください。Active Directory に結合する SVM を含むリージョンと同じリージョン AWS KMS key に を作成してください。

1. https://console.aws.amazon.com/kms で AWS KMS コンソールを開きます。

1. **[Create key]** (キーの作成) を選択します。

1. **[キーの種類]** として、**[対称]** を選択します。

1. **[キーの使用方法]** として、**[暗号化と復号化]** を選択します。

1. **詳細オプション**については、以下の操作を実行します:

   1. **[キーマテリアルのオリジン]** として、**[KMS]** を選択します。

   1. **[リージョナリティ]** として、**[単一リージョンキー]** を選択し、**[次へ]** を選択します。

1. [**次へ**] を選択します。

1. **[エイリアス]** に、KMS キーの名前を指定します。

1. (オプション) **[説明]** に、KMS キーの説明を入力します。

1. (オプション) **タグ**で、KMS キーのタグを指定し、**次へ**を選択します。

1. (オプション) **[キー管理者]** には、このキーを管理する権限を持つ IAM ユーザーとロールを指定します。

1. **[キーの削除]** で、**[キー管理者にこのキーの削除を許可する]** のボックスをオンのままにして、**[次へ]** を選択します。

1. (オプション) **[キーユーザー]** には、暗号化オペレーションでこのキーを使用する権限を持つ IAM ユーザーとロールを指定します。[**次へ**] を選択します。

1. **[キーポリシー]** で、**[編集]** を選択し、ポリシー **[ステートメント]** に以下を含めて、Amazon FSx が KMS キーを使用できるようにし、**[次へ]** を選択します。{{us-west-2}} をファイルシステムがデプロイ AWS リージョン されている に、{{123456789012}} を AWS アカウント ID に置き換えてください。

   ```
   {
       "Sid": "Allow FSx to use the KMS key",
       "Version": "2012-10-17", 		 	 	 
       "Effect": "Allow",
       "Principal": {
           "Service": "fsx.amazonaws.com"
       },
       "Action": [
           "kms:Decrypt",
           "kms:DescribeKey"
       ],
       "Resource": "arn:aws:kms:{{us-west-2}}:{{123456789012}}:key/*",
       "Condition": {
           "StringEquals": {
               "kms:ViaService": "secretsmanager.{{us-west-2}}.amazonaws.com",
               "aws:SourceAccount": "{{123456789012}}"
           },
           "ArnLike": {
               "aws:SourceArn": [
                   "arn:aws:fsx:{{us-west-2}}:{{123456789012}}:file-system/*",
                   "arn:aws:fsx:{{us-west-2}}:{{123456789012}}:storage-virtual-machine/fs-*/svm-*"
               ]
           }
       }
   }
   ```

1. [**Finish**] を選択してください。

**注記**  
特定のシークレットとファイルシステムをターゲットにするように `Resource` および `aws:SourceArn` フィールドを変更することで、より詳細なアクセスコントロールを設定できます。

#### ステップ 2: AWS Secrets Manager シークレットを作成する
<a name="create-secret-console"></a>

**シークレットを作成する**

1. Secrets Manager のコンソール ([https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)) を開きます。

1. **[Store a new secret]** (新しいシークレットを保存する) を選択します｡

1. **[Secret type] (シークレットタイプ)** で、**[Other type of secret]** (他の種類のシークレット) を選択します。

1. **キーと値おペア**の場合は、次の手順を実行して 2 つのキーを追加します:

   1. 最初のキーには、`CUSTOMER_MANAGED_ACTIVE_DIRECTORY_USERNAME` と入力します。

   1. 最初のキーの値には、AD ユーザーのユーザー名 (ドメインプレフィックスなし) のみを入力します。

   1. 2 番目のキーとして、`CUSTOMER_MANAGED_ACTIVE_DIRECTORY_PASSWORD` と入力します。

   1. 2 番目のキーの値には、ドメインの AD ユーザー用に作成したパスワードを入力します。

1. **[暗号化キー]** の入力では、前のステップで作成した KMS キーの ARN を入力し、**[次へ]** をクリックします。

1. **[シークレット名]** として、後でシークレットを見つけやすい、わかりやすい名前を入力します。

1. (オプション) **[説明]** として、シークレット名の説明を入力します。

1. **リソース権限**については、**編集**を選択します。

   アクセス許可ポリシーに以下のポリシーを追加して、Amazon FSx にシークレットの使用を許可し、**[次へ]** を選択します。{{us-west-2}} はファイルシステムがデプロイ AWS リージョン されている に、{{123456789012}} は AWS アカウント ID に置き換えてください。

   ```
   {
       "Version": "2012-10-17", 		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "fsx.amazonaws.com"
               },
               "Action": [
                   "secretsmanager:GetSecretValue",
                   "secretsmanager:DescribeSecret"
               ],
               "Resource": "arn:aws:secretsmanager:{{us-west-2}}:{{123456789012}}:secret:*",
               "Condition": {
                   "StringEquals": {
                       "aws:SourceAccount": "{{123456789012}}"
                   },
                   "ArnLike": {
                       "aws:SourceArn": [
                           "arn:aws:fsx:{{us-west-2}}:{{123456789012}}:file-system/*",
                           "arn:aws:fsx:{{us-west-2}}:{{123456789012}}:storage-virtual-machine/fs-*/svm-*"
                       ]
                   }
               }
           }
       ]
   }
   ```

1. (オプション) 認証情報を自動的にローテーションするように Secrets Manager を設定できます。[**次へ**] を選択します。

1. [**Finish**] を選択してください。

### Active Directory 認証情報を AWS Secrets Manager (CLI) に保存する
<a name="bp-store-ad-creds-sm-cli"></a>

#### ステップ 1: KMS キーを作成する
<a name="create-kms-key-cli"></a>

Secrets Manager で Active Directory 認証情報を暗号化および復号するための KMS キーを作成します。

KMS キーを作成するには、 AWS CLI コマンド [create-key](https://docs.aws.amazon.com/cli/latest/reference/kms/create-key.html) を使用します。

このコマンドで、`--policy` パラメータを設定して、KMS キーのアクセス許可を定義するキーポリシーを指定します。ポリシーには以下の内容を含める必要があります:
+ Amazon FSx のサービスプリンシパル。これは、`fsx.amazonaws.com` です。
+ 必要な KMS アクション: `kms:Decrypt` および `kms:DescribeKey`。
+  AWS リージョン および アカウントのリソース ARN パターン。
+ キーの使用を制限する条件キー:
  + リクエストが Secrets Manager を経由するようにするための `kms:ViaService`。
  + アカウントに制限するための `aws:SourceAccount`。
  + 特定の Amazon FSx ファイルシステムに制限するための `aws:SourceArn`。

以下の例では、Amazon FSx がキーを復号化およびキー説明オペレーションに使用できるようにするポリシーを使用して、対称暗号化 KMS キーを作成します。コマンドは AWS アカウント ID とリージョンを自動的に取得し、これらの値を使用してキーポリシーを設定して、Amazon FSx、Secrets Manager、KMS キー間の適切なアクセスコントロールを確保します。 AWS CLI 環境が Active Directory に参加する SVM と同じリージョンにあることを確認します。

```
# Set region and get Account ID
REGION=${AWS_REGION:-$(aws configure get region)}
ACCOUNT_ID=$(aws sts get-caller-identity --query 'Account' --output text)

# Create Key
KMS_KEY_ARN=$(aws kms create-key --policy "{
  \"Version\": \"2012-10-17\", 		 	 	 
  \"Statement\": [
    {
      \"Sid\": \"Enable IAM User Permissions\",
      \"Effect\": \"Allow\",
      \"Principal\": {
        \"AWS\": \"arn:aws:iam::$ACCOUNT_ID:root\"
      },
      \"Action\": \"kms:*\",
      \"Resource\": \"*\"
    },
    {
      \"Sid\": \"Allow FSx to use the KMS key\",
      \"Effect\": \"Allow\",
      \"Principal\": {
        \"Service\": \"fsx.amazonaws.com\"
      },
      \"Action\": [
        \"kms:Decrypt\",
        \"kms:DescribeKey\"
      ],
      \"Resource\": \"*\",
      \"Condition\": {
        \"StringEquals\": {
          \"kms:ViaService\": \"secretsmanager.$REGION.amazonaws.com\",
          \"aws:SourceAccount\": \"$ACCOUNT_ID\"
        },
        \"ArnLike\": {
          \"aws:SourceArn\": [
            \"arn:aws:fsx:$REGION:$ACCOUNT_ID:file-system/*\",
            \"arn:aws:fsx:$REGION:$ACCOUNT_ID:storage-virtual-machine/fs-*/svm-*\"]
        }
      }
    }
  ]
}" --query 'KeyMetadata.Arn' --output text)

echo "KMS Key ARN: $KMS_KEY_ARN"
```

**注記**  
特定のシークレットとファイルシステムをターゲットにするように `Resource` および `aws:SourceArn` フィールドを変更することで、より詳細なアクセスコントロールを設定できます。

#### ステップ 2: AWS Secrets Manager シークレットを作成する
<a name="create-secret-cli"></a>

Amazon FSx が Active Directory にアクセスするためのシークレットを作成するには、 AWS CLI コマンド [create-secret](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/create-secret.html) を使用して、次のパラメータを設定します。
+ `--name`: シークレットの識別子。
+ `--description`: シークレットの目的の説明。
+ `--kms-key-id`: 保管中のシークレットを暗号化するために[ステップ 1](#create-kms-key-cli) で作成した KMS キーの ARN。
+ `--secret-string`: AD 認証情報を次の形式で含む JSON 文字列。
  + `CUSTOMER_MANAGED_ACTIVE_DIRECTORY_USERNAME`: ドメインプレフィックスを含まない AD サービスアカウントのユーザー名 (`svc-fsx`など) 。`CORP\svc-fsx` などのドメインプレフィックスを指定**しない**でください。
  + `CUSTOMER_MANAGED_ACTIVE_DIRECTORY_PASSWORD`: AD サービスアカウントのパスワード
+ `--region`: SVM AWS リージョン が作成される 。`AWS_REGION` が設定されていない場合、デフォルトでは設定済みのリージョンが使用されます。

シークレットを作成したら、[put-resource-policy](https://docs.aws.amazon.com/cli/latest/reference/logs/put-resource-policy.html) コマンドを使用してリソースポリシーをアタッチし、以下のパラメータを設定します。
+ `--secret-id`: ポリシーをアタッチするシークレットの名前または ARN。次の例では、**FSxSecret** を `--secret-id` として使用します。
+ `--region`: シークレット AWS リージョン と同じです。
+ `--resource-policy`: シークレットへのアクセス許可を Amazon FSx に付与する JSON ポリシードキュメント。ポリシーには以下の内容を含める必要があります:
  + Amazon FSx のサービスプリンシパル。これは、**fsx.amazonaws.com** です。
  + 必要な Secrets Manager アクション: `secretsmanager:GetSecretValue` および `secretsmanager:DescribeSecret`。
  +  AWS リージョン および アカウントのリソース ARN パターン。
  + アクセスを制限する以下の条件キー。
    + アカウントに制限するための `aws:SourceAccount`。
    + 特定の Amazon FSx ファイルシステムに制限するための `aws:SourceArn`。

次の例では、必要な形式でシークレットを作成し、Amazon FSx にシークレットの使用を許可するリソースポリシーをアタッチします。この例では、 AWS アカウント ID とリージョンを自動的に取得し、Amazon FSx とシークレット間の適切なアクセスコントロールを確保するために、これらの値を使用してリソースポリシーを設定します。

`KMS_KEY_ARN` を[ステップ 1](#create-kms-key-cli) で作成したキーの ARN に置き換え、`CUSTOMER_MANAGED_ACTIVE_DIRECTORY_USERNAME` と `CUSTOMER_MANAGED_ACTIVE_DIRECTORY_PASSWORD` を Active Directory サービスアカウントの認証情報に置き換えてください。さらに、Active Directory に参加する SVM と同じリージョンに AWS CLI 環境が設定されていることを確認します。

```
# Set region and get account ID
REGION=${AWS_REGION:-$(aws configure get region)}
ACCOUNT_ID=$(aws sts get-caller-identity --query 'Account' --output text)

# Replace with your KMS key ARN from Step 1
KMS_KEY_ARN="{{arn:aws:kms:us-east-2:123456789012:key/1234542f-d114-555b-9ade-fec3c9200d8e}}"

# Replace with your Active Directory credentials
AD_USERNAME="{{Your_Username}}"  
AD_PASSWORD="{{Your_Password}}"

# Create the secret
SECRET_ARN=$(aws secretsmanager create-secret \
  --name "FSxSecret" \
  --description "Secret for FSx access" \
  --kms-key-id "$KMS_KEY_ARN" \
  --secret-string "{\"CUSTOMER_MANAGED_ACTIVE_DIRECTORY_USERNAME\":\"$AD_USERNAME\",\"CUSTOMER_MANAGED_ACTIVE_DIRECTORY_PASSWORD\":\"$AD_PASSWORD\"}" \
  --region "$REGION" \
  --query 'ARN' \
  --output text)

echo "Secret created with ARN: $SECRET_ARN"

# Attach the resource policy with proper formatting
aws secretsmanager put-resource-policy \
  --secret-id "FSxSecret" \
  --region "$REGION" \
  --resource-policy "{
    \"Version\": \"2012-10-17\", 		 	 	 
    \"Statement\": [
      {
        \"Effect\": \"Allow\",
        \"Principal\": {
          \"Service\": \"fsx.amazonaws.com\"
        },
        \"Action\": [
          \"secretsmanager:GetSecretValue\",
          \"secretsmanager:DescribeSecret\"
        ],
        \"Resource\": \"$SECRET_ARN\",
        \"Condition\": {
          \"StringEquals\": {
            \"aws:SourceAccount\": \"$ACCOUNT_ID\"
          },
          \"ArnLike\": {
            \"aws:SourceArn\": [
              \"arn:aws:fsx:$REGION:$ACCOUNT_ID:file-system/*\",
              \"arn:aws:fsx:$REGION:$ACCOUNT_ID:storage-virtual-machine/fs-*/svm-*\"]
          }
        }
      }
    ]
  }"

echo "Resource policy attached successfully"
```

**注記**  
特定のシークレットとファイルシステムをターゲットにするように `Resource` および `aws:SourceArn` フィールドを変更することで、より詳細なアクセスコントロールを設定できます。