-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
authz default behavior should not be vendor prerogative #99
Comments
@tomek-US I think some of this came from authz convesions Tomek worked through. wanna take a shot at that and attach it to this issue? |
I agree with this.
authz.proto helps in pushing the policy from the controller to the network element. But the policy must be consumed by gRPC server ultimately. gRPC stack's built-in authorization module is implemented here and it expects json format. |
I've tried to address the first two bits and fix the json example in the protobuf comment in #104 As for the use of JSON, it seems inconsistent and unnecessary. If the server wishes to use JSON internally, that is its prerogative, but should not be part of the API, or the user should have the option of using either. Of course, this is just my opinion. |
ok, pending the conversation being sorted seems good to me. |
Shall we split the json discussion off to separate issue? |
seems reasonable to me! :) |
Created #136 to splitt-off the json discussion. |
From authz/README.md, this is a bad choice, imo:
"A default gRPC-level Authorization Policy for every active gRPC service.
The initial default gRPC-level Authorization Policy can either allow access to all RPCs or deny access to all RPCs except for the gNSI.authz family of RPCs."
The default behavior should be prescribed and it probably should be 'permit' for the element of least surprise. Vendors choosing their default leads to operators needing to remember which vendor does what, like what is the default at the end of route-map vs a policy-statement, and be sure to have policy appropriate for each.
Also, this default policy makes no mention of the disposition of an authorization if a policy is defined and matches neither deny_rules or allow_rules.
And, there is no mention in the prot of the json schema for rules, and the README points to an MR rather than the actual proto.
And, why are rules in json rather than just a proto? Or, why isnt there a method to just use a normal proto w/o json serialization?
The text was updated successfully, but these errors were encountered: