Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2026-09-29 GMT+08:00

Prácticas recomendadas de seguridad de DWS

La seguridad es una responsabilidad compartida entre Huawei Cloud y usted. Huawei Cloud es responsable de la seguridad de los servicios en la nube para proporcionar una nube segura. Como tenant, debe utilizar correctamente las capacidades de seguridad proporcionadas por los servicios en la nube para proteger los datos y utilizar la nube de forma segura. Para obtener más información, consulte Responsabilidades compartidas.

Esta práctica proporciona orientación práctica para mejorar la seguridad general de sus datos de servicio cuando utiliza DWS.

Configure los ajustes de seguridad en las siguientes fases de uso de DWS para satisfacer sus necesidades de servicio.

  1. Creación de clústeres de DWS y conexión a bases de datos:
  2. Diseño de objetos de base de datos:
  3. Desarrollo del servicio SQL:
  4. O&M:

Control del acceso a los recursos

Si desea otorgar diferentes niveles de acceso a los recursos de DWS de su empresa en Huawei Cloud, utilizar IAM es una forma efectiva de gestionar los permisos en detalle. IAM proporciona autenticación de identidad, gestión de permisos y control de acceso, lo que le ayuda a gestionar de forma segura el acceso a sus recursos de Huawei Cloud. Con IAM, puede utilizar su cuenta de Huawei Cloud para crear usuarios de IAM y asignarles permisos para controlar su acceso a recursos específicos.

  • Escenario 1: Para permitir que los desarrolladores de software de su empresa utilicen los recursos de DWS mientras se restringen las operaciones de alto riesgo y la eliminación de recursos, puede crear usuarios de IAM adaptados para estos desarrolladores y otorgarles solo los permisos esenciales para el uso de DWS.
  • Escenario 2: Permitir que los empleados utilicen solo los recursos de DWS, pero no los recursos de otros servicios. Para ello, otorgue solo los permisos para DWS.

Puede utilizar IAM para controlar el acceso a los recursos en la nube y evitar operaciones incorrectas en los recursos en la nube.

Habilitación de la protección de operaciones críticas para la consola

DWS protege las operaciones de misión crítica. Si desea realizar una operación de misión crítica en la consola, debe introducir una credencial para la verificación de identidad. Puede realizar la operación solo después de que se verifique su identidad. Para la seguridad de la cuenta, se recomienda habilitar la función de protección de operaciones. Esta función tiene efecto para la cuenta y sus subusuarios.

Actualmente, se admiten las siguientes operaciones: vinculación de una EIP, escalamiento horizontal de un clúster, cambio de especificaciones, eliminación de un clúster, reinicio de un clúster, inicio de un clúster, detención de un clúster, adición o eliminación de un CN, actualización de un clúster, modificación de parámetros, eliminación de nodos inactivos y habilitación o deshabilitación del escalamiento automático.

Para obtener más detalles, consulte Habilitación de la protección de operaciones críticas para la consola de DWS.

Habilitación de la encriptación transparente a nivel de clúster

En un clúster de base de datos tradicional, los datos de los usuarios se almacenan en texto plano en archivos de almacenamiento de columnas o filas. El personal de mantenimiento malintencionado del clúster o los atacantes pueden evadir el mecanismo de control de permisos de la base de datos en el sistema operativo o robar los discos para acceder a los datos de los usuarios. DWS se interconecta con Huawei Cloud KMS para implementar la encriptación de datos transparente y mejorar la seguridad de los datos de los usuarios.

En la TDE a nivel de base de datos de DWS, cada clúster de DWS tiene una CEK y está configurado con una DEK. Las DEK se encriptan mediante las CEK y su texto cifrado se almacena en DWS. Las claves se solicitan, encriptan y desencriptan a través del servicio KMS. El algoritmo criptográfico se configura mediante elementos de configuración. Actualmente, se admiten los algoritmos AES y SM4.

Para obtener más información, consulte la sección Uso de KMS para encriptar clústeres de DWS.

Conexión a una base de datos a través de la transmisión de datos encriptados con SSL

DWS admite el SSL estándar. Como protocolo altamente seguro, SSL autentica la identificación bidireccional entre el servidor y el cliente mediante firmas digitales y certificados digitales para garantizar la transmisión de datos segura. Para admitir la conexión SSL, DWS ha obtenido los certificados y las claves formales para el servidor y el cliente del centro de certificación de CA. Se asume que la clave y el certificado para el servidor son server.key y server.crt respectivamente; la clave y el certificado para el cliente son client.key y client.crt respectivamente, y el nombre del certificado raíz de CA es cacert.pem.

