Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Autorización
En el proceso de autorización, el administrador de la base de datos obtiene información sobre el identificador de autorización del usuario autenticado. El ID de autorización indica qué operaciones de base de datos puede realizar el usuario, incluidos los objetos de la base de datos a los que puede acceder el usuario. Los permisos, que se declaran de forma explícita en Db2, permiten a los usuarios realizar acciones específicas.
Para un ID de autorización, los permisos se pueden conceder en varios niveles:
-
Principal: los permisos principales se otorgan directamente al ID de autorización.
-
Secundario: los permisos secundarios se otorgan a los grupos y roles de los que forma parte el identificador de autorización.
-
Público: el nivel público es un grupo Db2 especial que representa a todos los miembros de la organización.
-
Sensible al contexto: estos permisos se otorgan a un rol de contexto de confianza.
Niveles de autoridad de Db2
Db2 gestiona las autoridades en los siguientes niveles:
-
Nivel de instancia o sistema:
SYSADM
,,SYSCTRL
,SYSMAINT
SYSMON
-
Nivel de base de datos:
DBADM
SQLADM
((EXPLAIN
WLMADM
),),SECADM
(ACCESSCTRL
),DATAACCESS
-
Nivel de esquema:
SCHEMAADM
(LOAD
)ACCESSCTRL
,DATAACCES
S -
Privilegios adicionales a nivel de esquema
-
-

Db2 admite los siguientes privilegios adicionales a nivel de esquema:
-
SELECTIN
permite al usuario recuperar filas de todas las tablas o vistas definidas en el esquema. -
INSERTIN
permite al usuario insertar filas y ejecutar laIMPORT
utilidad en todas las tablas o vistas definidas en el esquema. -
UPDATEIN
permite al usuario ejecutar laUpdate
sentencia en todas las tablas o vistas actualizables definidas en el esquema. -
DELETEIN
permite al usuario eliminar filas de todas las tablas o vistas actualizables definidas en el esquema. -
EXECUTEIN
permite al usuario ejecutar todas las funciones, métodos, procedimientos, paquetes o módulos definidos por el usuario y definidos en el esquema. -
CREATEIN
permite al usuario crear objetos dentro del esquema. -
ALTERIN
permite al usuario cambiar los objetos del esquema. -
DROPIN
permite al usuario colocar objetos desde el esquema.
ID de autorización
Un ID de autorización de Db2 consta de lo siguiente:
-
Tipo de ID de autorización
-
Usuario individual (
U
) -
Grupo (
G
) -
Función (
R
) -
Público (
P
)
-
-
Valor de ID de autorización
Para la identificación se utiliza un identificador de autorización, al que pueden asociarse las autoridades y los privilegios, además de comprobar la autorización de Db2.
Los siguientes son los términos de identificación de autorización principal que se utilizan habitualmente en Db2:
-
ID de autorización del sistema: ID de autorización que se utiliza para realizar cualquier comprobación de autorización inicial, como comprobar los
CONNECT
privilegios durante elCONNECT
procesamiento. -
ID de autorización de sesión: el ID de autorización utilizado para cualquier comprobación de autorización de sesión posterior a las comprobaciones iniciales realizadas durante el
CONNECT
procesamiento. Para ver el valor actual del identificador de autorización de sesión, utilice el registroSESSION_USER
especial. -
ID de autorización de la declaración: el ID de autorización (junto con la autorización secundaria asociada IDs para grupos o funciones) que se utiliza para los requisitos de autorización de una declaración SQL. También se usa para determinar la propiedad del objeto, según corresponda. Puede variar según el tipo de sentencia SQL y el contexto en el que se emite.
Las autoridades y los privilegios se adquieren mediante mecanismos explícitos, como REVOKE
las declaraciones GRANT
y, o mediante mecanismos implícitos, como el privilegio obtenido a través de la propiedad de un objeto. También se pueden adquirir temporalmente a través de múltiples contextos de procesamiento. Por ejemplo, se le ha dado acceso a una vista, lo que le da acceso implícito a los objetos de esa definición de vista. Además, un EXECUTE
privilegio en un paquete le dará acceso a cualquier SQL estático de ese paquete. La otra forma de obtener autoridad y privilegios temporales es mediante el uso de un contexto confiable.
Contexto confiable
Un contexto de confianza es un objeto de base de datos que define una relación de confianza entre la base de datos y un servidor de aplicaciones externo u otro servidor de base de datos. La relación de confianza se basa en los siguientes atributos de confianza:
-
Dirección IP
-
ID de autorización del sistema
-
Nivel de cifrado para la comunicación de datos
Si una conexión coincide con los atributos de confianza de un objeto de contexto de confianza definido, se establece una conexión de confianza. Existen dos tipos de conexiones de confianza:
-
Conexión de confianza implícita: una conexión de confianza implícita permite al usuario heredar un rol que no está disponible para él fuera del ámbito de esa definición de conexión de confianza. Al identificador de autorización de sesión de la conexión se le asigna una pertenencia temporal a un rol que se declara en la definición del contexto de confianza.
El siguiente diagrama muestra un ejemplo de una conexión de confianza implícita en la que solo se permite la conexión desde una dirección IP.
-
dbconnrole
Se crea el rol y se le concede la conexión a la base de datos. El contexto de confianzactximpl
se crea en función del uso de la conexiónauthid
ABC
con la dirección IP10.10.10.1
y el rol predeterminadodbconnrole
. -
El usuario
ABC
puede conectarse a la base de datos desde la dirección IP10.10.10.1
. -
El usuario no
ABC
puede conectarse desde la dirección IP10.10.10.2
.
-
-
Conexión de confianza explícita: una conexión de confianza explícita permite a un servidor de aplicaciones de confianza u otro servidor de bases de datos de Db2 cambiar el ID de usuario actual de la conexión existente de manera eficiente. Un servidor de aplicaciones establece la conexión original con una solicitud explícita de confianza. Una vez establecida la confianza, el servidor de aplicaciones puede enviar solicitudes al servidor de bases de datos para cambiar el identificador de autorización de sesión de cualquier nueva unidad de trabajo. El ID que se utiliza para realizar la solicitud de conexión inicial solo necesita
CONNECT
privilegios en el servidor.Las conexiones de confianza explícitas son útiles cuando se tiene un servidor de nivel medio que necesita emitir solicitudes de base de datos en nombre de varios usuarios con diferentes conjuntos de patrones de acceso a varios objetos de la base de datos, como las tablas. El objeto de contexto de confianza creado en el servidor de base de datos permite al servidor de nivel intermedio establecer una conexión de confianza explícita con la base de datos y, a continuación, cambiar el ID de usuario actual de la conexión por el ID de usuario correspondiente sin necesidad de volver a autenticarse en el servidor de base de datos. En función de los privilegios otorgados a los objetos de la base de datos para el identificador de autorización del usuario, el usuario puede seguir realizando operaciones y conservar la identidad real del usuario que realiza cualquier tarea específica.
En el siguiente diagrama se muestra un ejemplo de una conexión de confianza explícita en la que
USER1
,USER2
, yUSER3
todas se conectan a través deauthid
APPID
.-
El contexto de confianza
ctxexpl
se crea en funciónauthid
APPID
de la conexión mediante la dirección IP10.10.10.1
de los usuariosUSER1
USER2
, yUSER3
. -
Los usuarios se conectan a un servidor de nivel medio.
-
La conexión de confianza se establece mediante
APPID
.
-