

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

# `AWSSupport-ValidateFSxWindowsADConfig`
<a name="awssupport-validate-fsxwindows-adconfig"></a>

 **説明** 

 `AWSSupport-ValidateFSxWindowsADConfig` ランブックは、Amazon FSx for Windows File Server のセルフマネージド Active Directory (AD) 設定を検証するために使用されます。

 **動作の仕組み** 

 ランブックは、Amazon FSx サブネットのランブックによって起動された一時的な Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンスで Amazon FSx 検証スクリプト`AWSSupport-ValidateFSxWindowsADConfig`を実行します。このスクリプトは複数のチェックを実行して、セルフマネージド AD/DNS サーバーへのネットワーク接続と Amazon FSx サービスアカウントのアクセス許可を検証します。ランブックは、失敗した、または誤って設定された Amazon FSx for Windows File Server を検証したり、セルフマネージド AD を使用して新しい Amazon FSx for Windows File Server を作成したりできます。

 デフォルトでは、ランブックは Amazon FSx サブネット CloudFormation で を使用して、Amazon EC2 Windows インスタンス、 (SSM) アクセスのセキュリティグループ AWS Systems Manager 、 AWS Identity and Access Management (IAM) ロール、ポリシーを作成します。既存の Amazon EC2 インスタンスでスクリプトを実行する場合は、パラメータ で ID を指定します`InstanceId`。正常に実行されると、CloudFormation リソースが削除されます。ただし、リソースを保持するには、 `RetainCloudFormationStack`パラメータを に設定します`true`。

 CloudFormation テンプレートは、Amazon EC2 インスタンスにアタッチして Amazon FSx 検証スクリプトを実行するために必要なアクセス許可を持つ IAM ロールをユーザーに代わって作成します。一時インスタンスの既存の IAM インスタンスプロファイルを指定するには、 `InstanceProfileName`パラメータを使用します。関連付けられた IAM ロールには、次のアクセス許可が含まれている必要があります。
+ `ec2:DescribeSubnets` および の`ec2:DescribeVpcs`アクセス許可と Amazon 管理ポリシー`AmazonSSMManagedInstanceCore`。
+ `GetSecretValue` API を呼び出して Systems Manager から Amazon FSx サービスアカウントのユーザー名とパスワードを取得するアクセス許可。
+ スクリプト出力の Amazon Simple Storage Service (Amazon S3) バケットにオブジェクトを配置するアクセス許可。

 **前提条件** 

 SSM Run Command を使用して`AmazonFSxADValidation`スクリプトを実行するには AWS Systems Manager、一時的な Amazon EC2 インスタンスが作成されるサブネット (または `InstanceId`パラメータで提供される既存のインスタンス) で、、 AWS Secrets Manager、および Amazon S3 エンドポイントへのアクセスを許可する必要があります。

 **AWS Secrets Manager セットアップ** 

 検証スクリプトは、Secrets Manager へのランタイム呼び出しを使用して Amazon FSx サービスアカウントのユーザー名とパスワードを取得することで、Microsoft AD ドメインに接続します。「 [AWS Secrets Manager シークレットを作成する](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)」の手順に従って、新しい Secrets Manager シークレットを作成します。ユーザー名とパスワードが 形式のキーと値のペアを使用して保存されていることを確認します`{"username":"EXAMPLE-USER","password":"EXAMPLE-PASSWORD"}"`。シークレットへのアクセスを保護する方法については、[「 の認証とアクセスコントロール AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html)」を参照してください。

 ツールの詳細については、[AmazonFSxADValidation](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/samples/AmazonFSxADValidation.zip) `README.md`ファイルの `TROUBLESHOOTING.md`および ファイルを参照してください。

 **ランブックの実行** 

 Amazon FSx ID または AD パラメータを使用してランブックを実行します。ランブックのワークフローは次のとおりです。
+ Amazon FSx ID からパラメータを取得するか、入力 AD パラメータを使用します。
+ CloudFormation を使用して、Amazon FSx サブネット上の一時的な検証 Amazon EC2 Windows インスタンス、SSM アクセスのセキュリティグループ、IAM ロールとポリシー (条件付き) を作成します。`InstanceId` パラメータを指定すると、パラメータが使用されます。
+ Amazon FSx プライマリサブネットのターゲット Amazon EC2 インスタンスで検証スクリプトをダウンロードして実行します。
+ 自動化出力に AD 検証結果コードを提供します。さらに、完全なスクリプト出力が Amazon S3 バケットにアップロードされます。

 [このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-ValidateFSxWindowsADConfig) 

