No olvides que en las ciencias informáticas cualquier problema casi siempre tiene varias resoluciones, por lo tanto mostramos lo más óptimo y mejor.
ETIQUETA DE SEGURIDAD: defina o cambie una etiqueta de seguridad aplicada a un objeto
Sinopsis
SECURITY LABEL [FOR provider ]ON EVENT TRIGGER object_name IS'label'where aggregate_signature is: *|[ argmode ][ argname ] argtype [,...]|[[ argmode ][ argname ] argtype [,...]]ORDERBY[ argmode ][ argname ] argtype [,...]
Descripción
SECURITY LABEL
aplica una etiqueta de seguridad a un objeto de la base de datos. Se puede asociar un número arbitrario de etiquetas de seguridad, una por proveedor de etiquetas, con un objeto de base de datos dado. Los proveedores de etiquetas son módulos cargables que se registran a sí mismos usando la función register_label_provider
.
Nota
register_label_provider
no es una función SQL; solo se puede llamar desde el código C cargado en el backend.
El proveedor de etiquetas determina si una etiqueta dada es válida y si está permitido asignar esa etiqueta a un objeto dado. El significado de una etiqueta determinada también queda a discreción del proveedor de la etiqueta. PostgreSQL no impone restricciones sobre si o cómo un proveedor de etiquetas debe interpretar las etiquetas de seguridad; simplemente proporciona un mecanismo para almacenarlos. En la práctica, esta función está destinada a permitir la integración con sistemas de control de acceso obligatorio (MAC) basados en etiquetas, como SELinux. Dichos sistemas toman todas las decisiones de control de acceso en función de las etiquetas de los objetos, en lugar de los conceptos tradicionales de control de acceso discrecional (DAC), como usuarios y grupos.
Parámetros
object_name
table_name.column_name
aggregate_name
function_name
procedure_name
routine_name
-
El nombre del objeto a etiquetar. Los nombres de tablas, agregados, dominios, tablas foráneas, funciones, procedimientos, rutinas, secuencias, tipos y vistas se pueden calificar mediante esquemas.
provider
-
El nombre del proveedor con el que se asociará esta etiqueta. El proveedor nombrado debe estar cargado y debe dar su consentimiento para la operación de etiquetado propuesta. Si se carga exactamente un proveedor, el nombre del proveedor se puede omitir por brevedad.
argmode
-
El modo de una función, procedimiento o argumento agregado:
IN
,OUT
,INOUT
oVARIADIC
. Si se omite, el valor predeterminado esIN
. Tenga en cuenta queSECURITY LABEL
en realidad no le presta atenciónOUT
argumentos, ya que solo se necesitan los argumentos de entrada para determinar la identidad de la función. Por lo tanto, es suficiente enumerar losIN
,INOUT
yVARIADIC
argumentos argname
-
El nombre de una función, procedimiento o argumento agregado. Tenga en cuenta que
SECURITY LABEL
en realidad no presta atención a los nombres de los argumentos, ya que solo se necesitan los tipos de datos de los argumentos para determinar la identidad de la función. argtype
-
El tipo de datos de una función, procedimiento o argumento agregado.
large_object_oid
-
El OID del objeto grande.
PROCEDURAL
-
Esta es una palabra ruidosa.
label
-
La nueva etiqueta de seguridad, escrita como string literal; o
NULL
para soltar la etiqueta de seguridad.
Ejemplos
El siguiente ejemplo muestra cómo se puede cambiar la etiqueta de seguridad de una tabla.
SECURITY LABEL FOR selinux ONTABLE mytable IS'system_u:object_r:sepgsql_table_t:s0';
Compatibilidad
No hay SECURITY LABEL
comando en el estándar SQL.
Ver también
sepgsql, src/test/modules/dummy_seclabel
Anterior | Arriba | Próximo |
PUNTO DE GUARDADO | Casa | SELECCIONE |
Valoraciones y reseñas
Te invitamos a añadir valor a nuestro contenido informacional colaborando tu veteranía en las notas.