View a markdown version of this page

AWSSupport-ValidateFSxWindowsADConfig - AWS Systems Manager Runbook-Referenz für Automation

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AWSSupport-ValidateFSxWindowsADConfig

Beschreibung

Das AWSSupport-ValidateFSxWindowsADConfig Runbook wird verwendet, um die selbstverwaltete Active Directory (AD) -Konfiguration eines Amazon FSx for Windows File Servers zu validieren

Wie funktioniert es?

Das Runbook AWSSupport-ValidateFSxWindowsADConfig führt das Amazon FSx-Validierungsskript auf der temporären Amazon Elastic Compute Cloud (Amazon EC2) Windows-Instance aus, die vom Runbook im Amazon FSx-Subnetz gestartet wurde. Das Skript führt mehrere Prüfungen durch, um die Netzwerkkonnektivität zu selbstverwalteten AD/DNS Servern und die Berechtigungen des Amazon FSx-Dienstkontos zu validieren. Das Runbook kann einen ausgefallenen oder falsch konfigurierten Amazon FSx for Windows File Server validieren oder einen neuen Amazon FSx for Windows File Server mit selbstverwaltetem AD erstellen.

Standardmäßig erstellt das Runbook die Amazon EC2-Windows-Instance, die Sicherheitsgruppe für den AWS Systems Manager (SSM) -Zugriff, die AWS Identity and Access Management (IAM) -Rolle und die Richtlinie, die im Amazon FSx-Subnetz verwendet werden. CloudFormation Wenn Sie das Skript auf einer vorhandenen Amazon EC2-Instance ausführen möchten, geben Sie die ID im Parameter an. InstanceId Bei erfolgreicher Ausführung werden die CloudFormation Ressourcen gelöscht. Um die Ressourcen jedoch beizubehalten, setzen Sie den RetainCloudFormationStack Parameter auftrue.

Die CloudFormation Vorlage erstellt in Ihrem Namen eine IAM-Rolle mit den erforderlichen Berechtigungen zum Anhängen an die Amazon EC2-Instance, um das Amazon FSx-Validierungsskript auszuführen. Verwenden Sie den Parameter, um ein vorhandenes IAM-Instanzprofil für die temporäre Instance anzugeben. InstanceProfileName Die zugehörige IAM-Rolle muss die folgenden Berechtigungen enthalten:

  • ec2:DescribeSubnetsund ec2:DescribeVpcs Berechtigungen sowie die Amazon Managed PolicyAmazonSSMManagedInstanceCore.

  • Berechtigungen zum Abrufen des Benutzernamens und des Passworts für das Amazon FSx-Dienstkonto vom Systems Manager durch Aufrufen der GetSecretValue API.

  • Berechtigungen zum Speichern eines Objekts in den Amazon Simple Storage Service (Amazon S3) -Bucket für die Skriptausgabe.

Voraussetzungen

Das Subnetz, in dem die temporäre Amazon EC2-Instance erstellt wird (oder die im InstanceId Parameter angegebene vorhandene Instance), muss den Zugriff auf die Endpunkte AWS Systems Manager, und Amazon S3-Endpunkte ermöglichen AWS Secrets Manager, damit das AmazonFSxADValidation Skript mithilfe des SSM Run Command ausgeführt werden kann.

AWS Secrets Manager einrichten

Das Validierungsskript stellt eine Verbindung zur Microsoft AD-Domain her, indem es den Benutzernamen und das Passwort des Amazon FSx-Dienstkontos mit einem Runtime-Aufruf von Secrets Manager abruft. Folgen Sie den Schritten unter Ein AWS Secrets Manager Geheimnis erstellen, um ein neues Secrets Manager-Geheimnis zu erstellen. Vergewissern Sie sich, dass der Benutzername und das Passwort key/value paarweise im Format gespeichert werden{"username":"EXAMPLE-USER","password":"EXAMPLE-PASSWORD"}". Weitere Informationen zum Schutz des Zugriffs auf geheime AWS Secrets Manager Daten finden Sie unter Authentifizierung und Zugriffskontrolle.

Weitere Informationen zum Tool finden Sie in den README.md Dateien TROUBLESHOOTING.md und in der AmazonFSxADValidation Datei.

Ausführung von Runbooks

Führen Sie das Runbook mit Amazon FSx-ID oder AD-Parametern aus. Im Folgenden ist der Runbook-Workflow aufgeführt:

  • Ruft die Parameter aus der Amazon FSx-ID ab oder verwendet die AD-Eingabeparameter.

  • Erstellt die temporäre Amazon EC2-Windows-Instance zur Validierung im Amazon FSx-Subnetz, der Sicherheitsgruppe für den SSM-Zugriff, der IAM-Rolle und der Richtlinie (bedingt) unter Verwendung. CloudFormation Wenn der InstanceId Parameter angegeben ist, wird er verwendet.

  • Lädt das Validierungsskript auf der Amazon EC2-Zielinstanz im primären Amazon FSx-Subnetz herunter und führt es aus.

  • Stellt den Ergebniscode der AD-Validierung in der Automatisierungsausgabe bereit. Zusätzlich wird die komplette Skriptausgabe in den Amazon S3-Bucket hochgeladen.