**ドキュメントタイプ**

オートメーション

**[所有者]**

Amazon

**[Platforms]** (プラットフォーム)

Windows

**パラメータ**

**必要な IAM アクセス許可**

`AutomationAssumeRole` パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。
+ `cloudformation:CreateStack`
+ `cloudformation:DeleteStack`
+ `cloudformation:DescribeStacks`
+ `cloudformation:DescribeStackResources`
+ `cloudformation:DescribeStackEvents`
+ `ec2:CreateTags`
+ `ec2:RunInstances`
+ `ec2:TerminateInstances`
+ `ec2:CreateLaunchTemplate`
+ `ec2:DeleteLaunchTemplate`
+ `ec2:DescribeSubnets`
+ `ec2:DescribeSecurityGroups`
+ `ec2:DescribeImages`
+ `ec2:DescribeInstances`
+ `ec2:DescribeLaunchTemplates`
+ `ec2:DescribeLaunchTemplateVersions`
+ `ec2:CreateSecurityGroup`
+ `ec2:DeleteSecurityGroup`
+ `ec2:RevokeSecurityGroupEgress`
+ `ec2:AuthorizeSecurityGroupEgress`
+ `iam:CreateRole`
+ `iam:CreateInstanceProfile`
+ `iam:GetInstanceProfile`
+ `iam:getRolePolicy`
+ `iam:DeleteRole`
+ `iam:DeleteInstanceProfile`
+ `iam:AddRoleToInstanceProfile`
+ `iam:RemoveRoleFromInstanceProfile`
+ `iam:AttachRolePolicy`
+ `iam:DetachRolePolicy`
+ `iam:PutRolePolicy`
+ `iam:DeleteRolePolicy`
+ `iam:GetRole`
+ `iam:PassRole`
+ `ssm:SendCommand`
+ `ssm:StartAutomationExecution`
+ `ssm:DescribeInstanceInformation`
+ `ssm:DescribeAutomationExecutions`
+ `ssm:GetDocument`
+ `ssm:GetAutomationExecution`
+ `ssm:DescribeAutomationStepExecutions`
+ `ssm:ListCommandInvocations`
+ `ssm:GetParameters`
+ `ssm:ListCommands`
+ `ssm:GetCommandInvocation`
+ `fsx:DescribeFileSystems`
+ `ds:DescribeDirectories`
+ `s3:GetEncryptionConfiguration`
+ `s3:GetBucketPublicAccessBlock`
+ `s3:GetAccountPublicAccessBlock`
+ `s3:GetBucketPolicyStatus`
+ `s3:GetBucketAcl`
+ `s3:GetBucketLocation`

 **自動化引き受けロールの IAM ポリシーの例** 

------
#### [ JSON ]

****  

