Cambiar la clave de cifrado de un secreto AWS Secrets Manager - AWS Secrets Manager

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cambiar la clave de cifrado de un secreto AWS Secrets Manager

Secrets Manager utiliza el cifrado de sobres con las claves y claves de datos de AWS KMS para proteger cada valor del secreto. Para cada secreto, puede elegir qué clave de KMS desea utilizar. Puede utilizar la Clave administrada de AWS aws/secretsmanager, o una clave gestionada por el cliente. En la mayoría de los casos, se recomienda utilizar aws/secretsmanager, cuyo uso no tiene costo alguno. Si necesita acceder al secreto desde otro Cuenta de AWS, o si desea usar su propia clave KMS para poder rotarla o aplicarle una política de clave, use una clave administrada por el cliente. Debe tener Permisos para la clave KMS. Para obtener información sobre los costos por usar una clave administrada por el cliente, consulte Precios.

Puede cambiar la clave de cifrado de un secreto. Por ejemplo, si desea acceder al secreto desde otra cuenta y el secreto está cifrado actualmente con la clave gestionada AWS aws/secretsmanager, puede cambiar a una clave administrada por el cliente.

sugerencia

Si quiere rotar su clave administrada por el cliente, le recomendamos que utilice la rotación automática de la clave AWS KMS. Para obtener más información, consulte Rotación de claves AWS KMS.

Al cambiar la clave de cifrado, Secrets Manager vuelve a cifrar las versiones AWSCURRENT, AWSPENDING y AWSPREVIOUS con la nueva clave. Para evitar que descubra el secreto, Secrets Manager mantiene todas las versiones existentes cifradas con la clave anterior. Esto significa que puede descifrar las versiones AWSCURRENT, AWSPENDING y AWSPREVIOUS con la clave anterior o con la nueva clave. Si no tiene permiso kms:Decrypt para usar la clave anterior, al cambiar la clave de cifrado, Secrets Manager no podrá descifrar las versiones secretas para volver a cifrarlas. En este caso, las versiones existentes no se vuelven a cifrar.

Para que solo AWSCURRENT se pueda descifrar con la nueva clave de cifrado, cree una nueva versión del secreto con la nueva clave. Luego, para poder descifrar la versión secreta de AWSCURRENT, debe tener permiso para usar la nueva clave.

Si desactiva la clave de cifrado anterior, no podrá descifrar ninguna versión secreta excepto AWSCURRENT, AWSPENDING y AWSPREVIOUS. Si tiene otras versiones etiquetadas como secretas para las que desea conservar el acceso, tendrá que volver a crear esas versiones con la nueva clave de cifrado mediante AWS CLI.

Cambiar la clave de cifrado de un secreto (consola)
  1. Abra la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.

  2. En la lista de secretos, elija el secreto.

  3. En la sección Detalles de secreto, elija Acciones y, a continuación, elija Editar clave de cifrado.

AWS CLI

Si cambia la clave de cifrado anterior para un secreto y luego desactiva la clave de cifrado anterior, no podrá descifrar ninguna versión de secreto excepto AWSCURRENT, AWSPENDING y AWSPREVIOUS. Si tiene otras versiones etiquetadas como secretas para las que desea conservar el acceso, tendrá que volver a crear esas versiones con la nueva clave de cifrado mediante AWS CLI.

Cambiar la clave de cifrado de un secreto (AWS CLI)
  1. En el siguiente ejemplo de update-secret se actualiza la clave de KMS utilizada para cifrar el valor de secreto. La clave de KMS debe estar en la misma región que el secreto.

    aws secretsmanager update-secret \ --secret-id MyTestSecret \ --kms-key-id arn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE
  2. (Opcional) Si tiene versiones de secretos con etiquetas personalizadas, para volver a cifrarlas con la nueva clave, debe crear nuevamente esas versiones.

    Cuando utiliza ingresa comandos en un shell de comandos, existe el riesgo de que se acceda al historial de comandos o de que las utilidades tengan acceso a sus parámetros de comando. Consulte Reducción de los riesgos de usar AWS CLI para almacenar sus secretos de AWS Secrets Manager.

    1. Obtenga el valor de la versión de secreto.

      aws secretsmanager get-secret-value \ --secret-id MyTestSecret \ --version-stage MyCustomLabel

      Anote el valor del secreto.

    2. Cree una nueva versión con ese valor.

      aws secretsmanager put-secret-value \ --secret-id testDescriptionUpdate \ --secret-string "SecretValue" \ --version-stages "MyCustomLabel"