Asignación de políticas de parámetros en Parameter Store - AWS Systems Manager

Asignación de políticas de parámetros en Parameter Store

Las políticas de parámetros lo ayudan a administrar un conjunto creciente de parámetros, por lo que le permite asignar criterios específicos a un parámetro como, por ejemplo, una fecha de vencimiento o un período de vida. Las políticas de parámetros son especialmente útiles para actualizar o eliminar contraseñas y datos de configuración almacenados en Parameter Store, una capacidad de AWS Systems Manager. Parameter Store ofrece los siguientes tipos de políticas: Expiration, ExpirationNotification y NoChangeNotification.

nota

Para implementar ciclos de vida de rotación de contraseñas, utilice AWS Secrets Manager. Puede rotar, administrar y recuperar credenciales de bases de datos, claves de API y otros datos confidenciales durante todo su ciclo de vida con Secrets Manager. Para obtener más información, consulte ¿Qué es AWS Secrets Manager? en la Guía del usuario de AWS Secrets Manager.

Parameter Store aplica las políticas de parámetros mediante análisis asíncronos periódicos. Después de crear una política no tiene que realizar acciones adicionales para aplicarla. Parameter Store realiza de forma independiente la acción definida por la política de acuerdo con los criterios especificados.

nota

Las políticas de parámetros están disponibles para los parámetros que utilizan la capa de parámetros avanzados. Para obtener más información, consulte Administración de niveles de parámetros.

Una política de parámetro es una matriz JSON, tal y como se muestra en la siguiente tabla. Puede asignar una política al crear un nuevo parámetro avanzado, o bien puede aplicar una política actualizando un parámetro. Parameter Store admite los siguientes tipos de políticas de parámetros.

Política Detalles Ejemplos

Expiration

Esta política elimina el parámetro. Puede especificar una fecha y hora concretas mediante con el formato ISO_INSTANT o ISO_OFFSET_DATE_TIME. Para cambiar cuándo desea que se elimine el parámetro, actualice la política. Actualizar un parámetro no afecta a la fecha de vencimiento o la hora de la política asociada a él. Cuando se llega a la fecha y hora de vencimiento, Parameter Store elimina el parámetro.

nota

En este ejemplo se utiliza el formato ISO_INSTANT. También puede especificar una fecha y una hora con el formato ISO_OFFSET_DATE_TIME. A continuación se muestra un ejemplo: 2019-11-01T22:13:48.87+10:30:00.

{ "Type": "Expiration", "Version": "1.0", "Attributes": { "Timestamp": "2018-12-02T21:34:33.000Z" } }

ExpirationNotification

Esta política inicia un evento en Amazon EventBridge (EventBridge) que le notifica acerca del vencimiento. Con esta política podrá recibir notificaciones antes de la fecha de vencimiento, en unidades de días u horas.

{ "Type": "ExpirationNotification", "Version": "1.0", "Attributes": { "Before": "15", "Unit": "Days" } }

NoChangeNotification

Esta política inicia un evento en EventBridge si un parámetro no se ha modificado durante un periodo de tiempo especificado. Este tipo de política es útil cuando, por ejemplo, debe cambiarse una contraseña en un periodo de tiempo.

Esta política determina cuándo enviar una notificación leyendo el atributo LastModifiedTime del parámetro. Si cambia o edita un parámetro, el sistema restablece el periodo de tiempo de notificación en función del nuevo valor de LastModifiedTime.

{ "Type": "NoChangeNotification", "Version": "1.0", "Attributes": { "After": "20", "Unit": "Days" } }

Puede asignar varias políticas a un parámetro. Por ejemplo, puede asignar las políticas Expiration y ExpirationNotification para que el sistema inicie un evento de EventBridge para informarle sobre la eliminación inminente de un parámetro. Puede asignar a un parámetro un máximo de diez (10) políticas.

En el siguiente ejemplo se muestra la sintaxis de una solicitud de API PutParameter que asigna cuatro políticas a un nuevo parámetro SecureString denominado ProdDB3.

{ "Name": "ProdDB3", "Description": "Parameter with policies", "Value": "P@ssW*rd21", "Type": "SecureString", "Overwrite": "True", "Policies": [ { "Type": "Expiration", "Version": "1.0", "Attributes": { "Timestamp": "2018-12-02T21:34:33.000Z" } }, { "Type": "ExpirationNotification", "Version": "1.0", "Attributes": { "Before": "30", "Unit": "Days" } }, { "Type": "ExpirationNotification", "Version": "1.0", "Attributes": { "Before": "15", "Unit": "Days" } }, { "Type": "NoChangeNotification", "Version": "1.0", "Attributes": { "After": "20", "Unit": "Days" } } ] }

Adición de políticas a un parámetro existente

