Commit Graph

63 Commits

Author SHA1 Message Date
Phil Davis
9d2be66a85 chore: add introductionVersion pre5.0 to environment variable docs 2024-03-06 17:50:20 +05:45
mmattel
6e721eb4f5 [docs-only] Fix envvar descriptions trailing a double dot 2024-02-06 11:52:10 +01:00
Ralf Haferkamp
dca0c653fb Removed deprecated envars scheduled for removal with 5.0.0
Fixes: #8025
2024-01-09 11:28:31 +01:00
jkoberg
3e55223f2d allow authentication for events
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-12-19 10:44:05 +01:00
Ralf Haferkamp
4cb6d99e88 graph/users: Make minimum search term length configurable 2023-12-07 10:21:45 +01:00
mmattel
5e74b50efb [docs-only] Fix envvars with a array slice ([]string) 2023-11-09 12:22:59 +01:00
Roman Perekhod
d185b7145f implement sharing roles (#7524)
Co-authored-by: Roman Perekhod <rperekhod@owncloud.com>
2023-10-24 15:01:11 +02:00
Ralf Haferkamp
8f284e7c2b Add OCIS_LDAP_BIND_PASSWORD envvar and deprecate LDAP_BIND_PASSWORD
For some reason LDAP_BIND_PASSWORD was forgotten when all the other global LDAP_
variables got renamed.

Also marks LDAP_BIND_PASSWORD and LDAP_USER_SCHEMA_ID_IS_OCTETSTRING for removal with 5.0.0

Partial: #7176
2023-09-20 19:00:11 +02:00
jkoberg
0cd5ad6415 use service accounts for graph
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-08-31 12:11:43 +02:00
Christian Richter
d7139d4127 remove deprecated variables
Signed-off-by: Christian Richter <crichter@owncloud.com>
2023-08-22 17:25:24 +02:00
Ralf Haferkamp
c0181f8144 graph: honor the OCIS_LDAP_GROUP_SCHEMA_MEMBER setting
Fixes: #7032
2023-08-17 11:06:34 +02:00
Ralf Haferkamp
51bc49d5b5 graph: Add config knob to set a minimal grace period for schoolTermination
When setting a terminationDate on a School, it's possible to configure a grace
period now so that only terminationDate that are at least a certain time in the
future can be set.
We also now forbid to set a terminationDate in the past.
2023-07-12 08:48:19 +02:00
mmattel
758192bd6d [docs-only] Fix some envvar descriptions 2023-06-09 13:03:17 +02:00
jkoberg
70391a0bf2 unify CACERT envvars
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-05-25 13:32:37 +02:00
Ralf Haferkamp
efc5e249e2 graph: Clarify wording for GRAPH_USERNAME_MATCH setting 2023-05-24 17:17:15 +02:00
Ralf Haferkamp
3e54c5b3db docs: clarify wording for 'OCIS_LDAP_SERVER_WRITE_ENABLED' 2023-05-24 10:24:19 +02:00
Phil Davis
4874da778c Reword 'allow to' sentences 2023-05-18 09:48:29 +05:45
jkoberg
c76fb5f412 add graph user capabilities
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-05-17 19:27:07 +02:00
Daniel Swärd
ec5d50149a Update services/graph/pkg/config/config.go
Co-authored-by: Martin <github@diemattels.at>
2023-05-10 17:19:53 +02:00
Daniel Swärd
1cc3fc92c0 graph/groups: Fix typos in config. 2023-05-10 16:28:26 +02:00
Ralf Haferkamp
1ad31218ec graph: Allow using binary LDAP UUIDs as user ids
In Active Directories UUID attributes such as "objectGUID" use a binary
syntax (oposed to the standard UUID syntax defined in RFC4530). This
introduces a flag to enable support for binary UUIDs as the id for users
and groups (similar to what the "users" and "groups" services already
support)

Fixes: #5815
2023-05-03 09:32:05 +02:00
mmattel
8ed34926ef [docs-only] Correct the removal version according semver to 4.0.0 2023-04-19 10:16:06 +02:00
Daniël Franke
2e8b741530 improve readme
Co-authored-by: Martin <github@diemattels.at>
2023-04-14 15:09:54 +02:00
Daniël Franke
8e32b4f5da Integrate keycloak and events data into graph.
This PR adds the data from keycloak and events into the GDPR export of
the graph service.
2023-04-14 15:09:54 +02:00
Ralf Haferkamp
0495e42534 Apply suggestions from code review
Co-authored-by: Martin <github@diemattels.at>
2023-04-06 10:00:20 +02:00
Ralf Haferkamp
359bf13ce6 Apply suggestions from code review
Co-authored-by: Martin <github@diemattels.at>
2023-04-06 09:55:19 +02:00
Daniel Swärd
afbfd2d6b2 Deprecating and renaming many environment variables
Fixes #5767
Fixes #5905
Fixes #5532
2023-04-05 11:05:48 +02:00
kobergj
78ab7d6750 Merge pull request #6009 from 2403905/introduceGlobalVariables
Introduced global OCIS_EVENTS_ENDPOINT and OCIS_EVENTS_CLUSTER #5901
2023-04-05 10:20:48 +02:00
Ralf Haferkamp
120887abcc graph: new config option GRAPH_LDAP_GROUP_CREATE_BASE_DN
By setting GRAPH_LDAP_GROUP_CREATE_BASE_DN a distinct subtree can be
configured where new LDAP groups are created. That subtree needs to be
subordinate to GRAPH_LDAP_GROUP_BASE_DN. All groups outside for
GRAPH_LDAP_GROUP_CREATE_BASE_DN are considered read-only and only groups
below that DN can be updated and deleted.

This is introduced for a pretty specific usecase where most groups are managed
in an external source (e.g. a read-only replica of an LDAP tree). But we still
want to allow the local administrator to create groups in a writeable subtree
attached to that replica.
2023-04-04 15:56:57 +02:00
Roman Perekhod
fcfb2ab9fa Introduced global OCIS_EVENTS_ENDPOINT and OCIS_EVENTS_CLUSTER #5901 2023-04-04 15:43:03 +02:00
Michael Barz
e313248cee add missing cors config 2023-04-03 17:29:49 +02:00
jkoberg
442c53f796 add gdpr export endpoint
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-03-29 16:02:42 +02:00
Dennis Sieben
e28603e633 - fixed typos 2023-03-27 08:54:51 +02:00
Jörn Friedrich Dreyer
6bec87f582 Proxy accesstoken cache store (#5829)
* refactor middleware options

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* use ocmemstore micro store implementaiton for token cache

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* refactor ocis store options, support redis sentinel

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* align cache configuration

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* database and tabe are used to build prefixes for inmemory stores

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* add global persistent store options to userlog config

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* log cache errors but continue

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* drup unnecessary type conversion

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* Better description for the default userinfo ttl

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* use global cache options for even more caches

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* don't log userinfo cache misses

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* default to stock memory store

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* use correct mem store typo string

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* split cache options, doc cleanup

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* mint and write userinfo to cache async

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* use hashed token as key

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* go mod tidy

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* update docs

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* update cache store naming

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* bring back depreceted ocis-pkg/store package for backwards compatability

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* update changelog

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* Apply suggestions from code review

Co-authored-by: kobergj <jkoberg@owncloud.com>

* revert ocis-pkg/cache to store rename

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* add waiting for each step 50 milliseconds

* starlack check

---------

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
Co-authored-by: kobergj <jkoberg@owncloud.com>
Co-authored-by: Viktor Scharf <scharf.vi@gmail.com>
2023-03-22 15:21:57 +01:00
Ralf Haferkamp
81c0f21f78 graph: Allow to disable the default role assignment on user creation
Introduces a switch ('GRAPH_ASSIGN_DEFAULT_USER_ROLE') to allow to disable the assignment of the default role "User" to newly created users.
This will be used for setups where the role-assignments are populated either manually or during first login (e.g. from OIDC claims)
2023-03-15 15:42:57 +01:00
Daniel Swärd
b12b2d2bac Updating env variable description for userType attribute. 2023-03-15 12:05:29 +01:00
Daniel Swärd
23ba180e8a graph: Use userType property to distinguish between Member and Guest accounts
Fixes 5603

- Calling POST /graph/v1.0/users with userType not set will create a user as "Member"
- Calling POST /graph/v1.0/users with userType set as "Member" or "Guest" will create a user as "Member" or "Guest"
- Calling POST /graph/v1.0/users with userType set as anything but "Member" or "Guest" returns error
- Calling POST /graph/v1.0/education/users with userType not set will create a user as "Member"
- Calling POST /graph/v1.0/education/users with userType set as "Member" will create a user as "Member" and primary role as parameter specifies
- Calling POST /graph/v1.0/education/users with userType set as "Guest" will create a user as "Guest" and primary role as parameter specifies
- Calling POST /graph/v1.0/education/users with userType not set as anything but "Member" or "Guest" returns error
- Calling PATCH on /users or /education/users will update attribute in the same way as for POST
2023-03-15 12:05:29 +01:00
mmattel
f522b912e9 [docs-only] Small description text fixes for envvars 2023-03-06 16:41:58 +01:00
Daniel Swärd
ca746106d8 graph: Allow disabling user by adding to local group
* A new config option for disabling users with the options "none", "attribute" and "group".
* When set to "none", there will be no enabledAttribute returned in user info and trying to change enabledAttribute will return an error
* Disable/enable group name DN as config parameter
* Adding/removing users to specified group on user update
* Changing log level for service initialization failure to error
* Adding helper methods to check if user is enabled/disabled + tests

Fixes #5554
2023-03-06 09:31:23 +01:00
Daniël Franke
bea3ec6207 Add refint support to user rename.
When refint is enabled on an LDAP server, it will rename all references
to an entity if its DN is modified. If this happens, the member
renames will not be needed, and will also return an error.

This PR does the following:

* Detects the attribute error, and don't return an error.
* Log that the server has been misconfigured.
* Add config value that skips renaming if set.
2023-02-20 14:40:10 +01:00
Daniel Swärd
fcf5783a1b graph: Add accountEnabled flag to ldap backend. (#5588)
* graph: Add accountEnabled flag to ldap backend.

* Add missing accountEnabled attribute to user listing.
2023-02-17 13:48:12 +01:00
mmattel
210cd54817 fix some envvar descriptions 2023-02-03 09:40:35 +01:00
Daniel Swärd
96239af982 graph: Allow provisioning users with legacy names (#5255)
Via configuration you can now configure to skip the validation of username and
instead decide to trust the upstream system that is adding users.
2023-01-18 12:25:53 +01:00
Jörn Friedrich Dreyer
078698fdf4 graph: add appRoleAssignments and minimal application resource (#5318)
* bump libregraph-go lib

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* add appRoleAssignment stubs

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* add get application stub

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* fetch appRoles for application from settings service

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* initial list appRoleAssignments implementation

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* initial create appRoleAssignment implementation, extract assignmentToAppRoleAssignment, configurable app id and displayname

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* initial delete appRoleAssignment implementation, changed error handling and logging

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* initial expand appRoleAssignment on users

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* test user expand appRoleAssignment

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* test appRoleAssignment

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* fix education test by actually using the mocked roleManager

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* test getapplication

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* list assignments

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* use common not exists error handling

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* default to just 'ownCloud Infinite Scale' as application name

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* fix store_test

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* roll application uuid on init

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* fix tests

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* extract method

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* Apply suggestions from code review

Co-authored-by: Michael Barz <mbarz@owncloud.com>

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
Co-authored-by: Michael Barz <mbarz@owncloud.com>
2023-01-12 16:09:34 +01:00
Florian Schade
bb1540fc45 [full-ci] add identitySet displayName property to the group and user sets (#5347)
* add identitySet displayName property to the group and user sets
2023-01-10 15:42:13 +01:00
Daniël Franke
425ebb8084 Change naming 2023-01-10 11:45:24 +01:00
Daniël Franke
49d71ea111 Make amount of users in patch configurable.
This PR changes the following:

* Create an API config section for API configurables.
* Add a setting `UserPatchLimit` that controls how many users can be changed in a PATCH request.
* Use this setting in the API to limit the amount of users that can be changed.
2023-01-10 11:45:24 +01:00
Jörn Friedrich Dreyer
5a1d3ebe82 config and logging fixes
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2022-12-21 15:38:14 +01:00
Ralf Haferkamp
b302af88f6 Add basic config setting for LDAP education backend
require LDAP support for Education resources to be explicitly enabled.
Default to a NOOP implementation if disabled.
2022-12-21 15:38:14 +01:00
Ralf Haferkamp
ee54a4c30c Update/align a few TLS variable description
Fixes: 5073
2022-11-23 13:07:29 +01:00