El modo SSL ofrece mayor seguridad que el modo común. De forma predeterminada, la función de SSL está habilitada en un clúster para permitir conexiones de SSL o no SSL desde el cliente. Por motivos de seguridad, se recomienda habilitar la conexión SSL. El certificado del servidor, la clave privada y el certificado raíz se han configurado en DWS de forma predeterminada.

Para obtener más información, consulte Establecimiento de conexiones TCP/IP seguras en modo SSL.

Aislamiento de cargas de trabajo mediante configuraciones de base de datos y esquemas

En DWS, puede aislar cargas de trabajo con configuraciones de bases de datos y esquemas. Las diferencias son las siguientes:

  • Las bases de datos no pueden comunicarse entre sí y compartir muy pocos recursos. Sus conexiones y permisos pueden ser aislados.
  • Los esquemas comparten más recursos que las bases de datos. Los permisos de usuario en esquemas y objetos subordinados se pueden configurar de manera flexible mediante la sintaxis GRANT y REVOKE.

Se recomienda utilizar esquemas para aislar servicios para mayor comodidad y uso compartido de recursos. Se recomienda que los administradores del sistema creen esquemas y bases de datos y, a continuación, asignen los permisos necesarios a los usuarios.

  1. Cada base de datos tiene uno o más esquemas. Cada esquema contiene varios tipos de objetos, como tablas, vistas y funciones.
  2. Para acceder a un objeto en la capa inferior, se debe otorgar al usuario el permiso sobre el objeto en la capa superior.
  3. Para crear o eliminar un esquema, debe tener el permiso CREATE para su base de datos.
  4. Para acceder a table1 en un esquema, se debe otorgar al usuario el permiso CONNECT para su database, el permiso USAGE del schema y el permiso SELECT de table1.

Para obtener más detalles, consulte ¿Cómo implementa DWS el aislamiento de cargas de trabajo?

Figura 1 Niveles de permisos

Otorgamiento de permisos para acceder y modificar datos de tablas mediante la sintaxis Grant

Autorizaciones

DWS utiliza la sintaxis GRANT para otorgar permisos a roles y usuarios. Un usuario común no puede acceder a una tabla sin los permisos otorgados por el administrador del sistema dbadmin o el propietario de la tabla. Este mecanismo predeterminado controla el acceso de los usuarios a los datos y puede evitar la fuga de datos.

GRANT se utiliza en los siguientes escenarios:

  • Otorgamiento de system permissions a roles o usuarios

    Los permisos del sistema también se denominan atributos de usuario, que incluyen SYSADMIN, CREATEDB, CREATEROLE, AUDITADMIN y LOGIN.

    Solo se pueden especificar mediante la sintaxis CREATE ROLE o ALTER ROLE. El permiso SYSADMIN se puede otorgar y revocar mediante GRANT ALL PRIVILEGE y REVOKE ALL PRIVILEGE, respectivamente. Los permisos del sistema no pueden ser heredados por un usuario de un rol y no se pueden conceder mediante PUBLIC.

  • Otorgamiento de database object permissions a roles o usuarios

    Otorgue permisos para un objeto de base de datos (tabla, vista, columna, base de datos, función o esquema) a un rol o usuario.

    GRANT otorga permisos de objetos de base de datos especificados a uno o más roles. Estos permisos se agregan a los que se hayan otorgado, si los hubiera.

    DWS otorga los permisos sobre ciertos tipos de objetos a PUBLIC. Por defecto, los permisos sobre tablas, columnas, secuencias, fuentes de datos externas, servidores externos, esquemas y espacios de tablas no se otorgan a PUBLIC. Sin embargo, los siguientes permisos sí se otorgan a PUBLIC: permisos CONNECT y CREATE TEMP TABLE en bases de datos, permiso EXECUTE en funciones y permiso USAGE en lenguajes y tipos de datos (incluidos los dominios). El propietario de un objeto puede revocar los permisos predeterminados otorgados a public y otorgar permisos a otros usuarios. Por motivos de seguridad, cree un objeto y establezca sus permisos en la misma transacción, de modo que el objeto no sea accesible para ningún otro usuario hasta que configure sus permisos y finalice la transacción. Además, puede ejecutar la sentencia ALTER DEFAULT PRIVILEGES para modificar los permisos predeterminados.

  • Otorgamiento de permisos de un rol o usuario a otros roles o usuarios

    Otorgar los permisos de un rol o usuario a uno o más roles o usuarios. En este caso, cada rol o usuario puede considerarse como un conjunto de uno o más permisos de base de datos.

    Si se especifica WITH ADMIN OPTION, el miembro puede a su vez otorgar permisos de ese rol a otros, así como también revocarlos. Si un rol o usuario al que se le otorgaron ciertos permisos se modifica o se revoca, los permisos heredados de ese rol o usuario también cambian.

    Un administrador de bases de datos puede otorgar permisos y revocarlos de cualquier rol o usuario. Los roles que tienen el permiso CREATEROLE pueden otorgar o revocar la membresía en cualquier rol que no sea un administrador.

