View a markdown version of this page

AWSSupport-ValidateFSxWindowsADConfig - AWS Systems Manager Referensi Buku Runbook Otomasi

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

AWSSupport-ValidateFSxWindowsADConfig

Deskripsi

AWSSupport-ValidateFSxWindowsADConfigRunbook digunakan untuk memvalidasi konfigurasi Active Directory (AD) yang dikelola sendiri dari Amazon FSx for Windows File Server

Bagaimana cara kerjanya?

Runbook AWSSupport-ValidateFSxWindowsADConfig mengeksekusi skrip validasi Amazon FSx pada instans Windows Amazon Elastic Compute Cloud (Amazon EC2) sementara yang diluncurkan oleh runbook di subnet Amazon FSx. Skrip melakukan beberapa pemeriksaan untuk memvalidasi konektivitas jaringan ke AD/DNS server yang dikelola sendiri dan izin akun layanan Amazon FSx. Runbook dapat memvalidasi Amazon FSx untuk Windows File Server yang gagal atau salah dikonfigurasi atau membuat Amazon FSx for Windows File Server baru dengan AD yang dikelola sendiri.

Secara default, runbook membuat instans Windows Amazon EC2, grup keamanan AWS Systems Manager untuk akses (SSM), peran (IAM) AWS Identity and Access Management , dan kebijakan menggunakan subnet Amazon CloudFormation FSx. Jika Anda ingin menjalankan skrip pada instans Amazon EC2 yang ada, berikan ID dalam parameter. InstanceId Pada eksekusi yang berhasil, ia menghapus CloudFormation sumber daya. Namun, untuk mempertahankan sumber daya, atur RetainCloudFormationStack parameter ketrue.

CloudFormation Template membuat peran IAM atas nama Anda dengan izin yang diperlukan untuk dilampirkan ke instans Amazon EC2 untuk menjalankan skrip validasi Amazon FSx. Untuk menentukan profil instans IAM yang ada untuk instance sementara, gunakan InstanceProfileName parameter. Peran IAM terkait harus berisi izin berikut:

  • ec2:DescribeSubnetsdan ec2:DescribeVpcs izin serta Kebijakan AmazonSSMManagedInstanceCore Terkelola Amazon.

  • Izin untuk mendapatkan nama pengguna dan kata sandi akun layanan Amazon FSx dari Systems Manager dengan memanggil GetSecretValue API.

  • Izin untuk menempatkan objek di bucket Amazon Simple Storage Service (Amazon S3) Simple Storage S3) untuk output skrip.

Prasyarat

Subnet tempat instans Amazon EC2 sementara dibuat (atau instans yang ada yang disediakan dalam InstanceId parameter) harus mengizinkan akses ke AWS Systems Manager AWS Secrets Manager,, dan titik akhir Amazon S3 untuk menjalankan AmazonFSxADValidation skrip menggunakan SSM Run Command.

AWS Secrets Manager pengaturan

Skrip validasi terhubung ke domain Microsoft AD dengan mengambil nama pengguna dan kata sandi akun layanan Amazon FSx dengan panggilan runtime ke Secrets Manager. Ikuti langkah-langkah di Buat AWS Secrets Manager rahasia untuk membuat rahasia Secrets Manager baru. Pastikan nama pengguna dan kata sandi disimpan menggunakan key/value pasangan dalam format{"username":"EXAMPLE-USER","password":"EXAMPLE-PASSWORD"}". Lihat Otentikasi dan kontrol akses AWS Secrets Manager untuk informasi tentang mengamankan akses ke rahasia.

Untuk informasi lebih lanjut tentang alat ini, lihat README.md file TROUBLESHOOTING.md dan file dalam AmazonFSxADValidationfile.

Eksekusi Runbook

Jalankan runbook dengan ID Amazon FSx atau parameter AD. Berikut ini adalah alur kerja runbook:

  • Mendapat parameter dari ID Amazon FSx atau menggunakan parameter AD input.

  • Membuat instance Windows Amazon EC2 validasi sementara di subnet Amazon FSx, grup keamanan untuk akses SSM, peran dan kebijakan IAM (bersyarat) menggunakan. CloudFormation Jika InstanceId parameter ditentukan, itu digunakan.

  • Mengunduh dan mengeksekusi skrip validasi pada instans Amazon EC2 target di subnet utama Amazon FSx.

  • Menyediakan kode hasil validasi AD dalam output otomatisasi. Selain itu, output skrip lengkap diunggah ke bucket Amazon S3.

