Trabalhar com o Patch ManagerAWS CLI
Esta seção inclui exemplos de comandos da AWS Command Line Interface (AWS CLI) que você pode usar para realizar tarefas de configuração do Patch Manager, um recurso do AWS Systems Manager.
Para obter uma ilustração do uso da AWS CLI para aplicar um patch a um ambiente de servidor usando a linha de base de patch personalizada, consulte Tutorial: aplicar patches a um ambiente de servidor (AWS CLI).
Para obter mais informações sobre como usar a AWS CLI para tarefas do AWS Systems Manager, consulte a Seção do AWS Systems Manager da Referência de comando da AWS CLI.
Tópicos
Comandos da AWS CLI para linhas de base de patches
Exemplo de comandos para linhas de base de patch
- Criar uma linha de base de patch
- Criar uma linha de base de patch com repositórios personalizados para diferentes versões do SO
- Atualizar uma linha de base de patch
- Renomear uma linha de base de patch
- Excluir uma linha de base de patch
- Listar todas as linhas de base de patch
- Listar todas as listas de referência de patches fornecidas pela AWS
- Listar minhas linhas de base de patches
- Exibir uma linha de base de patch
- Obter a linha de base padrão de patch
- Definir uma linha de base de patch personalizada como padrão
- Redefinir uma lista de referência de patches da AWS como padrão
- Marcar uma linha de base de patch
- Listar as tags para uma linha de base de patch
- Remover uma tag de uma linha de base de patch
Criar uma linha de base de patch
O comando a seguir cria uma lista de referência de patches que aprova todas as atualizações de segurança críticas e importantes para o Windows Server 2012 R2 cinco dias após o lançamento. Os patches também foram especificados para as listas de patches Approved (Aprovado) e Rejected (Rejeitado). Além disso, a linha de base de patch foi marcada para indicar que é para um ambiente de produção.
O sistema retorna informações como estas.
{
"BaselineId":"pb-0c10e65780EXAMPLE"
}
Criar uma linha de base de patch com repositórios personalizados para diferentes versões do SO
Aplica-se somente aos nós gerenciados do Linux. O comando a seguir mostra como especificar o repositório de patches a ser usado para uma determinada versão do sistema operacional Amazon Linux. Este exemplo usa um repositório de origem ativado por padrão no Amazon Linux 2017.09, mas pode ser adaptado para outro repositório de origem que você tenha configurado para um nó gerenciado.
nota
Para demonstrar melhor este comando mais complexo, estamos usando a opção --cli-input-json
com opções adicionais armazenadas em um arquivo JSON externo.
-
Crie um arquivo JSON com um nome como
my-patch-repository.json
e adicione o seguinte conteúdo a ele:{ "Description": "My patch repository for Amazon Linux 2017.09", "Name": "Amazon-Linux-2017.09", "OperatingSystem": "AMAZON_LINUX", "ApprovalRules": { "PatchRules": [ { "ApproveAfterDays": 7, "EnableNonSecurity": true, "PatchFilterGroup": { "PatchFilters": [ { "Key": "SEVERITY", "Values": [ "Important", "Critical" ] }, { "Key": "CLASSIFICATION", "Values": [ "Security", "Bugfix" ] }, { "Key": "PRODUCT", "Values": [ "AmazonLinux2017.09" ] } ] } } ] }, "Sources": [ { "Name": "My-AL2017.09", "Products": [ "AmazonLinux2017.09" ], "Configuration": "[amzn-main] \nname=amzn-main-Base\nmirrorlist=http://repo./$awsregion./$awsdomain//$releasever/main/mirror.list //nmirrorlist_expire=300//nmetadata_expire=300 \npriority=10 \nfailovermethod=priority \nfastestmirror_enabled=0 \ngpgcheck=1 \ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga \nenabled=1 \nretries=3 \ntimeout=5\nreport_instanceid=yes" } ] }
-
No diretório em que você salvou o arquivo, execute o seguinte comando:
aws ssm create-patch-baseline --cli-input-json file://my-patch-repository.json
O sistema retorna informações como estas.
{ "BaselineId": "pb-0c10e65780EXAMPLE" }
Atualizar uma linha de base de patch
O comando a seguir adiciona dois patches como rejeitados e um patch como aprovado para uma linha de base de patch existente.
nota
Para obter mais informações sobre os formatos aceitos de listas de patches aprovados e rejeitados, consulte Sobre formatos de nomes de pacotes para listas de patches aprovados e rejeitados.
O sistema retorna informações como estas.
{ "BaselineId":"pb-0c10e65780EXAMPLE", "Name":"Windows-Server-2012R2", "RejectedPatches":[ "KB2032276", "MS10-048" ], "GlobalFilters":{ "PatchFilters":[ ] }, "ApprovalRules":{ "PatchRules":[ { "PatchFilterGroup":{ "PatchFilters":[ { "Values":[ "Important", "Critical" ], "Key":"MSRC_SEVERITY" }, { "Values":[ "SecurityUpdates" ], "Key":"CLASSIFICATION" }, { "Values":[ "WindowsServer2012R2" ], "Key":"PRODUCT" } ] }, "ApproveAfterDays":5 } ] }, "ModifiedDate":1481001494.035, "CreatedDate":1480997823.81, "ApprovedPatches":[ "KB2124261" ], "Description":"Windows Server 2012 R2, Important and Critical security updates" }
Renomear uma linha de base de patch
O sistema retorna informações como estas.
{ "BaselineId":"pb-0c10e65780EXAMPLE", "Name":"Windows-Server-2012-R2-Important-and-Critical-Security-Updates", "RejectedPatches":[ "KB2032276", "MS10-048" ], "GlobalFilters":{ "PatchFilters":[ ] }, "ApprovalRules":{ "PatchRules":[ { "PatchFilterGroup":{ "PatchFilters":[ { "Values":[ "Important", "Critical" ], "Key":"MSRC_SEVERITY" }, { "Values":[ "SecurityUpdates" ], "Key":"CLASSIFICATION" }, { "Values":[ "WindowsServer2012R2" ], "Key":"PRODUCT" } ] }, "ApproveAfterDays":5 } ] }, "ModifiedDate":1481001795.287, "CreatedDate":1480997823.81, "ApprovedPatches":[ "KB2124261" ], "Description":"Windows Server 2012 R2, Important and Critical security updates" }
Excluir uma linha de base de patch
aws ssm delete-patch-baseline --baseline-id "pb-0c10e65780EXAMPLE"
O sistema retorna informações como estas.
{
"BaselineId":"pb-0c10e65780EXAMPLE"
}
Listar todas as linhas de base de patch
aws ssm describe-patch-baselines
O sistema retorna informações como estas.
{ "BaselineIdentities":[ { "BaselineName":"AWS-DefaultPatchBaseline", "DefaultBaseline":true, "BaselineDescription":"Default Patch Baseline Provided by AWS.", "BaselineId":"arn:aws:ssm:us-east-2:111122223333:patchbaseline/pb-0c10e65780EXAMPLE" }, { "BaselineName":"Windows-Server-2012R2", "DefaultBaseline":false, "BaselineDescription":"Windows Server 2012 R2, Important and Critical security updates", "BaselineId":"pb-0c10e65780EXAMPLE" } ] }
Este é um exemplo de outro comando que lista todas as listas de referência de patch em uma Região da AWS.
O sistema retorna informações como estas.
{ "BaselineIdentities":[ { "BaselineName":"AWS-DefaultPatchBaseline", "DefaultBaseline":true, "BaselineDescription":"Default Patch Baseline Provided by AWS.", "BaselineId":"arn:aws:ssm:us-east-2:111122223333:patchbaseline/pb-0c10e65780EXAMPLE" }, { "BaselineName":"Windows-Server-2012R2", "DefaultBaseline":false, "BaselineDescription":"Windows Server 2012 R2, Important and Critical security updates", "BaselineId":"pb-0c10e65780EXAMPLE" } ] }
Listar todas as listas de referência de patches fornecidas pela AWS
O sistema retorna informações como estas.
{ "BaselineIdentities":[ { "BaselineName":"AWS-DefaultPatchBaseline", "DefaultBaseline":true, "BaselineDescription":"Default Patch Baseline Provided by AWS.", "BaselineId":"arn:aws:ssm:us-east-2:111122223333:patchbaseline/pb-0c10e65780EXAMPLE" } ] }
Listar minhas linhas de base de patches
O sistema retorna informações como estas.
{ "BaselineIdentities":[ { "BaselineName":"Windows-Server-2012R2", "DefaultBaseline":false, "BaselineDescription":"Windows Server 2012 R2, Important and Critical security updates", "BaselineId":"pb-0c10e65780EXAMPLE" } ] }
Exibir uma linha de base de patch
aws ssm get-patch-baseline --baseline-id pb-0c10e65780EXAMPLE
nota
Para listas de referência de patches personalizadas, você pode especificar o ID da lista de referência de patches ou o Amazon Resource Name (ARN) completo. Para a lista de referência de patches fornecida pela AWS, você deve especificar o ARN completo. Por exemplo, .arn:aws:ssm:us-east-2:075727635805:patchbaseline/pb-0c10e65780EXAMPLE
O sistema retorna informações como estas.
{ "BaselineId":"pb-0c10e65780EXAMPLE", "Name":"Windows-Server-2012R2", "PatchGroups":[ "Web Servers" ], "RejectedPatches":[ ], "GlobalFilters":{ "PatchFilters":[ ] }, "ApprovalRules":{ "PatchRules":[ { "PatchFilterGroup":{ "PatchFilters":[ { "Values":[ "Important", "Critical" ], "Key":"MSRC_SEVERITY" }, { "Values":[ "SecurityUpdates" ], "Key":"CLASSIFICATION" }, { "Values":[ "WindowsServer2012R2" ], "Key":"PRODUCT" } ] }, "ApproveAfterDays":5 } ] }, "ModifiedDate":1480997823.81, "CreatedDate":1480997823.81, "ApprovedPatches":[ ], "Description":"Windows Server 2012 R2, Important and Critical security updates" }
Obter a linha de base padrão de patch
aws ssm get-default-patch-baseline --region us-east-2
O sistema retorna informações como estas.
{
"BaselineId":"arn:aws:ssm:us-east-2:111122223333:patchbaseline/pb-0c10e65780EXAMPLE"
}
Definir uma linha de base de patch personalizada como padrão
O sistema retorna informações como estas.
{
"BaselineId":"pb-0c10e65780EXAMPLE"
}
Redefinir uma lista de referência de patches da AWS como padrão
O sistema retorna informações como estas.
{
"BaselineId":"pb-0c10e65780EXAMPLE"
}
Marcar uma linha de base de patch
Listar as tags para uma linha de base de patch
Remover uma tag de uma linha de base de patch
Comandos da AWS CLI para grupos de patches
Comandos de exemplo para grupos de patches
- Criar um grupo de patches
- Registrar um grupo de patches "web servers" em uma linha de base de patches
- Registrar um grupo de patches "Backend" na lista de referência de patches fornecida pela AWS
- Exibir registros de grupos de patches
- Cancelar o registro de um grupo de patches de uma linha de base de patch
Criar um grupo de patches
Para ajudar você a organizar suas iniciativas de aplicação de patches, recomendamos que você adicione nós gerenciados aos grupos de patches usando etiquetas. Os grupos de patches exigem o uso da chave de tag Patch Group
ou PatchGroup
. Se você tiver permissão para tags nos metadados da instância do EC2, é necessário usar PatchGroup
(sem um espaço). Você pode especificar qualquer valor de tag, mas a chave da tag precisa ser Patch Group
ou PatchGroup
. Para obter mais informações sobre grupos de patches, consulte Sobre grupos de patches.
Depois de agrupar os nós gerenciados usando etiquetas, adicione o valor do grupo de patches a uma lista de referência de patches. Ao registrar o grupo de patches em uma linha de base de patch, você garante que os patches corretos sejam instalados durante a aplicação de patches.
Tarefa 1: adicionar instâncias do EC2 a um grupo de patches usando tags
nota
Ao usar o console e a AWS CLI do Amazon Elastic Compute Cloud (Amazon EC2), é possível aplicar as tags Key = Patch Group
ou Key = PatchGroup
a instâncias que ainda não estejam configuradas para uso com o Systems Manager. Se uma instância do EC2 que você espere ver no Patch Manager não estiver listada após a aplicação da tag Patch Group
ou Key = PatchGroup
, consulte Solução de problemas de disponibilidade do nó gerenciado para obter dicas de solução de problemas.
Execute o comando a seguir para adicionar a tag PatchGroup
a uma instância do EC2.
aws ec2 create-tags --resources
"i-1234567890abcdef0"
--tags "Key=PatchGroup,Value=GroupValue
"
Tarefa 2: Adicionar nós gerenciados a um grupo de patches usando etiquetas
Execute o comando a seguir para adicionar a etiqueta PatchGroup
a um nó gerenciado.
Tarefa 3: Adicionar um grupo de patches a uma linha de base de patches
Execute o comando a seguir para associar um valor de tag PatchGroup
à linha de base de patch especificada.
O sistema retorna informações como estas.
{
"PatchGroup": "Development",
"BaselineId": "pb-0c10e65780EXAMPLE"
}
Registrar um grupo de patches "web servers" em uma linha de base de patches
O sistema retorna informações como estas.
{
"PatchGroup":"Web Servers",
"BaselineId":"pb-0c10e65780EXAMPLE"
}
Registrar um grupo de patches "Backend" na lista de referência de patches fornecida pela AWS
O sistema retorna informações como estas.
{
"PatchGroup":"Backend",
"BaselineId":"arn:aws:ssm:us-east-2:111122223333:patchbaseline/pb-0c10e65780EXAMPLE"
}
Exibir registros de grupos de patches
aws ssm describe-patch-groups --region us-east-2
O sistema retorna informações como estas.
{ "PatchGroupPatchBaselineMappings":[ { "PatchGroup":"Backend", "BaselineIdentity":{ "BaselineName":"AWS-DefaultPatchBaseline", "DefaultBaseline":false, "BaselineDescription":"Default Patch Baseline Provided by AWS.", "BaselineId":"arn:aws:ssm:us-east-2:111122223333:patchbaseline/pb-0c10e65780EXAMPLE" } }, { "PatchGroup":"Web Servers", "BaselineIdentity":{ "BaselineName":"Windows-Server-2012R2", "DefaultBaseline":true, "BaselineDescription":"Windows Server 2012 R2, Important and Critical updates", "BaselineId":"pb-0c10e65780EXAMPLE" } } ] }
Cancelar o registro de um grupo de patches de uma linha de base de patch
O sistema retorna informações como estas.
{
"PatchGroup":"Production",
"BaselineId":"arn:aws:ssm:us-east-2:111122223333:patchbaseline/pb-0c10e65780EXAMPLE"
}
Comandos da AWS CLI para visualizar resumos e detalhes de patches
Comandos de exemplo para exibição de resumos e detalhes de patches
- Obter todos os patches definidos por uma linha de base de patch
- Obtenha todos os patches para o AmazonLinux2018.03 que tenha uma classificação de SECURITY e uma gravidade Critical
- Obtenha todos os patches para o Windows Server 2012 que tenham a gravidade MSRC como Critical.
- Obter todos os patches disponíveis
- Obter estados de resumo de patches por nó gerenciado
- Obter detalhes da conformidade de patches para um nó gerenciado
- Visualizar os resultados de conformidade dos patches (AWS CLI)
Obter todos os patches definidos por uma linha de base de patch
nota
Esse comando é compatível com listas de referência de patches do Windows Server.
O sistema retorna informações como estas.
{ "NextToken":"--token string truncated--", "EffectivePatches":[ { "PatchStatus":{ "ApprovalDate":1384711200.0, "DeploymentStatus":"APPROVED" }, "Patch":{ "ContentUrl":"https://support.microsoft.com/en-us/kb/2876331", "ProductFamily":"Windows", "Product":"WindowsServer2012R2", "Vendor":"Microsoft", "Description":"A security issue has been identified in a Microsoft software product that could affect your system. You can help protect your system by installing this update from Microsoft. For a complete listing of the issues that are included in this update, see the associated Microsoft Knowledge Base article. After you install this update, you may have to restart your system.", "Classification":"SecurityUpdates", "Title":"Security Update for Windows Server 2012 R2 Preview (KB2876331)", "ReleaseDate":1384279200.0, "MsrcClassification":"Critical", "Language":"All", "KbNumber":"KB2876331", "MsrcNumber":"MS13-089", "Id":"e74ccc76-85f0-4881-a738-59e9fc9a336d" } }, { "PatchStatus":{ "ApprovalDate":1428858000.0, "DeploymentStatus":"APPROVED" }, "Patch":{ "ContentUrl":"https://support.microsoft.com/en-us/kb/2919355", "ProductFamily":"Windows", "Product":"WindowsServer2012R2", "Vendor":"Microsoft", "Description":"Windows Server 2012 R2 Update is a cumulative set of security updates, critical updates and updates. You must install Windows Server 2012 R2 Update to ensure that your computer can continue to receive future Windows Updates, including security updates. For a complete listing of the issues that are included in this update, see the associated Microsoft Knowledge Base article for more information. After you install this item, you may have to restart your computer.", "Classification":"SecurityUpdates", "Title":"Windows Server 2012 R2 Update (KB2919355)", "ReleaseDate":1428426000.0, "MsrcClassification":"Critical", "Language":"All", "KbNumber":"KB2919355", "MsrcNumber":"MS14-018", "Id":"8452bac0-bf53-4fbd-915d-499de08c338b" } } ---output truncated---
Obtenha todos os patches para o AmazonLinux2018.03 que tenha uma classificação de SECURITY
e uma gravidade Critical
O sistema retorna informações como estas.
{ "Patches": [ { "AdvisoryIds": ["ALAS-2011-1"], "BugzillaIds": [ "1234567" ], "Classification": "SECURITY", "CVEIds": [ "CVE-2011-3192"], "Name": "zziplib", "Epoch": "0", "Version": "2.71", "Release": "1.3.amzn1", "Arch": "i686", "Product": "AmazonLinux2018.03", "ReleaseDate": 1590519815, "Severity": "CRITICAL" } ] } ---output truncated---
Obtenha todos os patches para o Windows Server 2012 que tenham a gravidade MSRC como Critical
.
O sistema retorna informações como estas.
{ "Patches":[ { "ContentUrl":"https://support.microsoft.com/en-us/kb/2727528", "ProductFamily":"Windows", "Product":"WindowsServer2012", "Vendor":"Microsoft", "Description":"A security issue has been identified that could allow an unauthenticated remote attacker to compromise your system and gain control over it. You can help protect your system by installing this update from Microsoft. After you install this update, you may have to restart your system.", "Classification":"SecurityUpdates", "Title":"Security Update for Windows Server 2012 (KB2727528)", "ReleaseDate":1352829600.0, "MsrcClassification":"Critical", "Language":"All", "KbNumber":"KB2727528", "MsrcNumber":"MS12-072", "Id":"1eb507be-2040-4eeb-803d-abc55700b715" }, { "ContentUrl":"https://support.microsoft.com/en-us/kb/2729462", "ProductFamily":"Windows", "Product":"WindowsServer2012", "Vendor":"Microsoft", "Description":"A security issue has been identified that could allow an unauthenticated remote attacker to compromise your system and gain control over it. You can help protect your system by installing this update from Microsoft. After you install this update, you may have to restart your system.", "Classification":"SecurityUpdates", "Title":"Security Update for Microsoft .NET Framework 3.5 on Windows 8 and Windows Server 2012 for x64-based Systems (KB2729462)", "ReleaseDate":1352829600.0, "MsrcClassification":"Critical", "Language":"All", "KbNumber":"KB2729462", "MsrcNumber":"MS12-074", "Id":"af873760-c97c-4088-ab7e-5219e120eab4" } ---output truncated---
Obter todos os patches disponíveis
aws ssm describe-available-patches --region us-east-2
O sistema retorna informações como estas.
{ "NextToken":"--token string truncated--", "Patches":[ { "ContentUrl":"https://support.microsoft.com/en-us/kb/2032276", "ProductFamily":"Windows", "Product":"WindowsServer2008R2", "Vendor":"Microsoft", "Description":"A security issue has been identified that could allow an unauthenticated remote attacker to compromise your system and gain control over it. You can help protect your system by installing this update from Microsoft. After you install this update, you may have to restart your system.", "Classification":"SecurityUpdates", "Title":"Security Update for Windows Server 2008 R2 x64 Edition (KB2032276)", "ReleaseDate":1279040400.0, "MsrcClassification":"Important", "Language":"All", "KbNumber":"KB2032276", "MsrcNumber":"MS10-043", "Id":"8692029b-a3a2-4a87-a73b-8ea881b4b4d6" }, { "ContentUrl":"https://support.microsoft.com/en-us/kb/2124261", "ProductFamily":"Windows", "Product":"Windows7", "Vendor":"Microsoft", "Description":"A security issue has been identified that could allow an unauthenticated remote attacker to compromise your system and gain control over it. You can help protect your system by installing this update from Microsoft. After you install this update, you may have to restart your system.", "Classification":"SecurityUpdates", "Title":"Security Update for Windows 7 (KB2124261)", "ReleaseDate":1284483600.0, "MsrcClassification":"Important", "Language":"All", "KbNumber":"KB2124261", "MsrcNumber":"MS10-065", "Id":"12ef1bed-0dd2-4633-b3ac-60888aa8ba33" } ---output truncated---
Obter estados de resumo de patches por nó gerenciado
O resumo por nó gerenciado fornece uma série de patches nos seguintes estados por nó: "NotApplicable", "Missing", "Failed", "InstalledOther" e "Installed".
O sistema retorna informações como estas.
{ "InstancePatchStates":[ { "InstanceId": "i-08ee91c0b17045407", "PatchGroup": "", "BaselineId": "pb-0c10e65780EXAMPLE", "SnapshotId": "6d03d6c5-f79d-41d0-8d0e-00a9aEXAMPLE", "InstalledCount": 50, "InstalledOtherCount": 353, "InstalledPendingRebootCount": 0, "InstalledRejectedCount": 0, "MissingCount": 0, "FailedCount": 0, "UnreportedNotApplicableCount": -1, "NotApplicableCount": 671, "OperationStartTime": "2020-01-24T12:37:56-08:00", "OperationEndTime": "2020-01-24T12:37:59-08:00", "Operation": "Scan", "RebootOption": "NoReboot" }, { "InstanceId": "i-09a618aec652973a9", "PatchGroup": "", "BaselineId": "pb-0c10e65780EXAMPLE", "SnapshotId": "c7e0441b-1eae-411b-8aa7-973e6EXAMPLE", "InstalledCount": 36, "InstalledOtherCount": 396, "InstalledPendingRebootCount": 0, "InstalledRejectedCount": 0, "MissingCount": 3, "FailedCount": 0, "UnreportedNotApplicableCount": -1, "NotApplicableCount": 420, "OperationStartTime": "2020-01-24T12:37:34-08:00", "OperationEndTime": "2020-01-24T12:37:37-08:00", "Operation": "Scan", "RebootOption": "NoReboot" } ---output truncated---
Obter detalhes da conformidade de patches para um nó gerenciado
aws ssm describe-instance-patches --instance-id i-08ee91c0b17045407
O sistema retorna informações como estas.
{ "NextToken":"--token string truncated--", "Patches":[ { "Title": "bind-libs.x86_64:32:9.8.2-0.68.rc1.60.amzn1", "KBId": "bind-libs.x86_64", "Classification": "Security", "Severity": "Important", "State": "Installed", "InstalledTime": "2019-08-26T11:05:24-07:00" }, { "Title": "bind-utils.x86_64:32:9.8.2-0.68.rc1.60.amzn1", "KBId": "bind-utils.x86_64", "Classification": "Security", "Severity": "Important", "State": "Installed", "InstalledTime": "2019-08-26T11:05:32-07:00" }, { "Title": "dhclient.x86_64:12:4.1.1-53.P1.28.amzn1", "KBId": "dhclient.x86_64", "Classification": "Security", "Severity": "Important", "State": "Installed", "InstalledTime": "2019-08-26T11:05:31-07:00" }, ---output truncated---
Visualizar os resultados de conformidade dos patches (AWS CLI)
Para visualizar os resultados de conformidade de patches para um único nó gerenciado
Execute o seguinte comando na AWS Command Line Interface (AWS CLI) para exibir os resultados de conformidade do patch para um único nó gerenciado.
aws ssm describe-instance-patch-states --instance-id
instance-id
Substitua instance-id
pelo ID do nó gerenciado para o qual você deseja visualizar os resultados, no formato i-02573cafcfEXAMPLE
ou mi-0282f7c436EXAMPLE
.
O sistema retorna informações como as seguintes.
{ "InstancePatchStates": [ { "InstanceId": "i-02573cafcfEXAMPLE", "PatchGroup": "mypatchgroup", "BaselineId": "pb-0c10e65780EXAMPLE", "SnapshotId": "a3f5ff34-9bc4-4d2c-a665-4d1c1EXAMPLE", "CriticalNonCompliantCount": 2, "SecurityNonCompliantCount": 2, "OtherNonCompliantCount": 1, "InstalledCount": 123, "InstalledOtherCount": 334, "InstalledPendingRebootCount": 0, "InstalledRejectedCount": 0, "MissingCount": 1, "FailedCount": 2, "UnreportedNotApplicableCount": 11, "NotApplicableCount": 2063, "OperationStartTime": "2021-05-03T11:00:56-07:00", "OperationEndTime": "2021-05-03T11:01:09-07:00", "Operation": "Scan", "LastNoRebootInstallOperationTime": "2020-06-14T12:17:41-07:00", "RebootOption": "RebootIfNeeded" } ] }
Para visualizar um resumo da contagem de patches para todas as instâncias do EC2 em uma região
Odescribe-instance-patch-states
O oferece suporte à recuperação de resultados para apenas uma instância gerenciada por vez. No entanto, usando um script personalizado com odescribe-instance-patch-states
, você pode gerar um relatório mais granular.
Por exemplo, se a ferramenta de filtro jqInstalledPendingReboot
:
aws ssm describe-instance-patch-states \ --instance-ids $(aws ec2 describe-instances --region
region
| jq '.Reservations[].Instances[] | .InstanceId' | tr '\n|"' ' ') \ --output text --query 'InstancePatchStates[*].{Instance:InstanceId, InstalledPendingRebootCount:InstalledPendingRebootCount}'
A região
representa o identificador da região para uma região da Região da AWS compatível com o AWS Systems Manager, como us-east-2
para a região Leste dos EUA (Ohio). Para ver uma lista dos valores de região
com suporte, consulte a coluna Region em Systems Manager service endpoints no Referência geral da Amazon Web Services.
Por exemplo:
aws ssm describe-instance-patch-states \ --instance-ids $(aws ec2 describe-instances --region us-east-2 | jq '.Reservations[].Instances[] | .InstanceId' | tr '\n|"' ' ') \ --output text --query 'InstancePatchStates[*].{Instance:InstanceId, InstalledPendingRebootCount:InstalledPendingRebootCount}'
O sistema retorna informações como estas.
1 i-02573cafcfEXAMPLE 0 i-0471e04240EXAMPLE 3 i-07782c72faEXAMPLE 6 i-083b678d37EXAMPLE 0 i-03a530a2d4EXAMPLE 1 i-01f68df0d0EXAMPLE 0 i-0a39c0f214EXAMPLE 7 i-0903a5101eEXAMPLE 7 i-03823c2fedEXAMPLE
Além deInstalledPendingRebootCount
, a lista de tipos de contagem que você pode pesquisar inclui o seguinte:
-
CriticalNonCompliantCount
-
SecurityNonCompliantCount
-
OtherNonCompliantCount
-
UnreportedNotApplicableCount
-
InstalledPendingRebootCount
-
FailedCount
-
NotApplicableCount
-
InstalledRejectedCount
-
InstalledOtherCount
-
MissingCount
-
InstalledCount
Comandos da AWS CLI para verificação e correção de nós gerenciados
Depois de executar os seguintes comandos para verificar a conformidade do patch ou instalar patches, você pode usar comandos no Comandos da AWS CLI para visualizar resumos e detalhes de patches para exibir informações sobre o status e a conformidade do patch.
Exemplos de comandos
Verificar a conformidade dos patches (AWS CLI) em nós gerenciados
Para verificar a conformidade dos patches em nós gerenciados
Execute o seguinte comando .
O sistema retorna informações como estas.
{ "Command": { "CommandId": "a04ed06c-8545-40f4-87c2-a0babEXAMPLE", "DocumentName": "AWS-RunPatchBaseline", "DocumentVersion": "$DEFAULT", "Comment": "", "ExpiresAfter": 1621974475.267, "Parameters": { "Operation": [ "Scan" ] }, "InstanceIds": [], "Targets": [ { "Key": "InstanceIds", "Values": [ "i-02573cafcfEXAMPLE, i-0471e04240EXAMPLE" ] } ], "RequestedDateTime": 1621952275.267, "Status": "Pending", "StatusDetails": "Pending", "TimeoutSeconds": 600, ---output truncated--- } }
Para verificar os nós gerenciados quanto à conformidade do patch por etiqueta do grupo de patches
Execute o seguinte comando .
O sistema retorna informações como estas.
{ "Command": { "CommandId": "87a448ee-8adc-44e0-b4d1-6b429EXAMPLE", "DocumentName": "AWS-RunPatchBaseline", "DocumentVersion": "$DEFAULT", "Comment": "", "ExpiresAfter": 1621974983.128, "Parameters": { "Operation": [ "Scan" ] }, "InstanceIds": [], "Targets": [ { "Key": "tag:PatchGroup", "Values": [ "Web servers" ] } ], "RequestedDateTime": 1621952783.128, "Status": "Pending", "StatusDetails": "Pending", "TimeoutSeconds": 600, ---output truncated--- } }
Instalar patches em nós gerenciados (AWS CLI)
Para instalar patches em nós gerenciados específicos
Execute o seguinte comando .
nota
Os nós gerenciados de destino são reinicializados conforme necessário para concluir a instalação do patch. Para ter mais informações, consulte Sobre o documento do SSM do AWS-RunPatchBaseline.
O sistema retorna informações como estas.
{ "Command": { "CommandId": "5f403234-38c4-439f-a570-93623EXAMPLE", "DocumentName": "AWS-RunPatchBaseline", "DocumentVersion": "$DEFAULT", "Comment": "", "ExpiresAfter": 1621975301.791, "Parameters": { "Operation": [ "Install" ] }, "InstanceIds": [], "Targets": [ { "Key": "InstanceIds", "Values": [ "i-02573cafcfEXAMPLE, i-0471e04240EXAMPLE" ] } ], "RequestedDateTime": 1621953101.791, "Status": "Pending", "StatusDetails": "Pending", "TimeoutSeconds": 600, ---output truncated--- } }
Para instalar patches em nós gerenciados em um grupo de patches específico
Execute o seguinte comando .
O sistema retorna informações como estas.
{ "Command": { "CommandId": "fa44b086-7d36-4ad5-ac8d-627ecEXAMPLE", "DocumentName": "AWS-RunPatchBaseline", "DocumentVersion": "$DEFAULT", "Comment": "", "ExpiresAfter": 1621975407.865, "Parameters": { "Operation": [ "Install" ] }, "InstanceIds": [], "Targets": [ { "Key": "tag:PatchGroup", "Values": [ "Web servers" ] } ], "RequestedDateTime": 1621953207.865, "Status": "Pending", "StatusDetails": "Pending", "TimeoutSeconds": 600, ---output truncated--- } }