Para obtener más información, consulte GRANT.

Revocación de permisos

Después de que se otorga a un usuario un permiso de objeto de base de datos, puede usar la sintaxis REVOKE para revocar un permiso de un usuario si ya no lo necesita o si necesita controlar los permisos del usuario.

Para obtener más información, consulte REVOKE.

Habilitación del control de acceso a nivel de fila para que los datos a nivel de fila sean parcialmente visibles

Es posible que múltiples usuarios necesiten acceder a la misma tabla y realizar operaciones en ella al mismo tiempo. En este caso, debe otorgar a los usuarios los permisos para filas específicas de la tabla. DWS puede implementar el control de acceso a nivel de fila. Por ejemplo, un administrador de tablas puede ver una tabla completa, pero el usuario A solo puede ver filas específicas de la tabla cuando ejecuta SELECT * FROM table_name. Esta función permite que el control de acceso a la base de datos sea preciso para cada fila de las tablas de datos. De esta manera, la misma consulta SQL puede devolver resultados diferentes para diferentes usuarios.

Puede crear una política de control de acceso a nivel de fila para una tabla de datos. La política define una expresión que solo tiene efecto para usuarios específicos de la base de datos y operaciones SQL. Cuando un usuario de la base de datos accede a la tabla de datos, si una sentencia SQL cumple con las políticas de control de acceso a nivel de fila especificadas de la tabla de datos, las expresiones que cumplen con la condición especificada se combinarán mediante AND u OR según el tipo de atributo (PERMISSIVE | RESTRICTIVE) y se aplicarán al plan de ejecución en la fase de optimización de consultas.

El control de acceso a nivel de fila se utiliza para controlar la visibilidad de los datos a nivel de fila en las tablas. Al predefinir filtros para las tablas de datos, las expresiones que cumplen con la condición especificada se pueden aplicar a los planes de ejecución en la fase de optimización de consultas, lo que afectará al resultado final de la ejecución. Actualmente, las sentencias SQL que pueden verse afectadas incluyen SELECT, UPDATE y DELETE.

Para obtener más información, consulte Control de acceso a nivel de fila.

Enmascaramiento de datos de columnas

DWS proporciona la función de enmascaramiento dinámico de datos a nivel de columna. Para datos confidenciales, como el número de identificación, el número de celular y el número de tarjeta bancaria, la función de enmascaramiento dinámico de datos se utiliza para redactar los datos originales para proteger la seguridad de los datos y la privacidad del usuario.

Para obtener más información, consulte Enmascaramiento de datos.

Uso de funciones integradas de DWS para encriptar datos

La encriptación de datos se utiliza ampliamente en los sistemas de información para evitar el acceso no autorizado y la fuga de datos. Como núcleo de un sistema de información, el almacén de datos de DWS también proporciona encriptación y encriptación transparentes mediante funciones SQL.

