a2_rbac: grant adequate scoped permissions to authn local admins (#78919) #81
Open
pmarillonnet
wants to merge 1 commits from
wip/78919-authn-local-admin-manager-perm
into main
pull from: wip/78919-authn-local-admin-manager-perm
merge into: entrouvert:main
entrouvert:main
entrouvert:wip/90438-API-de-creation-de-role-erreur-s
entrouvert:wip/90208-auth-oidc-catch-sig-error
entrouvert:wip/90337-phone-authn-registration-existing-account-sms-info
entrouvert:wip/89940-auth-oidc-logger-l-id-token-avan
entrouvert:wip/89456-api-client-password
entrouvert:wip/89627-dans-le-journal-pouvoir-filtrer
entrouvert:wip/83700-api-users-crud-phone-uniqueness-tel
entrouvert:wip/40685-squash-des-migrations-partial
entrouvert:wip/88158-phone-authn-lost-password-config-in-template-ctx
entrouvert:wip/88146-phone-authn-registration-fields-not-optional
entrouvert:wip/86937-accounts-multivalued-attribute-multiselect
entrouvert:wip/87701-phone-identifier-attribute-required
entrouvert:wip/56850-IndexError-filtrage-par-ou
entrouvert:wip/76835-open-redirection
entrouvert:wip/40685-squash-des-migrations
entrouvert:wip/72462-BO-inclure-courriels-dans-l-impo
entrouvert:wip/75205-rbac-admin-role-user-perm-restriction
entrouvert:wip/86671-accounts-multiple-attribute-readonly-display
entrouvert:wip/86670-api-users-attributes-multiple
entrouvert:wip/86663-idp-oidc-multiple-attributes-into-claims
entrouvert:wip/86086-FileNotFoundError-en-cherchant-a
entrouvert:wip/76224-enable-client-id-secret-edition-for-oidc-service
entrouvert:wip/76359-list-api-client-inherited-roles
entrouvert:wip/76858-Ne-pas-permettre-la-reutilisatio
entrouvert:wip/82737-authn-tel-post-registration-account-selection-buggy-form
entrouvert:wip/85276-bo-phone-identifier-duplicate-prevention
entrouvert:wip/75684-add-aria-required-to-registration-field
entrouvert:wip/82736-account-create-as-recent-authn
entrouvert:wip/68946-auth-oidc-provider-jwkset-from-wellknown
entrouvert:wip/82739-account-deletion-no-phone-yet-validated
entrouvert:wip/82522-ldap-user-bo-page-no-deletion-info
entrouvert:wip/83078-role-summary-refresh-cache-job-infra
entrouvert:wip/83211-a11y-add-title-attribute-to-password-policy-rules
entrouvert:wip/83078-role-summary-refresh-cache
entrouvert:wip/83227-phone-based-registration-api-save-registration-data
entrouvert:wip/83190-phone-registration-api-endpoint
entrouvert:wip/83024-idp-oidc-authz-default-max-value
entrouvert:wip/81334-manage-apiclient-edit-tabs
entrouvert:wip/81845-bo-form-error-on-hidden-tab
entrouvert:wip/82388-phone-authn-accounts-verification-label
entrouvert:wip/66416-ldap-add-ppolicy-support
entrouvert:wip/82128-do-not-migrate-role-attribution-condition-with-on-name-set
entrouvert:wip/81943-drf314
entrouvert:wip/81945-bookworm-jwcrypto-version
entrouvert:wip/81282-remove-user-phone-column
entrouvert:wip/81478-csv-buggy-password-hashes
entrouvert:wip/81152-phone-info-stats
entrouvert:wip/79807-zxcvbn-champs-profil
entrouvert:wip/80236-vacuum-at-cleanup
entrouvert:wip/78907-zxcvbn-champs-profil
entrouvert:wip/72614-phone-identifier-modification-ui
entrouvert:wip/79183-phone-authn-healthcheck-endpoint
entrouvert:wip/75474-auth-oidc-active-attributes-mapping
entrouvert:wip/79135-user-phone-model-field-deprecation
entrouvert:wip/79489-configuration-d-un-moyen-d-authe
entrouvert:wip/79507-page-d-info-sur-un-moyen-d-authe
entrouvert:wip/79528-libelle-valeur-par-defaut-du-sys
entrouvert:wip/77243-Voir-les-roles-administres-par-u
entrouvert:tmp-test-authn-migration
entrouvert:wip/78046-password-authn-identifier-selection
entrouvert:wip/78409-password-lost-phone-retrieval-next-url
entrouvert:wip/78096-password-lost-phone-retrieval-next-url
entrouvert:wip/78157-phone-registration-enforce-signed-next-url
entrouvert:wip/77756-authn-addroleaction-conditions
entrouvert:wip/77452-idp-oidc-ne-pas-lever-d-erreur-c
entrouvert:wip/77296-default-saml-service-appearance
entrouvert:wip/77366-authn-manager-oidc-claim-edit
entrouvert:wip/77309-default-saml-service-appearance
entrouvert:wip/69890-password-lost-sms-recovery
entrouvert:wip/72449-login-authn-single-identifier-field
entrouvert:wip/74969-auth-oidc-masquer-les-options-ho
entrouvert:wip/75138-sso-authz-default-appearance
entrouvert:wip/75139-neutral-authz-theme-bo-config
entrouvert:wip/76835-Verifier-la-possibilite-de-redir
entrouvert:wip/72538-auth-oidc-prompt-none-error
entrouvert:wip/76542-utiliser-hobo-multitenant-spoole
entrouvert:wip/76342-a2_rbac-role-natural-keys
entrouvert:wip/69606-statistics-performance
entrouvert:wip/65942-rebase
entrouvert:wip/73677-phone-usages-stats-command
entrouvert:wip/66053-csv-import-stocker-une-informati-postrebase-paul
entrouvert:wip/73150-fc-existing-account-manual-link
entrouvert:wip/66053-csv-import-stocker-une-informati
entrouvert:wip/73148-fc-link-mail-validation-on-account-create
entrouvert:wip/69561-page-title
entrouvert:wip/65877-idp-oidc-sync-claim-resolution
entrouvert:wip/65942-idp-oidc-client-api-access-queryset-reduction
entrouvert:wip/72870-fc-nolink-default
entrouvert:wip/auth-oidc-passive
entrouvert:wip/62710-auth-oidc-mainline-sync-cmd
entrouvert:wip/test-tox-4
entrouvert:wip/71463-api-ou-permissions-filtering
entrouvert:wip/66053-csv-import-verification-source
entrouvert:hotfix/v4.49
entrouvert:wip/71069-a11y-close-label-email-hint
entrouvert:wip/65411-auth-fc-locker-le-sub-pendant-le
entrouvert:wip/69335-check-password-drf-api
entrouvert:wip/69468-ldap-password-policy-control-mes
entrouvert:wip/69466-PasswordResetConfirmView-gerer-c
entrouvert:wip/69464-PasswordChangeView-en-cas-de-ref
entrouvert:hotfix/v4.37
entrouvert:wip/blocktrans-trimmed
entrouvert:wip/69526-apiclient-key
entrouvert:wip/62868-su-view-ldap-authn-failed-crash
entrouvert:wip/65411-auth-fc-sub-lock
entrouvert:wip/68607-Preparation-django-DeprecationWa
entrouvert:wip/68607-local-paul
entrouvert:wip/43221-CAS-and-referer-header
entrouvert:wip/xdist
entrouvert:wip/66986-saml-bo-idp-md-sources
entrouvert:wip/66794-role-add-form
entrouvert:wip/66497-manager-homepage
entrouvert:wip/60783-manu
entrouvert:wip/66207-sidepage-menu
entrouvert:wip/65943-idp-oidc-api-user-attr-reduction
entrouvert:wip/65122-user-deletion-message
entrouvert:wip/distutils
entrouvert:wip/63937-ldapobject-timeout
entrouvert:wip/62900-pm-personal-data-minimization-during-authz
entrouvert:wip/62889-pm-do-not-ask-again
entrouvert:wip/20690-Ajouter-automatiquement-des-role
entrouvert:hotfix/v3.81
entrouvert:wip/34829-Avoir-des-vues-backoffice-pour-q
entrouvert:wip/57499-role-members-through-soft-deletion
entrouvert:wip/61299-attribute-kinds-title
entrouvert:wip-paul/non-binary-title
entrouvert:wip/61196-manager-utiliser-le-nouveau-widg
entrouvert:wip/61188-UI-gestion-des-roles-impossible-
entrouvert:wip/50861-api-memberships-roles-ne-pas-ecr
entrouvert:wip/60493-ldap-enabled-option
entrouvert:wip/60488-auth-oidc-strategy-email
entrouvert:wip/locale-boolean-attr
entrouvert:wip/59414-test-59482
entrouvert:wip/58829-django-rbac-operation-model
entrouvert:wip/58948-missing-migration
entrouvert:wip/57663-Definir-une-permission-pour-acce
entrouvert:hotfix/v3.50
entrouvert:wip/47024-auth_oidc-faulty-provider-attribute-sharing-consent
entrouvert:wip/56850-IndexError-list-index-out-of-ran
entrouvert:wip/tox
entrouvert:wip/tel-account-simple
entrouvert:wip/53754-authentification-forcee-ForceAut
entrouvert:wip/54525-journal-expired-sessions
entrouvert:wip/54185-ldap-password-messages
entrouvert:hotfix/v3.34
entrouvert:wip/26277-remove-duplicated-jquery
entrouvert:hotfix/v3.32
entrouvert:wip/test-eo-jenkins-lib
entrouvert:hotfix/v3.2
entrouvert:hotfix/v2.100
entrouvert:wip/tel-account
entrouvert:wip/22687-pouvoir-utiliser-le-niveau-d-isolatoin-serializable-sur-postgresql
entrouvert:hotfix/v2.82
entrouvert:wip/48090-crash-migrations
entrouvert:wip/48352-custom-user-dans-free-text-searc
entrouvert:wip/tmp/paul-devinst-crash-troubleshooting
entrouvert:hotfix/v2.67
entrouvert:wip/36966-auth-oidc-signed-requests
entrouvert:hotfix/v2.64
entrouvert:hotfix/v2.62
entrouvert:hotfix/v2.47-email-validation
entrouvert:wip/importlib-resources-limit
entrouvert:wip/virtualenv-limit
entrouvert:wip/py3-nouvelle-vague
entrouvert:hotfix/v2.18
entrouvert:hotfix/v2.7
entrouvert:wip/33550-multifacteurs-2-haut-niv
entrouvert:wip/move-a2-rbac-tests
entrouvert:hotfix/v2.1.78
entrouvert:wip/33745-missing-migration-files
entrouvert:wip/misc_paul_ui_snapshots
entrouvert:wip/25645-roles-in-users-api
entrouvert:wip/26251-avatar-cadrage-cote-client-de-l-
entrouvert:wip/play-with-jenkinsfile
entrouvert:wip/25645-API-pour-obtenir-la-liste-des-roles-portes-par-un-utilisateur
entrouvert:wip/22865-Ne-plug-utiliser-pkg-resources-pour-charger-les-applications-incluses-dans-authentic
entrouvert:wip/stretch
entrouvert:wip/review-25045
entrouvert:wip/delete-render-block
entrouvert:wip/newpassword
entrouvert:wip/django111
entrouvert:release-2.1.20
entrouvert:release-2.1.19
entrouvert:release-2.1.18
entrouvert:release-2.1.15
entrouvert:release-2.1.14
entrouvert:release-2.1.13
entrouvert:debian-squeeze
No reviewers
Labels
Clear labels
No items
No Label
Milestone
Clear milestone
No items
No Milestone
Assignees
Clear assignees
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
No due date set.
Dependencies
No dependencies set.
Reference: entrouvert/authentic#81
Reference in New Issue
No description provided.
Delete Branch "wip/78919-authn-local-admin-manager-perm"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
WIP: a2_rbac: grant adequate scoped permissions to authn local admins (#78919)to a2_rbac: grant adequate scoped permissions to authn local admins (#78919)6b6cde71b3
to8c6e8c1f3f
8c6e8c1f3f
to1a5f5027f4
1a5f5027f4
to90aefc7b09
90aefc7b09
to151394e5a8
Une première approche, qui paraît pas complètement insensée, est d’accorder aux administrateurs locaux les permissions de visualisation, de modification et de création de moyens d’authentification, sans pour autant les autoriser à supprimer les authentificateurs existants.
C’est un compromis sur une base actuelle un peu floue qui est de cadrer ce que signifie l’appartenance à une OU d’un authentificateur (dans les faits, actuellement, une clé étrangère en base qui n’est pas utilisée).
Une autre piste, que je préfère un peu moins parce qu’elle implique de revenir en arrière sur un terrain qu’on devrait je crois défricher (l’OU d’appartenance des authentificateurs), c’est de retirer complètement les rôles d’administration par OU des moyens d’authentifications introduits dans #66984.
Mais le rôle s'appelle quand même « Administrateur », pour moi c'est trop de confusion d'avoir deux rôles nommés comme ça qui donnent des droits différents.
Non ce n'est pas à ça que sert le champ OU, il est utilisé par le backend OIDC pour créer les utilisateur dans l'OU indiquée, avec une vague idée d'étendre cette possibilité aux autres backends. Ça n'a pas grand chose à voir avec une éventuelle appartenance de l'authentificateur à une OU.
Pour moi il faut aller dans cette direction, sauf si c'est trop compliqué.
@ -94,6 +102,7 @@ MANAGED_CT = {
('authenticators', 'baseauthenticator'): {
'name': _('Manager of authenticators'),
'scoped_name': _('Authenticators - {ou}'),
'scoped_grants_global_change_perm': True,
Ne pas aller dans cette direction comme le dit Valentin, plutôt retirer tous les rôles d'administration des authentificateurs par OU.
Step 1:
From your project repository, check out a new branch and test the changes.Step 2:
Merge the changes and update on Gitea.