Jalankan Otomasi ini (konsol)

Jenis dokumen

Otomatisasi

Pemilik

Amazon

Platform

Windows

Parameter

Izin IAM yang diperlukan

AutomationAssumeRoleParameter memerlukan tindakan berikut untuk menggunakan runbook dengan sukses.

  • 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

Contoh Kebijakan IAM untuk Otomasi Asumsikan Peran

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

Instruksi

Ikuti langkah-langkah ini untuk mengonfigurasi otomatisasi:

  1. Arahkan ke AWSSupport-ValidateFSxWindowsADConfigSystems Manager di bawah Documents.

  2. Pilih Jalankan otomatisasi.

  3. Untuk memvalidasi AD yang dikelola sendiri dengan Amazon FSx yang gagal atau salah konfigurasi, masukkan parameter berikut:

    • AutomationAssumeRole (Opsional):

      Nama Sumber Daya Amazon (ARN) dari peran AWS Identity and Access Management (IAM) yang memungkinkan Otomasi Systems Manager untuk melakukan tindakan atas nama Anda. Jika tidak ada peran yang ditentukan, Systems Manager Automation menggunakan izin pengguna yang memulai runbook ini.

    • FSxId (Bersyarat):

      ID Amazon FSx for Windows File Server. Ini diperlukan untuk memvalidasi Amazon FSx yang gagal atau salah konfigurasi.

    • SecretArn (Diperlukan):

      ARN rahasia Secrets Manager Anda yang berisi nama pengguna dan kata sandi akun layanan Amazon FSx. Pastikan nama pengguna dan kata sandi disimpan menggunakan key/value pasangan dalam format{"username":"EXAMPLE-USER","password":"EXAMPLE-PASSWORD"}. CloudFormation Tumpukan membuat instance validasi dengan izin GetSecretValue untuk melakukan ARN ini.

    • FSxSecurityGroupId (Diperlukan):

      ID grup keamanan untuk Amazon FSx for Windows File Server.

    • BucketName (Diperlukan):

      Bucket Amazon S3 untuk mengunggah hasil validasi ke. Pastikan bucket dikonfigurasi dengan enkripsi sisi server (SSE) dan kebijakan bucket tidak memberikan read/write izin yang tidak perlu kepada pihak yang tidak perlu mengakses log. Juga pastikan bahwa instans Amazon EC2 Windows memiliki akses yang diperlukan ke bucket Amazon S3.

    Parameter input terbentuk dengan bidang misalnya ID, IAM peran, bucket S3, rahasia ARN, dan konfigurasi FSx.
  4. Untuk memvalidasi konfigurasi AD yang dikelola sendiri untuk pembuatan Amazon FSx baru, masukkan parameter berikut:

    • AutomationAssumeRole (Opsional):

      Nama Sumber Daya Amazon (ARN) dari peran AWS Identity and Access Management (IAM) yang memungkinkan Otomasi Systems Manager untuk melakukan tindakan atas nama Anda. Jika tidak ada peran yang ditentukan, Systems Manager Automation menggunakan izin pengguna yang memulai runbook ini.

    • SecretArn (Diperlukan):

      ARN rahasia Secrets Manager Anda yang berisi nama pengguna dan kata sandi akun layanan Amazon FSx. Pastikan nama pengguna dan kata sandi disimpan menggunakan key/value pasangan dalam format{"username":"EXAMPLE-USER","password":"EXAMPLE-PASSWORD"}. CloudFormation Tumpukan membuat instance validasi dengan izin GetSecretValue untuk melakukan ARN ini.

    • FSxSecurityGroupId (Diperlukan):

      ID grup keamanan untuk Amazon FSx for Windows File Server.

    • BucketName (Diperlukan):

      Bucket Amazon S3 untuk mengunggah hasil validasi ke. Pastikan bucket dikonfigurasi dengan enkripsi sisi server (SSE) dan kebijakan bucket tidak memberikan read/write izin yang tidak perlu kepada pihak yang tidak perlu mengakses log. Juga pastikan bahwa instans Amazon EC2 Windows memiliki akses yang diperlukan ke bucket Amazon S3.

    • FSxPreferredSubnetId(Bersyarat):

      Amazon FSx for Windows File Server lebih disukai subnet.

    • DomainName (Bersyarat):

      Nama domain yang sepenuhnya memenuhi syarat dari domain Microsoft AD yang dikelola sendiri.

    • DnsIpAddresses (Bersyarat):

      Daftar hingga dua alamat IP server DNS atau pengontrol domain di domain AD yang dikelola sendiri. Hingga dua IP, masukkan dipisahkan dengan koma.

    • FSxAdminsGroup (Bersyarat):

      Grup administrator sistem file yang didelegasikan Amazon FSx for Windows File Server. Secara default, ini adalahDomain Admins.

    • FSxOrganizationalUnit(Bersyarat):

      Unit Organisasi (OU) di mana Anda ingin bergabung dengan sistem file Anda. Berikan nama jalur yang dibedakan dari OU. Contoh:OU=org,DC=example,DC=com.

    Parameter konfigurasi untuk Amazon FSx menyertakan nama domain, ID subnet, dan grup admin.
  5. Pilih Jalankan.

  6. Otomatisasi dimulai.

  7. Dokumen melakukan langkah-langkah berikut:

    • CheckBucketPublicStatus(AWS: ExecuteScript):

      Memeriksa apakah bucket Amazon S3 target berpotensi memberikan akses publik baca and/or tulis ke objeknya.

    • BranchOnInputParameters(aws:cabang):

      Cabang pada parameter input yang disediakan seperti Amazon FSx ID atau parameter Amazon FSx.

    • AssertFileSystemTypeIsWindows(aws:menegaskanAwsResourceProperty):

      Jika ID Amazon FSx disediakan, memvalidasi jenis sistem file adalah Amazon FSx for Windows File Server.

    • GetValidationInputs(AWS: ExecuteScript):

      Mengembalikan konfigurasi Microsoft AD yang dikelola sendiri yang diperlukan oleh CloudFormation template untuk membuat instans Amazon EC2.

    • BranchOnInstanceId (aws:cabang):

      Cabang pada input yang disediakanInstanceId. Jika InstanceId disediakan, skrip validasi berjalan pada instans Amazon EC2 target dari otomatisasi. step:RunValidationScript

    • CreateEC2InstanceStack(AWS: CreateStack):

      Membuat instans Amazon EC2 di subnet pilihan menggunakan CloudFormation tempat AmazonFSxADValidation alat akan dijalankan

    • DescribeStackResources(aws:mengeksekusiAwsApi):

      Menjelaskan CloudFormation tumpukan untuk mendapatkan ID instans Amazon EC2 sementara.

    • WaitForEC2InstanceToBeManaged(aws:tungguForAwsResourceProperty):

      Menunggu hingga instans Amazon EC2 dikelola oleh Systems Manager untuk menjalankan skrip validasi menggunakan SSM Run Command.

    • GetAmazonFSxADValidationAttachment(aws:mengeksekusiAwsApi):

      Mendapat URL AmazonFSxADValidation alat dari lampiran runbook.

    • RunValidationScript(AWS:runcommand):

      Menjalankan AmazonFSxADValidation alat pada instans Amazon EC2 sementara dan menyimpan hasilnya di bucket Amazon S3 yang ditentukan dalam parameter. BucketName

    • DescribeErrorsFromStackEvents(AWS: ExecuteScript):

      Menjelaskan peristiwa CloudFormation tumpukan jika runbook gagal membuat tumpukan.

    • BranchOnRetainCloudFormationStack(aws:cabang):

      Cabang pada InstanceId parameter RetainCloudFormationStack dan untuk menentukan apakah CloudFormation tumpukan harus dihapus.

    • DeleteCloudFormationStack(AWS:DeleteStack):

      Menghapus CloudFormation tumpukan.

  8. Setelah selesai, tinjau bagian Output untuk hasil eksekusi:

    Bagian output menunjukkan hasil skrip validasi dengan satu InvalidCredentials kesalahan.

    Runbook akan mengunggah hasil eksekusi skrip validasi ke bucket Amazon S3.

Referensi

Otomatisasi Systems Manager

AWS dokumentasi layanan