Rotación de credenciales de RDS Custom para Oracle para programas de conformidad - Amazon Relational Database Service

Rotación de credenciales de RDS Custom para Oracle para programas de conformidad

Algunos programas de conformidad exigen que las credenciales de usuario de la base de datos cambien periódicamente, por ejemplo, cada 90 días. RDS Custom para Oracle rota automáticamente las credenciales de algunos usuarios de bases de datos predefinidos.

Rotación automática de credenciales para usuarios predefinidos

Si su instancia de base de datos de RDS Custom para Oracle está alojada en Amazon RDS, las credenciales de los siguientes usuarios predefinidos de Oracle se rotan automáticamente cada 30 días. Las credenciales de los usuarios anteriores residen en AWS Secrets Manager.

Usuario de base de datosCreado porVersiones del motor admitidasNotas

SYS

Oracle

custom-oracle-ee

custom-oracle-ee-cdb

custom-oracle-se2

custom-oracle-se2-cdb

SYSTEM

Oracle

custom-oracle-ee

custom-oracle-ee-cdb

custom-oracle-se2

custom-oracle-se2-cdb

RDSADMIN

RDS

custom-oracle-ee

custom-oracle-se2

C##RDSADMIN

RDS

custom-oracle-ee-cdb

custom-oracle-se2-cdb

Los nombres de usuario con un prefijo C## solo existen en las CDB. Para obtener más información acerca de las CDB, consulte Información general de la arquitectura de Amazon RDS Custom para Oracle.

RDS_DATAGUARD

RDS

custom-oracle-ee

Este usuario solo existe en las réplicas de lectura, en las bases de datos de origen para réplicas de lectura y en las bases de datos que haya migrado físicamente a RDS Custom mediante Oracle Data Guard.

C##RDS_DATAGUARD

RDS

custom-oracle-ee-cdb

Este usuario solo existe en las réplicas de lectura, en las bases de datos de origen para réplicas de lectura y en las bases de datos que haya migrado físicamente a RDS Custom mediante Oracle Data Guard. Los nombres de usuario con un prefijo C## solo existen en las CDB. Para obtener más información acerca de las CDB, consulte Información general de la arquitectura de Amazon RDS Custom para Oracle.

Una excepción a la rotación automática de credenciales es una instancia de base de datos de RDS Custom para Oracle que haya configurado manualmente como base de datos en espera. RDS solo rota las credenciales de las réplicas que haya creado mediante el comando de la CLI de create-db-instance-read-replica o la API de CreateDBInstanceReadReplica.

Directrices para rotar las credenciales de usuario

Para asegurarse de que sus credenciales roten de acuerdo con su programa de conformidad, tenga en cuenta las siguientes directrices:

  • Si la instancia de base de datos rota las credenciales automáticamente, no cambie ni elimine manualmente un secreto, un archivo de contraseñas o una contraseña para los usuarios que figuran en Usuarios predefinidos de Oracle. De lo contrario, RDS Custom podría colocar la instancia de base de datos fuera del perímetro de soporte, lo que suspendería la rotación automática.

  • El usuario maestro de RDS no está predefinido, por lo que usted es el responsable de cambiar la contraseña manualmente o configurar la rotación automática en Secrets Manager. Para obtener más información, consulte Rotar secretos de AWS Secrets Manager.

Rotación manual de credenciales de usuario

Para las siguientes categorías de bases de datos, RDS no rota automáticamente las credenciales de los usuarios que figuran en Usuarios predefinidos de Oracle:

  • Base de datos que configuró manualmente para que funcione como base de datos en espera.

  • Base de datos en las instalaciones

  • Instancia de base de datos que se encuentra fuera del perímetro de soporte o en un estado en el que no se puede ejecutar la automatización de RDS Custom. En este caso, RDS Custom tampoco rota las claves.

Si la base de datos se encuentra en alguna de las categorías anteriores, debe rotar las credenciales de usuario manualmente.

Para rotar manualmente las credenciales de usuario de una instancia de base de datos
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En Bases de datos, asegúrese de que RDS no esté realizando copias de seguridad de la instancia de base de datos ni operaciones como la configuración de la alta disponibilidad.

  3. En la página de detalles de la base de datos, elija Configuración y anote el ID del recurso de la instancia de base de datos. También puede utilizar el comando describe-db-instances de la AWS CLI.

  4. Abra la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.

  5. En el cuadro de búsqueda, escriba el ID del recurso de base de datos y busque el secreto en el siguiente formulario:

    do-not-delete-rds-custom-db-resource-id-numeric-string

    Este secreto almacena la contraseña de RDSADMIN, SYS y SYSTEM. La siguiente clave de ejemplo es para la instancia de base de datos con el ID de recurso de base de datos db-ABCDEFG12HIJKLNMNOPQRS3TUVWX:

    do-not-delete-rds-custom-db-ABCDEFG12HIJKLNMNOPQRS3TUVWX-123456
    importante

    Si la instancia de base de datos es una réplica de lectura y usa el motor custom-oracle-ee-cdb, existen dos secretos con el sufijo db-resource-id-numeric-string: uno para el usuario maestro y otro para RDSADMIN, SYS y SYSTEM. Para encontrar el secreto correcto, ejecute el siguiente comando en el host:

    cat /opt/aws/rdscustomagent/config/database_metadata.json | python3 -c "import sys,json; print(json.load(sys.stdin)['dbMonitoringUserPassword'])"

    El atributo dbMonitoringUserPassword indica el secreto para RDSADMIN, SYS y SYSTEM.

  6. Si su instancia de base de datos existe en una configuración de Oracle Data Guard, busque el secreto de la siguiente forma:

    do-not-delete-rds-custom-db-resource-id-numeric-string-dg

    Este secreto almacena la contraseña de RDS_DATAGUARD. La siguiente clave de ejemplo es para la instancia de base de datos con el ID de recurso de base de datos db-ABCDEFG12HIJKLNMNOPQRS3TUVWX:

    do-not-delete-rds-custom-db-ABCDEFG12HIJKLNMNOPQRS3TUVWX-789012-dg
  7. Para todos los usuarios de bases de datos que se indican en Usuarios predefinidos de Oracle, actualice las contraseñas de acuerdo con las instrucciones de Modificación de un secreto de AWS Secrets Manager.

  8. Si su base de datos es una base de datos independiente o una base de datos de origen en una configuración de Oracle Data Guard:

    1. Inicie su cliente de Oracle SQL e inicie sesión como SYS.

    2. Ejecute una instrucción SQL del siguiente modo para cada usuario de base de datos incluido en Usuarios predefinidos de Oracle:

      ALTER USER user-name IDENTIFIED BY pwd-from-secrets-manager ACCOUNT UNLOCK;

      Por ejemplo, si la nueva contraseña de RDSADMIN almacenada en Secrets Manager es pwd-123, ejecute la siguiente instrucción:

      ALTER USER RDSADMIN IDENTIFIED BY pwd-123 ACCOUNT UNLOCK;
  9. Si su instancia de base de datos ejecuta Oracle Database 12c Versión 1 (12.1) y la administra Oracle Data Guard, copie manualmente el archivo de contraseña (orapw) desde la instancia de base de datos principal a cada instancia de base de datos en espera.

    Si la instancia de base de datos está alojada en Amazon RDS, la ubicación del archivo de contraseñas es /rdsdbdata/config/orapw. Para las bases de datos que no están alojadas en Amazon RDS, la ubicación predeterminada es $ORACLE_HOME/dbs/orapw$ORACLE_SID en Linux y UNIX y %ORACLE_HOME%\database\PWD%ORACLE_SID%.ora en Windows.