Creazione di un SecureString parametro in Parameter Store e unendo un nodo a un Domain (PowerShell) - AWS Systems Manager

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione di un SecureString parametro in Parameter Store e unendo un nodo a un Domain (PowerShell)

Questa procedura dettagliata mostra come partecipare a Windows Server nodo a un dominio utilizzando AWS Systems Manager SecureString parametri e Run Command. La procedura dettagliata utilizza parametri di dominio tipici, come il nome di dominio e un nome utente di dominio. Questi valori vengono passati come valori di stringa non criptati. La password del dominio viene crittografata con una Chiave gestita da AWS e viene passata come una stringa crittografata.

Prerequisiti

In questa procedura guidata si presuppone che siano già stati specificati il nome di dominio e l'indirizzo IP del server DNS nel set di opzioni DHCP associato ad Amazon VPC. Per ulteriori informazioni, consulta Utilizzo dei set di opzioni DHCP nella Guida utente Amazon VPC.

Per creare un parametro SecureString e aggiungere un nodo a un dominio
  1. Immettere i parametri nel sistema utilizzando. AWS Tools for Windows PowerShell

    Nei seguenti comandi, sostituisci ciascuno user input placeholder con le tue informazioni.

    Write-SSMParameter -Name "domainName" -Value "DOMAIN-NAME" -Type String Write-SSMParameter -Name "domainJoinUserName" -Value "DOMAIN\USERNAME" -Type String Write-SSMParameter -Name "domainJoinPassword" -Value "PASSWORD" -Type SecureString
    Importante

    Solo il valore di un parametro SecureString viene crittografato. I nomi dei parametri, le descrizioni e altre proprietà non sono crittografati.

  2. Allega le seguenti policy AWS Identity and Access Management (IAM) alle autorizzazioni del ruolo IAM per il tuo nodo:

    • Amazon SSMManaged InstanceCore — Obbligatorio. Questa policy AWS gestita consente a un nodo gestito di utilizzare le funzionalità principali del servizio Systems Manager.

    • Amazon SSMDirectory ServiceAccess — Obbligatorio. Questa politica AWS gestita consente SSM Agent per accedere per tuo AWS Directory Service conto alle richieste di aggiunta al dominio da parte del nodo gestito.

    • Una policy personalizzata per l'accesso ai bucket S3: obbligatoria. SSM Agent, che si trova sul tuo nodo ed esegue attività di Systems Manager, richiede l'accesso a specifici bucket Amazon Simple Storage Service (Amazon S3) di proprietà di Amazon. Nella policy del bucket S3 creata, fornire anche l'accesso ai bucket S3 personali necessari per le operazioni di Systems Manager.

      Esempi: puoi scrivere output per Run Command comandi o Session Manager sessioni su un bucket S3, quindi utilizza questo output in un secondo momento per il controllo o la risoluzione dei problemi. È possibile archiviare gli script di accesso o gli elenchi delle basi di patch personalizzati in un bucket S3 e quindi fare riferimento allo script o all'elenco quando si esegue un comando oppure quando viene applicata una base di patch.

      Per ulteriori informazioni su come creare una policy personalizzata per l'accesso ai bucket Amazon S3, consulta Create a custom S3 bucket policy for an instance profile (Creare una policy del bucket S3 personalizzata per un profilo dell'istanza)

      Nota

      La memorizzazione dei log di output in un bucket S3 è facoltativa ma, se si è deciso di utilizzarla, si consiglia di impostarla all'inizio del processo di configurazione di Systems Manager. Per ulteriori informazioni, consulta Create a Bucket (Creazione di un bucket) nella Guida per l'utente di Amazon Simple Storage Service.

    • CloudWatchAgentServerPolicy Facoltativo. Questa politica AWS gestita consente di eseguire l' CloudWatch agente su nodi gestiti. Questa politica consente di leggere le informazioni su un nodo e scriverle su Amazon CloudWatch. Il tuo profilo di istanza necessita di questa policy solo se utilizzi servizi come Amazon EventBridge o CloudWatch Logs.

      Nota

      L'utilizzo CloudWatch e EventBridge le funzionalità sono facoltativi, ma si consiglia di configurarli all'inizio del processo di configurazione di Systems Manager se si è deciso di utilizzarli. Per ulteriori informazioni, consulta la Amazon EventBridge User Guide e la Amazon CloudWatch Logs User Guide.

  3. Modificare il ruolo IAM associato al nodo e aggiungere la policy seguente. Questa policy fornisce al nodo le autorizzazioni per chiamare kms:Decrypt e l'API ssm:CreateDocument.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "ssm:CreateDocument" ], "Resource": [ "arn:aws:kms:region:account-id:key/kms-key-id" ] } ] }
  4. Copiare e incollare il seguente elemento json di testo in un editor di testo e salvare il file come JoinInstanceToDomain.json nella seguente posizione: c:\temp\JoinInstanceToDomain.json.

    { "schemaVersion": "2.2", "description": "Run a PowerShell script to securely join a Windows Server instance to a domain", "mainSteps": [ { "action": "aws:runPowerShellScript", "name": "runPowerShellWithSecureString", "precondition": { "StringEquals": [ "platformType", "Windows" ] }, "inputs": { "runCommand": [ "$domain = (Get-SSMParameterValue -Name domainName).Parameters[0].Value", "if ((gwmi Win32_ComputerSystem).domain -eq $domain){write-host \"Computer is part of $domain, exiting\"; exit 0}", "$username = (Get-SSMParameterValue -Name domainJoinUserName).Parameters[0].Value", "$password = (Get-SSMParameterValue -Name domainJoinPassword -WithDecryption $True).Parameters[0].Value | ConvertTo-SecureString -asPlainText -Force", "$credential = New-Object System.Management.Automation.PSCredential($username,$password)", "Add-Computer -DomainName $domain -Credential $credential -ErrorAction SilentlyContinue -ErrorVariable domainjoinerror", "if($?){Write-Host \"Instance joined to domain successfully. Restarting\"; exit 3010}else{Write-Host \"Instance failed to join domain with error:\" $domainjoinerror; exit 1 }" ] } } ] }
  5. Esegui il seguente comando in Tools for Windows per PowerShell creare un nuovo documento SSM.

    $json = Get-Content C:\temp\JoinInstanceToDomain | Out-String New-SSMDocument -Name JoinInstanceToDomain -Content $json -DocumentType Command
  6. Esegui il seguente comando in Tools for Windows PowerShell per aggiungere il nodo al dominio.

    Send-SSMCommand -InstanceId instance-id -DocumentName JoinInstanceToDomain

    Se il comando viene eseguito correttamente, il sistema restituisce informazioni simili alle seguenti.

    WARNING: The changes will take effect after you restart the computer EC2ABCD-EXAMPLE.
    Domain join succeeded, restarting
    Computer is part of example.local, exiting

    Se il comando non viene eseguito correttamente, il sistema restituisce informazioni simili alle seguenti.

    Failed to join domain with error:
    Computer 'EC2ABCD-EXAMPLE' failed to join domain 'example.local'
    from its current workgroup 'WORKGROUP' with following error message:
    The specified domain either does not exist or could not be contacted.