DWS proporciona funciones hash y algoritmos criptográficos simétricos para encriptar y desencriptar columnas. Las funciones hash incluyen sha256, sha384, sha512 y SM3. Los algoritmos criptográficos simétricos incluyen AES128, AES192, AES256 y SM4.

  • Funciones hash
    • md5(string)

      Utilice MD5 para encriptar cadenas y devolver un valor hexadecimal. MD5 no es seguro y no se recomienda.

    • gs_hash(hashstr, hashmethod)

      Obtiene la cadena de resumen de una cadena hashstr en función del algoritmo especificado por hashmethod. hashmethod puede ser sha256, sha384, sha512 o sm3.

  • Algoritmos de encriptación simétricos
    • gs_encrypt(encryptstr, keystr, cryptotype, cryptomode, hashmethod)

      Encripta una cadena encryptstr mediante la clave keystr en función del algoritmo criptográfico especificado por cryptotype y cryptomode y el algoritmo HMAC especificado por hashmethod, y devuelve la cadena encriptada.

    • gs_decrypt(decryptstr, keystr, cryptotype, cryptomode, hashmethod)

      Desencripta una cadena decryptstr mediante la clave keystr en función del algoritmo criptográfico especificado por cryptotype y cryptomode y el algoritmo HMAC especificado por hashmethod, y devuelve la cadena desencriptada. El keystr utilizado para la desencriptación debe ser el mismo que el utilizado para la encriptación.

    • gs_encrypt_aes128(encryptstr,keystr)

      Encripta cadenas encryptstr usando keystr como clave y devuelve cadenas encriptadas. La longitud de keystr oscila entre 1 y 16 bytes.

    • gs_decrypt_aes128(decryptstr,keystr)

      Desencripta cadenas decryptstr usando keystr como clave y devuelve cadenas desencriptadas. El keystr utilizado para la desencriptación debe ser el mismo que el utilizado para la encriptación. keystr es obligatorio.

Para obtener más información, consulte Encriptación y desencriptación de columnas de datos.

Consulta de registros de auditoría para verificar los usuarios que han modificado los datos del servicio

Los registros de auditoría de la base de datos registran las actividades diarias de los usuarios, incluidos el acceso y la modificación de los datos del servicio. Al revisar estos registros, los administradores de bases de datos pueden mantenerse informados sobre el estado actual del acceso y la modificación de los datos del servicio, e identificar proactivamente cualquier riesgo potencial relacionado con la filtración de datos o la manipulación maliciosa. Para los usuarios que manipulan maliciosamente los datos, deshabilite rápidamente sus permisos para garantizar la seguridad del servicio. Para obtener más información, consulte Consulta de registros de auditoría de la base de datos.

Implementación de O&M inteligente (Automatic Vacuum) para mitigar cuellos de botella en el rendimiento

O&M inteligente ayuda a los usuarios de DWS con tareas de O&M. Con esta función, puede especificar la ventana de tiempo adecuada y el número de tareas que se van a ejecutar en función de la carga de trabajo del clúster. Además, O&M inteligente puede ajustar las políticas de ejecución de tareas de acuerdo con los cambios de servicio de manera oportuna para reducir el impacto en los servicios. Se admiten tareas periódicas y tareas únicas, y puede configurar la ventana de tiempo según sea necesario.

El administrador de la base de datos puede configurar las siguientes tareas en la consola para implementar la limpieza automática. Para obtener más información, consulte Descripción de O&M inteligente.

  • La creación y eliminación frecuentes de tablas puede provocar sobrecarga de tabla. Para liberar espacio, puede ejecutar el comando VACUUM en los catálogos del sistema.
  • Las operaciones de actualización y eliminación con frecuencia pueden provocar sobrecarga de la tabla. Para liberar espacio, puede ejecutar el comando VACUUM o VACUUM FULL en los catálogos del sistema.

Monitoreo del estado de la base de datos en el panel de monitoreo

DMS es proporcionado por DWS para asegurar el funcionamiento rápido y estable de las bases de datos. Recopila, monitorea y analiza métricas de rendimiento de disco, red, sistema operativo y clúster. También diagnostica hosts de bases de datos, instancias y sentencias SQL de servicio basadas en las métricas recopiladas para exponer fallas clave y problemas de rendimiento en una base de datos de manera oportuna, y guía a los clientes para optimizar y resolver los problemas. Para obtener más información, consulte Operación y mantenimiento de clústeres.

Copia de respaldo periódica de los datos de servicio

DWS admite copia de respaldo de datos a nivel de clúster para evitar la pérdida de datos. Los datos de servicio se pueden respaldar en OBS. Para obtener más información, consulte Descripción de las instantáneas.

Habilitar DR de doble clúster entre AZ

Cuando se despliega un clúster en una sola AZ, una falla en la AZ afecta a todos los nodos del clúster. En estas circunstancias, la copia de respaldo y la recuperación a nivel de clúster son insuficientes para garantizar la seguridad de los datos. Por lo tanto, puede crear dos clústeres entre AZ para implementar la gestión de DR.

Se despliega un clúster de DR homogéneo de DWS en otra AZ (dentro de la región). Si el clúster de producción no proporciona servicios de lectura y escritura debido a desastres naturales en la región especificada o fallas internas del clúster, el clúster de DR se convierte en el clúster de producción para garantizar la continuidad del servicio.

Para obtener más información, consulte Escenarios de DR de clústeres de DWS.