Hogar Flores Sistema de gestión de bases de datos IBM DB2. Vea qué es "IBM DB2" en otros diccionarios

Sistema de gestión de bases de datos IBM DB2. Vea qué es "IBM DB2" en otros diccionarios

    Enterprise Edition es una solución para grandes organizaciones que necesitan un procesamiento de transacciones confiable y una amplia funcionalidad;

    Edición avanzada: esta versión admite conexiones ilimitadas, agrupación en clústeres y proporciona escalabilidad, lo que le permite lograr un alto rendimiento (la versión no proporciona confirmación de transacciones en dos fases ni conmutación por error automática);

    Small Business Edition: la versión está diseñada para admitir aplicaciones de Internet. El número máximo de conexiones IIOP / CORBA permitidas es diez, adecuado para organizaciones cuyos sistemas no necesitan agrupamiento, soporte para trabajar con mainframes, confirmación de transacciones en dos fases y failover automático;

    Developer Edition es una opción completamente funcional para desarrolladores que crean y prueban aplicaciones usando Sybase EAServer, pero limitada a cinco conexiones IIOP.

Sybase EAServer proporciona una serie de beneficios importantes, que incluyen:

    operación confiable del sistema asegurando la recuperación automática del desempeño a nivel de memoria del servidor, balanceo de carga y agrupamiento;

    protección de la inversión mediante la integración con los sistemas internos existentes;

    Gestión simplificada mediante funciones integrales de personalización y administración, como almacenamiento en caché de instancias de componentes, gestión de transacciones, almacenamiento en caché de procesos y configuración de componentes gráficos.

Subd db2

El DBMS de IBM DB2 apareció por primera vez a principios de los años ochenta. Las versiones de este producto se ejecutan actualmente en AS / 400AIX, S / 390, Windows, OS / 2, AIX, HP-UX, SCO UnixWare, Linux, NUMA-Q y Sun Solaris.

DB2 Enterprise Server Edition viene con un amplio conjunto de herramientas de administración. Los mecanismos de acceso a datos de DB2 son compatibles con los controladores ODBC, JDBC y ADO / OLE DB, y los módulos complementarios, como el Generador de procedimientos almacenados, están disponibles para los usuarios de Microsoft Visual Studio. Las versiones de DB2 para Windows también le permiten crear procedimientos almacenados en Visual Basic. Las herramientas de desarrollo de Borland admiten el acceso a DB2 no solo a través de ADO / OLE DB y ODBC, sino también a través de sus propios mecanismos genéricos de acceso a datos: Borland Database Engine y dbExpress.

El DB2 DBMS admite la creación de almacenes de datos y, además de los medios para transferir datos al almacén, contiene el Centro de almacén de datos como parte de la parte del cliente, lo que le permite administrar todos los procesos asociados con la creación y mantenimiento de almacenes de datos. , incluida la creación de un esquema de almacén, la definición de fuentes de datos de origen para él, la creación de programas de actualización de datos en el almacenamiento, la verificación y corrección de datos incorrectos. Para admitir el almacenamiento OLAP, DB2 Universal Database Server incluye un kit de inicio OLAP basado en Hyperion Essbase OLAP Server.

El DB2 DBMS admite el almacenamiento y la búsqueda de documentos XML por sus elementos y atributos. SOAP se puede utilizar para acceder a servicios web que proporcionan acceso a datos y procedimientos almacenados de DB2 (los servicios web son gestionados por el servidor de aplicaciones IBM WebSphere).

Las características técnicas clave de DB2 Universal Database incluyen soporte para datos relacionales y complejos usando extensiones de objetos, soporte de plataforma multiprocesador, soporte de clúster, arquitectura de memoria de 64 bits, paralelismo de consultas, capacidades de procesamiento y administración de datos heterogéneos y soporte de transacciones distribuidas. ...

El DB2 DBMS es el único DBMS para el que puede desarrollar en .Net, y al mismo tiempo es capaz de trabajar en cualquier plataforma, incluyendo Linux, mainframes, Windows. DB2 tiene procedimientos almacenados de Java.

El soporte extendido para Visual Studio incluye soporte para servicios web, soporte completo para almacenar datos XML sin transformarlos y la capacidad de crear aplicaciones y sitios web sin escribir código.

DB2 se basa en tecnologías relacionales con soporte XML mejorado para simplificar el desarrollo y la integración de datos. XML es un componente clave de la generación de metadatos y las herramientas de gestión de metadatos en DB2.

DB2 Versión 9 ofrece tecnología pureXML, revolucionaria tecnología de compresión de datos Venom y capacidades de gestión de datos autónoma. DB2 proporciona acceso a la información almacenada en bases de datos Oracle y MySQL.

Implementado en DBMS Las mejoras permiten a los desarrolladores simplificar y acelerar significativamente la creación de aplicaciones que funcionan con XML y almacenes de datos relacionales al mismo tiempo. Por ejemplo, la tecnología pureXML admite XQuery, un estándar diseñado específicamente para procesar datos XML. Los desarrolladores de aplicaciones pueden usar XQuery, XPath, SQL estándar o los tres para recuperar datos relacionales o XML.

