AWSSupport-ValidateFSxWindowsADConfig - AWS Systems Manager Guide de référence du manuel d'automatisation

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AWSSupport-ValidateFSxWindowsADConfig

Description

Le AWSSupport-ValidateFSxWindowsADConfig runbook est utilisé pour valider la configuration Active Directory (AD) autogérée d'un serveur de fichiers Amazon FSx pour Windows

Comment fonctionne-t-il ?

Le runbook AWSSupport-ValidateFSxWindowsADConfig exécute le script de FSx validation Amazon sur l'instance Windows temporaire Amazon Elastic Compute Cloud EC2 (Amazon) lancée par le runbook sur le sous-réseau Amazon. FSx Le script effectue plusieurs vérifications pour valider la connectivité réseau aux AD/DNS serveurs autogérés et les autorisations du compte de FSx service Amazon. Le runbook peut valider un serveur de fichiers Amazon FSx pour Windows défaillant ou mal configuré ou créer un nouveau serveur de fichiers Amazon FSx pour Windows avec AD autogéré.

Par défaut, le runbook crée l'instance Amazon EC2 Windows, le groupe de sécurité pour l'accès AWS Systems Manager (SSM), le rôle AWS Identity and Access Management (IAM) et la politique en utilisant AWS CloudFormation le sous-réseau Amazon. FSx Si vous souhaitez exécuter le script sur une EC2 instance Amazon existante, indiquez l'ID dans le paramètreInstanceId. En cas d'exécution réussie, il supprime les CloudFormation ressources. Toutefois, pour conserver les ressources, définissez le RetainCloudFormationStack paramètre surtrue.

Le CloudFormation modèle crée un rôle IAM en votre nom avec les autorisations requises pour être attaché à l' EC2 instance Amazon afin d'exécuter le script de FSx validation Amazon. Pour spécifier un profil d'instance IAM existant pour l'instance temporaire, utilisez le InstanceProfileName paramètre. Le rôle IAM associé doit contenir les autorisations suivantes :

  • ec2:DescribeSubnetset ec2:DescribeVpcs les autorisations et la politique gérée par AmazonAmazonSSMManagedInstanceCore.

  • Autorisations permettant d'obtenir le nom d'utilisateur et le mot de passe du compte de FSx service Amazon auprès de Systems Manager en appelant l'GetSecretValueAPI.

  • Autorisations permettant de placer un objet dans le compartiment Amazon Simple Storage Service (Amazon S3) pour la sortie du script.

Prérequis

Le sous-réseau dans lequel l' EC2 instance Amazon temporaire est créée (ou l'instance existante fournie dans le InstanceId paramètre) doit autoriser l'accès aux points de terminaison AWS Systems Manager, AWS Secrets Manager, et Amazon S3 afin d'exécuter le AmazonFSxADValidation script à l'aide de la commande SSM Run.

AWS Secrets Manager configuration

Le script de validation se connecte au domaine Microsoft AD en récupérant le nom d'utilisateur et le mot de passe du compte de FSx service Amazon lors d'un appel d'exécution à Secrets Manager. Suivez les étapes décrites dans Créer un AWS Secrets Manager secret pour créer un nouveau secret dans le Gestionnaire de Secrets. Assurez-vous que le nom d'utilisateur et le mot de passe sont enregistrés à l'aide d'une key/value paire au format{"username":"EXAMPLE-USER","password":"EXAMPLE-PASSWORD"}". Reportez-vous à la section Authentification et contrôle d'accès AWS Secrets Manager pour plus d'informations sur la sécurisation de l'accès aux secrets.

Pour plus d'informations sur l'outil, reportez-vous aux README.md fichiers TROUBLESHOOTING.md et du FSx ADValidation fichier Amazon.

Exécution du Runbook

Exécutez le runbook avec les paramètres Amazon FSx ID ou AD. Voici le flux de travail du runbook :

  • Obtient les paramètres à partir de l' FSx identifiant Amazon ou utilise les paramètres AD d'entrée.

  • Crée l'instance Amazon EC2 Windows de validation temporaire sur le FSx sous-réseau Amazon, le groupe de sécurité pour l'accès SSM, le rôle IAM et la politique (conditionnelle) à l'aide de. CloudFormation Si le InstanceId paramètre est spécifié, il est utilisé.

  • Télécharge et exécute le script de validation sur l' EC2 instance Amazon cible dans le sous-réseau FSx principal Amazon.

  • Fournit le code de résultat de la validation AD dans la sortie d'automatisation. En outre, la sortie complète du script est chargée dans le compartiment Amazon S3.