```
                {
                    "Version":"2012-10-17",		 	 	 
                    "Statement": [
                        {
                            "Sid": "AllowDescribe",
                            "Effect": "Allow",
                            "Action": [
                                "ec2:DescribeSubnets",
                                "ec2:DescribeSecurityGroups",
                                "ec2:DescribeImages",
                                "ec2:DescribeInstances",
                                "ec2:DescribeLaunchTemplates",
                                "ec2:DescribeLaunchTemplateVersions",
                                "ssm:DescribeInstanceInformation",
                                "ssm:DescribeAutomationExecutions",
                                "ssm:DescribeAutomationStepExecutions",
                                "fsx:DescribeFileSystems",
                                "ds:DescribeDirectories"
                            ],
                            "Resource": "*"
                        },
                        {
                            "Sid": "CloudFormation",
                            "Effect": "Allow",
                            "Action": [
                                "cloudformation:DescribeStacks",
                                "cloudformation:DescribeStackResources",
                                "cloudformation:DescribeStackEvents",
                                "cloudformation:CreateStack",
                                "cloudformation:DeleteStack"
                            ],
                            "Resource": "arn:*:cloudformation:*:*:stack/AWSSupport-ValidateFSxWindowsADConfig-*"
                        },
                        {
                            "Sid": "AllowCreateLaunchTemplate",
                            "Effect": "Allow",
                            "Action": [
                                "ec2:CreateLaunchTemplate",
                                "ec2:CreateTags"
                            ],
                            "Resource": [
                                "arn:aws:ec2:*:*:launch-template/*"
                            ]
                        },
                        {
                            "Sid": "AllowEC2RunInstances",
                            "Effect": "Allow",
                            "Action": [
                                "ec2:RunInstances",
                                "ec2:CreateTags"
                            ],
                            "Resource": [
                                "arn:aws:ec2:*::image/*",
                                "arn:aws:ec2:*::snapshot/*",
                                "arn:aws:ec2:*:*:subnet/*",
                                "arn:aws:ec2:*:*:network-interface/*",
                                "arn:aws:ec2:*:*:security-group/*",
                                "arn:aws:ec2:*:*:key-pair/*",
                                "arn:aws:ec2:*:*:launch-template/*"
                            ]
                        },
                        {
                            "Sid": "AllowEC2RunInstancesWithTags",
                            "Effect": "Allow",
                            "Action": [
                                "ec2:RunInstances",
                                "ec2:CreateTags"
                            ],
                            "Resource": [
                                "arn:aws:ec2:*:*:instance/*",
                                "arn:aws:ec2:*:*:volume/*"
                            ]
                        },
                        {
                            "Sid": "EC2SecurityGroup",
                            "Effect": "Allow",
                            "Action": [
                                "ec2:CreateSecurityGroup",
                                "ec2:RevokeSecurityGroupEgress",
                                "ec2:AuthorizeSecurityGroupEgress",
                                "ec2:CreateTags"
                            ],
                            "Resource": [
                                "arn:*:ec2:*:*:security-group/*",
                                "arn:*:ec2:*:*:vpc/*"
                            ]
                        },
                        {
                            "Sid": "EC2Remove",
                            "Effect": "Allow",
                            "Action": [
                                "ec2:TerminateInstances",
                                "ec2:DeleteLaunchTemplate",
                                "ec2:DeleteSecurityGroup"
                            ],
                            "Resource": [
                                "arn:aws:ec2:*:*:instance/*",
                                "arn:aws:ec2:*:*:launch-template/*",
                                "arn:*:ec2:*:*:security-group/*"
                            ]
                        },
                        {
                            "Sid": "IAMInstanceProfile",
                            "Effect": "Allow",
                            "Action": [
                                "iam:CreateInstanceProfile",
                                "iam:DeleteInstanceProfile",
                                "iam:GetInstanceProfile",
                                "iam:AddRoleToInstanceProfile",
                                "iam:RemoveRoleFromInstanceProfile"
                            ],
                            "Resource": "arn:*:iam::*:instance-profile/*"
                        },
                        {
                            "Sid": "IAM",
                            "Effect": "Allow",
                            "Action": [
                                "iam:CreateRole",
                                "iam:DeleteRole",
                                "iam:AttachRolePolicy",
                                "iam:DetachRolePolicy",
                                "iam:getRolePolicy",
                                "iam:PutRolePolicy",
                                "iam:DeleteRolePolicy",
                                "iam:GetRole",
                                "iam:TagRole"
                            ],
                            "Resource": "arn:*:iam::*:role/*"
                        },
                        {
                            "Sid": "SSM",
                            "Effect": "Allow",
                            "Action": [
                                "ssm:StartAutomationExecution",
                                "ssm:GetDocument",
                                "ssm:GetAutomationExecution",
                                "ssm:ListCommandInvocations",
                                "ssm:GetParameters",
                                "ssm:ListCommands",
                                "ssm:GetCommandInvocation"
                            ],
                            "Resource": "*"
                        },
                        {
                            "Sid": "SSMSendCommand",
                            "Effect": "Allow",
                            "Action": [
                                "ssm:SendCommand"
                            ],
                            "Resource": "arn:aws:ssm:*:*:document/AWS-RunPowerShellScript"
                        },
                        {
                            "Sid": "SSMSendCommandOnlyFsxInstance",
                            "Effect": "Allow",
                            "Action": [
                                "ssm:SendCommand"
                            ],
                            "Resource": [
                                "arn:aws:ec2:*:*:instance/*"
                            ],
                            "Condition": {
                                "StringLike": {
                                    "ssm:resourceTag/CreatedBy": [
                                        "AWSSupport-ValidateFSxWindowsADConfig"
                                    ]
                                }
                            }
                        },
                        {
                            "Sid": "AllowPassRoleToEC2",
                            "Effect": "Allow",
                            "Action": "iam:PassRole",
                            "Resource": "arn:*:iam::*:role/AWSSupport-ValidateFSxWindowsADConfig-*",
                            "Condition": {
                                "StringEquals": {
                                    "iam:PassedToService": [
                                        "ec2.amazonaws.com"
                                    ]
                                }
                            }
                        },
                        {
                            "Effect": "Allow",
                            "Action": [
                                "s3:GetEncryptionConfiguration",
                                "s3:GetBucketPublicAccessBlock",
                                "s3:GetAccountPublicAccessBlock",
                                "s3:GetBucketPolicyStatus",
                                "s3:GetBucketAcl",
                                "s3:GetBucketLocation"
                            ],
                            "Resource": "*"
                        }
                    ]
                }
```

