Las acciones de privilegio definen las operaciones que un usuario de base de datos o un rol personalizado puede realizar en los procesadores de flujo dentro de un espacio de trabajo de procesamiento de flujo. Asigne solo las acciones de privilegio que un usuario necesita a ese usuario o a un rol personalizado.
Todas las acciones con privilegios se aplican al espacio de trabajo de procesamiento de flujos en su conjunto. No se pueden limitar a procesadores individuales con nombre dentro de un espacio de trabajo de procesamiento de flujos. Todas las acciones son válidas únicamente en instancias de Atlas Stream Processing.
Un usuario con el atlasAdmin rol o readWriteAnyDatabase puede realizar todas las acciones de procesamiento de flujos. Un usuario con el readAnyDatabase rol puede realizar el subconjunto de solo lectura. Para obtener más información, consulte el Resumen de roles integrados.
Si un usuario no tiene el privilegio necesario para realizar una acción, el comando devuelve MongoServerError[Unauthorized]: not authorized: missing privilege for action <privilege-action> on resource <resource>.
Para crear un rol personalizado con acciones de privilegio específicas de Atlas Stream Processing,consulte Agregar roles personalizados.
Resumen de roles integrados
La siguiente tabla muestra los roles integrados que incluyen acciones con privilegios de procesamiento de flujos de Atlas.
Rol incorporado | Acciones privilegiadas incluidas |
|---|---|
Todas las acciones de privilegio de Atlas Stream Processing | |
| |
Todas las acciones de privilegio de Atlas Stream Processing |
Acciones de procesamiento de flujos de Atlas
createStreamProcessorAutoriza el método, que define un nuevo procesador de flujo con nombre, con su canalización y
sp.createStreamProcessor()opciones.Asigne esta acción para permitir a los usuarios crear procesadores de flujo con nombre antes de iniciarlos.
Nota
Atlas Stream Processing valida el formato de nivel en el momento de la creación. Atlas Stream Processing aplica el tamaño máximo del nivel cuando se inicia el procesador, no cuando se crea.
dropStreamProcessorAutoriza el método, que elimina permanentemente un procesador de flujo con
sp.processor.drop()nombre.Asigne esta acción para permitir a los usuarios eliminar procesadores de flujo. Un usuario con esta acción puede eliminar cualquier procesador en el espacio de trabajo de procesamiento de flujo. No existe ningún mecanismo que restrinja esta acción a procesadores específicos con nombre.
getStreamProcessorAutoriza el comando
getStreamProcessor, que recupera el estado y la configuración de un procesador de flujo con nombre. Los resultados incluyen el nombre, el estado, la canalización, el mensaje de error y la hora del último cambio de estado.Asigne esta acción para permitir a los usuarios inspeccionar el estado de un procesador de flujo específico.
listStreamConnectionsAutoriza el
sp.listConnections()método, que enumera todas las conexiones en el registro de conexiones del espacio de trabajo de procesamiento de flujos. Según el tipo de conexión, los resultados pueden incluir el nombre de la conexión, el tipo, el nombre del clúster, el ID del proyecto, la región, los servidores de arranque y los campos de la cuenta de almacenamiento.Asigne esta acción para permitir a los usuarios ver las fuentes y destinos de datos disponibles para los procesadores de flujo en el espacio de trabajo de procesamiento de flujo.
listStreamProcessorsAutoriza el método, que muestra todos los procesadores de flujo en un espacio de trabajo de procesamiento de flujo. Los resultados pueden incluir nombre, ID, hora de última modificación, estado, nivel, mensaje de error, número de trabajadores, canalización, cola de mensajes fallidos y hora del último cambio de estado. Se puede aplicar un filtro para refinar los
sp.listStreamProcessors()resultados.Asigne esta acción para permitir a los usuarios descubrir todos los procesadores de flujo en un espacio de trabajo de procesamiento de flujo. Los controladores y las herramientas también requieren esta acción para generar listas de procesadores. El comando devuelve todos los procesadores en el espacio de trabajo de procesamiento de flujo. No existe ningún mecanismo que restrinja la visibilidad a procesadores específicos con nombre.
modifyStreamProcessorAutoriza el método, que modifica un procesador de flujo
sp.processor.modify()existente.Asigne esta acción para permitir a los usuarios actualizar la configuración de un procesador de flujo sin tener que eliminarlo y volver a crearlo.
processStreamProcessorAutoriza el comando
processStreamProcessor, que ejecuta una canalización de procesamiento de flujo en modo de una sola vez sin crear un procesador con nombre.Asigne esta acción para permitir a los usuarios ejecutar una canalización en modo de ejecución única.
Nota
Para ejecutar el
sp.process()método de mongosh, asigne también lasampleStreamProcessoracción de privilegio.sp.process()utiliza internamente el mecanismo de muestra y requiere ambos privilegios.
sampleStreamProcessorAutoriza el método y
sp.processor.sample()losstartSampleStreamProcessorgetMoreSampleStreamProcessorcomandos subyacentes y. UsestartSampleStreamProcessorpara iniciar una sesión de muestreo en un procesador de flujo en ejecución con nombre. UsegetMoreSampleStreamProcessorpara recuperar el siguiente lote de resultados. El tamaño de lote predeterminado es 5 cuandobatchSizees 0 o se omite.Asigne esta acción para permitir a los usuarios previsualizar la salida en tiempo real de un procesador de flujo en ejecución o paginar los resultados muestreados. La sesión de muestreo se conecta a la salida en tiempo real del procesador. El procesador genera resultados solo mientras está en ejecución.
startStreamProcessorAutoriza el
sp.processor.start()método, que inicia o reanuda un procesador de flujo con nombre.Asigne esta acción para permitir a los usuarios iniciar o reanudar un procesador de flujo con nombre.
stopStreamProcessorAutoriza el
sp.processor.stop()método, que detiene un procesador de flujo con nombre en ejecución.Asigne esta acción para permitir a los usuarios pausar o detener un procesador de flujo en ejecución.
streamProcessorStatsAutoriza el método, que utiliza
sp.processor.stats()elgetStreamProcessorStatscomando para recuperar métricas operativas de un procesador de flujo. Atlas Stream Processing omite el documento de estadísticas cuando no hay métricas disponibles. Paseverbose: truepara obtener más detalles. El modo detallado no requiere ningún privilegio adicional.Asigne esta acción para permitir a los usuarios supervisar el rendimiento, las tasas de error o las métricas operativas de un procesador de flujo.