Académique Documents
Professionnel Documents
Culture Documents
Contenido
Introducción
Antes de comenzar
Seguridad DB2
Autenticación DB2
Autoridades DB2
Privilegios DB2
Resumen
Temas relacionados
Comentarios
Seguridad
Graham Milne
Publicado en 31-03-2014
Antes de comenzar
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 1/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
¿Está pensando en obtener la certificación en fundamentos DB2 (Examen 730)? Si es así, ha lle
serie de siete tutoriales de preparación para la certificación DB2 cubre todo lo básico (los tema
antes de leer la primera pregunta del examen). Incluso si usted no está pensando en obtener la
conjunto de tutoriales es un excelente lugar para comenzar a saber qué hay de nuevo en DB2 9
En este tutorial, usted aprenderá sobre los recursos de seguridad DB2 9, incluyendo la autentic
en DB2 9.
Este es el segundo de una serie de siete tutoriales que usted puede usar para prepararse para e
Certificación en Fundamentos DB2 9. El material de esta tutorial principalmente cubre los objet
prueba, titulada "Seguridad". Usted puede ver estos objetivos en: http://www.ibm.com/certify/t
Prerrequisitos
Para comprender los conceptos descritos en este tutorial, usted ya debe contar con conocimien
de bases de datos y entender los recursos de seguridad de sistemas operativos.
Requisitos de sistema
Los ejemplos de este tutorial son específicos para DB2 9 ejecutándose en un sistema® operativ
seguridad nativos). No obstante, los conceptos y la información proporcionada son relevantes p
cualquier plataforma distribuida.
Usted no necesita tener una copia DB2 9 para completar este tutorial. No obstante, aprovechar
la versión gratuita de prueba IBM DB2 9 para trabajar junto con este tutorial.
Configuración
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 2/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
1. Estar en sesión activa en un computador Windows, como usuario que sea miembro del grup
ejemplos de este tutorial, estaremos en sesión activa con el ID de usuario gmilne.
2. DB2 9 instalado.
3. Haber creado un grupo nuevo en la máquina en la que se instaló el DB2. En este tutorial, se
4. Haber creado un segundo ID de usuario en la máquina en la que se instaló en DB2. En este
usaremos el ID de usuario test1. Note que el usuario test1 no es miembro del grupo de Adm
Seguridad DB2
• Los objetos de base de datos que un usuario tiene permitido crear, alterar y/o descartar
Existen tres mecanismos principales dentro de DB2 que permiten a un DBA implementar un pla
datos: autenticación, autoridad y privilegios.
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 3/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
La autenticación es el primer recurso de seguridad que usted encontrará cuando intente accede
datos DB2. La autenticación DB2 funciona muy de cerca con los recursos de seguridad del siste
verificar los ID y contraseñas de usuario. DB2 también puede trabajar con protocolos de segurid
autenticar usuarios.
La autoridad involucra determinar las operaciones que los usuarios y/o grupos pueden efectuar
que pueden acceder. La capacidad de un usuario para efectuar operaciones de alto nivel de adm
de instancia, está determinada por las autoridades que se le hayan asignado. Existen cinco nive
dentro de DB2 que son SYSADM, SYSCTRL, SYSMAINT, DBADM y LOAD.
Los privilegios son un poco más granulares que las autoridades, y pueden asignarse a usuarios
ayudan a definir los objetos que un usuario puede crear o descartar. Estos también definen los
puede usar para acceder a objetos como tablas, vistas índices y paquetes. En el DB2 9 es nuevo
acceso basado en etiquetas (LBAC), el cual permite un control más granular sobre quién puede
individuales.
Para prepararse para la siguiente sección del tutorial, usted necesita crear bases de datos dent
Asegúrese de que la variable %DB2INSTANCE% todavía esté definida para DB2, y luego cree la bas
el comando db2sampl unidad, usando el nombre de la unidad donde desee crear la muestra. P
tutorial, usted creará la base de datos de muestra en su unidad D:, así:
D:\SQLLIB\BIN> db2sampl d:
Es particularmente importante que usted entienda los términos cliente, servidor, gateway y hos
seguridad de todo el entorno de base de datos. Con frecuencia un entorno de base de datos con
diferentes; usted debe salvaguardar la base de datos y cualquier punto potencial de acceso a d
clientes, servidores, gateways y hosts son particularmente importantes cuando se está tratand
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 4/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
Si la base de datos reside en una máquina de sistema principal que se ejecute en un sistema op
(iSeries®) o OS/390® (zSeries®), se llama un host o servidor host. Una gateway es una máquina q
Connect. Mediante el gateway, las máquinas cliente DB2 pueden conectarse a una base de dato
máquina host. A el gateway también se le conoce como el DB2 Connect Server. Los sistemas co
Server Edition instalado también tienen integrada la funcionalidad DB2 Connect.
Autenticación DB2
La autenticación DB2 controla los siguientes aspectos del plan de seguridad de base de datos:
Esto lo hace con la ayuda de los recursos de seguridad del sistema operativo subyacente cada v
attach o connect . Los comandos attach se usan para conectar la instancia DB2, mientras que lo
para conectarse a una base de datos dentro de una instancia DB2. Los siguientes ejemplos le m
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 5/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
en que DB2 autenticará al usuario que esté emitiendo estos comandos. Estos ejemplos usan el
predeterminado de tipo SERVER del archivo de configuración de gestor de base de datos. El eje
cómo se puede usar DB2 para cambiar la contraseña del OS del servidor.
Inicie sesión en la máquina donde está instalado DB2 con el ID de usuario que usó para crear la
siguientes comandos:
Aquí la autenticación se hace de forma implícita. El ID de usuario usado para iniciar sesión en la
que ya ha sido verificado por el sistema operativo.
Aquí la autenticación se hace de forma explícita. El usuario test1 con contraseña password es v
operativo. Usertest1 is successfully connected to the sample database.
db2 connect to sample user test1 using password new chgpass confirm chgpass
El ID de usuario test1 con contraseña password es verificado por el sistema operativo como en
contraseña para test1 es cambiada por el sistema operativo, de password a chgpass. como resu
2 fallará si lo vuelve a emitir.
Los tipos de autenticación son usados por DB2 para determinar dónde tendrá lugar la autentica
entorno de cliente-servidor, ¿el cliente o la máquina de servidor verificarán el ID y la contraseña
cliente-gateway-host, ¿el cliente o la máquina host verificarán el ID y la contraseña?
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 6/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
Luego los acoples a la instancia utilizarán SERVER_ENCRYPT. No, obstante, las conexiones con
autenticación KERBEROS. Si KERBEROS no fue inicializado adecuadamente para el servidor pe
ID/contraseña de usuario válidos, entonces al usuario se le permitirá acoplarse a la instancia, p
conectarse a la base de datos.
La siguiente tabla resume los tipos de autenticación DB2 disponibles. En un entorno cliente-gat
autenticación se establecen en el cliente y el gateway, no en la máquina host. A lo largo de esta
detalle cómo configurar estas opciones. Consulte Clientes, servidores, gateways, y hosts como
Tipo Descripción
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 7/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
Tipo Descripción
*Estas configuraciones solo son válidas para sistemas operativos Windows 2000®, AIX®, Solaris
La autenticación se establece en el servidor de base de datos dentro del archivo Database Man
usando el parámetro AUTHENTICATION. Recuerdo, el archivo DBM CFG es un archivo de config
Así, el parámetro AUTHENTICATION afecta a todas las bases de datos dentro de la instancia. Lo
muestran cómo se puede alterar este parámetro.
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 8/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
Para establecer el tipo de autenticación de gateway en SERVER, usted emite el siguiente coman
Note que la autenticación nunca se efectúa en el gateway misma. En DB2 Versión 8, la autentic
el cliente o en el servidor de base de datos host.
Consideremos dos escenarios en dos máquinas cliente separadas. Vamos a configurar una para
datos en una máquina de servidor (DB2 UDB LUW plataforma distribuida), y la otra para que se
en una máquina host (por ejemplo, DB2 for zSeries).
• Cliente conectándose a una base de datos host: Supongamos que el tipo de autenticación
Si no se especifica un tipo de autenticación, se asume autenticación SERVER_ENCRYPT cua
base de datos mediante DB2 Connect. La autenticación se llevará a cabo en el servidor de b
comando emitido desde el cliente causará que el cliente envíe IDs de usuario y contraseñas
db2 catalog database myhostdb at node nd1 authentication SERVER
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 9/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
Hay dos parámetros adicionales en el archivo DBM CFG para determinar dónde debe darse la a
de autenticación de servidor o de gateway está en CLIENT y hay clientes no confiables intentan
datos o acoplarse a la instancia DB2. Estos son los parámetros TRUST_ALLCLNTS y TRUST_CLN
Cuando el tipo de autenticación del servidor o el gateway es CLIENT, hay otros dos factores que
los parámetros TRUST_ALLCLNTS y TRUST_CLNTAUTH. El primero es si se suministraron un ID
explícitamente, y el segundo es el tipo de cliente que se está conectando. Los tres clientes dB2
• Clientes host: Clientes que se están ejecutando en sistemas operativos host, como zSeries
• Clientes confiables: Clientes que se ejecutan en sistemas operativos que no son host, que t
nativos como Windows NT®, Windows 2000®, Windows 2003®, Windows XP, y todas las form
La siguiente tabla resume dónde se llevará a cabo la autenticación cuando cada tipo de cliente
attach hacia un servidor cuyo tipo de autenticación esté configurado en CLIENT.
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 10/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
Nosuministró
+ ¿Se Yes
TRUST_ALLCLNTS TRUST_CLNTAUTH
CLIENT Cl
CL
ID/Contraseña de co
usuario?
+ No Yes SERVER CL
+ No No CLIENT SE
+ No No SERVER SE
+ No DRDAONLY CLIENT SE
+ No DRDAONLY SERVER SE
+ Yes No CLIENT SE
+ Yes No SERVER SE
DRDAONLY se refiere a clientes host únicamente, sin importar el hecho de que los clientes DB2
conectan usando DRDA.
DB2 V8.2 introdujo el concepto de plug-ins de seguridad para DB2. Este concepto ha sido mejo
Usando llamados GSS-API estándar un usuario puede escribir un plug-in de seguridad y pasar e
ID de usuario a un programa de seguridad externo. Un ejemplo de esto es la propia autenticació
usted instala DB2 ESE, o el cliente de desarrollo de aplicaciones en una máquina, parte de esa
aplicación de muestra en su instancia de directorio. Si usted observa en el directorio samples\s
tres ejemplos sobre cómo codificar plug-ins de seguridad. Esta sección describirá el uso de plu
seguridad DB2, pero no cubre cómo codificar o compilar los plug-in en sí. Para una descripción
esto, consulte DB2 UDB Security Part 2: Understand the DB2 Universal Database Security plug-
Autenticación Kerberos
La autenticación Kerberos proporciona a DB2 una forma para autenticar usuarios sin tener que
de usuario sobre la red. El protocolo de seguridad Kerberos lleva a cabo autenticación como un
externo, usando criptografía convencional para crear una clave secreta compartida. Esta clave s
del usuario y se utiliza para verificar la identidad de los usuarios durante todas las veces que se
locales. El uso del protocolo de seguridad Kerberos permite el uso de inicio único de sesión par
de datos DB2.
Primero, vamos a revisar la configuración DB2 para usar autenticación Kerberos. Como se menc
Kerberos es implementada en DB2 usando la arquitectura de plug-in. El código fuente para el p
Kerberos se suministra en el directorio samples/security/plugins , llamado IBMkrb5.c. Antes
Kerberos funcione para DB2, Kerberos debe activarse y ser soportado tanto en el cliente como
funcione, se deben cumplir las siguientes condiciones:
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 12/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
Usted puede encontrar más información sobre Kerberos en la documentación que acompaña a
Para permitir que DB2 use autenticación KERBEROS usted primero debe decirle al cliente dónd
que usted está usando. En el cliente, ejecute el siguiente comando:
En este ejemplo se usa en plug-in KERBEROS predeterminado. Esto puede haber sido modifica
funciones especiales si la implementación Kerberos que se está usando le solicitó hacerlo.
También existe la capacidad para decirle al cliente exactamente contra cuál servidor principal s
opción salta el primer paso de autenticación Kerberos en donde el cliente debe descubrir el ser
la que se está conectando. El parámetro AUTHENTICATION puede ser especificado cuando se e
datos en el cliente. Su formato es:
DB2 CATALOG DB dbname AT NODE node name AUTHENTICATION KERBEROS TARGET PRINCIPAL
service/host@REALM
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 13/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
Si solo desea que DB2 use Kerberos para autenticar las conexiones entrantes de base de datos
acoples de instancia entrantes), entonces ejecute lo siguiente:
Dependiendo del ancho de bit (32 o 64 bit) de la instancia, DB2 cargará automáticamente el plu
la instancia.
Si usted observa en el DBM CFG para una instancia V9.1, verá varias configuraciones que puede
DB2 autenticará los ID de usuario. Como se mencionó arriba, existen configuraciones para ID d
(CLIENT, SERVER, SERVER_ENCRYPT, DATA_ENCRYPT, DATA_ENCRYPT_CMP), así como plug-in
programas externos (KERBEROS, KRB_SERVER_ENCRYPT, GSSPLUGIN, GSS_SERVER_ENCRYP
específicamente algunas de las otras variables de configuración que pueden tener un impacto e
usuario.
CLNT_PW_PLUGIN Este parámetro es especificado en el DBM CFG del lado del clien
del plug-in de cliente usado para autenticación de cliente y loca
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 14/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 15/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
Autoridades DB2
La autoridades DB2 controlan los siguientes aspectos del plan de seguridad de base de datos:
• Los objetos de base de datos que un usuario tiene permitido crear, alterar y/o descartar
Las autoridades están compuestas por grupos de privilegios y de operaciones de alto nivel, de m
de gestor de base de datos (nivel de instancia). De las cinco autoridades disponibles en DB2, SY
SYSMON son autoridades de nivel de instancia. Eso significa que su alcance incluye comandos d
comandos contra todas las bases de datos dentro de la instancia. Estas autoridades solo puede
usted puede hacer lo mediante el archivo DBM CFG.
Las autoridades DBADM, LOAD y SECADM se asignan a grupos o usuarios para bases de datos p
hacer de forma explícita usando el comando GRANT .
Las siguientes secciones describen cómo se asigna cada autoridad y cuáles comandos pueden
autoridad. Note que cualquier referencia a membresía de grupo implica que los nombres de usu
definidos a nivel de sistema operativo.
Los usuarios pueden determinar cuáles autoridades y privilegios de nivel de base de datos tiene
comando:
Como los usuarios SYSADM son los únicos usuarios a los que se les permite actualizar el archiv
únicos que tienen permitido conceder cualquiera de las autoridad SYS* a otros grupos. El siguie
conceder una autoridad SYSADM al grupo db2grp1:
Recuerde, este cambio no tendrá efecto sino hasta que la instancia se detenga y se reinicie. Ten
usted actualmente no está en sesión activa como miembro dedb2grp1, ¡tal vez no tenga autorid
Es posible que tenga que cerrar sesión y volver a iniciarla con un ID del grupo correcto, o añadir
Los usuarios con autoridad SYSCTRL pueden ejecutar todos los comandos administrativos y de
instancia. No obstante, a diferencia de los usuarios SYSADM, estos no pueden acceder a ningún
menos que se les concedan los privilegios para hacerlo. Algunos ejemplos de comandos que pu
SYSCTRL contra cualquier base de datos de una instancia son:
• db2start/db2stop
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 17/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
Un usuario con autoridad SYSADM puede asignar SYSCTRL a un grupo usando el siguiente coma
Los comandos que puede ejecutar un usuario con la autoridad SYSMAINT son un subconjunto d
con la autoridad SYSCTRL. Los usuarios SYSMAINT solo pueden ejecutar tareas de mantenimie
• db2start/db2stop
Note que los usuarios con SYSMAINT no pueden crear ni descartar bases de datos ni espacios d
acceder a ningún dato de las bases de datos, a menos que se les concedan los privilegios para h
Si usted tiene autoridad SYSADM, puede asignar autoridad SYSMAINT a un grupo usando el sig
• GET SNAPSHOT
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 18/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
• LIST APPLICATIONS
• RESET MONITOR
La autoridad SYSMON le permite al usuario usar todas las funciones de captura instantánea de
previamente SYSPROC.SNAP_WRITE_FILE. SYSPROC.SNAP_WRITE_FILE realiza una captura instan
un archivo. Si se llama a cualquier función de tabla de captura instantánea con parámetros de e
contenido del archivo en lugar de una captura instantánea en tiempo real.
Los usuarios con los niveles de autoridad SYSADM, SYSCTRL o SYSMAINT también poseen auto
Un usuario con autoridad SYSADM puede asignar SYSMON a un grupo usando el siguiente coma
La autoridad DBADM es una autoridad de nivel de base de datos más que una autoridad de nive
usuarios DBADM tiene control total sobre una base de datos (casi). Los usuarios DBADM no pue
administrativas o de mantenimiento como:
• drop database
• drop/create tablespace
• backup/restore database
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 19/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
A los usuarios DBADM también se les conceden automáticamente todos los privilegios para los
contenidos. Como la autoridad DBADM es una autoridad de nivel de base de datos, puede asign
grupos. Los siguientes comandos ilustran diferentes formas en las que usted puede conceder a
Este comando da autoridad DBADM implícita sobre la base de datos llamada test al usuario
Este comando solo puede ser emitido por usuarios SYSADM; este concede la autoridad DBA
de datos de muestra. Note que el usuario que lo emite debe estar conectado a la base de da
conceda la autoridad DBADM.
Este comando concede la autoridad DBADM a todos los del grupo db2grp1. De nuevo, solo l
emitir este comando.
La autoridad LOAD también se considera una autoridad de nivel de base de datos y por lo tanto
a grupos. Como su nombre lo indica, la autoridad LOAD autoriza a los usuarios a emitir el coman
comando LOAD se utiliza normalmente como una alternativa más rápida que los comandos inse
llenando una tabla con grandes cantidades de datos. Dependiendo del tipo de LOAD que desee
autoridad LOAD no es suficiente. También pueden llegar a requerirse privilegios específicos sob
Los siguientes comandos pueden ser ejecutados por usuarios con la autoridad LOAD:
• db2 load insert (debe tener privilegios para insert sobre la tabla)
• db2 load restart/terminate after load insert (debe tener privilegios para insert sobr
• db2 load replace (debe tener privilegios insert y delete sobre la tabla)
• db2 load restart/terminate after load replace (debe tener privilegios insert y delete
Solo los usuarios con autoridad SYSADM o DBADM tienen permitido conceder o revocar autorid
grupos. Los siguientes ejemplos ilustran cómo la autoridad LOAD puede permitir al usuario LOA
sales. Suponga que el comando db2 connect to sample ya se ha ejecutado.
Con la autoridad LOAD y el privilegio insert, tst1 pudo emitir un LOAD INSERT o un LOAD REST
un LOAD INSERT contra la tabla sales.
Con la autoridad LOAD y con los privilegios delete e insert, cualquier miembro de grp1 pued
LOAD RESTART, o TERMINATE después de un LOAD REPLACE contra la tabla sales.
La autoridad SECADM es considerada una autoridad de nivel de base de datos, pero solo puede
específico por un usuario SYSADM. Un usuario con SECADM puede hacer lo siguiente:
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 21/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
• Ejecutar el enunciado SQL TRANSFER OWNERSHIP sobre objetos que usted no posee
Ningún otro usuario puede ejecutar estas funciones, ni siquiera SYSADM, a menos que SECADM
explícitamente a ese usuario SYSADM. Esto es muy importante porque estas capacidades de se
y solo se deben conceder a usuarios que estén definidos como administradores de seguridad. V
acceso basado en etiquetas" para más información sobre este nuevo recurso de seguridad en D
Privilegios DB2
Los privilegios de nivel de base de datos que se le pueden otorgar a un usuario son:
• CREATETAB: Los usuarios pueden crear tablas dentro de una base de datos.
• BINDADD: Los usuarios pueden crear paquetes en la base de datos usando el comando BIN
• CREATE_NOT_FENCED: Los usuarios pueden crear funciones unfenced definidas por usuari
• QUIESCE_CONNECT: Los usuarios pueden acceder a una base de datos mientras esté en su
temporal.
Losobjetos de base de datos incluyen tablas, vistas, índices, esquemas y paquetes. afortunadam
de nivel de objeto se explican por sí mismos. La siguiente tabla resume estos privilegios.
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 23/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
En las vistas del catálogo de sistema hay información almacenada sobre privilegios de nivel de
vistas son syscat.tabauth, syscat.colauth, syscat.indexauth, syscat.schemaauth, syscat
syscat.packageauth.
Privilegios explícitos
Los privilegios se pueden conceder y revocar de forma explícita a usuarios o grupos, usando los
Observemos cómo puede usted utilizar estos comandos sobre varios objetos.
Mientras esté en sesión activa con autoridad de Administrador en Windows, abra dos ventanas
de que la variable db2instance esté en DB2 ¡en ambas ventanas!
Recuerde, los comandos de la Ventana 1 están siendo emitidos por un usuario con autoridad SY
Ventana 2 están siendo emitidos por tst1, un usuario sin autoridad ni privilegios específicos en
Note que el nombre de esquema asociado con las tablas de su base de datos de muestra será e
emitió el comando db2sampl . En estos ejemplos, ese usuario es GMILNE.
SQL0551N "TEST1" does not have the privilege to perform operation "SELECT"
on object "GMILNE.ORG".
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 24/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
Ahora ¡el comando anterior tendrá éxito! Luego, emita un comando más ambicioso desde la Ven
SQL0551N "TEST1" does not have the privilege to perform operation "INSERT"
on object "GMILNE.ORG"
El comando INSERT que falló antes, ahora se debe poder completar exitosamente porque test1
grupodb2grp1.
SQL0551N "TEST1" does not have the privilege to perform operation "DROP TABLE"
on object "GMILNE.EMP_PHOTO".
Ahora que hemos terminado nuestro ejemplo, vamos a revocar todos los privilegios que acaba d
los siguientes comandos desde la Ventana 1:
Note que revocar los privilegios de un grupo no necesariamente los revoca para todos los miem
ejemplo, el siguiente comando pudo haberse usado para revocar todos los privilegios (excepto
tabla gmilne.org:
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 25/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
Sin embargo, el usuario test1 (que es miembro de db2grp1 ) habrá conservado seleccionados lo
que se le ha concedido el privilegio directamente.
Privilegios Implícitos
DB2 puede conceder privilegios automáticamente cuando se emiten ciertos comandos, sin nec
enunciado GRANT explícito, como vio previamente. La siguiente tabla resume algunos comando
privilegios que están siendo concedidos implícitamente por el gestor de base de datos. Note qu
revocados implícitamente cuando se descarta el objeto creado. No obstante, estos no son revoc
explícitamente privilegios de nivel superior.
CREATE VIEW CONTROL en myview solo si CONTROL se mantiene en todas la tablas y vista
myview referenciadas en la definición de myview
*Cuando un usuario crea una base de datos, a ese usuario se le concede autoridad DBADM imp
datos. Con la autoridad DBADM se incluyen los privilegios CONNECT, CREATETAB, BINDADD, IM
CREATE_NOT_FENCED de forma implícita. Estos privilegios permanecerán con el usuario inclus
DBADM.
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 26/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
**PUBLIC es un grupo especial DB2 que incluye a todos los usuarios de una base de datos part
grupos que he mostrado hasta acá, PUBLIC no necesita ser definido a nivel de sistema operativ
concedidos predeterminadamente a PUBLIC. Por ejemplo, este grupo recibe privilegio CONNEC
privilegio SELECT en las tablas de catálogo automáticamente. Los comandos GRANT y REVOKE
grupo PUBLI, como:
Privilegios Indirectos
Los privilegios se pueden obtener indirectamente cuando los paquetes sean ejecutados por el g
paquete contiene uno o más enunciados SQL que han sido convertidos en un formato que DB2
ejecutarlos. En otras palabras, un paquete contiene múltiples enunciados SQL en un formato ej
son estáticos, un usuario solo necesitaría privilegio EXECUTE sobre el paquete para ejecutar ex
paquete.
Por ejemplo, suponga que db2package1 ejecuta los siguientes enunciados SQL estáticos:
En este caso, un usuario con privilegio EXECUTE sobre db2package1 indirectamente tendría co
la tabla org y privilegio INSERT sobre la tabla test.
En DB2 9 es nuevo el concepto de control de acceso basado en etiquetas (LBAC). Lo que el LBA
capacidad para restringir privilegios de lectura / escritura sobre el nivel de fila o columna de un
Previamente, la única forma de introducir estas restricciones era crear una vista, autorizar el us
cuestión y remover el acceso a la tabla base.
Este tutorial solo demostrará un escenario de ejemplo de seguridad LBAC. Para una explicación
consulte DB2 Label-Based Access Control, a practical guide, Part 1: Understand the basics of LB
developerWorks.
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 27/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
Ahora, en la base de datos de la organización existe una tabla que define la información de los e
la tabla EMP de la base de datos SAMPLE. Esta contiene datos sobre los empleados y los depar
pertenecen. Su definición de existencia es la siguiente:
SQLDA Information
Column Information
La organización tiene reglas en su lugar que son auditadas regularmente. Parte de esta auditorí
deben tener acceso a datos que sean considerados confidenciales. Las reglas estipulan que los
completo de lectura / escritura a los registros de todos los empleados, los gerentes tienen acce
cualquier persona de su departamento, y los líderes de equipo tienen acceso de lectura a cualq
que dirigen.
1. Defina las políticas y etiquetas de seguridad y asigne etiquetas de seguridad a los usuarios.
2. Modifique la tabla EMP, incluyendo la columna de etiqueta de seguridad, y anéxele la polític
Lo primero que usted necesita hacer es determinar el mejor tipo de componente de seguridad a
este caso en particular, lo que mejor se ajusta es una política tipo "TREE". Una política tipo árbo
definir un conjunto de etiquetas de forma que los hijos tengan un subconjunto de los derechos
ejemplo, cree un componente de seguridad llamado "J_DEPT".
El diseño de arriba indica que la raíz es HR_EXECUTIVE, y todos los departamentos son hijos ba
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 29/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
El siguiente paso requerido para usar seguridad LBAC en el ejemplo de arriba es definir la políti
de seguridad de arriba. Una política de seguridad puede usar más de un componente.
En el siguiente paso usted definirá los permisos efectivos asociados con estas etiquetas.
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 30/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
Los siguientes pasos describen los procedimientos para conceder los derechos a los datos de la
ACCESS, WRITE ACCESS, o READ ACCESS. Si a un usuario no se le concede ninguno de estos de
no tendrá la capacidad de acceder a ningún dato de la tabla. Recuerde que los ejecutivos tienen
gerentes tienen acceso a sus departamentos, y los líderes de equipo tienen acceso de lectura a
departamento que dirigen.
db2 grant security label J_DEPT_POLICY.A00 to user Frank for read access
db2 grant security label J_DEPT_POLICY.MANAGE_D11_E21 to user Joe for all access
db2 grant security label J_DEPT_POLICY.EXECUTIVE to user Jane for all access
Configurar las anteriores etiquetas transferirá los derechos en forma de cascada con base en la
Como el usuario Joe está etiquetado como MANAGE_D11_E21, y se le han asignado todos los d
escribir filas que tengan la etiqueta de seguridad J_DEPT_POLICY.D11 o J_DEPT_POLICY.E21 (
Cuando modifica la tabla EMP, debe crear una columna adicional para almacenar la etiqueta de
"DB2SECURITYLABEL". Usted va a modificar la tabla EMP existente en la base de datos SAMPLE
hacerlo mediante un usuario al que se le haya concedido privilegio de nivel de raíz en la política
usuario Jane. Primero usted debe descartar la tabla MQT ADEFUSR de la base de datos de mue
CONNECT TO SAMPLE
CONNECT RESET
Si usted selecciona de la tabla EMP, verá definida la columna adicional. Como usted realizó cam
en el nivel EXECUTIVE, todas las etiquetas de seguridad habrán sido añadidas como EXECUTIV
necesita actualizar la tabla.
42 record(s) selected.
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 32/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
42 record(s) selected.
Después de la actualización, vamos a ver lo que pueden hacer los usuarios individuales. Usted s
usando el ID de usuario ejecutivo ID Jane. Comience con el mismo enunciado ejecutado antes:
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 34/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
42 record(s) selected.
Y el comando de actualización:
Como puede ver, Jane tiene acceso completo a todos los datos de la tabla. Ahora observemos l
observemos nuevamente el comando select.
17 record(s) selected.
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 35/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
¿Ve cómo él solo puede ver información de los departamentos D11 y E21? Vamos a ver qué suc
seleccionar datos que estén en la tabla, pero que él no tenga permitido ver:
0 record(s) selected.
Del select anterior con Jane sabemos que allí hay un empleado con empno 000130, pero Joe n
5 record(s) selected.
En este caso usted puede ver que Frank solo puede ver información sobre usuarios del departa
Observemos qué pasa cuando él trate de actualizar:
Aunque está tratando de actualizar un registro que está en su propio departamento, usted creó
manera que solo le permita acceso de lectura a la tabla. Nuestros requerimientos de negocios h
Resumen
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 36/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
Ahora que ha completado este tutorial, usted debe tener conocimientos básicos sobre los sigui
Elementos de un plan de seguridad DB2: Usted debe entender la estructura de todo el entorno
servidores, gateways y hosts. También debe entender la autenticación, autoridades y los privile
Tipos de autenticación DB2: Usted debe saber cómo configurar tipos de autenticación usando
cfg using authentication type en el servidor, y usando el comando db2 catalog database
Autoridades DB2: Usted debe entender los fundamentos de las autoridades SYSADM, SYSCTRL
cuales se configuran en el archivo DBM CFG. También debe entender los fundamentos de las au
SECADM, las cuales se establecen usando el comando GRANT y se revocan con el comando REVO
saber cuáles comandos tiene permitido ejecutar cada autoridad.
Privilegios DB2: Usted debe entender los diferentes tipos de privilegios y lo que estos permiten
ejemplos son CONTROL, INSERT, DELETE, CREATEIN, DROPIN, REFERENCES, y SELECT. Tambi
obtiene/revoca un privilegio de forma explícita (comandos GRANT/REVOKE ), implícitamente, o in
paquetes). Adicionalmente a esto, usted debe tener un entendimiento básico sobre control de a
sobre cómo definir diferentes tipos de políticas con base en este nuevo concepto de seguridad.
Para acceder a otros tutoriales de esta serie, añada un marcador a la página de la serie, DB2 9 D
Temas relacionados
• DB2 Express-C. Descargue una versión gratuita del DB2 Express Edition para la comunidad
recursos de datos principales que el DB2 Express Edition y proporciona una base sólida par
aplicaciones.
• Examen de certificación sitio. Haga clic en el número del examen para ver más información
731.
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 37/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
• Visión general del DB2 9. Encuentre información sobre el nuevo servidor de datos que inclu
pureXML.
• DB2 UDB Security Part 2: Understand the DB2 Universal Database Security plug-ins (develo
describe la implementación DB2 de complementos de seguridad externos, y cómo impleme
Comentarios
developerWorks
Acerca de
Informar abusos
Síguenos
Únete
Universidad
Startups (Inglés)
Seleccione un idioma
English
中文
⽇本語
Русский
Português (Brasil)
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 38/39
18/4/2018 Preparación para el examen 730 Fundamentos DB2 9, Parte 2: Seguridad
Español
한글
Descargas
Boletín (Inglés)
https://www.ibm.com/developerworks/ssa/data/tutorials/db2-cert7302/index.html 39/39