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_nametable_name.column_nameaggregate_namefunction_nameprocedure_nameroutine_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, INOUTo VARIADIC. Si se omite, el valor predeterminado es IN. Tenga en cuenta que SECURITY LABEL en realidad no le presta atención OUT argumentos, ya que solo se necesitan los argumentos de entrada para determinar la identidad de la función. Por lo tanto, es suficiente enumerar los IN, INOUTy VARIADIC 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