Führen Sie diese Automatisierung aus (Konsole)

Art des Dokuments

Automatisierung

Eigentümer

Amazon

Plattformen

Windows

Parameter

Erforderliche IAM-Berechtigungen

Der AutomationAssumeRole Parameter erfordert die folgenden Aktionen, um das Runbook erfolgreich zu verwenden.

  • 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

Beispiel für eine IAM-Richtlinie für die Rolle Automation Assume

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

Anweisungen

Folgen Sie diesen Schritten, um die Automatisierung zu konfigurieren:

  1. Navigieren Sie AWSSupport-ValidateFSxWindowsADConfig im Systems Manager unter Dokumente zu.

  2. Wählen Sie Execute automation (Automatisierung ausführen).

  3. Um das selbstverwaltete AD anhand eines bestehenden ausgefallenen oder falsch konfigurierten Amazon FSx zu validieren, geben Sie die folgenden Parameter ein:

    • AutomationAssumeRole (Fakultativ):

      Der Amazon-Ressourcenname (ARN) der AWS Identity and Access Management (IAM) -Rolle, die es Systems Manager Automation ermöglicht, die Aktionen in Ihrem Namen durchzuführen. Wenn keine Rolle angegeben ist, verwendet Systems Manager Automation die Berechtigungen des Benutzers, der dieses Runbook startet.

    • FSxId (Befristet):

      Die Amazon FSx für Windows-Dateiserver-ID. Dies ist erforderlich, um bestehende fehlgeschlagene oder falsch konfigurierte Amazon FSx zu überprüfen.

    • SecretArn (Erforderlich):

      Die ARN Ihres Secrets Manager-Geheimnisses, das den Benutzernamen und das Passwort des Amazon FSx-Dienstkontos enthält. Stellen Sie sicher, dass der Benutzername und das Passwort in einem key/value Paar im folgenden Format {"username":"EXAMPLE-USER","password":"EXAMPLE-PASSWORD"} gespeichert werden. Der CloudFormation Stack erstellt die Validierungsinstanz mit Berechtigungen GetSecretValue zur Ausführung dieses ARN.

    • FSxSecurityGroupId (Erforderlich):

      Die Sicherheitsgruppen-ID für den Amazon FSx for Windows File Server.

    • BucketName (Erforderlich):

      Der Amazon S3-Bucket, in den die Validierungsergebnisse hochgeladen werden sollen. Stellen Sie sicher, dass der Bucket mit serverseitiger Verschlüsselung (SSE) konfiguriert ist und dass die Bucket-Richtlinie Parteien, die nicht auf die Protokolle zugreifen müssen, keine unnötigen read/write Berechtigungen gewährt. Stellen Sie außerdem sicher, dass die Amazon EC2-Windows-Instance über den erforderlichen Zugriff auf den Amazon S3-Bucket verfügt.

    Eingabeparameterformular mit Feldern für Instance-ID, IAM Rolle, S3-Bucket, Secrets ARN und FSx-Konfiguration.
  4. Um die selbstverwaltete AD-Konfiguration für eine neue Amazon FSx-Erstellung zu validieren, geben Sie die folgenden Parameter ein:

    • AutomationAssumeRole (Fakultativ):

      Der Amazon-Ressourcenname (ARN) der AWS Identity and Access Management (IAM) -Rolle, die es Systems Manager Automation ermöglicht, die Aktionen in Ihrem Namen durchzuführen. Wenn keine Rolle angegeben ist, verwendet Systems Manager Automation die Berechtigungen des Benutzers, der dieses Runbook startet.

    • SecretArn (Erforderlich):

      Die ARN Ihres Secrets Manager-Geheimnisses, das den Benutzernamen und das Passwort des Amazon FSx-Dienstkontos enthält. Stellen Sie sicher, dass der Benutzername und das Passwort in einem key/value Paar im folgenden Format {"username":"EXAMPLE-USER","password":"EXAMPLE-PASSWORD"} gespeichert werden. Der CloudFormation Stack erstellt die Validierungsinstanz mit Berechtigungen GetSecretValue zur Ausführung dieses ARN.

    • FSxSecurityGroupId (Erforderlich):

      Die Sicherheitsgruppen-ID für den Amazon FSx for Windows File Server.

    • BucketName (Erforderlich):

      Der Amazon S3-Bucket, in den die Validierungsergebnisse hochgeladen werden sollen. Stellen Sie sicher, dass der Bucket mit serverseitiger Verschlüsselung (SSE) konfiguriert ist und dass die Bucket-Richtlinie Parteien, die nicht auf die Protokolle zugreifen müssen, keine unnötigen read/write Berechtigungen gewährt. Stellen Sie außerdem sicher, dass die Amazon EC2-Windows-Instance über den erforderlichen Zugriff auf den Amazon S3-Bucket verfügt.

    • FSxPreferredSubnetId(Befristet):

      Das bevorzugte Subnetz von Amazon FSx für Windows File Server.

    • DomainName (Befristet):

      Der vollqualifizierte Domainname Ihrer selbstverwalteten Microsoft AD-Domain.

    • DnsIpAddresses (Befristet):

      Eine Liste mit bis zu zwei DNS-Server- oder Domänencontroller-IP-Adressen in Ihrer selbstverwalteten AD-Domäne. Geben Sie für bis zu zwei IP-Adressen diese durch ein Komma getrennt ein.

    • FSxAdminsGroup (Befristet):

      Die Gruppe der delegierten Dateisystemadministratoren von Amazon FSx für Windows File Server. Standardmäßig ist dies Domain Admins.

    • FSxOrganizationalUnit(Befristet):

      Die Organisationseinheit (OU), der Sie Ihr Dateisystem zuordnen möchten. Geben Sie den eindeutigen Pfadnamen der OU an. Beispiel: OU=org,DC=example,DC=com.

    Konfigurationsparameter, Amazon FSx einschließlich Domänenname, Subnetz-IDs und Admin-Gruppen.
  5. Wählen Sie Ausführen aus.

  6. Die Automatisierung wird initiiert.

  7. Das Dokument führt die folgenden Schritte aus:

    • CheckBucketPublicStatus(AWS: Skript ausführen):

      Prüft, ob der Amazon S3-Ziel-Bucket potenziell öffentlichen Lese- und and/or Schreibzugriff auf seine Objekte gewährt.

    • BranchOnInputParameters(aws:branch):

      Verzweigungen auf den bereitgestellten Eingabeparametern wie Amazon FSx-ID oder Amazon FSx-Parametern.

    • AssertFileSystemTypeIsWindows(awsAwsResourceProperty: assert):

      Wenn die Amazon FSx-ID angegeben wird, bestätigt, dass der Dateisystemtyp Amazon FSx for Windows File Server ist.

    • GetValidationInputs(AWS: Skript ausführen):

      Gibt die selbstverwaltete Microsoft AD-Konfiguration zurück, die für die CloudFormation Vorlage zum Erstellen der Amazon EC2-Instance erforderlich ist.

    • BranchOnInstanceId (aws:branch):

      Verzweigungen auf der bereitgestellten Eingabe. InstanceId Falls angegeben, InstanceId wird das Validierungsskript von der Automatisierung step:RunValidationScript aus auf der Amazon EC2-Zielinstanz ausgeführt.

    • CreateEC2InstanceStack(AWS: Stack erstellen):

      Erstellt die Amazon EC2-Instance im bevorzugten Subnetz und verwendet CloudFormation dabei den Ort, an dem das Tool ausgeführt wird AmazonFSxADValidation

    • DescribeStackResources(awsAwsApi: ausführen):

      Beschreibt den CloudFormation Stack zum Abrufen der temporären Amazon EC2-Instance-ID.

    • WaitForEC2InstanceToBeManaged(aws:warteForAwsResourceProperty):

      Wartet, bis die Amazon EC2-Instance vom Systems Manager verwaltet wird, um das Validierungsskript mit dem SSM Run Command auszuführen.

    • GetAmazonFSxADValidationAttachment(aws: ausführen): AwsApi

      Ruft die AmazonFSxADValidation Tool-URL aus den Runbook-Anhängen ab.

    • RunValidationScript(AWS: RunCommand):

      Führt das AmazonFSxADValidation Tool auf der temporären Amazon EC2-Instance aus und speichert das Ergebnis in dem im Parameter angegebenen Amazon S3-Bucket. BucketName

    • DescribeErrorsFromStackEvents(AWS: Skript ausführen):

      Beschreibt die CloudFormation Stack-Ereignisse, wenn die Runbooks den Stack nicht erstellen können.

    • BranchOnRetainCloudFormationStack(aws:branch):

      Verzweigungen in den InstanceId Parametern RetainCloudFormationStack und, um zu bestimmen, ob der CloudFormation Stapel gelöscht werden soll.

    • DeleteCloudFormationStack(AWS: Stack löschen):

      Löscht den Stapel. CloudFormation

  8. Wenn Sie fertig sind, überprüfen Sie den Abschnitt Ausgaben auf die Ergebnisse der Ausführung:

    Im Abschnitt „Ausgaben“ werden die Ergebnisse des Validierungsskripts mit einem InvalidCredentials Fehler angezeigt.

    Das Runbook lädt die Ergebnisse der Ausführung des Validierungsskripts in den Amazon S3-Bucket hoch.

Referenzen

Systems Manager Automation

AWS Dokumentation zum Service