El entorno de desarrollo integral DB2 Developer Workbench le permite crear, editar, depurar, probar y desplegar procedimientos almacenados y funciones definidas por el usuario. Developer Workbench se puede utilizar para desarrollar aplicaciones y crear, editar y ejecutar declaraciones SQL y consultas XML.

Un servidor de base de datos DB2 versión 9 permite el movimiento paralelo y sin problemas de datos relacionales y XML, independientemente del formato, la plataforma o la ubicación ( http://www-306.ibm.com/software/data/db2/v9/).

DB2 también comprime índices y tablas temporales, lo que ningún otro DBMS puede hacer en la actualidad. Implementación de una configuración de dos servidores tolerante a fallas, en la que se puede utilizar un servidor con una base de datos de respaldo para generar informes.

DB2 está disponible en dos ediciones: DB2 Workgroup y DB2 Enterprise Edition. El DBMS implementa la paralelización del procesamiento de consultas, un conjunto completo de herramientas de replicación, tablas dinámicas de consultas para mejorar el rendimiento de la base de datos, capacidades de diseño de bases de datos orientadas a objetos y herramientas de lenguaje Java.

DB2 está equipado con un conjunto completo de extensiones multimedia para almacenar y manipular texto, audio, video, imágenes y datos geográficos. La principal desventaja de DB2 es la relativa complejidad de la administración.

En el DB2 DBMS, gracias al Index Smart Guide, se puede sintonizar, formando los índices óptimos para un número determinado de llamadas, lo que caracteriza la carga típica en la base de datos. DB2 puede generar tablas dinámicas, lo que mejora enormemente su eficiencia como almacén de datos. Una tabla dinámica es un área de trabajo temporal que utiliza el DBMS para almacenar respuestas a consultas recibidas con frecuencia.

La extensión DB2 Spatial para trabajar con datos espaciales se desarrolló en colaboración con ESRI [ http://www.esri.com/partners/alliances/ibm/solutions.html,http://www.esri.com/partners/alliances/ibm/index.html].

IBM está lanzando tres ediciones de DB2 a la vez: para clientes empresariales, para pequeñas y medianas empresas (DB2 Express) y para desarrolladores (DB2 Express-C).

IBM tiene una versión simplificada del DBMS DB2 Express-C, es relacional, pero admite XML.

Informix DBMS

Antes de su adquisición por parte de IBM, el producto insignia de Informix era Informix Dynamic Server (IDS), que es compatible con las plataformas UNIX y Windows y proporciona un funcionamiento eficiente en clústeres y sistemas de uno o varios procesadores. Este producto tiene potentes capacidades de procesamiento paralelo. Entre las principales características de Informix Dynamic Server cabe destacar el uso de la gestión del espacio en disco como herramienta del SO; y sus propias funciones para eludir las limitaciones del sistema operativo, gestión de uso compartido de memoria; control de flujo dinámico; soporte para la fragmentación de tablas e índices en varios discos; paralelización de consultas; espejo de datos. El servidor IDS admite la finalización de transacciones en dos fases, así como transacciones heterogéneas (en cuyo caso, otros servidores pueden participar en las transacciones). De particular interés es el soporte del servidor para series de tiempo.

Las extensiones de la funcionalidad del servidor se implementan sobre la base de DataBlade: colecciones de objetos de base de datos y subrutinas en lenguaje C que están conectadas a la base de datos y son producidas tanto por el fabricante de la base de datos como por varios proveedores externos.

De los mecanismos de acceso a datos, IDS admite controladores ODBC, JDBC y ADO / OLE DB. Las herramientas de desarrollo de Borland admiten el acceso a IDS mediante Borland Database Engine, dbExpress, Microsoft .NET.

Recientemente, ha habido una transición de DBMS relacional a orientado a objetos. Informix, siguiendo este concepto, presenta su solución en el Centaur DBMS, basado en la base de datos relacional Informix Dynamic Server 7.3 y la base de datos objeto-relacional Informix Universal Data Option, y combinando el alto rendimiento de Dynamic Server al trabajar con datos con la versatilidad y funciones multimedia de Universal Data Option. Esta implementación está destinada al desarrollo de sistemas de Internet. El DBMS tiene un entorno de desarrollo flexible, escalabilidad correspondiente a las cargas de trabajo intensivas típicas de Internet y herramientas para trabajar con nuevos tipos de datos, que con el desarrollo de la Web comenzaron a utilizarse en todas partes. Las herramientas Java implementadas en este sistema permitirán a los desarrolladores crear procedimientos almacenados, programas personalizados y componentes DataBlades en este lenguaje.

Centaur tiene manejo ActiveX incorporado. Esto hace posible crear procedimientos almacenados de base de datos en el lenguaje Visual Basic.

Centaur es un complemento de Informix Dynamic Server y funciona con el formato de base de datos tradicional para este paquete, por lo que los usuarios mantienen a su disposición todas las funciones antiguas, y actualizar el sistema al nivel de nuevas versiones no será difícil. El sistema está equipado con medios de diseño de bases de datos orientadas a objetos, creación de tablas especializadas y programas de indexación; permite a los usuarios crear sus propias funciones en consultas y no depender únicamente de herramientas SQL estándar.

En el trabajo, tuve que lidiar con IBM DB2 DBMS durante algún tiempo. Porque Dado que el sistema es comercial, no hay mucha información en Internet en ruso, por lo que decidí describir algunas de las características del funcionamiento de este DBMS.

Punto de entrada

Comencemos con el punto de entrada al DBMS. En SQL SERVER, el punto final es una instancia, que por supuesto puede tener bases de datos independientes, pero el modelo de configuración y seguridad es el mismo para toda la instancia. En DB2, el punto de entrada se ve así: una instancia (que corresponde a un puerto específico), una base de datos. Al mismo tiempo, existe una configuración para toda la instancia y para una base de datos separada.

Puede ver la configuración de la instancia utilizando el mandato db2:

Configuración del administrador de base de datos

Tipo de nodo = Enterprise Server Edition con clientes locales y remotos

Nivel de versión de configuración del administrador de base de datos = 0x0b00

Velocidad de CPU (milisegundos / instrucción) (CPUSPEED) = 2.912790e-07
Ancho de banda de comunicaciones (MB / seg) (COMM_BANDWIDTH) = 1.000000e + 02

Número máximo de bases de datos activas simultáneamente (NUMDB) = 8
Soporte del sistema de base de datos federada (FEDERADO) = SÍ
Nombre del monitor del procesador de transacciones (TP_MON_NAME) =

Cuenta de devolución de cargo predeterminada (DFT_ACCOUNT_STR) =

Ruta de instalación del kit de desarrollo de Java (JDK_PATH) = / home / db2inst1 / sqllib / java / jdk32

Nivel de captura de error de diagnóstico (DIAGLEVEL) = 3
Nivel de notificación (NOTIFYLEVEL) = 3
Vía de acceso del directorio de datos de diagnóstico (DIAGPATH) = / home / db2inst1 / sqllib / db2dump

Conmutadores de monitor de base de datos predeterminados
Grupo de búfer (DFT_MON_BUFPOOL) = APAGADO

Donde se indicarán los parámetros, su significado y decodificación. También es posible una versión abreviada:

obtener dbm cfg

O usando una solicitud:

Seleccione el nombre, valor de sysibmadm.dbmcfg

De los parámetros importantes, se puede señalar:

  • tipo de autenticación (AUTENTICACIÓN)
  • ruta predeterminada para crear nuevas bases de datos (DFTDBPATH)
  • descubrimiento de servidores a través de la red (DESCUBRIR)
Puede ver la configuración de una base específica como esta:

conectar a la muestra(muestra - nombre de la base de datos)

obtener la configuración del administrador de base de datos

O con aproximadamente la misma consulta que antes:

seleccione nombre, valor de sysibmadm.dbcfg

Autenticación

La gran diferencia entre DB2 y otros DBMS es el modelo de autenticación. No hay usuarios internos aquí como en SQL Server o MySQL. Toda la autenticación se realiza por medios externos al DBMS (complementos cargados dinámicamente) - por medio del sistema operativo o por complementos externos (Kerberos, GSS API). El tipo de autenticación se establece en el parámetro AUTENTICACIÓN de la configuración del gestor de bases de datos. De forma predeterminada, se establece el valor SERVIDOR: el nombre de usuario y la contraseña se transmiten en texto sin cifrar y el sistema operativo comprueba la exactitud de este par. Si el nombre de usuario y la contraseña son correctos, entonces se verifica si el usuario o los grupos a los que pertenece (incluido el grupo especial PUBLIC, que incluye a todos los usuarios autorizados), se verifica para el privilegio CONNECT. Estos privilegios se pueden ver en la tabla SYSCAT.DBAUTH:

seleccione GRANTEE de SYSCAT.DBAUTH donde CONNECTAUTH = "Y"

Un gran error al configurar es habilitar el tipo de autenticación CLIENTE. En este caso, DB2 confía en la autenticación del cliente que se está conectando, y si PUBLIC tiene el privilegio CONNECT, cualquier usuario puede conectarse a la base de datos y obtener acceso a todos los datos que PUBLIC tiene. El nombre de usuario se toma del sistema operativo. Es decir, si nos conectamos a través de Data Studio por parte del usuario Administrador, entonces se otorgarán todos los privilegios que tenga este usuario. Y en este caso, no importa desde qué computadora se realizó el acceso. Se recomienda habilitar este tipo de autenticación solo cuando hay un canal seguro entre el servidor y el cliente, y otros clientes no pueden conectarse al DBMS.

Autorización

Los privilegios específicos de la instancia se especifican en la configuración del gestor de bases de datos. Estos son los siguientes privilegios:

  • SYSADM
  • SYSCTRL
  • SYSMAINT
  • SYSMON
Estos privilegios se establecen especificando el grupo donde se incluirá al usuario. En dbmcfg, estos son los parámetros SYSADM_GROUP, SYSCTRL_GROUP, SYSMAINT_GROUP y SYSMON_GROUP, respectivamente.

A continuación, están los privilegios de una base de datos específica. Estos son privilegios como el acceso a la base de datos (CONNECTAUTH), la creación de tablas (CREATETABAUTH), la creación de subrutinas (EXTERNALROUTINEAUTH), etc. Estos privilegios se pueden ver en la vista SYSCAT.DBAUTH

Y finalmente, los privilegios de acceso a datos específicos: tablas, subrutinas, etc. Todo aquí es bastante trivial, pero también con algunas peculiaridades.

Puede ver los privilegios de acceso a la tabla en la vista SYSCAT.TABAUTH. El tipo de privilegio otorgado se almacena en columnas separadas, dependiendo del privilegio en sí (SELECTAUTH, DELETEAUTH, etc.). Al otorgar un privilegio mediante el comando GRANT, los privilegios REFERENCES y UPDATE también pueden especificar los nombres de las columnas a las que se aplicarán los privilegios. En este caso, la información sobre esto se puede ver en la vista SYSCAT.COLAUTH

Los privilegios de las subrutinas (funciones, procedimientos y métodos) se pueden ver en SYSCAT.ROUTINEAUTH. No todo es trivial aquí, dependiendo de los campos SPECIFICNAME y TYPENAME, se pueden otorgar privilegios a todas las subrutinas de un esquema dado.

Si a los lectores les gusta el artículo, estoy listo para informarles sobre la protección de datos en DB2 usando el control de acceso basado en etiquetas.

Introducción

El objetivo de la práctica de la ingeniería general es consolidar y ampliar los conocimientos adquiridos por el estudiante durante sus estudios, para adquirir una idea de la futura profesión. Los objetivos de la práctica son: - consolidación del material teórico presentado en las clases magistrales de las disciplinas del bloque de asignaturas;

Adquisición de habilidades informáticas, con sistema operativo Windows y una suite ofimática estándar;

Consolidación de los conocimientos y habilidades obtenidos en el curso del estudio de los cursos básicos de informática sobre los métodos de uso, desarrollo e implementación de algoritmos clásicos en los lenguajes de programación estudiados;

Dominar los métodos de búsqueda profesional de información en Internet;

Estudiar los requisitos para el diseño de informes, métodos y entornos de aplicación para la elaboración de informes sobre los resultados de la práctica;

Trabajar con equipos de oficina.

La primera sección del informe examina el sistema de gestión de bases de datos IBM DB2: se describe el concepto de un DBMS, se dan los tipos y una breve descripción del DBMS IBM DB2.

En la segunda parte del informe, se desarrollan un algoritmo y un programa en C para encontrar el elemento máximo de la matriz A en la matriz B.

Sistema de gestión de bases de datos IBM DB2

Concepto de sistema de gestión de bases de datos

Una base de datos (DB) es una colección con nombre de datos interrelacionados que están bajo el control de un DBMS.

Sistema de gestión de bases de datos (DBMS): un conjunto de software y herramientas lingüísticas para fines generales o especiales, que proporciona la gestión de la creación y el uso de bases de datos.

La historia de la creación del DBMS

La intensa actividad para encontrar formas aceptables de socializar el volumen de información en continuo crecimiento llevó a la creación a principios de los años 60 de sistemas de software especiales llamados "Sistemas de gestión de bases de datos" (DBMS).

La característica principal de un DBMS es la presencia de procedimientos para ingresar y almacenar no solo los datos en sí, sino también descripciones de su estructura. Los archivos, provistos de una descripción de los datos almacenados en ellos y bajo el control del DBMS, comenzaron a denominarse bancos de datos, y luego "Bases de datos" (DB).

Cuando comenzó la producción de computadoras de la familia ES EVM. El trabajo se llevó a cabo en dos direcciones. En primer lugar, se intentó crear su propio DBMS doméstico original. Al mismo tiempo, se desarrollaron de forma acelerada análogos de algunos DBMS extendidos en el extranjero, capaces de funcionar en plataformas de hardware y software nacionales. También se utilizó un enfoque similar al crear un DBMS para plataformas de hardware, cuya producción en serie comenzó en el país después de la aparición de la plataforma de computadora ES, para computadoras SM, ASVT, computadoras personales compatibles con IBM, etc.

Historia de la creación de la base de datos IBM DB2

DB2 es una familia de sistemas de gestión de bases de datos relacionales fabricados por IBM Corporation. Es uno de los DBMS "maduros" del mundo, líder constante en desempeño, en términos de implementación técnica, escalabilidad, etc.

DB2 tiene una larga historia. Este es el primer DBMS que utiliza SQL. De 1975 a 1982, se desarrolló un prototipo de DB2 en IBM llamado System Relational o System R.

DB2 obtuvo su nombre en 1982 con el primer lanzamiento comercial para VM llamado SQL / DS, y luego un lanzamiento para MVS llamado DB2.

El desarrollo de DB2 se remonta a principios de la década de 1970, cuando el Dr. E.F. Codd, que trabajó para IBM, desarrolló la teoría de las bases de datos relacionales y publicó un modelo de manipulación de datos en junio de 1970. Para implementar este modelo, desarrolló un lenguaje de base de datos relacional llamado Alpha.

IBM DB2 es el sistema de gestión de bases de datos más eficaz y potente del mundo. Su principal ventaja única es que cualquier aplicación escrita para DB2 funcionará con servidores de datos DB2 que se ejecuten en cualquier plataforma distribuida compatible con DB2 (Windows, HP-UX, Sun Solaris, Linux, Mac OS X y AIX®).

DB2 viene en varias ediciones y paquetes. Todas las ediciones y paquetes de DB2 se crean a partir de la misma base de código fuente; difieren sólo en términos de funcionalidad y licencia que apuntan a las capacidades, características y beneficios de DB2 a sus respectivos segmentos de mercado y grupos de precios.

La gama de tareas que se pueden resolver utilizando extensiones de objeto DB2 aumenta significativamente en comparación con el enfoque relacional clásico. Al tomar prestados los elementos más necesarios para las aplicaciones modernas del modelo orientado a objetos, DB2 ha conservado todas las ventajas de un sistema de administración de bases de datos relacionales. Esto hace posible utilizar enfoques tanto relacionales como orientados a objetos al construir sistemas de información corporativos sobre su base.

El sistema de administración de bases de datos IBM DB2 comenzó su desarrollo en los distantes años 70 y ahora ocupa una posición sólida en el mercado de DBMS empresarial, cumpliendo altos requisitos de rendimiento, confiabilidad, seguridad y escalabilidad.

Igor Bulatenko, especialista en seguridad de la información, tecnologías positivas

El sistema de administración de bases de datos IBM DB2 comenzó su desarrollo en los distantes años 70 y ahora ocupa una posición sólida en el mercado de DBMS empresarial, cumpliendo altos requisitos de rendimiento, confiabilidad, seguridad y escalabilidad. En el sector privado, DB2 no se ha adoptado ampliamente, a pesar de la disponibilidad de una versión gratuita de IBM DB2 Express. Esta puede ser la razón por la que no hay muchos artículos en Internet sobre la configuración y el uso de DB2.

El modelo de seguridad DB2 tiene una amplia funcionalidad y permite proteger los datos tanto de influencias externas como diferenciar los derechos de acceso de los usuarios internos mediante el propio DBMS.

Sin embargo, es difícil para un usuario no preparado comprender toda esta diversidad desde cero, por lo que algunos aspectos importantes se discutirán en este artículo.

Punto de entrada

El punto de entrada a DB2 se ve así: DBMS -> una instancia que se puede vincular a un puerto específico -> un nombre de base de datos específico. La configuración de seguridad se puede cambiar tanto en una instancia específica como en una base de datos específica.

Autenticación

La autenticación es el mecanismo de seguridad principal que se aplica cuando intenta conectarse al servidor DB2. La autenticación verifica la exactitud de las credenciales proporcionadas. La característica principal de DB2 es que la autenticación de usuario se realiza solo mediante complementos externos. Los usuarios internos, a diferencia de Oracle o MS SQL Server, no existen aquí. Incluso la función de creación de usuario que está disponible en IBM Data Studio no crea realmente un usuario, pero otorga al usuario especificado el privilegio de conectarse a la base de datos.

Hay varias opciones para la autenticación, la opción deseada está controlada por el parámetro AUTENTICACIÓN en el administrador de la base de datos. El valor de este parámetro afecta dónde se realizará la autenticación del cliente (del lado del servidor o del lado del cliente) y si los datos se transmitirán en forma cifrada (valores con la terminación _ENCRYPT). Los valores admitidos para este parámetro están disponibles en la siguiente dirección:

Puede ver la configuración del administrador de bases de datos consultando la tabla sysibmadm.dbmcfg, pero esto requiere acceso a cualquiera de las bases de datos, lo que no siempre es posible. Si tiene acceso local al servidor, puede abrir un procesador de línea de mandatos (db2 o db2.exe en Windows), conectarse a la instancia y ejecutar los siguientes mandatos:

Db2 => adjuntar a db2inst1
db2 => obtener la configuración del gestor de bases de datos

El valor predeterminado para el parámetro AUTENTICACIÓN es SERVIDOR. La validación de las credenciales de usuario proporcionadas se realiza en el lado del servidor por medio del sistema operativo, pero todos los datos se transmiten en texto sin cifrar y pueden ser interceptados por un atacante.

Veamos cómo se ve la información interceptada en Wireshark.


El nombre de usuario y la contraseña transmitidos desde el cliente son visibles en el paquete al visualizar EBCDIC.

Al cambiar el tipo de autenticación a SERVER_ENCRYPT, el nombre de usuario y la contraseña se transmitirán en forma cifrada y se verificará en el lado del servidor.

El valor cambia de la siguiente manera:

Db2 => adjuntar a db2inst1
db2 => actualizar la configuración del gestor de bases de datos utilizando la autenticación server_encrypt
db2 => db2stop force
db2 => db2start

El paquete de autenticación se verá así:


Sin embargo, el texto de la solicitud y el resultado se seguirán transmitiendo en texto sin cifrar.

Paquete de solicitud de Wireshark:


Paquete de respuesta en Wireshark:


Si el parámetro AUTHENTICATION se establece en DATA_ENCRYPT, las credenciales del usuario y la información transmitida entre el cliente y el servidor están encriptadas.

El valor cambia de la misma forma que en el ejemplo anterior:

Db2 => adjuntar a db2inst1
db2 => actualizar la configuración del gestor de bases de datos utilizando autenticación data_encrypt
db2 => db2stop force
db2 => db2start

Después de eso, los datos transmitidos también se cifrarán:


Además, debe prestar atención al tipo de autenticación del CLIENTE. Con este tipo de autenticación, se considera que existe un canal de comunicación seguro entre el cliente y el servidor, y si el usuario tiene acceso al cliente, puede acceder al servidor sin verificar las credenciales correctas. Es decir, la autenticación como tal ocurre en el lado del cliente, no se realiza verificación en el lado del servidor. Incluso si el usuario que se conecta al servidor no tiene derechos de acceso, aún obtiene todos los privilegios asignados al grupo PUBLIC. Por lo tanto, no debe utilizar este tipo de autenticación, ya que proporcionará a los atacantes la capacidad de acceder fácilmente al servidor.

Si, por alguna razón, se necesita este tipo de autenticación, debe tener en cuenta que hay dos parámetros adicionales que, en última instancia, afectan la forma en que se verifican las credenciales del usuario. Este es el parámetro trust_allclnts, con el que puede especificar qué clientes se consideran de confianza, y el parámetro trust_clntauth, que determina dónde verificar el nombre de usuario y la contraseña, si se enviaron durante la conexión. Ambas opciones afectan la autenticación solo si AUTENTICACIÓN es CLIENTE.

Si la autenticación es satisfactoria, el ID de usuario se correlaciona con el ID de DB2. Por lo general, el identificador es el mismo que el nombre de usuario, pero utiliza caracteres en mayúscula.

Autorización

Durante el proceso de autorización, se comprueba si el usuario tiene los derechos necesarios para las acciones solicitadas. Existen las autoridades de la instancia de DBMS y la base de datos.

Los permisos de nivel de instancia se especifican en la configuración del gestor de bases de datos. Estos son los siguientes poderes:

  • SYSADM (autoridad de administrador del sistema);
  • SYSCTRL (autoridad de gestión del sistema);
  • SYSMAINT (autoridad de mantenimiento del sistema);
  • SYSMON (autoridad de supervisión del sistema).

Estos privilegios se establecen especificando el grupo del que será miembro el usuario. Para ello, se utilizan los siguientes parámetros del archivo dbmcfg (según los permisos anteriores):

No es fácil obtener una lista de usuarios que pertenecen a un grupo usando DB2, es necesario hacerlo en el propio sistema operativo o analizar a qué grupos pertenece un usuario en particular (ver la consulta en la pestaña "consultas útiles").

Al configurar DB2, asegúrese de comprobar la lista de usuarios a los que se les ha asignado la autorización SYSADM. Esta autoridad le permite administrar todos los objetos de la base de datos.

La autoridad de una base en particular se puede ver en la vista SYSCAT.DBAUTH. Preste atención al privilegio CONNECTAUTH, que determina si el usuario tendrá acceso a la base de datos o no, y al privilegio NOFENCEAUTH, que es responsable de crear procedimientos y funciones no delimitados. Dichos procedimientos se realizan en el espacio de direcciones de la base de datos y, en caso de error, pueden violar la integridad de la base de datos y las tablas que contiene.

Privilegio

Los privilegios de DB2 se pueden otorgar sobre una variedad de objetos. Puede ver los privilegios de acceso a la tabla en la vista SYSCAT.TABAUTH. Los datos sobre el tipo de privilegio otorgado se almacenan en columnas separadas, dependiendo del privilegio en sí (SELECTAUTH, DELETEAUTH, etc.). Al otorgar un privilegio mediante el comando GRANT, para los privilegios REFERENCES y UPDATE, también puede especificar los nombres de las columnas a las que se aplicarán los privilegios. Puede encontrar información sobre esto en la vista SYSCAT.COLAUTH

Los privilegios de las subrutinas (funciones, procedimientos y métodos) se pueden ver en la vista SYSCAT.ROUTINEAUTH. Todo aquí no es del todo trivial, dependiendo de los campos SPECIFICNAME y TYPENAME, se pueden otorgar privilegios a todas las subrutinas de un esquema dado.

Usuarios, grupos, roles

Se pueden otorgar todas las credenciales de la base de datos y varios privilegios a usuarios, grupos o roles. La existencia de usuarios, grupos y pertenencia a grupos de usuarios se rige fuera de la propia base de datos. En este sentido, es recomendable tener en cuenta ciertas recomendaciones y conocer algunas de las sutilezas a la hora de emitir poderes y privilegios. No se recomienda otorgar privilegios y autoridad de base de datos, especialmente conectividad de base de datos (CONNECTAUTH), a grupos. Debe otorgar privilegios a usuarios o roles específicos que los necesiten. El soporte de roles se ha introducido en DB2 desde la versión 9.5. La pertenencia al rol se gestiona dentro de la propia base de datos.

Además, DB2 tiene un rol PUBLIC incorporado. El usuario de la base de datos no necesita otorgar el rol PÚBLICO: no puede revocar el rol PÚBLICO de un usuario. Cuando se otorga el privilegio al rol PÚBLICO, el privilegio se otorga efectivamente a todos los usuarios de la base de datos. No otorgue ninguna autoridad de base de datos al rol PUBLIC. Los privilegios sobre tablas y vistas deben emitirse con extrema precaución, solo para visualización y sin posibilidad de reasignación (CON OPCIÓN DE SUBVENCIÓN).

Debido a la naturaleza de la autenticación, al otorgar privilegios, no se comprueba la existencia de un usuario o grupo en el sistema. Como resultado, los usuarios de autenticación pueden aparecer en el sistema sin estar vinculados a usuarios reales del sistema. Puede encontrar dichos usuarios mediante la siguiente consulta SQL:

SELECCIONE authid DE sysibmadm.authorizationids DONDE authidtype = "U" Y authid NO ESTÁ EN (SELECCIONE nombre de usuario DE TABLA (sysfun.USERS ()) AS W)

Para buscar grupos similares, se utiliza una consulta similar, pero la consulta indica que no es necesario mostrar datos sobre PUBLIC:

SELECCIONE authid FROM sysibmadm.authorizationids DONDE authidtype = "G" Y authid NO ESTÁ EN (SELECT groupname FROM TABLE (sysfun.groups ()) AS W) Y authid! ="PÚBLICO"

LBAC

DB2 tiene un poderoso mecanismo para diferenciar el acceso a los datos en tablas basadas en etiquetas (control de acceso basado en etiquetas). El mecanismo le permite establecer etiquetas de seguridad en filas o columnas específicas de tal manera que un usuario que no tiene acceso a datos protegidos ni siquiera se enterará de su existencia. No tiene sentido entrar en detalles sobre los métodos para implementar LBAC, ya que el fabricante tiene un tutorial sobre este tema:

Herramientas de escaneo automático

Al configurar la seguridad de un servidor IBM DB2, es importante utilizar algún tipo de escáner de seguridad (por ejemplo, NGS SQuirreL para DB2, MaxPatrol, etc.). Los escáneres indicarán claramente las vulnerabilidades en la configuración que puede haber pasado por alto, o mostrarán información en una forma que sea conveniente para el análisis:

Consultas y comandos útiles

Obtenga la configuración del administrador de base de datos:

seleccione nombre, valor de sysibmadm.dbmcfg

o

db2 => obtenerdbmcfg

Cambiar el parámetro del administrador de la base de datos:

db2 => actualizar la configuración del gestor de bases de datos utilizando

Después de eso, debes reiniciar la instancia:

db2 => db2 paradafuerza
db2 => db2 comienzo

Obtener la configuración de la base de datos:

seleccione nombre, valor de sysibmadm.dbcfg

o

db2 => obtener db cfg para

Lista de usuarios del sistema operativo:

seleccione el nombre de usuario de la tabla (sysfun.USERS ()) AS t

Lista de grupos de sistemas operativos:

seleccione el nombre del grupo de la tabla (sysfun.GROUPS ()) AS t seleccione AUTHID, AUTHIDTYPE de sysibmadm.

Imprima el nombre de la base de datos actual:

seleccione el servidor actual de sysibm.sysdummy1

Ingrese el nombre de usuario actual:

Seleccioneusuariodesysibm. sysdummy1

Obtenga una lista de los grupos a los que pertenece el usuario:

seleccione GROUPNAME de la tabla (sysfun.groups_for_user (" ")) como t

Lista de todos los DBMS instalados:

$ db2ls

Lista de todas las instancias en el DBMS:

$ db2 ilista

Limite el número de líneas mostradas:

seleccionar * de nombre de pestaña buscar solo las primeras 5 filas

IBM DB2 es el resultado de casi 30 años de trabajo de investigación y desarrollo de IBM. La última versión de este DBMS (6.x) presenta uno de los conjuntos más sofisticados de herramientas de administración y optimización y un motor de base de datos que se puede escalar desde una computadora portátil con Windows 95 a un clúster completo de mainframes S / 390 que ejecutan OS / 390.

El paquete DB2 se publica en dos ediciones: DB2 Workgroup y DB2 Enterprise Edition. Este DBMS implementa todas las tecnologías de motor de base de datos innovadoras conocidas de versiones anteriores de DB2, como el procesamiento de consultas en paralelo, un conjunto completo de herramientas de replicación, tablas dinámicas para mejorar el rendimiento de la base de datos, capacidades de diseño de bases de datos orientadas a objetos y herramientas de lenguaje Java. Además, DB2 está equipado con un conjunto completo de extensiones multimedia que le permiten almacenar y manipular texto, audio y video, imágenes y datos geográficos. Podemos decir que en términos de escalabilidad, la tecnología de agrupación de bases de datos desarrollada por especialistas de IBM no tiene análogos. Estas extensiones facilitan enormemente el desarrollo de aplicaciones web, así como programas que contienen imágenes fotográficas e informes de texto de gran tamaño. DB2 también es bastante competitivo como plataforma de desarrollo de aplicaciones porque existe el Generador de procedimientos almacenados, que convierte automáticamente una declaración SQL en la clase Java adecuada y la incorpora a la estructura de la base de datos. DB2 6.1 mejora significativamente la interoperabilidad con otros DBMS aprovechando la especificación OLE DB de Microsoft, un nuevo estándar para el acceso a bases de datos. Las herramientas de administración de DB2, que se han reescrito en Java en la nueva versión y se pueden obtener de la Web, merecen los mayores elogios.

Las principales desventajas de este DBMS son la relativa complejidad de la administración y la ausencia (hasta ahora) de implementaciones para sistemas operativos de servidor populares, como LINUX.

En este DBMS, gracias al Index Smart-Guide, es posible realizar tuning, formando los índices óptimos para un número determinado de llamadas, lo que caracteriza la carga típica en la base de datos. DB2 es el único paquete que le permite generar tablas dinámicas, lo que mejora significativamente la eficiencia del DBMS como almacén de datos. Una tabla dinámica es un área de trabajo temporal que utiliza la base de datos para almacenar respuestas a consultas solicitadas con frecuencia. Bueno, podemos decir que con la nueva funcionalidad, las herramientas de paralelización y la capacidad de elegir casi cualquier tipo de unión e índice (excepto quizás índices ráster), el modelo DB2 6.1 se está convirtiendo en el sistema de alto rendimiento más económico. Los controles administrativos de este DBMS son bastante consistentes con el nivel de tareas a resolver, además, brinda oportunidades extremadamente amplias para trabajar con datos multimedia y para la programación (lo que claramente falta en Microsoft SQL Server).

DBMS de Informix.

Recientemente, ha habido una transición de DBMS relacional a orientado a objetos (que se ve claramente en el ejemplo de Oracle). Informix también siguiendo este concepto anunció una nueva solución del sistema de gestión de base de datos Centaur basada en la base de datos relacional Informix Dynamic Server 7.3 y la base de datos relacional de objetos Informix Universal Data Option y combinando el alto rendimiento de Dynamic Server al trabajar con datos con la versatilidad y funciones multimedia de Universal Data Option. Esta implementación está destinada al desarrollo de sistemas de Internet. Presumiblemente, este DBMS tendrá un entorno de desarrollo flexible con escalabilidad correspondiente a las cargas de trabajo intensivas típicas de Internet, y los medios para trabajar con nuevos tipos de datos, que con el desarrollo de la Web comenzaron a utilizarse en todas partes. Las herramientas Java del nuevo sistema permitirán a los desarrolladores crear procedimientos almacenados, programas personalizados y DataBlades, que Informix llama extensiones de base de datos personalizadas, en Java.

Desde el punto de vista de los clientes de Inforix, este es un gran paso adelante, ya que hasta ahora, con DataBlades, solo podían usar C y SPL, el lenguaje interno de Informix para escribir procedimientos almacenados. Además, el paquete Centaur estará equipado con herramientas integradas para manejar objetos ActiveX. Esto permitirá, por ejemplo, crear procedimientos almacenados de bases de datos en el lenguaje Visual Basic; sin embargo, esto requiere que el paquete Centaur se ejecute en Windows NT.

Centaur será un complemento de Informix Dynamic Server y funcionará con el formato de base de datos tradicional para este paquete, por lo que los usuarios tendrán todas las funciones antiguas a su disposición y actualizar el sistema a la nueva versión no será difícil. Además, Centaur conservará todas las capacidades de diseño y programación que han hecho que Informix Universal Server sea reconocido como un avance tecnológico. El nuevo sistema estará equipado con herramientas para el diseño de bases de datos orientadas a objetos, creación de tablas especializadas y programas de indexación; permitirá a los usuarios crear sus propias funciones en consultas y no depender únicamente de herramientas SQL estándar.

Conclusiones.

Habiendo considerado las principales características de las arquitecturas de edificios AIS, sistemas operativos de servidor y DBMS, en el futuro, elegiremos la arquitectura de Internet / intranet como la arquitectura AIS, como el SO del servidor Linux y como el DBMS Oracle 8i. La tabla resumen muestra las características comparativas de las dos soluciones más comunes basadas en Microsoft SQL Server 7.0 (en NT) y Oracle8i (en Unix, Linux).

Microsoft SQL Server 7.0

Administración

Herramientas gráficas

Facilidad de servicio

Motor de datos

Trabajar con varias CPU

Aceptable

Función de unión y selección de índice

Acceso simultáneo de múltiples usuarios

Procesamiento multimedia

Conectarse a la Web

Procesamiento de audio, video, imágenes

Buscar este texto

Interoperabilidad

Aceptable

Interfaz con otras bases de datos

Check-in único

Trabaja bajo el control de varios sistemas operativos

Aceptable

Posibilidades de programación

Aceptable

Procedimientos almacenados y disparadores

Lenguaje de programación interno

Construyendo bases de datos

Sistemas orientados a objetos

Trabajando con sucursales

Duplicación

Procesamiento de transacciones distribuidas

Administración remota

Organización de almacenes de datos y elaboración de informes.

Carga de herramientas

Herramientas de análisis

Nuevo en el sitio

>

Más popular