Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
AWSSupport-ValidateFSxWindowsADConfig
Descripción
El AWSSupport-ValidateFSxWindowsADConfig
runbook se utiliza para validar la configuración autogestionada de Active Directory (AD) de un servidor de archivos de Amazon FSx para Windows
¿Cómo funciona?
El runbook AWSSupport-ValidateFSxWindowsADConfig
ejecuta el script de FSx validación de Amazon en la instancia temporal de Amazon Elastic Compute Cloud EC2 (Amazon) Windows lanzada por el runbook en la subred de Amazon. FSx El script realiza varias comprobaciones para validar la conectividad de la red con los AD/DNS servidores autogestionados y los permisos de la cuenta de FSx servicio de Amazon. El runbook puede validar un servidor de archivos de Amazon FSx para Windows con errores o mal configurado o crear un nuevo servidor de archivos de Amazon FSx para Windows con AD autogestionado.
De forma predeterminada, el runbook crea la instancia de Amazon EC2 Windows, el grupo de seguridad para el acceso AWS Systems Manager
(SSM), el rol AWS Identity and Access Management (IAM) y la política que se utilizan en AWS CloudFormation la subred de Amazon. FSx Si quieres ejecutar el script en una EC2 instancia de Amazon existente, proporciona el ID en el parámetroInstanceId
. Si se ejecuta correctamente, elimina los CloudFormation recursos. Sin embargo, para conservar los recursos, defina true
el RetainCloudFormationStack
parámetro en.
La CloudFormation plantilla crea un rol de IAM en tu nombre con los permisos necesarios para adjuntarlo a la EC2 instancia de Amazon y ejecutar el script de FSx validación de Amazon. Para especificar un perfil de instancia de IAM existente para la instancia temporal, usa el InstanceProfileName
parámetro. La función de IAM asociada debe contener los siguientes permisos:
-
ec2:DescribeSubnets
yec2:DescribeVpcs
permisos y la Política de gestión de AmazonAmazonSSMManagedInstanceCore
. -
Permisos para obtener el nombre de usuario y la contraseña de la cuenta de FSx servicio de Amazon desde Systems Manager mediante una llamada a la
GetSecretValue
API. -
Permisos para colocar el objeto en el bucket de Amazon Simple Storage Service (Amazon S3) para la salida del script.
Requisitos previos
La subred en la que se crea la EC2 instancia temporal de Amazon (o la instancia existente proporcionada en el InstanceId
parámetro) debe permitir el acceso a los puntos de enlace AWS Systems Manager AWS Secrets Manager, y Amazon S3 para poder ejecutar el AmazonFSxADValidation
script mediante SSM Run Command.
AWS Secrets Manager configurar
El script de validación se conecta al dominio de Microsoft AD recuperando el nombre de usuario y la contraseña de la cuenta de FSx servicio de Amazon con una llamada en tiempo de ejecución a Secrets Manager. Sigue los pasos de Crear un AWS Secrets Manager secreto para crear un nuevo secreto de Secrets Manager. Asegúrese de que el nombre de usuario y la contraseña estén guardados mediante un key/value par en el formato{"username":"EXAMPLE-USER","password":"EXAMPLE-PASSWORD"}"
. Consulte Autenticación y control de acceso AWS Secrets Manager para obtener información sobre cómo proteger el acceso a los secretos.
Para obtener más información sobre la herramienta, consulta los README.md
archivos TROUBLESHOOTING.md
y del FSx ADValidation archivo de Amazon.
Ejecución del manual
Ejecuta el runbook con los parámetros de Amazon FSx ID o AD. El siguiente es el flujo de trabajo del runbook:
-
Obtiene los parámetros del Amazon FSx ID o utiliza los parámetros de entrada de AD.
-
Crea la instancia de Amazon EC2 Windows de validación temporal en la FSx subred de Amazon, el grupo de seguridad para el acceso SSM, el rol de IAM y el uso de políticas (condicionales). CloudFormation Si se especifica el
InstanceId
parámetro, se utiliza. -
Descarga y ejecuta el script de validación en la EC2 instancia de Amazon de destino en la subred FSx principal de Amazon.
-
Proporciona el código del resultado de la validación de AD en el resultado de la automatización. Además, el resultado completo del script se carga en el bucket de Amazon S3.
Ejecuta esta automatización (consola)
Tipo de documento
Automatización
Propietario
Amazon
Plataformas
Windows
Parámetros
Permisos de IAM necesarios
El parámetro AutomationAssumeRole
requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.
-
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
Ejemplo de política de IAM para el rol 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": "*" } ] }
Instrucciones
Siga estos pasos para configurar la automatización:
-
Navegue hasta
AWSSupport-ValidateFSxWindowsADConfig
Systems Manager, en Documentos. -
Elija Execute automation (Ejecutar automatización).
-
Para validar el AD autogestionado con un Amazon existente con errores o mal configurado FSx, introduce los siguientes parámetros:
-
AutomationAssumeRole (Opcional):
El nombre del recurso de Amazon (ARN) del rol AWS Identity and Access Management (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre. Si no se especifica ningún rol, Systems Manager Automation utiliza los permisos del usuario que inicia este runbook.
-
FSxID (condicional):
El ID del servidor de archivos de Amazon FSx para Windows. Esto es necesario para validar un Amazon FSx existente con errores o mal configurado.
-
SecretArn (Obligatorio):
El ARN del secreto de Secrets Manager que contiene el nombre de usuario y la contraseña de la cuenta FSx de servicio de Amazon. Asegúrese de que el nombre de usuario y la contraseña se almacenen con un key/value par en el formato
{"username":"EXAMPLE-USER","password":"EXAMPLE-PASSWORD"}
. La CloudFormation pila crea la instancia de validación con permisos paraGetSecretValue
realizar este ARN. -
FSxSecurityGroupId (Obligatorio):
El ID del grupo de seguridad del servidor de archivos de Amazon FSx para Windows.
-
BucketName (Obligatorio):
El bucket de Amazon S3 en el que cargar los resultados de la validación. Asegúrese de que el depósito esté configurado con el cifrado del lado del servidor (SSE) y de que la política del depósito no conceda read/write permisos innecesarios a las partes que no necesitan acceder a los registros. Asegúrese también de que la instancia de Amazon EC2 Windows tenga el acceso necesario al bucket de Amazon S3.
-
-
Para validar la configuración de AD autogestionada para una nueva FSx creación de Amazon, introduce los siguientes parámetros:
-
AutomationAssumeRole (Opcional):
El nombre del recurso de Amazon (ARN) del rol AWS Identity and Access Management (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre. Si no se especifica ningún rol, Systems Manager Automation utiliza los permisos del usuario que inicia este runbook.
-
SecretArn (Obligatorio):
El ARN del secreto de Secrets Manager que contiene el nombre de usuario y la contraseña de la cuenta FSx de servicio de Amazon. Asegúrese de que el nombre de usuario y la contraseña se almacenen con un key/value par en el formato
{"username":"EXAMPLE-USER","password":"EXAMPLE-PASSWORD"}
. La CloudFormation pila crea la instancia de validación con permisos paraGetSecretValue
realizar este ARN. -
FSxSecurityGroupId (Obligatorio):
El ID del grupo de seguridad del servidor de archivos de Amazon FSx para Windows.
-
BucketName (Obligatorio):
El bucket de Amazon S3 en el que cargar los resultados de la validación. Asegúrese de que el depósito esté configurado con el cifrado del lado del servidor (SSE) y de que la política del depósito no conceda read/write permisos innecesarios a las partes que no necesitan acceder a los registros. Asegúrese también de que la instancia de Amazon EC2 Windows tenga el acceso necesario al bucket de Amazon S3.
-
FSxPreferredSubnetId(Condicional):
La subred preferida de Amazon FSx for Windows File Server.
-
DomainName (Condicional):
El nombre de dominio completo de tu dominio autogestionado de Microsoft AD.
-
DnsIpAddresses (Condicional):
Una lista de hasta dos direcciones IP de servidor DNS o controlador de dominio en tu dominio AD autogestionado. Para un máximo de dos IPs, introdúzcalas separadas por una coma.
-
FSxAdminsGroup (Condicional):
El grupo de administradores de sistemas de archivos delegados de Amazon FSx para Windows File Server. De forma predeterminada, este es
Domain Admins
. -
FSxOrganizationalUnit(Condicional):
La unidad organizativa (OU) a la que desea unir su sistema de archivos. Proporcione el nombre de la ruta distinguida de la OU. Ejemplo:
OU=org,DC=example,DC=com
.
-
-
Seleccione Ejecutar.
-
Se inicia la automatización.
-
Este documento realiza los siguientes pasos:
-
CheckBucketPublicStatus(AWS:ExecuteScript):
Comprueba si el bucket de Amazon S3 de destino puede conceder acceso público de lectura y and/or escritura a sus objetos.
-
BranchOnInputParameters(aws:branch):
Se basa en los parámetros de entrada proporcionados, como el Amazon FSx ID o FSx los parámetros de Amazon.
-
AssertFileSystemTypeIsWindows(leyes: assertAwsResource Propiedad):
Si se proporciona el Amazon FSx ID, valida que el tipo de sistema de archivos sea Amazon FSx for Windows File Server.
-
GetValidationInputs(AWS:ExecuteScript):
Devuelve la configuración autogestionada de Microsoft AD requerida por la CloudFormation plantilla para crear la EC2 instancia de Amazon.
-
BranchOnInstanceId (aws:branch):
Se ramifica en la entrada proporcionada.
InstanceId
SiInstanceId
se proporciona, el script de validación se ejecuta en la EC2 instancia de Amazon de destino desde la automatizaciónstep:RunValidationScript
. -
Crear EC2 InstanceStack (AWS:CreateStack):
Crea la EC2 instancia de Amazon en la subred preferida utilizando el AWS CloudFormation lugar donde se
AmazonFSxADValidation
ejecutará la herramienta -
DescribeStackResources(aws:executeAwsApi):
Describe la CloudFormation pila para obtener el ID de EC2 instancia de Amazon temporal.
-
WaitForEC2InstanceToBeManaged(aws: waitForAwsResourceProperty):
Espera a que Systems Manager gestione la EC2 instancia de Amazon para ejecutar el script de validación mediante SSM Run Command.
-
GetAmazonFSxADValidationAdjunto (aws): executeAwsApi
Obtiene la URL de la
AmazonFSxADValidation
herramienta de los archivos adjuntos del runbook. -
RunValidationScript(AWS: comando RUN):
Ejecuta la
AmazonFSxADValidation
herramienta en la EC2 instancia temporal de Amazon y almacena el resultado en el bucket de Amazon S3 especificado en elBucketName
parámetro. -
DescribeErrorsFromStackEvents(AWS:ExecuteScript):
Describe los eventos de la CloudFormation pila si los runbooks no logran crear la pila.
-
BranchOnRetainCloudFormationStack(aws:branch):
Ramifica los
InstanceId
parámetrosRetainCloudFormationStack
y para determinar si se debe CloudFormation eliminar la pila. -
DeleteCloudFormationStack(AWS: DeleteStack):
Elimina la pila AWS CloudFormation .
-
-
Una vez finalizada, revise la sección de resultados para ver los resultados de la ejecución:
El runbook cargará los resultados de la ejecución del script de validación en el bucket de Amazon S3.
Referencias
Automatización de Systems Manager
AWS documentación de servicio