Idioma de control de datos (DCL)

Permisos de base de admisión, revogación e DENY

O linguaxe de control de datos (DCL) é un subconxunto do linguaxe de consulta estruturada (SQL) e permite aos administradores da base de datos configurar o acceso de seguridade ás bases de datos relacionales. Complementa o Idioma de definición de datos (DDL), que se usa para engadir e eliminar obxectos de base de datos, eo Idioma de manipulación de datos (DML) usado para recuperar, inserir e modificar os contidos dunha base de datos.

DCL é o máis simple dos subconxuntos de SQL , xa que consta de só tres comandos: CONCERTO, REVOCAR e DENY. Combinados, estes tres comandos proporcionan aos administradores a flexibilidade para configurar e eliminar os permisos da base de datos dunha forma extremadamente granular.

Engadir permisos co comando GRANT

O comando GRANT é usado por administradores para engadir novos permisos a un usuario da base de datos . Ten unha sintaxe moi sinxela, definida do seguinte xeito:

CONCELLO [privilexio] ON [obxecto] A [usuario] [CON OPCIÓN DE SUBIDA]

Aquí está o resumo de cada un dos parámetros que pode fornecer con este comando:

Por exemplo, supoña que desexa conceder ao usuario Joe a capacidade de recuperar información da táboa empregados nunha base de datos chamada RH. Podes usar o seguinte comando SQL:

CONCELLO SELECCIONAR EN HR.employees TO Joe

Joe agora terá a capacidade de recuperar información da mesa de empregados. Non poderá, con todo, permitir o permiso doutros usuarios para recuperar información desa táboa porque non incluía a cláusula WITH WITHOUT GRANT OPTION na declaración GRANT.

Revogando o acceso á base de datos

O comando REVOKE úsase para eliminar o acceso á base de datos dun usuario que anteriormente concedeu tal acceso. A sintaxe para este comando defínese como segue:

REVOCE [GRANT OPTION FOR] [permiso] ON [obxecto] FROM [usuario] [CASCADE]

Aquí está o resumo dos parámetros para o comando REVOKE:

Por exemplo, o comando seguinte revoca o permiso concedido a Joe no exemplo anterior:

REVOCE SELECCIONAR EN HR.employees FROM Joe

Explicitamente negando o acceso á base de datos

O comando DENY úsase para impedir explícitamente que un usuario reciba un permiso particular. Isto é útil cando un usuario é membro dun rol ou grupo ao que se lle outorga un permiso e quere evitar que ese usuario individual herda o permiso creando unha excepción. A sintaxe para este comando é a seguinte:

DENY [permission] ON [object] TO [user]

Os parámetros para o comando DENY son idénticos aos empregados para o comando GRANT.

Por exemplo, se desexa garantir que Matthew nunca recibirá a capacidade de eliminar información da táboa de empregados, emita o seguinte comando:

DENY DELETE ON HR.employees TO Matthew