Esta sección contiene información sobre cómo agregar políticas a un parámetro existente usando la consola de AWS Systems Manager, la AWS Command Line Interface (AWS CLI), y AWS Tools for Windows PowerShell. Para obtener información acerca de cómo crear un nuevo parámetro que incluya políticas, consulte Creación de parámetros de Parameter Store en Systems Manager.

Utilizar la consola para agregar políticas a un parámetro existente

Utilice el siguiente procedimiento para agregar políticas a un parámetro existente mediante la consola de Systems Manager.

Para añadir políticas a un parámetro existente
  1. Abra la consola de AWS Systems Manager en https://console.aws.amazon.com/systems-manager/.

  2. En el panel de navegación, elija Parameter Store.

  3. Elija la opción situada junto al parámetro que desea actualizar para incluir políticas y, a continuación, elija Edit (Editar).

  4. Seleccione Avanzado.

  5. (Opcional) En la sección Parameter policies (Políticas de parámetros), elija Enabled (Habilitadas). Puede especificar una fecha de vencimiento y una o varias políticas de notificación para este parámetro.

  6. Elija Guardar cambios.

importante
  • Parameter Store conserva las políticas en un parámetro hasta que sobrescriba las políticas con nuevas políticas o las elimine.

  • Para eliminar todas las políticas de un parámetro existente, edite el parámetro y aplique una política vacía mediante corchetes y llaves, tal y como se indica a continuación: [{}]

  • Si agrega una nueva política a un parámetro que ya tenga políticas, Systems Manager sobrescribe las políticas asociadas al parámetro. Se eliminan las políticas existentes. Si desea agregar una nueva política a un parámetro que ya tiene una o varias políticas, copie y pegue las políticas originales, escriba la nueva política y, a continuación, guarde los cambios.

Utilizar la AWS CLI para agregar políticas a un parámetro existente

Utilice el siguiente procedimiento para añadir políticas a un parámetro existente mediante la AWS CLI.

Para añadir políticas a un parámetro existente
  1. Si aún no lo ha hecho, instale y configure la AWS Command Line Interface (AWS CLI).

    Para obtener más información, consulte Instalación o actualización de la última versión de la AWS CLI.

  2. Ejecute el siguiente comando para añadir políticas a un parámetro existente. Reemplace cada example resource placeholder con su propia información.

    Linux & macOS
    aws ssm put-parameter --name "parameter name" \ --value 'parameter value' \ --type parameter type \ --overwrite \ --policies "[{policies-enclosed-in-brackets-and-curly-braces}]"
    Windows
    aws ssm put-parameter --name "parameter name" ^ --value 'parameter value' ^ --type parameter type ^ --overwrite ^ --policies "[{policies-enclosed-in-brackets-and-curly-braces}]"

    A continuación se muestra un ejemplo que incluye una política de vencimiento que elimina el parámetro después de 15 días. El ejemplo también incluye una política de notificación que genera un evento de EventBridge cinco (5) días antes de que se elimine el parámetro. Por último, incluye una política NoChangeNotification si no se producen cambios en este parámetro después de 60 días. En el ejemplo se utiliza un nombre encubierto (3l3vat3131) para una contraseña y una AWS Key Management Service AWS KMS key. Para obtener más información acerca de AWS KMS keys, consulte Conceptos de AWS Key Management Service en la Guía para desarrolladores de AWS Key Management Service.

    Linux & macOS
    aws ssm put-parameter \ --name "/Finance/Payroll/3l3vat3131" \ --value "P@sSwW)rd" \ --type "SecureString" \ --overwrite \ --policies "[{\"Type\":\"Expiration\",\"Version\":\"1.0\",\"Attributes\":{\"Timestamp\":\"2020-05-13T00:00:00.000Z\"}},{\"Type\":\"ExpirationNotification\",\"Version\":\"1.0\",\"Attributes\":{\"Before\":\"5\",\"Unit\":\"Days\"}},{\"Type\":\"NoChangeNotification\",\"Version\":\"1.0\",\"Attributes\":{\"After\":\"60\",\"Unit\":\"Days\"}}]"
    Windows
    aws ssm put-parameter ^ --name "/Finance/Payroll/3l3vat3131" ^ --value "P@sSwW)rd" ^ --type "SecureString" ^ --overwrite ^ --policies "[{\"Type\":\"Expiration\",\"Version\":\"1.0\",\"Attributes\":{\"Timestamp\":\"2020-05-13T00:00:00.000Z\"}},{\"Type\":\"ExpirationNotification\",\"Version\":\"1.0\",\"Attributes\":{\"Before\":\"5\",\"Unit\":\"Days\"}},{\"Type\":\"NoChangeNotification\",\"Version\":\"1.0\",\"Attributes\":{\"After\":\"60\",\"Unit\":\"Days\"}}]"
  3. Ejecute el siguiente comando para verificar los detalles del parámetro. Reemplace el nombre del parámetro con su propia información.

    Linux & macOS
    aws ssm describe-parameters \ --parameter-filters "Key=Name,Values=parameter name"
    Windows
    aws ssm describe-parameters ^ --parameter-filters "Key=Name,Values=parameter name"
