Open vokac opened 2 years ago
There's a couple of different issues here.
First, clashes of group names.
What you describe is certainly a (potential) problem.
The solution (as proposed by AARC G002) is to introduce a namespace of groups; for example, if two OPs both have a group test
then dCache may distinguish between them because these two test
groups would use different namespaces.
Under AARC G002, what you describe as a problem (two OPs asserting the same groups) is seen as a feature -- provided the two groups are (in some sense) the same group; for example, you could think of two OPs that share the same underlying group-membership database. The concept of "the same group" is simply that the two OPs using the same group namespace. (To be honest, I'm sceptical whether this is really useful.)
The groups asserted via WLCG AuthZ do not have the concept of group namespace. Instead, there's a (tacit) assumption that the OP is the authority of those groups. Because of this, my proposed way of handling this is to put all WLCG AuthZ groups into their own namespace, which is derived from the OP's identity.
All of this is to say that I agree with updating dCache to support oidcgrp:group_name@OP
, but for somewhat more complicated reasons.
The second problem is about authorisation.
Given the concept of group namespaces (introduced by G002), which group namespaces is the OP allowed to assert? My plan is to assume that the service (dCache) can trust the OP. The OP will only assert group membership it's allowed to assert.
It would be relatively easy to add support for restricting the namespaces; however, such configuration would be quite weird (partially trusting an OP) and I would like to see some concrete use-cases before implementing support.
Can we trust all OP not to accidentally add conflicting group name or become compromised? I don't like the idea that any other OP can potentially define access to our resources on shared RP. But if this is considered by EGI as a feature personally I can live with such behavior, because our storage sites will be explicitly configured not to allow any access to our storage via wlcg.groups
/ oidcgrp
.
Similarly to the #5950 and as discussed recently in WLCG AuthZ mailing list same problem apply also to
wlcg.groups
or generally token group identity mapping. Nobody can guarantee that two different OP doesn't use same group name and that meanoidcgrp
mapping is not sufficient with dCache that's used with tokens from multiple issuer.Multimap plugin should allow to specify OP also for
oidcgrp
mapping, e.g.