------

 **指示** 

次の手順に従って自動化を設定します。

1. ドキュメントの Systems Manager [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ValidateFSxWindowsADConfig/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ValidateFSxWindowsADConfig/description)で に移動します。

1. [**Execute automation**] (オートメーションを実行) を選択します。

1. 既存の失敗した、または誤って設定された Amazon FSx でセルフマネージド AD を検証するには、次のパラメータを入力します。
   + **AutomationAssumeRole（オプション):**

     Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールが指定されていない場合、Systems Manager Automation は、このランブックを開始するユーザーのアクセス許可を使用します。
   + **FSxId (条件付き):**

     Amazon FSx for Windows File Server ID。これは、既存の失敗した、または誤って設定された Amazon FSx を検証するために必要です。
   + **SecretArn (必須):**

     Amazon FSx サービスアカウントのユーザー名とパスワードを含む Secrets Manager シークレットの ARN。ユーザー名とパスワードが 形式のキーと値のペアを使用して保存されていることを確認します`{"username":"EXAMPLE-USER","password":"EXAMPLE-PASSWORD"}`。CloudFormation スタックは、`GetSecretValue`この ARN に対して実行するアクセス許可を持つ検証インスタンスを作成します。
   + **FSxSecurityGroupId (必須):**

     Amazon FSx for Windows File Server のセキュリティグループ ID。
   + **BucketName (必須):**

     検証結果をアップロードする Amazon S3 バケット。バケットがサーバー側の暗号化 (SSE) で設定されており、バケットポリシーがログにアクセスする必要がないユーザーに不要な読み取り/書き込みアクセス許可を付与していないことを確認します。また、Amazon EC2 Windows インスタンスが Amazon S3 バケットに必要なアクセス権を持っていることを確認します。  
![入力パラメータは、インスタンス ID、 IAM ロール、S3 バケット、シークレット ARN、FSx 設定のフィールドで形成されます。](http://docs.aws.amazon.com/ja_jp/systems-manager-automation-runbooks/latest/userguide/images/awssupport-validate-fsxwindows-adconfig_input_parameters1.png)

1. 新しい Amazon FSx 作成のセルフマネージド AD 設定を検証するには、次のパラメータを入力します。
   + **AutomationAssumeRole（オプション):**

     Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールが指定されていない場合、Systems Manager Automation は、このランブックを開始するユーザーのアクセス許可を使用します。
   + **SecretArn (必須):**

     Amazon FSx サービスアカウントのユーザー名とパスワードを含む Secrets Manager シークレットの ARN。ユーザー名とパスワードが 形式のキーと値のペアを使用して保存されていることを確認します`{"username":"EXAMPLE-USER","password":"EXAMPLE-PASSWORD"}`。CloudFormation スタックは、`GetSecretValue`この ARN に対して実行するアクセス許可を持つ検証インスタンスを作成します。
   + **FSxSecurityGroupId (必須):**

     Amazon FSx for Windows File Server のセキュリティグループ ID。
   + **BucketName (必須):**

     検証結果をアップロードする Amazon S3 バケット。バケットがサーバー側の暗号化 (SSE) で設定されており、バケットポリシーがログにアクセスする必要がないユーザーに不要な読み取り/書き込みアクセス許可を付与していないことを確認します。また、Amazon EC2 Windows インスタンスが Amazon S3 バケットに必要なアクセス権を持っていることを確認します。
   + **FSxPreferredSubnetId (条件付き):**

     Amazon FSx for Windows File Server の優先サブネット。
   + **DomainName (条件付き):**

     セルフマネージド Microsoft AD ドメインの完全修飾ドメイン名。
   + **DnsIpAddresses (条件付き):**

     セルフマネージド AD ドメイン内の最大 2 つの DNS サーバーまたはドメインコントローラーの IP アドレスのリスト。最大 2 つの IPs、カンマで区切って入力します。
   + **FSxAdminsGroup (条件付き):**

     Amazon FSx for Windows File Server の委任ファイルシステム管理者グループ。デフォルトでは、これは `Domain Admins` です。
   + **FSxOrganizationalUnit (条件付き):**

     ファイルシステムに参加する組織単位 (OU)。OU の識別パス名を指定します。例えば、`OU=org,DC=example,DC=com` などです。  
