Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

[Idea] User permissions on a server #7731

Open
romain-neil opened this issue Jun 22, 2020 · 4 comments
Open

[Idea] User permissions on a server #7731

romain-neil opened this issue Jun 22, 2020 · 4 comments
Labels
A-Moderation Tools for moderating HSes: event redaction, media removal, purge admin API, reports from users, ... T-Enhancement New features, changes in functionality, improvements in performance, or user-facing enhancements.

Comments

@romain-neil
Copy link

romain-neil commented Jun 22, 2020

I wonder how I can manage new users permissions: for example, what can do a new registered user (create a room ? ...)

A solution could be a user management panel, or something similar to this, which allow to create or delete user roles, set default roles for people which login (with ldap module for example).

For organizations, this could seriously compete with teams

As mentioned in a issue of riot-web, matrix and Synapse do not currently expose APIs to manage user permissions.

@clokep
Copy link
Member

clokep commented Jun 22, 2020

I believe that this is essentially a duplicate of element-hq/element-web#6660. Or at least that would need to be fixed first before tying it into any LDAP/SSO solution.

@clokep clokep closed this as completed Jun 22, 2020
@e-lisa
Copy link

e-lisa commented Sep 11, 2020

Hi, I believe this is not a duplicate of element-hq/element-web#6660, but its own unique and highly important issue. With out this feature anti-abuse with Matrix is impossible. The Synapse server my organization runs has been shut down until further notice due to the massive abusive traffic the Synapse server receives. Since the chat administrators do not have any global server permissions, they cannot ban or administrate the server when it is under attack. Therefore, it can no longer be part of our stack until we find a work around

My understanding is this:

  • If you run matrix, you may run into abusive users who:
    • Private Message users inappropriate/illegal content
    • Create Rooms with inappropriate/illegal content
  • People would like there to be a way to BAN a user by IP address (otherwise they can just keep coming back with disposable email addresses). However this feature currently does not exist because:
    • Synapse has no ALCs for users outside of the scope of rooms (no global admins), therefore the concept of "chat administrator" cannot really exist outside of a per-room basis. This is not useful when a malicious user is abusing the entire server.
    • Clients like Element Web cannot implement "chat administrator" roles until Synapse has some way of expressing permissions/ACLs on its end

Sorry to be a pain, but I work with a few different orgs, and we are no longer able to use Matrix for our chat. We need a way to administrate the chat, its just a basic feature for our use case (allowing public sign-up)

I also want to reference two Element Web bugs that could leverage this feature to implement a web-based-administrative solution:

TL;DR abusive users can abuse our Matrix server, and our chat admin have no way of fighting it. The only recourse we have is to shut down matrix. If Synapse had the ability to have server-wide ACLs, we could advocate/volunteer to projects like Element Web to build an administrative interface.

I hope my user story shows how this feature set is long over due, and makes a strong case for having the ability to administrate your own server :)

@erikjohnston
Copy link
Member

I concur that this isn't a duplicate of element-hq/element-web#6660, and sounds like useful functionality. Specifically: the ability to restrict new users creating rooms, inviting users, etc. If coupled with a timer (i.e. accounts have to be 30days old) or registration approval (#6911) this could be a useful tool to combat spam users.

@erikjohnston erikjohnston reopened this Sep 11, 2020
@erikjohnston erikjohnston added z-feature (Deprecated Label) z-p2 (Deprecated Label) labels Sep 11, 2020
@neilisfragile neilisfragile added the A-Moderation Tools for moderating HSes: event redaction, media removal, purge admin API, reports from users, ... label Sep 24, 2020
@erikjohnston erikjohnston added T-Enhancement New features, changes in functionality, improvements in performance, or user-facing enhancements. and removed z-p2 (Deprecated Label) z-feature (Deprecated Label) labels Feb 23, 2022
@almereyda
Copy link
Contributor

matrix-org/synapse-user-restrictions answers partly to this question.

create a room ?

This module allows restricting users, that match given regular expressions, from performing actions such as creating rooms or sending invites.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A-Moderation Tools for moderating HSes: event redaction, media removal, purge admin API, reports from users, ... T-Enhancement New features, changes in functionality, improvements in performance, or user-facing enhancements.
Projects
None yet
Development

No branches or pull requests

6 participants