importante
  • Parameter Store conserva políticas para un parámetro hasta que se sobrescriban con nuevas políticas o se eliminen.

  • Para eliminar todas las políticas de un parámetro existente, edite el parámetro y aplique una política sin corchetes ni llaves. Reemplace cada example resource placeholder con su propia información. Por ejemplo:

    Linux & macOS
    aws ssm put-parameter \ --name parameter name \ --type parameter type \ --value 'parameter value' \ --policies "[{}]"
    Windows
    aws ssm put-parameter ^ --name parameter name ^ --type parameter type ^ --value 'parameter value' ^ --policies "[{}]"
  • Si agrega una nueva política a un parámetro que ya tenga políticas, Systems Manager sobrescribe las políticas asociadas al parámetro. Se eliminan las políticas existentes. Si desea agregar una nueva política a un parámetro que ya tiene una o varias políticas, copie y pegue las políticas originales, escriba la nueva política y, a continuación, guarde los cambios.

Agregar políticas a un parámetro existente (Herramientas para Windows PowerShell)

Utilice el siguiente procedimiento para agregar políticas a un parámetro existente utilizando Tools for Windows PowerShell. Reemplace cada example resource placeholder con su propia información.

Para añadir políticas a un parámetro existente
  1. Abra Tools for Windows PowerShell y ejecute el siguiente comando para especificar sus credenciales. Debe tener permisos de administrador en Amazon Elastic Compute Cloud (Amazon EC2) o se le deben haber concedido los permisos adecuados en AWS Identity and Access Management (IAM).

    Set-AWSCredentials ` –AccessKey access-key-name ` –SecretKey secret-key-name
  2. Ejecute el siguiente comando para establecer la región de la sesión de PowerShell. En el ejemplo se utiliza la región EE. UU. Este (Ohio) (us-east-2).

    Set-DefaultAWSRegion ` -Region us-east-2
  3. Ejecute el siguiente comando para añadir políticas a un parámetro existente. Reemplace cada example resource placeholder con su propia información.

    Write-SSMParameter ` -Name "parameter name" ` -Value "parameter value" ` -Type "parameter type" ` -Policies "[{policies-enclosed-in-brackets-and-curly-braces}]" ` -Overwrite

    A continuación se muestra un ejemplo que incluye una política de vencimiento que elimina el parámetro a medianoche (GMT) el 13 de mayo de 2020. El ejemplo también incluye una política de notificación que genera un evento de EventBridge cinco (5) días antes de que se elimine el parámetro. Por último, incluye una política NoChangeNotification si no se producen cambios en este parámetro después de 60 días. En el ejemplo se utiliza un nombre encubierto (3l3vat3131) para una contraseña y una Clave administrada de AWS.

    Write-SSMParameter ` -Name "/Finance/Payroll/3l3vat3131" ` -Value "P@sSwW)rd" ` -Type "SecureString" ` -Policies "[{\"Type\":\"Expiration\",\"Version\":\"1.0\",\"Attributes\":{\"Timestamp\":\"2018-05-13T00:00:00.000Z\"}},{\"Type\":\"ExpirationNotification\",\"Version\":\"1.0\",\"Attributes\":{\"Before\":\"5\",\"Unit\":\"Days\"}},{\"Type\":\"NoChangeNotification\",\"Version\":\"1.0\",\"Attributes\":{\"After\":\"60\",\"Unit\":\"Days\"}}]" ` -Overwrite
  4. Ejecute el siguiente comando para verificar los detalles del parámetro. Reemplace el nombre del parámetro con su propia información.

    (Get-SSMParameterValue -Name "parameter name").Parameters
importante
  • Parameter Store conserva las políticas en un parámetro hasta que sobrescriba las políticas con nuevas políticas o las elimine.

  • Para eliminar todas las políticas de un parámetro existente, edite el parámetro y aplique una política sin corchetes ni llaves. Por ejemplo:

    Write-SSMParameter ` -Name "parameter name" ` -Value "parameter value" ` -Type "parameter type" ` -Policies "[{}]"
  • Si agrega una nueva política a un parámetro que ya tenga políticas, Systems Manager sobrescribe las políticas asociadas al parámetro. Se eliminan las políticas existentes. Si desea agregar una nueva política a un parámetro que ya tiene una o varias políticas, copie y pegue las políticas originales, escriba la nueva política y, a continuación, guarde los cambios.