Documento de comando do SSM para a aplicação de patches: AWS-RunPatchBaseline
O AWS Systems Manager é compatível com o AWS-RunPatchBaseline
, um documento do Systems Manager (documento SSM) para o Patch Manager, um recurso do AWS Systems Manager. Este documento do SSM executa operações de aplicação de patches em nós gerenciados para atualizações de segurança e outros tipos de atualizações. Quando o documento é executado, ele usa a linha de base do patch especificada como “padrão” para um tipo de sistema operacional se nenhum grupo de patches for especificado. Caso contrário, ele usa a linha de base do patch associada ao grupo de patches. Para obter mais informações sobre grupos de patches, consulte Grupos de patches.
Você pode usar o documento AWS-RunPatchBaseline
para aplicar patches aos sistemas operacionais e aplicações. (No Windows Server, o suporte a aplicações é limitado a atualizações de aplicações da Microsoft.)
Este documento oferece suporte a nós gerenciados do Linux, macOS e Windows Server. O documento executará as ações adequadas a cada plataforma.
nota
O Patch Manager também oferece suporte ao documento SSM legado, AWS-ApplyPatchBaseline
. No entanto, esse documento comporta a aplicação de patches somente em nós gerenciados do Windows. Em vez disso, é recomendável usar o AWS-RunPatchBaseline
por ser compatível com a aplicação de patches em nós gerenciados do Linux, do macOS e do Windows Server. A versão 2.0.834.0 ou posterior do SSM Agent é necessária para usar o documento AWS-RunPatchBaseline
.
Cada snapshot é específico para uma Conta da AWS, um grupo de patches, um sistema operacional e um ID de snapshot. O snapshot é entregue por meio de um URL pré-assinado do Amazon Simple Storage Service (Amazon S3), que expira 24 horas após a criação do snapshot. No entanto, se você quiser aplicar o mesmo conteúdo de snapshot a outros nós gerenciados depois que o URL expirar, você poderá gerar um novo URL pré-assinado do Amazon S3 até três dias após a criação do snapshot. Para fazer isso, use o comando get-deployable-patch-snapshot-for-instance.
Depois que todas as atualizações aprovadas e aplicáveis forem instaladas, e as reinicializações realizadas conforme a necessidade, as informações de conformidade do patch serão geradas em um nó gerenciado e relatadas ao Patch Manager.
nota
Se o parâmetro RebootOption
estiver definido como NoReboot
no documento AWS-RunPatchBaseline
, o nó gerenciado não será reinicializado após a execução do Patch Manager. Para ter mais informações, consulte Nome do parâmetro: RebootOption.
Para obter informações sobre como visualizar dados de conformidade de patches, consulte Sobre a conformidade de patches.
AWS-RunPatchBaseline
parameters
O AWS-RunPatchBaseline
oferece suporte a cinco parâmetros. O parâmetro Operation
é obrigatório. Os parâmetros InstallOverrideList
, BaselineOverride
e RebootOption
são opcionais. O Snapshot-ID
é tecnicamente opcional, mas recomendamos que você forneça um valor personalizado para ele quando executar o AWS-RunPatchBaseline
fora de uma janela de manutenção. O Patch Manager pode fornecer o valor personalizado automaticamente quando o documento for executado como parte de uma operação da janela de manutenção.
Parâmetros
Nome do parâmetro: Operation
Uso: obrigatório.
Opções: Scan
| Install
.
- Verificar
-
Quando você escolhe a opção
Scan
, oAWS-RunPatchBaseline
determina o estado de conformidade dos patches do nó gerenciado e retorna essas informações para o Patch Manager. A opçãoScan
não solicita que atualizações sejam instaladas ou que nós gerenciados sejam reinicializados. Em vez disso, a operação identifica onde existem atualizações ausentes que estão aprovadas e são aplicáveis ao nó. - Instalar
-
Quando você escolhe a opção
Install
, oAWS-RunPatchBaseline
tenta instalar as atualizações aprovadas e aplicáveis que estiverem ausentes em seu nó gerenciado. As informações de conformidade dos patches geradas como parte de uma operaçãoInstall
não listam atualizações ausentes, mas poderão indicar atualizações em estado malsucedido se, por qualquer motivo, a instalação da atualização não tiver tido êxito. Sempre que uma atualização é instalada em um nó gerenciado, o nó é reinicializado para garantir que a atualização esteja instalada e ativa. (Exceção: Se o parâmetroRebootOption
estiver definido comoNoReboot
no documentoAWS-RunPatchBaseline
, o nó gerenciado não será reinicializado depois que o Patch Manager for executado. Para obter mais informações, consulte Nome do parâmetro: RebootOption).nota
Se um patch especificado pelas regras da lista de referência for instalado antes que o Patch Manager atualize o nó gerenciado, o sistema poderá não ser reinicializado conforme esperado. Isso pode acontecer quando um patch é instalado manualmente por um usuário ou instalado automaticamente por outro programa, como o pacote
unattended-upgrades
no Ubuntu Server.
Nome do parâmetro: AssociationId
Uso: opcional.
O AssociationId
é o ID de uma associação existente no State Manager, um recurso do AWS Systems Manager. Ela é usada pelo Patch Manager para adicionar dados de conformidade à associação especificada. Essa associação está relacionada a uma operação de aplicação de patches configurada em uma política de patch no Quick Setup.
nota
Com o AWS-RunPatchBaseline
, se um valor de AssociationId
for fornecido junto com uma substituição da lista de referência da política de patch, a aplicação de patches será feita como uma operação PatchPolicy
e o valor ExecutionType
informado em AWS:ComplianceItem
também será PatchPolicy
. Se nenhum valor de AssociationId
for fornecido, a aplicação de patches será feita como uma operação Command
e a informação do valor ExecutionType
no AWS:ComplianceItem
enviado também será Command
.
Se ainda não tiver uma associação que você deseja usar, crie uma associação executando o comando create-association.
Nome do parâmetro: Snapshot ID
Uso: opcional.
O Snapshot ID
é um ID exclusivo (GUID) usado pelo Patch Manager para garantir que um conjunto de nós gerenciados, corrigidos em uma única operação, tenham o mesmo conjunto de patches aprovados. Embora o parâmetro seja definido como opcional, nossa recomendação baseada em práticas recomendadas depende de estar executando ou não o AWS-RunPatchBaseline
em uma janela de manutenção, conforme descrito na tabela a seguir.
Modo | Prática recomendada | Detalhes |
---|---|---|
RunningAWS-RunPatchBaseline Dentro de uma janela de manutenção |
Não forneça um ID de snapshot. O Patch Manager fornecerá para você. |
Se você usar uma janela de manutenção para executar o Se você especificar um valor nesse cenário, observe que talvez o snapshot da lista de referência de patches não permaneça vigente por mais de três dias. Depois disso, um novo snapshot será gerado, mesmo que você especificar o mesmo ID depois que o snapshot expirar. |
RunningAWS-RunPatchBaseline Fora de uma janela de manutenção |
Gere e especifique um valor de GUID personalizado para o ID do snapshot..¹ |
Quando você não estiver usando uma janela de manutenção para executar o Por exemplo, digamos que esteja executando o documento |
¹ Você pode usar qualquer ferramenta capaz de gerar um GUID para gerar um valor para o parâmetro ID do snapshot. Por exemplo, no PowerShell, você pode usar o cmdlet |
Nome do parâmetro: InstallOverrideList
Uso: opcional.
Usando o InstallOverrideList
, especifique um URL de estilo caminho do Amazon S3 para uma lista de patches a serem instalados. Esta lista de instalação de patches mantida no formato YAML substitui os patches especificados pela linha de base de patch padrão atual. Isso fornece a você mais controle granular sobre quais patches estão instalados em seus nós gerenciados.
O comportamento da operação de aplicação de patches ao usar o parâmetro InstallOverrideList
difere entre os nós gerenciados pelo Linux e pelo macOS e os nós gerenciados pelo Windows Server. No Linux e no macOS, o Patch Manager tenta aplicar os patches incluídos na lista de patches InstallOverrideList
que estão presentes em qualquer repositório habilitado no nó, independentemente de os patches corresponderem ou não às regras da lista de referência de patches. Em nós Windows Server, no entanto, os patches na lista de patches InstallOverrideList
são aplicados somente se eles também correspondem às regras da lista de referência de patches.
Lembre-se de que os relatórios de conformidade de patch refletem estados de acordo com o que está especificado na linha de base de patch, e não o que você especifica em uma lista de patches InstallOverrideList
. Em outras palavras, operações de verificação ignoram o parâmetro InstallOverrideList
. Isso é para garantir que os relatórios de conformidade reflitam consistentemente os estados de patch de acordo com a política, em vez de algo aprovado para uma determinada operação de patch.
Para obter uma descrição de como você pode usar o parâmetro InstallOverrideList
para aplicar diferentes tipos de patches a um grupo de destino, em diferentes programações de janelas de manutenção, enquanto ainda usa uma única lista de referência de patches, consulte Cenário de exemplo do uso do parâmetro InstallOverrideList em AWS-RunPatchBaseline ou AWS-RunPatchBaselineAssociation.
Formatos URL válidos
nota
Se o arquivo estiver armazenado em um bucket disponível publicamente, você poderá especificar um formato de URL https ou um URL de estilo de caminho do Amazon S3. Se o arquivo estiver armazenado em um bucket privado, você deverá especificar um URL do estilo de caminho do Amazon S3.
-
Formato URL em https:
https://s3.
aws-api-domain
/amzn-s3-demo-bucket/my-windows-override-list.yaml -
URL estilo de caminho do Amazon S3:
s3://amzn-s3-demo-bucket/my-windows-override-list.yaml
Formatos de conteúdo YAML válidos
Os formatos que você usa para especificar patches em sua lista depende do sistema operacional do nó gerenciado. O formato geral, no entanto, é o seguinte:
patches: - id: '{patch-d}' title: '{patch-title}' {
additional-fields
}:{values
}
Embora você possa fornecer campos adicionais em seu arquivo YAML, eles serão ignorados durante operações de patch.
Além disso, é recomendável verificar se o formato do arquivo YAML é válido antes de adicionar ou atualizar a lista no seu bucket do S3. Para obter mais informações sobre o formato YAML, consulte yaml.org
Exemplo de listas de patch
-
Amazon Linux
patches: - id: 'kernel.x86_64' - id: 'bind*.x86_64' title: '32:9.8.2-0.62.rc1.57.amzn1' - id: 'glibc*' - id: 'dhclient*' title: '*12:4.1.1-53.P1.28.amzn1' - id: 'dhcp*' title: '*10:3.1.1-50.P1.26.amzn1'
-
CentOS
patches: - id: 'kernel.x86_64' - id: 'bind*.x86_64' title: '32:9.8.2-0.62.rc1.57.amzn1' - id: 'glibc*' - id: 'dhclient*' title: '*12:4.1.1-53.P1.28.amzn1' - id: 'dhcp*' title: '*10:3.1.1-50.P1.26.amzn1'
-
Debian Server
patches: - id: 'apparmor.amd64' title: '2.10.95-0ubuntu2.9' - id: 'cryptsetup.amd64' title: '*2:1.6.6-5ubuntu2.1' - id: 'cryptsetup-bin.*' title: '*2:1.6.6-5ubuntu2.1' - id: 'apt.amd64' title: '*1.2.27' - id: 'apt-utils.amd64' title: '*1.2.25'
-
macOS
patches: - id: 'XProtectPlistConfigData' - id: 'MRTConfigData.1.61' - id: 'Command Line Tools for Xcode.11.5' - id: 'Gatekeeper Configuration Data'
-
Oracle Linux
patches: - id: 'audit-libs.x86_64' title: '*2.8.5-4.el7' - id: 'curl.x86_64' title: '*.el7' - id: 'grub2.x86_64' title: 'grub2.x86_64:1:2.02-0.81.0.1.el7' - id: 'grub2.x86_64' title: 'grub2.x86_64:1:*-0.81.0.1.el7'
-
Red Hat Enterprise Linux (RHEL)
patches: - id: 'NetworkManager.x86_64' title: '*1:1.10.2-14.el7_5' - id: 'NetworkManager-*.x86_64' title: '*1:1.10.2-14.el7_5' - id: 'audit.x86_64' title: '*0:2.8.1-3.el7' - id: 'dhclient.x86_64' title: '*.el7_5.1' - id: 'dhcp*.x86_64' title: '*12:5.2.5-68.el7'
-
SUSE Linux Enterprise Server (SLES)
patches: - id: 'amazon-ssm-agent.x86_64' - id: 'binutils' title: '*0:2.26.1-9.12.1' - id: 'glibc*.x86_64' title: '*2.19*' - id: 'dhcp*' title: '0:4.3.3-9.1' - id: 'lib*'
-
Ubuntu Server
patches: - id: 'apparmor.amd64' title: '2.10.95-0ubuntu2.9' - id: 'cryptsetup.amd64' title: '*2:1.6.6-5ubuntu2.1' - id: 'cryptsetup-bin.*' title: '*2:1.6.6-5ubuntu2.1' - id: 'apt.amd64' title: '*1.2.27' - id: 'apt-utils.amd64' title: '*1.2.25'
-
Windows
patches: - id: 'KB4284819' title: '2018-06 Cumulative Update for Windows Server 2016 (1709) for x64-based Systems (KB4284819)' - id: 'KB4284833' - id: 'KB4284835' title: '2018-06 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4284835)' - id: 'KB4284880' - id: 'KB4338814'
Nome do parâmetro: RebootOption
Uso: opcional.
Opções: RebootIfNeeded
| NoReboot
Padrão: RebootIfNeeded
Atenção
A opção padrão é RebootIfNeeded
. Selecione a opção correta para o seu caso de uso. Por exemplo, se os nós gerenciados precisarem reinicializar imediatamente para concluir um processo de configuração, escolha RebootIfNeeded
. Ou, se você precisar manter a disponibilidade do nó gerenciado até um horário de reinicialização agendado, escolha NoReboot
.
Importante
Não é recomendável usar o Patch Manager para aplicar patches em instâncias de cluster no Amazon EMR (antes chamado de Amazon Elastic MapReduce). Em particular, não selecione a opção RebootIfNeeded
para o parâmetro RebootOption
. (Essa opção está disponível nos documentos do SSM Command para aplicação de patches em AWS-RunPatchBaseline
, AWS-RunPatchBaselineAssociation
e AWS-RunPatchBaselineWithHooks
.)
Os comandos subjacentes para aplicação de patches usando o Patch Manager utilizam os comandos yum
e dnf
. Portanto, as operações resultam em incompatibilidades por causa da forma como os pacotes são instalados. Para obter informações sobre os métodos preferenciais para atualizar o software nos clusters do Amazon EMR, consulte Using the default AMI for Amazon EMR no Guia de gerenciamento do Amazon EMR.
- RebootIfNeeded
-
Quando você escolhe a opção
RebootIfNeeded
, o nó gerenciado é reinicializado em um dos seguintes casos:-
O Patch Manager instalou um ou mais patches.
O Patch Manager não avalia se uma reinicialização é exigida pelo patch. O sistema é reinicializado mesmo que o patch não exija uma reinicialização.
-
O Patch Manager detecta um ou mais patches com um status de
INSTALLED_PENDING_REBOOT
durante a operaçãoInstall
.O status
INSTALLED_PENDING_REBOOT
pode significar que a opçãoNoReboot
foi selecionada na última vez em que a operaçãoInstall
foi executada ou que um patch foi instalado fora do Patch Manager na última vez que o nó gerenciado foi reinicializado.
A reinicialização de nós gerenciados nesses dois casos garante que os pacotes atualizados sejam liberados da memória e mantenham o comportamento da aplicação de patches e da reinicialização consistente em todos os sistemas operacionais.
-
- NoReboot
-
Quando você escolhe a opção
NoReboot
, o Patch Manager não reinicializa um nó gerenciado, mesmo que tenha instalado patches durante a operaçãoInstall
. Essa opção é útil se você souber que os nós gerenciados não exigem reinicialização após a aplicação de patches, ou se houver aplicações ou processos em execução em um nó que não devam ser interrompidos por uma reinicialização da operação de aplicação de patch. Também é útil quando você deseja mais controle sobre o tempo de reinicializações de nós gerenciados, como, por exemplo, usando uma janela de manutenção.nota
Se você escolher a opção
NoReboot
e um patch for instalado, o patch receberá um status deInstalledPendingReboot
. O nó gerenciado em si, no entanto, é marcado comoNon-Compliant
. Depois que ocorre uma reinicialização e uma operaçãoScan
é executada, o status do nó gerenciado é atualizado paraCompliant
.
Arquivo de rastreamento de instalação de patches: para rastrear a instalação de patches, sobretudo os patches que foram instalados desde a última reinicialização do sistema, o Systems Manager mantém um arquivo em seu nó gerenciado.
Importante
Não exclua nem modifique o arquivo de monitoramento. Se esse arquivo for excluído ou corrompido, o relatório de conformidade de patch do nó gerenciado será impreciso. Se isso acontecer, reinicialize o nó e execute uma operação de verificação de patch para restaurar o arquivo.
Esse arquivo de rastreamento é armazenado nos seguintes locais em seus nós gerenciados:
-
Sistemas operacionais Linux:
-
/var/log/amazon/ssm/patch-configuration/patch-states-configuration.json
-
/var/log/amazon/ssm/patch-configuration/patch-inventory-from-last-operation.json
-
-
Sistema operacional Windows Server:
-
C:\ProgramData\Amazon\PatchBaselineOperations\State\PatchStatesConfiguration.json
-
C:\ProgramData\Amazon\PatchBaselineOperations\State\PatchInventoryFromLastOperation.json
-
Nome do parâmetro: BaselineOverride
Uso: opcional.
Você pode definir preferências de patches no runtime usando o parâmetro BaselineOverride
. Essa substituição de linha de base é mantida como um objeto JSON em um bucket do S3. Ele garante que as operações de patch usem as linhas de base fornecidas que correspondem ao sistema operacional host em vez de aplicar as regras da linha de base do patch padrão
Para obter mais informações sobre como usar o parâmetro BaselineOverride
, consulte Usar o parâmetro BaselineOverride.