Parameter StoreDemonstrações do - AWS Systems Manager

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Parameter StoreDemonstrações do

A demonstração nesta seção mostra como criar, armazenar e executar parâmetros com o Parameter Store em um ambiente de teste. Esses procedimentos mostram como usar o Parameter Store com outros recursos do Systems Manager Você pode usar o Parameter Store também com outros serviços da AWS Para obter mais informações, consulte O que é um parâmetro?.

Criar um SecureString parâmetro e ingressar uma instância em um domínio (PowerShell)

Esta demonstração mostra como associar uma instância do Windows Server a um domínio usando os parâmetros Systems Manager do SecureString e o Executar comando. A demonstração usa parâmetros de domínio típicos, como o nome do domínio e um nome do usuário do domínio. Esses valores são transmitidos como valores de string não criptografados. A senha do domínio é criptografada usando uma chave mestra de cliente (CMK) gerenciada pela AWS e transmitida como uma string criptografada.

Prerequisites

Esta demonstração pressupõe que você já tenha especificado seu nome de domínio e o endereço IP do servidor DNS no conjunto de opções de DHCP associado à sua Amazon VPC. Para obter informações, consulte Trabalhar com conjuntos de opções de DHCP no Guia do usuário da Amazon VPC.

Para criar um parâmetro SecureString e ingressar uma instância em um domínio

  1. Insira parâmetros no sistema usando o AWS Tools para Windows PowerShell.

    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

    Somente o valor de um parâmetro SecureString é criptografado. Nomes de parâmetro, descrições e outras propriedades não são criptografados.

  2. Anexe as seguintes políticas do IAM às permissões da função do IAM para sua instância:

    • AmazonSSMManagedInstanceCore – Obrigatório. Essa política gerenciada da AWS permite que uma instância gerenciada use a funcionalidade básica do serviço Systems Manager

    • AmazonSSMDirectoryServiceAccess – Obrigatório. Essa política gerenciada da AWS permite que o Agente do SSM acesse o AWS Directory Service em seu nome para solicitações para ingressar no domínio pela instância gerenciada.

    • Uma política personalizada para acesso ao bucket do S3 — necessária. O Agente do SSM, que está na sua instância e executa tarefas do Systems Manager, requer acesso a buckets do S3 específicos de propriedade da Amazon. Na política de bucket do S3 personalizada que você cria, também é possível fornecer acesso aos buckets do S3 de sua propriedade que sejam necessários para as operações do Systems Manager

      Exemplos: você pode gravar a saída para comandos do Executar comando ou sessões do Session Manager para um bucket do S3 e usar essa saída posteriormente para a auditoria ou para solução de problemas. Você armazena scripts de acesso ou listas de linha de base de patches personalizados em um bucket do S3 e faz referência ao script ou à lista quando executa um comando, ou quando uma linha de base de patch é aplicada.

      Para obter informações sobre como criar uma política personalizada para acesso ao bucket do Amazon S3, consulte .Criar uma política personalizada de bucket do S3 para um perfil de instância

      nota

      Salvar os dados de log de saída em um bucket do S3 é opcional, mas recomendamos configurá-lo no início do seu processo de configuração do Systems Manager caso tenha decidido usá-lo. Para obter mais informações, consulte Criar um bucket no Guia de conceitos básicos do Amazon Simple Storage Service.

    • CloudWatchAgentServerPolicy – Opcional. Essa política gerenciada da AWS permite que você execute o Agente do CloudWatch em instâncias gerenciadas. Essa política possibilita ler informações sobre uma instância e gravá-las no Amazon CloudWatch. Seu perfil de instância precisará dessa política somente se você usar serviços como o EventBridge ou o CloudWatch Logs.

      nota

      O uso CloudWatch dos recursos EventBridge e é opcional, mas recomendamos configurá-los no início do processo de Systems Manager configuração se você decidiu usá-los. Para obter mais informações, consulte o Guia do usuário do Amazon EventBridge e o Amazon CloudWatch Logs User Guide.

  3. Edite a função do IAM anexada à instância e adicione a política a seguir. Essa política fornece as permissões da instância para chamar a API kms:Decrypt

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "kms:Decrypt" ], "Resource":[ "arn:aws:kms:region:account-id:key/kms-key-id" ] } ] }
  4. Copie e cole o seguinte exemplo json em um editor de texto simples e salve o arquivo como JoinInstanceToDomain.json no seguinte local: c:\temp\JoinInstanceToDomain.json.

    { "schemaVersion": "2.2", "description": "Run a PowerShell script to securely domain-join a Windows Server instance", "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 \"Domain join succeeded, restarting\"; exit 3010}else{Write-Host \"Failed to join domain with error:\" $domainjoinerror; exit 1 }" ] } } ] }
  5. Execute o seguinte comando no AWS Tools para Windows PowerShell para criar um novo documento do SSM.

    $json = Get-Content C:\temp\JoinInstanceToDomain | Out-String New-SSMDocument -Name JoinInstanceToDomain -Content $json -DocumentType Command
  6. Execute o seguinte comando no AWS Tools para Windows PowerShell para ingressar a instância no domínio

    Send-SSMCommand -InstanceId instance-id -DocumentName JoinInstanceToDomain

    Se o comando for bem-sucedido, o sistema retornará informações semelhantes às seguintes.

    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 o comando falhar, o sistema retornará informações semelhantes às seguintes.

    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.