Uso del parámetro BaselineOverride - AWS Systems Manager

Uso del parámetro BaselineOverride

Puede definir las preferencias de parches en tiempo de ejecución mediante la característica de anulación de base de referencia de parches en Patch Manager, una capacidad de AWS Systems Manager. Para ello, especifique un bucket de Amazon Simple Storage Service (Amazon S3) que contenga un objeto JSON con una lista de bases de referencia de parches. La operación de aplicación de parches utiliza las bases de referencia proporcionadas en el objeto JSON que concuerda con el sistema operativo del host en lugar de aplicar las reglas de la base de referencia de parches predeterminada

nota

Salvo cuando una operación de revisión utiliza una política de revisión, el uso del parámetro BaselineOverride no sobrescribe la conformidad con la línea de base proporcionada en el parámetro. Los resultados de salida se registran en los registros Stdout de Run Command, una capacidad de AWS Systems Manager. Los resultados solo imprimen los paquetes marcados como NON_COMPLIANT. Esto significa que el paquete está marcado como Missing, Failed, InstalledRejected, o InstalledPendingReboot.

No obstante, cuando una operación de revisión utiliza una política de revisión, el sistema pasa el parámetro de anulación desde el bucket de S3 asociado y se actualiza el valor de conformidad del nodo administrado. Para obtener más información sobre los comportamientos de las políticas de revisiones, consulte Configuraciones de políticas de revisiones en Quick Setup.

Uso de la anulación de la base de referencia de parches con los parámetros de ID de instantánea o de lista de anulación de instalación

Se dan dos casos en los que la anulación de la base de referencia de parches presenta un comportamiento destacable.

Uso de la anulación de la base de referencia y el ID de la instantánea al mismo tiempo

Los ID de las instantáneas garantizan que todos los nodos administrados de un determinado comando de aplicación de revisiones apliquen lo mismo. Por ejemplo, si se aplican revisiones a 1000 nodos a la vez, estas serán las mismas.

Cuando se utiliza un ID de instantánea como una anulación de la base de referencia de parches, el ID de instantánea tiene prioridad sobre la anulación de la base de referencia de parches. Las reglas de anulación de la base de referencia se seguirán utilizando, pero solo se evaluarán una vez. En el ejemplo anterior, las revisiones en los 1000 nodos administrados continuarán siendo siempre las mismas. Si a mitad de la operación de aplicación de parches cambió el archivo JSON en el bucket de S3 referenciado para que sea diferente, los parches aplicados seguirán siendo los mismos. Esto se debe a que se proporcionó el ID de la instantánea.

Uso de la anulación de la base de referencia y de la lista de anulación de la instalación al mismo tiempo

No se pueden utilizar estos dos parámetros a la vez. El documento de aplicación de revisiones presenta un error si se proporcionan ambos parámetros, y no realiza ningún análisis ni instalación en el nodo administrado.

Ejemplos de código

En el siguiente ejemplo de código para Python, se muestra cómo generar la anulación de la base de referencia de parches.

import boto3 import json ssm = boto3.client('ssm') s3 = boto3.resource('s3') s3_bucket_name = 'my-baseline-override-bucket' s3_file_name = 'MyBaselineOverride.json' baseline_ids_to_export = ['pb-0000000000000000', 'pb-0000000000000001'] baseline_overrides = [] for baseline_id in baseline_ids_to_export: baseline_overrides.append(ssm.get_patch_baseline( BaselineId=baseline_id )) json_content = json.dumps(baseline_overrides, indent=4, sort_keys=True, default=str) s3.Object(bucket_name=s3_bucket_name, key=s3_file_name).put(Body=json_content)

De este modo, se obtiene una anulación de la base de referencia de parches como la que se muestra a continuación.

[ { "ApprovalRules": { "PatchRules": [ { "ApproveAfterDays": 0, "ComplianceLevel": "UNSPECIFIED", "EnableNonSecurity": false, "PatchFilterGroup": { "PatchFilters": [ { "Key": "PRODUCT", "Values": [ "*" ] }, { "Key": "CLASSIFICATION", "Values": [ "*" ] }, { "Key": "SEVERITY", "Values": [ "*" ] } ] } } ] }, "ApprovedPatches": [], "ApprovedPatchesComplianceLevel": "UNSPECIFIED", "ApprovedPatchesEnableNonSecurity": false, "GlobalFilters": { "PatchFilters": [] }, "OperatingSystem": "AMAZON_LINUX_2", "RejectedPatches": [], "RejectedPatchesAction": "ALLOW_AS_DEPENDENCY", "Sources": [] }, { "ApprovalRules": { "PatchRules": [ { "ApproveUntilDate": "2021-01-06", "ComplianceLevel": "UNSPECIFIED", "EnableNonSecurity": true, "PatchFilterGroup": { "PatchFilters": [ { "Key": "PRODUCT", "Values": [ "*" ] }, { "Key": "CLASSIFICATION", "Values": [ "*" ] }, { "Key": "SEVERITY", "Values": [ "*" ] } ] } } ] }, "ApprovedPatches": [ "open-ssl*" ], "ApprovedPatchesComplianceLevel": "UNSPECIFIED", "ApprovedPatchesEnableNonSecurity": false, "GlobalFilters": { "PatchFilters": [] }, "OperatingSystem": "CENTOS", "RejectedPatches": [ "python*" ], "RejectedPatchesAction": "ALLOW_AS_DEPENDENCY", "Sources": [] } ]