Descripción general del RBAC de datos
El control de acceso basado en roles de datos (RBAC de datos) es un modelo de seguridad que usa roles de usuario individuales para restringir el acceso de los usuarios a los datos dentro de una organización. Con el RBAC de datos, los administradores pueden definir alcances y asignarlos a los usuarios para garantizar que solo puedan acceder a los datos necesarios para sus funciones laborales.
En esta página, se proporciona una descripción general de la RBAC de datos y te ayuda a comprender cómo las etiquetas y los alcances funcionan juntos para definir los permisos de acceso a los datos.
Diferencia entre el RBAC de datos y el RBAC de funciones
El RBAC de datos y el RBAC de funciones son métodos para controlar el acceso dentro de un sistema, pero se enfocan en aspectos diferentes.
El RBAC de funciones controla el acceso a funciones o funcionalidades específicas dentro de un sistema. Determina a qué funciones pueden acceder los usuarios según sus roles. Por ejemplo, un analista junior podría tener acceso solo para ver paneles, pero no para crear o modificar reglas de detección, mientras que un analista sénior podría tener los permisos para crear y administrar reglas de detección. Para obtener más información sobre el RBAC de funciones, consulta Configura el control de acceso a funciones con IAM.
El RBAC de datos controla el acceso a datos o información específicos dentro de un sistema. Controla si un usuario puede ver, editar o borrar datos según sus roles. Por ejemplo, en un sistema de administración de relaciones con clientes (CRM), un representante de ventas puede tener acceso a los datos de contacto del cliente, pero no a los datos financieros, mientras que un administrador de finanzas puede tener acceso a los datos financieros, pero no a los datos de contacto del cliente.
El RBAC de datos y el RBAC de atributos suelen usarse juntos para proporcionar un sistema de control de acceso integral. Por ejemplo, un usuario puede tener permiso para acceder a una función específica (RBAC de funciones) y, dentro de esa función, su acceso a datos específicos puede restringirse según su rol (RBAC de datos).
Planifica tu implementación
Para planificar tu implementación, revisa la lista de roles y permisos predefinidos de Google SecOps en función de los requisitos de tu organización. Elabora una estrategia para definir los permisos que necesita tu organización y etiquetar los datos entrantes. Identifica a los miembros de tu organización que deben tener acceso a los datos asociados con estos permisos. Si tu organización requiere políticas de IAM que difieran de los roles predefinidos de SecOps de Google, crea roles personalizados para admitir estos requisitos.
Funciones de usuario
Los usuarios pueden tener acceso a datos limitados (usuarios con acceso limitado) o acceso a datos globales (usuarios con acceso global).
Los usuarios con permisos limitados tienen acceso limitado a los datos según los permisos asignados. Estos alcances restringen su visibilidad y acciones a datos específicos. Los permisos específicos asociados con el acceso con alcance se detallan en la siguiente tabla.
Los usuarios globales no tienen permisos asignados y tienen acceso sin restricciones a todos los datos dentro de Google SecOps. Los permisos específicos asociados con el acceso global se detallan en la siguiente tabla.
Los administradores del RBAC de datos pueden crear alcances y asignarlos a los usuarios para controlar su acceso a los datos en Google SecOps. Para restringir a un usuario a ciertos ámbitos, debes asignarle el rol de acceso a los datos restringidos de la API de Chronicle (roles/chronicle.restrictedDataAccess
) junto con un rol predefinido o personalizado. El rol de Acceso a los datos restringidos de la API de Chronicle identifica a un usuario como un usuario con permiso de acceso limitado. No es necesario asignar el rol de acceso a datos restringido de Chronicle a los usuarios que necesitan acceso a datos globales.
Se pueden asignar los siguientes roles a los usuarios:
Tipo de acceso | Funciones | Permisos |
---|---|---|
Acceso global predefinido | Se puede otorgar a los usuarios globales cualquiera de los roles de IAM predefinidos. | |
Acceso de solo lectura con alcance predefinido | Acceso a los datos restringido de la API de Chronicle (roles/chronicle.restrictedDataAccess ) y Visualizador de acceso a los datos restringido de la API de Chronicle (roles/chronicle.restrictedDataAccessViewer )
|
Visualizador de acceso a los datos restringido de la API de Chronicle |
Acceso centrado en el usuario personalizado | Acceso a los datos restringidos de la API de Chronicle (roles/chronicle.restrictedDataAccess ) y rol personalizado
|
Permisos personalizados dentro de las funciones |
Acceso global personalizado | Permiso chronicle.globalDataAccessScopes.permit y rol personalizado
|
Permisos globales dentro de las funciones |
A continuación, se incluye una descripción de cada tipo de acceso que se presenta en la tabla:
Acceso global predefinido: Por lo general, este acceso es obligatorio para los usuarios que necesitan acceso a todos los datos. Puedes asignar uno o más roles a un usuario según los permisos necesarios.
Acceso de solo lectura con alcance predefinido: Este acceso es para los usuarios que necesitan acceso de solo lectura. El rol de Acceso a los datos restringidos de la API de Chronicle identifica a un usuario como un usuario con permiso de acceso limitado. El rol de Visualizador de acceso a los datos restringidos de la API de Chronicle les otorga a los usuarios acceso de lectura a sus funciones.
Acceso personalizado con alcance: El rol de acceso a los datos restringidos de la API de Chronicle identifica a un usuario como un usuario con alcance. El rol personalizado especifica las funciones a las que puede acceder el usuario. Los permisos agregados al rol de Acceso a los datos restringidos de la API de Chronicle
especifican los datos a los que los usuarios pueden acceder en las funciones.
Para garantizar que los permisos personalizados de RBAC funcionen correctamente, no incluyas los permisos chronicle.DataAccessScopes.permit
ni chronicle.globalDataAccessScopes.permit
cuando crees los roles personalizados. Es posible que se incluyan estos permisos si usaste el editor de la API de Chronicle o el administrador de la API de Chronicle precompilados como punto de partida para tus roles personalizados.
Acceso global personalizado: Este acceso es para los usuarios que necesitan permisos ilimitados dentro de sus funciones asignadas. Para otorgar acceso global personalizado a un usuario, debes especificar el permiso chronicle.globalDataAccessScopes.permit
, además del rol personalizado que se le asigna al usuario.
Control de acceso con alcances y etiquetas
Google SecOps te permite controlar el acceso a los datos de los usuarios mediante permisos. Los permisos se definen con la ayuda de etiquetas que definen los datos a los que un usuario dentro del permiso tiene acceso. Durante la transferencia, los metadatos se asignan a los datos en forma de etiquetas, como el espacio de nombres (opcional), los metadatos de transferencia (opcional) y el tipo de registro (obligatorio). Estas son etiquetas predeterminadas que se aplican a los datos durante la transferencia. Además, puedes crear etiquetas personalizadas. Puedes usar etiquetas predeterminadas y personalizadas para definir tus permisos y el nivel de acceso a los datos que definirán los permisos.
Visibilidad de los datos con etiquetas de permiso y denegación
Cada permiso contiene una o más etiquetas allow access y, de manera opcional, etiquetas deny access. Las etiquetas de acceso permitido otorgan a los usuarios acceso a los datos asociados con la etiqueta. Las etiquetas de denegación de acceso les niegan a los usuarios el acceso a los datos asociados con la etiqueta. Las etiquetas de denegación de acceso anulan las etiquetas de acceso permitido para restringir el acceso del usuario.
En una definición de alcance, las etiquetas de acceso permitido del mismo tipo (por ejemplo, el tipo de registro) se combinan con el operador O, mientras que las etiquetas de diferentes tipos (por ejemplo, el tipo de registro y una etiqueta personalizada) se combinan con el operador Y. Las etiquetas de acceso denegado se combinan con el operador O. Cuando se aplican varias etiquetas de acceso denegado dentro de un alcance, se deniega el acceso si coinciden con CUALQUIERA de esas etiquetas.
Por ejemplo, considera un sistema de Cloud Logging que categorice los registros con los siguientes tipos de etiquetas:
Tipo de registro: Acceso, Sistema, Firewall
Espacio de nombres: App1, App2, Base de datos
Gravedad: Crítica, Advertencia
Considera un permiso llamado Registros restringidos que tiene el siguiente acceso:
Tipo de etiqueta | Valores permitidos | Valores denegados |
---|---|---|
Tipo de registro | Acceso, firewall | Sistema |
Espacio de nombres | App1 | App2, Base de datos |
Gravedad | Advertencia | Crítico |
La definición del alcance se ve de la siguiente manera:
Permitir: (Log type: "Access" OR "Firewall") AND (Namespace: "App1") AND (Severity: "Warning")
Denegar: Log type: "System" OR Namespace: App2 OR Namespace: Database OR Severity: "Critical"
Ejemplos de registros que coinciden con el alcance:
- Registro de acceso de App1 con gravedad: Advertencia
- Registro de firewall de App1 con gravedad: Advertencia
Ejemplos de registros que no coinciden con el alcance:
- Registro del sistema de App1 con gravedad: Advertencia
- Registro de acceso de la base de datos con gravedad: Advertencia
- Registro de firewall de App2 con gravedad: crítica
Visibilidad de los datos en los eventos enriquecidos
Los eventos enriquecidos son eventos de seguridad que se mejoraron con información y contexto adicionales más allá de lo que contienen los datos de registro sin procesar. Se puede acceder a los eventos enriquecidos dentro de un permiso solo si se puede acceder a su evento base dentro del permiso y si ninguna de las etiquetas enriquecidas incluye ninguna de las etiquetas de denegación del permiso.
Por ejemplo, considera un registro sin procesar que indica un intento de acceso fallido desde una dirección IP y tiene una etiqueta enriquecida user_risk: high
(indica un usuario de alto riesgo).
Un usuario con un permiso que tiene la etiqueta de denegación user_risk: high
no puede ver los intentos de acceso fallidos de los usuarios de alto riesgo.
Impacto de la RBAC de datos en las funciones de Google Security Operations
Después de configurar el RBAC de datos, los usuarios comienzan a ver datos filtrados en las funciones de Google Security Operations. El impacto depende de cómo se integre la función con los datos subyacentes. Para comprender cómo la RBAC de datos afecta a cada función, consulta Impacto de las funciones de Google Security Operations de la RBAC de datos.