![ドメイン名、サブネット IDs、管理者グループ Amazon FSx を含めるための設定パラメータ。](http://docs.aws.amazon.com/ja_jp/systems-manager-automation-runbooks/latest/userguide/images/awssupport-validate-fsxwindows-adconfig_input_parameters2.png)

1. **[実行]** を選択します。

1. 自動化が開始されます。

1. ドキュメントは以下のステップを実行します。
   + **CheckBucketPublicStatus (aws:executeScript):**

     ターゲット Amazon S3 バケットがオブジェクトへの読み取り/書き込みパブリックアクセスを許可する可能性があるかどうかを確認します。
   + **BranchOnInputParameters (aws:branch):**

     Amazon FSx ID や Amazon FSx パラメータなど、指定された入力パラメータのブランチ。
   + **AssertFileSystemTypeIsWindows (aws:assertAwsResourceProperty):**

     Amazon FSx ID が指定されている場合、 はファイルシステムタイプが Amazon FSx for Windows File Server であることを確認します。
   + **GetValidationInputs (aws:executeScript):**

     Amazon EC2 インスタンスを作成するために CloudFormation テンプレートに必要なセルフマネージド Microsoft AD 設定を返します。
   + **BranchOnInstanceId (aws:branch):**

     指定された入力 のブランチ`InstanceId`。が指定されている場合、検証スクリプト`InstanceId`はオートメーション からターゲット Amazon EC2 インスタンスで実行されます`step:RunValidationScript`。
   + **CreateEC2InstanceStack (aws:createStack):**

     `AmazonFSxADValidation` ツールが実行される CloudFormation を使用して、優先サブネットに Amazon EC2 インスタンスを作成します。
   + **DescribeStackResources (aws:executeAwsApi):**

     一時的な Amazon EC2 インスタンス ID を取得するための CloudFormation スタックについて説明します。
   + **WaitForEC2InstanceToBeManaged (aws:waitForAwsResourceProperty):**

     SSM Run Command を使用して検証スクリプトを実行するために、Amazon EC2 インスタンスが Systems Manager によって管理されるまで待ちます。
   + **GetAmazonFSxADValidationAttachment (aws:executeAwsApi):**

     ランブックアタッチメントから`AmazonFSxADValidation`ツール URL を取得します。
   + **RunValidationScript (aws:runCommand):**

     一時的な Amazon EC2 インスタンスで`AmazonFSxADValidation`ツールを実行し、 `BucketName`パラメータで指定された Amazon S3 バケットに結果を保存します。
   + **DescribeErrorsFromStackEvents (aws:executeScript):**

     ランブックがスタックの作成に失敗した場合の CloudFormation スタックイベントについて説明します。
   + **BranchOnRetainCloudFormationStack (aws:branch):**

     CloudFormation スタックを削除するかどうかを判断するために、 `RetainCloudFormationStack` および `InstanceId`パラメータで分岐します。
   + **DeleteCloudFormationStack (aws:deleteStack):**

      CloudFormation スタックを削除します。

1. 完了したら、出力セクションで実行結果を確認します。  
![InvalidCredentials エラーが 1 つある検証スクリプトの結果を示す出力セクション。](http://docs.aws.amazon.com/ja_jp/systems-manager-automation-runbooks/latest/userguide/images/awssupport-validate-fsxwindows-adconfig_outputs.png)

   ランブックは、検証スクリプトの実行結果を Amazon S3 バケットにアップロードします。

 **リファレンス** 

Systems Manager Automation
+ [このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ValidateFSxWindowsADConfig/description)
+ [オートメーションを実行する](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [オートメーションの設定](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [「自動化ワークフローをサポート」ランディングページ](https://aws.amazon.com/premiumsupport/technology/saw/)

AWS サービスドキュメント
+ [Amazon FSx for Windows File Server とは](https://docs.aws.amazon.com//fsx/latest/WindowsGuide/what-is.html)
+ [Amazon FSx for Windows File Server のセルフマネージド AD 設定の検証](https://docs.aws.amazon.com//fsx/latest/WindowsGuide/validate-ad-config.html)