Exécuter cette automatisation (console)

Type de document

 Automatisation

Propriétaire

Amazon

Plateformes

Windows

Paramètres

Autorisations IAM requises

Le AutomationAssumeRole paramètre nécessite les actions suivantes pour utiliser correctement le runbook.

  • 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

Exemple de politique IAM pour le rôle Automation Assume

{ "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": "*" } ] }

Instructions

Pour configurer l'automatisation, procédez comme suit :

  1. Accédez AWSSupport-ValidateFSxWindowsADConfigà Systems Manager sous Documents.

  2. Sélectionnez Execute automation (Exécuter l'automatisation).

  3. Pour valider l'AD autogéré auprès d'un Amazon existant défaillant ou mal configuré FSx, entrez les paramètres suivants :

    • AutomationAssumeRole (Facultatif) :

      Amazon Resource Name (ARN) du rôle AWS Identity and Access Management (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom. Si aucun rôle n'est spécifié, Systems Manager Automation utilise les autorisations de l'utilisateur qui lance ce runbook.

    • FSxIdentifiant (conditionnel) :

      L'ID du serveur de fichiers Amazon FSx pour Windows. Cela est nécessaire pour valider la version existante d'Amazon FSx défaillante ou mal configurée.

    • SecretArn (Obligatoire) :

      L'ARN de votre secret Secrets Manager contenant le nom d'utilisateur et le mot de passe du compte de FSx service Amazon. Assurez-vous que le nom d'utilisateur et le mot de passe sont enregistrés à l'aide d'une key/value paire au format{"username":"EXAMPLE-USER","password":"EXAMPLE-PASSWORD"}. La CloudFormation pile crée l'instance de validation avec les autorisations nécessaires pour GetSecretValue effectuer des opérations sur cet ARN.

    • FSxSecurityGroupId (Obligatoire) :

      L'ID du groupe de sécurité pour le serveur de fichiers Amazon FSx pour Windows.

    • BucketName (Obligatoire) :

      Le compartiment Amazon S3 dans lequel télécharger les résultats de validation. Assurez-vous que le compartiment est configuré avec le chiffrement côté serveur (SSE) et que la politique du compartiment n'accorde pas d' read/write autorisations inutiles aux parties qui n'ont pas besoin d'accéder aux journaux. Assurez-vous également que l'instance Amazon EC2 Windows dispose de l'accès nécessaire au compartiment Amazon S3.

    Input parameters form for AWS Systems Manager managed Windows Server EC2 instance validation.
  4. Pour valider la configuration AD autogérée pour une nouvelle FSx création Amazon, entrez les paramètres suivants :

    • AutomationAssumeRole (Facultatif) :

      Amazon Resource Name (ARN) du rôle AWS Identity and Access Management (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom. Si aucun rôle n'est spécifié, Systems Manager Automation utilise les autorisations de l'utilisateur qui lance ce runbook.

    • SecretArn (Obligatoire) :

      L'ARN de votre secret Secrets Manager contenant le nom d'utilisateur et le mot de passe du compte de FSx service Amazon. Assurez-vous que le nom d'utilisateur et le mot de passe sont enregistrés à l'aide d'une key/value paire au format{"username":"EXAMPLE-USER","password":"EXAMPLE-PASSWORD"}. La CloudFormation pile crée l'instance de validation avec les autorisations nécessaires pour GetSecretValue effectuer des opérations sur cet ARN.

    • FSxSecurityGroupId (Obligatoire) :

      L'ID du groupe de sécurité pour le serveur de fichiers Amazon FSx pour Windows.

    • BucketName (Obligatoire) :

      Le compartiment Amazon S3 dans lequel télécharger les résultats de validation. Assurez-vous que le compartiment est configuré avec le chiffrement côté serveur (SSE) et que la politique du compartiment n'accorde pas d' read/write autorisations inutiles aux parties qui n'ont pas besoin d'accéder aux journaux. Assurez-vous également que l'instance Amazon EC2 Windows dispose de l'accès nécessaire au compartiment Amazon S3.

    • FSxPreferredSubnetId(Conditionnel) :

      Le sous-réseau préféré du serveur de fichiers Amazon FSx pour Windows.

    • DomainName (Conditionnel) :

      Le nom de domaine complet de votre domaine Microsoft AD autogéré.

    • DnsIpAddresses (Conditionnel) :

      Liste d'un maximum de deux adresses IP de serveur DNS ou de contrôleur de domaine dans votre domaine AD autogéré. Pour un maximum de deux IPs, saisissez-les en les séparant par une virgule.

    • FSxAdminsGroup (Conditionnel) :

      Le groupe d'administrateurs de systèmes de fichiers délégués d'Amazon FSx pour Windows File Server. Par défaut, il s'agit d'Domain Admins.

    • FSxOrganizationalUnit(Conditionnel) :

      Unité organisationnelle (UO) au sein de laquelle vous souhaitez rejoindre votre système de fichiers. Indiquez le nom du chemin unique de l'unité d'organisation. Exemple: OU=org,DC=example,DC=com.

    Form fields for configuring Amazon FSx for Windows File Server and related Services AWS.
  5. Sélectionnez Exécuter.

  6. L'automatisation démarre.

  7. Le document exécute les étapes suivantes :

    • CheckBucketPublicStatus(AWS : ExecuteScript) :

      Vérifie si le compartiment Amazon S3 cible accorde potentiellement un accès public en lecture et en and/or écriture à ses objets.

    • BranchOnInputParameters(aws:branche) :

      Branches sur les paramètres d'entrée fournis, tels que l' FSx identifiant Amazon ou FSx les paramètres Amazon.

    • AssertFileSystemTypeIsWindows(lois : assertAwsResource Propriété) :

      Si un FSx identifiant Amazon est fourni, cela confirme que le type de système de fichiers est Amazon FSx pour Windows File Server.

    • GetValidationInputs(AWS : ExecuteScript) :

      Renvoie la configuration Microsoft AD autogérée requise par le CloudFormation modèle pour créer l' EC2 instance Amazon.

    • BranchOnInstanceId (aws:branche) :

      Branches sur l'entrée fournieInstanceId. S'il InstanceId est fourni, le script de validation s'exécute sur l' EC2 instance Amazon cible à partir de l'automatisationstep:RunValidationScript.

    • Créer EC2 InstanceStack (AWS : CreateStack) :

      Crée l' EC2 instance Amazon dans le sous-réseau préféré en utilisant l' AWS CloudFormation endroit où l'AmazonFSxADValidationoutil sera exécuté

    • DescribeStackResources(comme :executeAwsApi) :

      Décrit la CloudFormation pile permettant d'obtenir l'ID d' EC2 instance Amazon temporaire.

    • WaitForEC2InstanceToBeManaged(comme : waitForAwsResourceProperty) :

      Attend que l' EC2 instance Amazon soit gérée par Systems Manager pour exécuter le script de validation à l'aide de SSM Run Command.

    • GetAmazonFSxADValidationPièce jointe (comme :executeAwsApi) :

      Obtient l'URL de l'AmazonFSxADValidationoutil à partir des pièces jointes du runbook.

    • RunValidationScript(AWS : Exécuter la commande) :

      Exécute l'AmazonFSxADValidationoutil sur l' EC2instance Amazon temporaire et stocke le résultat dans le compartiment Amazon S3 spécifié dans le BucketName paramètre.

    • DescribeErrorsFromStackEvents(AWS : ExecuteScript) :

      Décrit les événements de la CloudFormation pile si les runbooks ne parviennent pas à créer la pile.

    • BranchOnRetainCloudFormationStack(aws:branche) :

      Branches sur les InstanceId paramètres RetainCloudFormationStack et pour déterminer si la CloudFormation pile doit être supprimée.

    • DeleteCloudFormationStack(AWS : Supprimer la pile) :

      Supprime la AWS CloudFormation pile.

  8. Une fois terminé, consultez la section Sorties pour connaître les résultats de l'exécution :

    Output showing instance details, CloudFormation stack ID, and validation script results with errors.

    Le runbook téléchargera les résultats de l'exécution du script de validation dans le compartiment Amazon S3.

Références

Systems Manager Automation

AWS documentation de service