From b7f0242090579745dff25ea1bed32ac84fc3f517 Mon Sep 17 00:00:00 2001 From: Caleb Doxsey Date: Mon, 1 Feb 2021 15:22:02 -0700 Subject: [PATCH] authorize: remove admin (#1833) * authorize: remove admin * regen rego * add note to upgrading --- authenticate/authenticate_test.go | 29 -- authenticate/handlers.go | 6 - authenticate/state.go | 10 +- authorize/evaluator/evaluator.go | 1 - authorize/evaluator/opa/policy/authz.rego | 14 - .../evaluator/opa/policy/authz_test.rego | 11 - authorize/evaluator/opa/policy/statik.go | 2 +- authorize/evaluator/store.go | 5 - authorize/evaluator/store_test.go | 12 - config/options.go | 7 - docs/docs/upgrading.md | 4 + integration/control_plane_test.go | 24 -- internal/controlplane/xds_listeners_test.go | 36 -- internal/controlplane/xds_routes.go | 11 - internal/controlplane/xds_routes_test.go | 6 - pkg/grpc/config/config.pb.go | 406 +++++++++--------- pkg/grpc/config/config.proto | 1 - 17 files changed, 204 insertions(+), 381 deletions(-) diff --git a/authenticate/authenticate_test.go b/authenticate/authenticate_test.go index c811eea9c..680e323e7 100644 --- a/authenticate/authenticate_test.go +++ b/authenticate/authenticate_test.go @@ -3,9 +3,6 @@ package authenticate import ( "testing" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "github.com/pomerium/pomerium/config" ) @@ -131,29 +128,3 @@ func TestNew(t *testing.T) { }) } } - -func TestIsAdmin(t *testing.T) { - tests := []struct { - name string - user string - admins []string - isAdmin bool - }{ - {"Is admin", "foo@bar.com", []string{"foo@bar.com"}, true}, - {"Is not admin", "foo@bar.com", []string{"baz@bar.com"}, false}, - {"Empty admin groups", "foo@bar.com", []string{}, false}, - {"Empty user", "", []string{"foo@bar.com"}, false}, - } - for _, tc := range tests { - tc := tc - t.Run(tc.name, func(t *testing.T) { - t.Parallel() - opts := newTestOptions(t) - opts.Administrators = tc.admins - a, err := New(&config.Config{Options: opts}) - a.OnConfigChange(&config.Config{Options: opts}) - require.NoError(t, err) - assert.True(t, a.isAdmin(tc.user) == tc.isAdmin) - }) - } -} diff --git a/authenticate/handlers.go b/authenticate/handlers.go index cdad2ad5b..5c7a232ae 100644 --- a/authenticate/handlers.go +++ b/authenticate/handlers.go @@ -430,12 +430,6 @@ func (a *Authenticate) deleteSession(ctx context.Context, sessionID string) erro return session.Delete(ctx, state.dataBrokerClient, sessionID) } -func (a *Authenticate) isAdmin(user string) bool { - state := a.state.Load() - _, ok := state.administrators[user] - return ok -} - func (a *Authenticate) userInfo(w http.ResponseWriter, r *http.Request) error { ctx, span := trace.StartSpan(r.Context(), "authenticate.userInfo") defer span.End() diff --git a/authenticate/state.go b/authenticate/state.go index 40dc4a0c2..d1a67fcdf 100644 --- a/authenticate/state.go +++ b/authenticate/state.go @@ -26,8 +26,6 @@ import ( type authenticateState struct { redirectURL *url.URL - // administrators keeps track of administrator users. - administrators map[string]struct{} // sharedEncoder is the encoder to use to serialize data to be consumed // by other services sharedEncoder encoding.MarshalUnmarshaler @@ -55,8 +53,7 @@ type authenticateState struct { func newAuthenticateState() *authenticateState { return &authenticateState{ - administrators: map[string]struct{}{}, - jwk: new(jose.JSONWebKeySet), + jwk: new(jose.JSONWebKeySet), } } @@ -71,11 +68,6 @@ func newAuthenticateStateFromConfig(cfg *config.Config) (*authenticateState, err state.redirectURL, _ = urlutil.DeepCopy(cfg.Options.AuthenticateURL) state.redirectURL.Path = cfg.Options.AuthenticateCallbackPath - state.administrators = make(map[string]struct{}, len(cfg.Options.Administrators)) - for _, admin := range cfg.Options.Administrators { - state.administrators[admin] = struct{}{} - } - // shared state encoder setup state.sharedEncoder, err = jws.NewHS256Signer([]byte(cfg.Options.SharedKey)) if err != nil { diff --git a/authorize/evaluator/evaluator.go b/authorize/evaluator/evaluator.go index 73a6db53b..1addf5146 100644 --- a/authorize/evaluator/evaluator.go +++ b/authorize/evaluator/evaluator.go @@ -63,7 +63,6 @@ func New(options *config.Options, store *Store) (*Evaluator, error) { return nil, fmt.Errorf("error loading rego policy: %w", err) } - store.UpdateAdmins(options.Administrators) store.UpdateRoutePolicies(options.GetAllPolicies()) e.rego = rego.New( diff --git a/authorize/evaluator/opa/policy/authz.rego b/authorize/evaluator/opa/policy/authz.rego index 17d87f41e..c0d87babb 100644 --- a/authorize/evaluator/opa/policy/authz.rego +++ b/authorize/evaluator/opa/policy/authz.rego @@ -88,20 +88,6 @@ allow { # allow pomerium urls allow { contains(input.http.url, "/.pomerium/") - not contains(input.http.url, "/.pomerium/admin") -} - -# allow user is admin -allow { - element_in_list(data.admins, user.email) - contains(input.http.url, ".pomerium/admin") -} - -# deny non-admin users from accesing admin routes -deny[reason] { - reason = [403, "user is not admin"] - not element_in_list(data.admins, user.email) - contains(input.http.url,".pomerium/admin") } deny[reason] { diff --git a/authorize/evaluator/opa/policy/authz_test.rego b/authorize/evaluator/opa/policy/authz_test.rego index 9975ac840..7dc98c585 100644 --- a/authorize/evaluator/opa/policy/authz_test.rego +++ b/authorize/evaluator/opa/policy/authz_test.rego @@ -248,17 +248,6 @@ test_pomerium_allowed { }] with input.http as { "url": "http://example.com/.pomerium/" } } -test_pomerium_denied { - not allow with - data.route_policies as [{ - "source": "example.com", - "allowed_users": ["bob@example.com"] - }] with - input.http as { - "url": "http://example.com/.pomerium/admin", - "host": "example.com" - } -} test_cors_preflight_allowed { allow with diff --git a/authorize/evaluator/opa/policy/statik.go b/authorize/evaluator/opa/policy/statik.go index a75e09543..35178b41a 100644 --- a/authorize/evaluator/opa/policy/statik.go +++ b/authorize/evaluator/opa/policy/statik.go @@ -9,6 +9,6 @@ import ( const Rego = "rego" // static asset namespace func init() { - data := "PK\x03\x04\x14\x00\x08\x00\x08\x00\x13y,R\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00 \x00authz.regoUT\x05\x00\x01w\xbb\xfd_\xacXOs\xdb\xb8\x0e?K\x9f\x02O\xbdH\xaf\x8a\xd2\xbe?\x87u\xc7\x9b\xcd\xf4\xb4\x87\xddt\xda\xedI\xa3\xb2\x94\xc4\xd8l$RKRi\xdc\xb4\xdf}\x07$e\xcb\xb2\xad\xa6Is\x88m\x10\xf8\xe1\x07\x10\x02Au\xb4\xba\xa1+\x06\x9dl\x99\xe2}\x9b\xd1\xde\xac\xbf\x84a\xcd\xaei\xdf\x18\xa0M#?\xc3\x12\xaei\xa3Y\x18\x86J\xf6\x86\x91N6\xbc\xda\x10^\xdf\xc1b \xd7\\iC\xac&\xab\xc9T#\xe6\xa2\xebM\xb66\xa6\xcbz\xd5${\x10h^SC\xb3\x91\x903\x9dOA\x8aP3\xad\xb9\x14h\xe0\x00\xd1\xacT\xf2\x86)b\x11\xbcB\xd8k\xa6Nk\xe1j\xb8R\xb2\xef\xf4i%\xb7\x1e\x86\xb4i\xb6a\xd5\xb2\xa5\\X\xa3\x153Sq<&\x9c\xec\x19\xee\x9c\x8d\xed\x9ct\xc6\x0c\x89\x1eXY\xe1\x8c\x11\xaf;R5\x94\xb7\x07\x96\xbb\x95\x89y\xc85\xe1m\xc7\x94\x96\x82\x1a.VhY\xc9^\x98\xd8g4\xdb-3\xc2Z\xca\x9b\x04~\x85\x17a\xf8\xccWG\xd7\x97\x0d\xafB\xf7\xe3>\x0c\xc6\x0e\xb2K\x94\xbe\xb1\x1a\xef\x05\x16\x17\x13\x86W\xd4\xb0\xfa\xb2\xaa\x98\xd6\xb0\\\x82Q=\x0b\xbf\xed\x00+\xa94t\x8a]7|\xb56'\x80__\xbd}\xe7\xc0\x07\xc5-T0*\xb9\x96\x99\xb5\xacq)\xbaz\xf3\xd7\xefW\x7f\xbe\x8b\xc2\xc0\xc5'\xcbO\xac2\xd9\x8a\x99q\x8d\xae\x19\xad\x99\xd2)D\x8e\xe0\xd9k)\x8c\x92\xcd\xd9[\xf6w\xcf\xb49\xfb\xc3\"F)\xe4E\xe22\xf1@\xbc+\xc5W\\\x8c\x0dG1S\xb1\x81\xbd\xf4\x80-\xd5!v\x00\x80\xc3\xbc^\x8a\xcd\xe5\xd8\xe6=\xd6\xfe\x90\x054\x19\xb6\x10\xb1\x08\xaf\xe1_K\x88\xa2\xb1\xdbr\x03vKwI\x16\xd2\xc0\xb4&\xc2\x00\x012\xab\x89\xf8\x07\x85\x9a\x93b\x8cj\xab\xfb{\x90Z\xb6\xcck\x06\xeeq\xc8I\x01\xcbAt\xf8\x0c\x8d\x97\xf7C\x18U\xe84\x9cC\xbf\xc7\xc8\xc3\x12NV\xfb\x8c\xafI\x9c\xf31\x1es\xf0\xc4\xb8]\xf7yP\xa2\xbdj`C\"\\\xf8\xce\x15\xef66\x85#\xfd.w\x9fE2\x93\x85)\x8b\x1fdp2\xf1?D\x88\xaa\x92\x1bE\xd5\x06x\xdd\x81ku{O\x0fU\xccw\xc0\x012>\xde:sR\xa4\xdbjp\"t\xf6x,\x9b\xe2\x1d\xd0\xaeo\xfa3\x17z\xd5\xec\xb8\x06\x95\x14\xc6\x9e)\xfb\x07g\n\xd1y6\x98\x9cG\x89\xdb\xed\x07)\xd3\xba\xe5\"\xda\xf3mOI\xae\xc1.\xed|\xb3\x86\xb5L\x18\xdc\x9d\x86k\x13\xdb\xe3\xd0\xeah\x1f\x87;\x00\xe6X\x9e\xf0[3\xb1\x01!\xc5\x99\x95\x82;\xdf\xae\x95l\x81b\x9f\xc5\x93\xc7\xad\xd86\xa7C\xd4\xcf\x15\xa3Z\x8a\xc26\x7f\xfb\x15\x96\x90\xff\xef\xc5\x7fS\x88\x86\x080\x0b\xceQ\xe1R\xf2\xf4\x18\x8e\x870C\xe8\x97\xff\xa7\x10qqK\x1b^C\xd5p&\x0cTL\x19~m\xfb22\xe3\x9a\x94R6\x8c\n\xef\x8dkb\xf5\x89\xd3'#}\xbf\xb7\xdf\xd5s\x89U\xcc\xf4Jh0k\xe6F1h\xa9\xa9\xd6\x98P\x9b\xca\xf0!\xf3\x19\xc1\xd1\x0c\x86Yn4\xdf\xdd\x87\xc1\x81l\xb1\x84\x1c?\xbf\x82}\xb0y}\x97\x82[~\xe5?\xe1\xf8X\x87\x93\xdc+\xd8crP?~0)\xf2\x17\xf6H9\xa2L\xc6z\xf7\xfe\xb4G!\x91\xe5'$\xd7Q\xa5\x19\nF\xb1\xd9\xc6:J\x80\x96\xbd\xaaF\x80h\xbb\x05\x9d*\xe3,\xc2\xef\x1e\xaaL\xcd\xfa\x81\xaa\x8a\xad\xd8I\xd8i\xf0\xf3\x94q\xa3F\x03\x88\x93\xa6\x109\xa3(\x85(J\xec\x14\x14\x0d\xbd\xec'\xe2\xba\xb1\"p\xb2\xe3;\xe1\xc7\x16\xa7\x92L6-[Km\xc7\xb7}\x04+>\xcc\xc3\xecn\x9c\xe2\xeb\x8cf\xf3\xf0t\xdc!\x0f\x86*\xa3?\xf3i\x1ddX\x1a\x03b\xe6,\x8f\xec\xf3L\x01\x9ddA\xcdz>\xb6'a\xfa\xb8\x06\xe2\xd4\xac\xd1\xcdal\x87\xb1\xccU\xf8)\xc7\xd6f6\x9a\xa7\xa2\xfax\x14#\xb6U\x0e\xc5iU\xd2#q\xd9M\xda\xd5\xb26\n{\xe5=D\xbaZ\xb3\x96E\x0bp_R\x88\xb0d\xa3\x05\xe0\xc7\x90\xc3\x05\xd8\x8c}Cf9I\xb7\xbaNG\xd1\xcf\xb8\x8c#\x9e\xf5\x9f]sQc\xb7&\xda(.VD\xf7\xa5eID\x1c\x06\xc1\xc7\xf8b\x11\xc7\x17\x0bSu\xf9\xf3\"\xb9\xc0\xc6\x99\xeb\xe2\"Y\x9c\x9f'\x17q\xfe\xe1\xbcx\x9e\xc4\xf9\x87\x8bg\xc5\xbf\x93\x8fi\x18\x04\xda\xa8\x14^&\xd8O\x03\xb7u \xa4ji\xc3\xbf\xb8'\xcd\xd6\x86\xa7a#=\xb2\xecC\x8e\xce#\x8cB\x1b\xb5\xdd\x99\xd3\xca\xa8\xe5\x95\xb7\xf7\x8e\xe9\xf0\xe7\x07=\xf7\xcb\xee\x9d=^t\xd7p3,F\xbfE\xc9p\xc7\xba\xb3%\xf1\x9f0\xb8\xcb_\x16\xf8\xd5O\x95\x08=9\xf7\xf1_j\xa7\x81\xc4\x8em\xf8\xdb\x8d\xd2(C\x8b\xc3\xab\xf5PCK\xb8\xf5\xa3\x9e\xee\xcb\xc9\x9d| \xb9\xee\xb2}\xd9W\xd0\x9d\xedw\xbe\xcb\xf5\xe5\xee\xd0#Ea\x91nQ\xe1\x1e\xf0\xd8\xbc\x83%P\xa5\xe8&\xab\xa4\xa8\xa8\x89\xad\x02\xfey\x80=\xf4t\xbb\x9a\xf7\xf0\x15\xfa\xd3\x8e\xf6\xed\xb6\x9e\x13\x0c\xfb\xdb4\xe2\xe1\xd5\xc5a\xcc\x8fa\xea\xd1\x1e\xc1u\x18\xec\xe7\xd9\xfa\x17&?\x87\xac\x03{\x04\xd7\xed\x85l\x8e\xea\xe8]\xcb \xba\xc7I\xe6\x13\x96;\x9c\xe2\x11TG\xd6\xce\xd8\x9d4Gn.)\x94\x89g\xc75q\xbd3\xa6\xc9DP:\x01\xbd\xb5\xef\x96hNo\x1cn\xe9\x04\xa3\x96[\xa6@oR\x10}\xd3$\xe1\x80bC\x8e\xe9\xadN\xf6%\xe5 \xa1\xb7\xee\xa2\xbbDD\xf7>\xe1\x9f\x00\x00\x00\xff\xffPK\x07\x08\x10X=M\x8c\x05\x00\x00\x9d\x14\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00\x13y,R\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00 \x00authz_test.regoUT\x05\x00\x01w\xbb\xfd_\xecYOo\xa38\x14?\x87Oa\xf9\xd4\xee\xa6D\xed\xcc\xee\xa1R\xb5\xadF\xab\xd5\x1ev;\x9a?\xa7*B\x0ex\x12\xef\x04\xcc\x18\xa3I\x1a\xf1\xddW~6`\x08\xa4@K\xda\x8e&\x876\x98\xf7\xf7\xf7{\xcf\xe6\x91\x98\xf8_\xc9\x92\xa2\x98\x87T\xb04tI*W\xf7\x8e#i\"=\x1a\x12\xb6\xf6\xc8z\xcd\xbf\xd3\x00\xed\x9c |E\xdf\x99\\9\x93I@$q\x05O%\xf5b\xbef>\xa3 \" \xba\xdb9\x93\xc9\x04'<\x15>\xc5\x97\x08\xd3\x0d \xe35u}\x1e\xe2)\xdc3\x16\xbd4\xa1\"\xc1\x97\xe8\x0eo\xaem\xa9\xb93\x99d\xf3\xdc\x0f\x8b\xe2T\xba\xca\xdbB\xf0\xafTx\xea\xab\xf2d\x1c\xd1$a<\xc2\x97\xfaz\x82\x95U\x8f\x05\xca\xb5\xfaz\x8e\xd5r\xa6=\xab\x85R\x12\xf2SrU\xf7 \xafB\xa8F\xb0\x922\x06\xb7\x08\xa7\x02\xd4\xd4\xca\xe5lf\xeb\xa2\x9a\x92\x89\xce\xe8\xe9\xa8\xcc\xda9F\x99\x93\x19\xa8Y\x18S\x91\xf0\x88Hj`\x8f\xb8\xb4\xa1\x8f\xb8D\xaf\x13\xfe)\xc2{\xd9\xa9\xbb\xdb}\xd0_\x1dI\xc7\xe8\x8d\xedOr\xba\x90\xb3\x14<\x8dG$\x04\xeckF\xce\x9f\x9a\x85\xbe\xf8N-\x85\xfd\xb8\x8e\x08\xba];:\x90#\xec[c2\xd1\xad\x1fjRV@\x17\x10P/2_0\x97G\xe9\xa6\x8b\x1f\x8b\xc3\x80 \xeaK.\xb6\x9e\xad\x89\x10B\xfb\xf4\x1e}\x93\x0cxHX4\"\xaf\xda\x81\xce\xf1\x19\x8e\xad\xde;\xe9s\x90`Gn\x08\x19\x7f\xd3|fb\x8a\xde;\x7f5\x0f\x14\x0d4\x1d\xb5o\xce\x7f\xf2s\x98\x9f \xf6\xfc5a\xa1}N\xa9}\xd6\xa2\x06\x99O;A\xc8\xfa\xb42U\x11\xca)+\xfd\x03<\xa8\xf6\xc1 \x0f\xa9\x0b\x02\xc0*Q\xd8/\xf0\xbc\"\x98\x15W9\xc7\xf9\xf5\x01\xa6\xab^,\xcaQ\xed\x83\x0f\x84\x87\x1aB\xacG\x87*\x11V\xaf\x1e\xc3tn\xa3\x1f\xdf\xc6R\xaf\xfdQ\xd5\xa5\xa9\xdc\x92\xdb\x86\xc8\xa6Z&&r\xa5$f$_\xe9\xb2}\x9aN\x19\xe2gQ\xf7S\x8e}\x11\xe7\x11\xbd.\xde\xcbT\x9d\xcd\xfb\xa3?[\xecu\x9arV\x81\x1d\xf6\x87\xa2\xc5\xff\xe3\xf4\xbaJ_\xc9\x05L\xbf\x01\x8d\xd8h\x07V\x89\xc4\x82/\x1e\x1c\x81\xbb \xf0\x84\xf9\xc7\xe9b\xcd\xfc\x11\xce\x83\x1be\xe6=X\xff\x1c\x91T\xaeh$\x99O$\x0dn|\x9f&\n\x10)R:\x1c\x01'\xabd0\x80\xc2\xc6Zo*rA\xbf\xb0\x8d.\xf3\xed\x19\x1c#\xad\xc5\xdeDq[[5\xb8\xea\x8e\x1a\x9cRm\xc8\xe9\xf3\xae\xbd\x81L\x16\n\xfc\xb2\x12L\x83\x8eP\x0b\xdd`\x1aR\x0737\x0f{f\x97D\x9e\xca\x80\xa2\x18=\x9b\x07\xb8)\x13\"A\xc8\"\xe3s\xc5\x13Y\x8f\xa6\xc2\x9e\xcfE\xe2\xa9B]\xb3\xe5J>\x0f\x87Z\xf0\xdd\xed\x87\x8f\xba\x8c\xf3h:\xb4:h\x86T\xae8l_\xb7\xef?\xfd}\xfb\xefG\xe3\xba\x1d\xac\x1c\x1dJ\x02\x1d\x95\xe9\xb1[\xc1\x96,\x82(\xd5\x93\x01\xd7\x97\xf3\xbc\xc9\xa0\x95\xce\xde\xf1H\n\xbe>\xfb@\xbf\xa54\x91g\xff\xe4\xee\xef\xf0_\x7f~\xb2\xc6\xda\xbc\xacj\x18\xbf\xd8\xe2z\xc18\x9a\xfe$\"\xa1^*\xd6\xca\x8f\xfawy\x85\x8a\xb5\x93\xa6\x00\x95\xf7\x99z\xd8\xf8\xe3[\x82OA\xc9M\xfc\x15\x0d)\xba\xba\xd2)a\xbd\xaa:\x05\xd6\xaa\xad\xa2n)}\xb8U\x9a\xc3\xb5\x98\xa4\x1f\xb7\xc7%\xfd\xf8\xd7\xfe\xb1\xe5Z\x8f\x8c//\x0c]U\xba\x84\x8a\xf6\xce\xd7\x9b\xb0\xc3S\xb4k)\xb9\xec\xb4\xbf~\x83\xc0P3\xc9\x10;\xb3\xa72\xf4\xb0\x9dY7C\x1d\"\xd2\x96\x8am\xa2\xd5\x1a\x17\xcb\xc3t5W\x83~@\xe9^\x0d\xd6\x03M\xc7\x14\xe1,\x82\xb2\x84\xaa\xac\x19\xd1'U\xb7\x14\x1bb(\xd4[\xb2Sm\xd1=\xb7|\"\xe9\x98Y\x83R\xa7$\x1a!)\xa6\xae!\x80\xec)7\xc3!\xe8\x92\xf6\xe0\x1a\xc4\x95]\xf7\x97\x8e\x884$V\x1817\x8d\xad\xee\xc9\x15\x06\xee6\xdb\xfb\xb9\x9d\\\x92.\xf4\x19\xb9U9m\xd4\x96\xbb\xa4e\xcep\x0e\x9e\x94S\xff\x83o6\x1aN\xd0\x14\xa6\xa1\xf4B\x1d\\\xa5\x9d\xdc/\xa3 Uy;\xb0;`\xe6\x0d\x9e\xa3l\xdaA\xfc\x02\xc4\xdf*\xf1BZ\xbf\x96P\xd8m\xd4N\xbf+c\xd3\xa6\xb5F\xe68\xced[\x87\xc2L\xee\x83\xc0\xb0\xa7\xfe\x00\\\x06\xc3\xe0h0t\x18\x90\x8a\x02\xa4\x19\xb4A\xb2\xd5\x90\x14\xf1i\xe3Z\x03 \xb9\xafC\xa2\x7f\x87\x18\x84\x88\xf5\x13\xc6\x12\x1c.\x87\x01\xb2o\xe70\x1e\xb6<\xa4\xb8l\x83\xe3^\xc3QD\xa7mk\x8d\xf2Y\x8a\x08\xda\xf2\xf2p\xef\xc6\xc9\x0e\x93\xfc7\x9bLueyu\n*\xd0\xcf\xedj\x17\x0dj\x0f\xbb\x9a\"\x0c\xb1\xbfiq\xda#N\xdbT\xa7\x88\xdf*\xe9\xdf\xd4\x9f\xdf\xfb\xc5\xee.\\?\x97T\x05\xe8R\xf7K\x05\x83\xea\x8a\xb5WG[\xaf2\xb7\xc3\x8e0\xc2<\x06#\xd6M\xb4\xbd\xb1\x9d}\xd6\xaf\xb8[\xa6\xadG\xbcmw^\xf4k\xf4C\xc8\x8f2\xa5\x0d\x00\x7f\xa4\xd4\xff\x0f\x00\x00\xff\xffPK\x07\x08\xc4\xdc\xff\xa0\n\x05\x00\x00\xf7&\x00\x00PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00\x13y,R\x10X=M\x8c\x05\x00\x00\x9d\x14\x00\x00\n\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x81\x00\x00\x00\x00authz.regoUT\x05\x00\x01w\xbb\xfd_PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00\x13y,R\xc4\xdc\xff\xa0\n\x05\x00\x00\xf7&\x00\x00\x0f\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x81\xcd\x05\x00\x00authz_test.regoUT\x05\x00\x01w\xbb\xfd_PK\x05\x06\x00\x00\x00\x00\x02\x00\x02\x00\x87\x00\x00\x00\x1d\x0b\x00\x00\x00\x00" + data := "PK\x03\x04\x14\x00\x08\x00\x08\x00\x00\x00!(\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00 \x00authz.regoUT\x05\x00\x01\x80Cm8\xacXAw\xd46\x10>\xdb\xbfbj.v1\x0e\xf4\xb5\x87.o\x9b\xe6q\xea\xa1\x0d\x0f\xca\xc9\xcf\x08\xd9VvE\xbc\x92+\xc9!K\xe0\xbf\xf7\x8d$\xefz\xed]\x13\x128\xe0\xf5h\xe6\xd37\xa3\xf1\xcc(-\xad\xae\xe9\x8aA+7L\xf1n\x93\xd1\xce\xac?\x87a\xcd\xaeh\xd7\x18\xa0M#?\xc1\x12\xaeh\xa3Y\x18\x86Jv\x86\x91V6\xbc\xda\x12^\xdf\xc2b W\\iC\xac&\xab\xc9X#\xe6\xa2\xedL\xb66\xa6\xcd:\xd5$\x07\x10h^SC\xb3\x81\x903\x9d\x8fA\x8aP3\xad\xb9\x14h\xe0\x00\xd1\xacT\xf2\x9a)b\x11\xbcB\xd8i\xa6Nk\xe1j\xb8R\xb2k\xf5i%\xb7\x1e\x86\xb4ivn\xd5rC\xb9\xb0F+f\xc6\xe2xH890\xdco6\xb4s\xd2\x193$:\xb1\xb2\xc2\x19#^\xb7\xa4j(\xdfL,\xf7+#\xf3\x90k\xc27-SZ\nj\xb8X\xa1e%;ab\x1f\xd1l\xbf\xcc\x08\xdbP\xde$\xf0\x07<\x0f\xc3'>;\xda\xaelx\x15\xba\x97\xbb0\x18n\x90]\xa0\xf4\xb5\xd5x'0\xb9\x980\xbc\xa2\x86\xd5\x17U\xc5\xb4\x86\xe5\x12\x8c\xeaX\xf8u\x0fXI\xa5\xa1U\xec\xaa\xe1\xab\xb59\x01\xfc\xea\xf2\xcd[\x07\xde+\xee\xa0\x82A\xcam\x98Y\xcb\x1a\x97\xa2\xcb\xd7\xff\xfeu\xf9\xcf\xdb(\x0c\x9c\x7f\xb2\xfc\xc8*\x93\xad\x98\x19\xe6\xe8\x9a\xd1\x9a)\x9dB\xe4\x08>{%\x85Q\xb2y\xf6\x86\xfd\xd71m\x9e\xfdm\x11\xa3\x14\xf2\"q\x91\xb8'\xde\xa5\xe2+.\x86\x86\x03\x9f\xa9\xd8\xc2Ax\xc0\xa6j\xef;\x00\xc04\xae\x17b{1\xb4y\x87\xb9\xdfG\x01M\xfa#D,\xc2k\xf8i Q4\xdc\xb6\xdc\x82=\xd2}\x90\x8540\xce\x890@\x80\xccj\"\xfe$QsR\x0cQmv\x7f\x0bR\xcb\x0d\xf3\x9a\x81\xfb\x1crR\xc0\xb2\x17M\xbf\xa1\xe1\xf2\xa1\x0b\x83\x0c\x1d\xbb3\xdd\xf7\x18yX\xc2\xc9l\x9f\xd9k\xe4\xe7\xbc\x8f\xc76x\xa4\xdf\xae\xfa\xdc+\xd0^5\xb0.\x11.|\xe5\x8a\xf7\x07\x9b\xc2\x91z\x97\xbbg\x91\xccDa\xcc\xe2;\x19\x9c\x0c\xfcw\x11\xa2\xaa\xe4FQ\xb5\x05^\xb7\xe0J\xdd\xc1\xd7C\x15\xf3\x15\xb0\x87\x8c\x8f\x97\xce\x9c\x14\xe9.\x1b\x9c\x087{8\x96\x0d\xf1\x1eh_7}\xcf\x85N5{\xaeA%\x85\xb1=\xe5\xb0q\xa6\x10\x9de\xbd\xc9Yd\x91j&\xb6\xb9bTKQ\xd8\x02i\x7f\xc2\x12\xf2_\x7f\xff-\x85\x88\x8b\x1b\xda\xf0\x1a\xaa\x863a\xa0b\xca\xf0+[*\xa2\xc2\x9eS)e\xc3\xa8\xf0[qM\xac>q\xfad\xa0\x9f\xf8\xe4\xfa\x96\x9e\xf3O1\xd3)\xa1\xc1\xac\x99\x9b\x0e`CM\xb5\xc6\xeeb\x8bXx\x9f\x91\x81\xe0\xb4\x00\xfdx1\x189\xee\xc2`\"[,!\xc7\xe7\x17\xb0\xb9\xc6\xeb\xdb\x14\xdc\xf2K\xff\x84\xe3\x93\x06\x0e\x17/\xe1\x80\xc9$\xf0\xbeW\x16\xf9s[\xe5\x8e(\x93\xa1\xde\x9do@($\xb2\xfc\x88\xe4Z\xaa4C\xc1\xc07\xfb\xad\x0f\x02\xa0e\xa7\xaa\x01 \xda\xee@\xc7\xca\xd8\x1e\xf9\xed}\x95\xa9Y\xdfSU\xb1\x15; ;v~\x9e2\x1e\xd4\xa0':i\n\x913\x8aR\x88\xa2\xc46\xe6\xa8\xff\xbc~ \xae\xebt\x81\x93\x1d? \xdfI\x9dJ2:\xb4l-\xb5\x9d(\x0e\x11\xacx\x1a\x87\xd9\xd38\xc5\xd7\x19\xcd\xc6\xe1\xf1\xb8}\x1c\x0cUF\x7f\xe2\xe3<\xc805z\xc4\xccY\x1e9\xe7\x99\x04:\xc9\x82\x9a\xf5\xbco\x8f\xc2\xf4~\xf5\xc4\xa9Y\xe36S\xdf\xa6\xbe\xcce\xf8\xa9\x8d\xad\xcd\xac7\x8fE\xf5\xfe(Fl\xa9\xec\x93\xd3\xaa\xa4G\xfc\xb2\x87\xb4\xcfem\x14\xd6\xca;\x88t\xb5f\x1b\x16-\xc0\xfdH!\xc2\x94\x8d\x16\x80\x8f>\x86\x0b\xb0\x11\xfb\x8a\xccr\x92\xeet\x9d\x8e\xa2\x9fp\x19\xa7\x0e\xbb\x7fv\xc5E\x8d\xd5\x9ah\xa3\xb8X\x11\xdd\x95\x96%\x11q\x18\x04\x1f\xe2\xf3E\x1c\x9f/L\xd5\xe6O\x8b\xe4\x1c\x0bg\xae\x8b\xf3dqv\x96\x9c\xc7\xf9\xfb\xb3\xe2i\x12\xe7\xef\xcf\x9f\x14?'\x1f\xd20\x08\xb4Q)\xbcH\xb0\x9e\x06\xee\xe8@H\xb5\xa1\x0d\xff\xec\xbe4\x9b\x1b\x9e\x86\xf5\xf4\xc8\xb2w9:\x8b\xd0\x0bm\xd4\xeedN+\xa3\x96W\xde\x8d\xc2\xe3y\xc4\xcf\x1e\xee\xcd\x9e\x9dm/\xbam\xb8\xe9\x17\xa3?\xa3\xa4\x1f\xfbomJ\xfc\x12\x06\xb7\xf9\x8b\x02\x7f\xfaA\x07\xa1\x1b\xb6\xc1\x06\xc9\x05i\xb861\xfe\x97\x02J\x13;I\xe0\xbb\x9b\xeeP\x86\x16\xd3\xdb^\x9fCK\xb8\xf1\xd3\x87\xee\xca\xd15q \xb9n\xb3C\xd9\x17\xd0\xad\xadw\xbe\xcau\xe5\xbe\xe9\x91\xa2\xb0H7\xa8p\x07\xd86oa T)\xba\xcd*)*jb\xab\x80\xff<\xc0\x01z\xba[\xcd;\xf8\x02\xdd\xe9\x8d\x0e\xedv;'\xe8\xf6\xd7\xb1\xc7\xfdmz\xea\xf3C\x98z\xb4\x07p\xedg\xcdy\xb6\xfe\x0e\xffc\xc8:\xb0\x07p\xdd\xdd\x11\xe6\xa8\x0e\xae\xff'\xe8\x1e'\x99\x8fX\xeeq\x8a\x07P\x1dX;c\xd7i\x8e\x0c\xd3)\x94\x89g\xc75q\xb53\xa6\xc9HP:\x01\xbd\xb1\x7f\xee\xa09\xbdv\xb8\xa5\x13\x0cJn\x99\x02\xbdNAtM\x93\x84=\x8au9\xa67:9\x94\x94\xbd\x84\xde\xb8\xbb\xd7\x12\x11\xdd\x15\xf7\xff\x00\x00\x00\xff\xffPK\x07\x08lm5&<\x05\x00\x000\x13\x00\x00PK\x03\x04\x14\x00\x08\x00\x08\x00\x00\x00!(\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00 \x00authz_test.regoUT\x05\x00\x01\x80Cm8\xecY]o\xa38\x17\xbe\x0e\xbf\xc2\xf2U\xfb\xbe)Q;\xb3{\x11\xa9\xdaV\xa3\xd5j/v;\x9a\x8f\xab*B\x0ex\x12\xef\x04\xcc\x18\xa3I\x1a\xf1\xdfW>6`\x08\xa4@K:]\x0d\x173\xc1\x9c\xcf\xe79\xc7\xe6\xd0\x98\xf8_\xc9\x8a\xa2\x98\x87T\xb04tI*\xd7\x0f\x8e#i\"=\x1a\x12\xb6\xf1\xc8f\xc3\xbf\xd3\x00\xed\x9d \xfcD\xdf\x99\\;\x93I@$q\x05O%\xf5b\xbea>\xa3 \" \xba\xdf;\x93\xc9\x04'<\x15>\xc5s\x84\xe9\x96\x84\xf1\x86\xba>\x0f\xf1\x14\x9e\x19\x8b^\x9aP\x91\xe09\xba\xc7\xdb\x1b[j\xe1L&\xd9\"\xf7\xc3\xa28\x95\xae\xf2\xb6\x14\xfc+\x15\x9e\xfa\xa9<\x19G4I\x18\x8f\xf0\\\xdfO\xb0\xb2\xea\xb1@\xb9V?/\xb1Z\xce\xb4g\xb5PJB~J\xae\xea\x1e\xe4U\x08\xd5\x08\xd6R\xc6\xe0\x16\xe1T\x80\x9aZ\x99\xcff\xb6.\xaa)\x99\xe8\x8c\x9e\x8e\xca\xac]b\x949\x99\x81\x9a\x851\x15 \x8f\x88\xa4\x06\xf6\x88K\x1b\xfa\x88K\xf4:\xe1\x9f\"|\x90\x9dz\xba;\x04\xfd\xd5\x91t\x8a\xde\xd8\xfd$\xa7\x0b9+\xc1\xd3xDB\xc0\xbef\xe4\xf2\xb9Y\xe8\x8b\xef\xd4R8\x8c\xeb\x84\xa0\xdb\xb5\xa3\x039\xc1\xbe5&\x13\xdd\xfa\xa1&e\x05t\x05\x01\xf5\"\xf3\x07\xe6\xf2$\xddt\xf5\xdf\xe20`\x82\xfa\x92\x8b\x9dgk\"\x84\xd0!\xbd'\xdf$\x03\x1e\x12\x16\x8d\xc8\xabv\xa0s|\x81c\xab\xf7N\xfa\x12$\xd8\x91\x1bB\xc6\xdf4_\x98\x98\xa2\xf7._\xcd\x0bE\x03M'\xed\x9b\xcb\x9f\xfc\x1c\xe7'\x88=\x7fCXh\x9fSj\x9f\xb5\xa8A\xe6j'\x08YW+S\x15\xa1\x9c\xb2\xd2?\xc0\x83j\x17NxH]\x10\x00V\x89\xc2~\x89\x17\x15\xc1\xac\xb8\xcb9\xce\xef\x8f0]\xf5bQ\x8ej\x17>\x12\x1ej\x08\xb1\x1e\x1d\xaaDX\xbd{\n\xd3\xb9\x8d~|\x1bK\xbd\xf6GU\x97\xa6rKn\x1b\"\x9bj\x99\x98\xc8\xb5\x92\x98\x91|\xa5\xcb\xf6i:e\x88\x9fe\xddO9\xf6E\x9cG\xf4\xa6\xf8.Su\xb6\xe8\x8f\xfely\xd0i\xcaY\x05v\xd8\x1f\x8a\x16\xff\x87\xd3\x9b*}%\x170\xfd\x064b\xa3\x1dX%\x12K\xbe|t\x04\xee\x82\xc03\xe6\x1f\xa7\xcb\x0d\xf3G8\x0fn\x95\x99\xf7`\xfdsDR\xb9\xa6\x91d>\x914\xb8\xf5}\x9a(@\xa4H\xe9p\x04\x9c\xac\x92\xc1\x00\n\x1bk\xbd\xa9\xc8\x05\xfd\xc2\xb6\xba\xccw\x17p\x8c\xb4\x16{\x13\xc5mm\xd5\xe0\xaa;jpJ\xb5!\xa7\xcf\xbb\xf6\x062Y(\xf0\xcbJ0\x0d:B-t\x83iH\x1d\xcc\xdc<\xec\x99]\xd5>\x17\x89\xa7h\xdb\xb0\xd5Z\xbeLFZ\xf0\xdd\xdd\x87\x8f\x9a\xd4<\x9a\x0e\x85\x0f\x9a!\x95k\x0e\xcd|\xf7\xfe\xd3\x9fw\x7f\x7f4\xae\xdb\xb10\x02kJ\x02\x1d\x95\xa9\xb8;\xc1V,\x82(\xd59\xc9\xf5\xed\"/9(\xac\x8bw<\x92\x82o.>\xd0o)M\xe4\xc5_\xb9\xfb{\xfc\xc7\xef\x9f\xac!/\xef\xbb\x1a\xc6\x03\xfa\xefY`~\xcd8\x9a\xc6#\"\xa1^*6\xca\x8f\xfao~\x8d\x8a\xb5\xb3\xa6\x00\x95\xf7\x99:z\x7f\xfb\x96\xe0sPr\x13\x7fMC\x8a\xae\xafuJX\xaf\xaey\"a\xad\xfa\x8e\xab\x1e)}xT\x9a\xc3\xb5\x98\xa4\x1f\xb7\xc7%\xfd\xf8\xff\xfdc\xcb\xb5\x9e\x18_^\x18\xba\xaat \x15\xed\x9d\xaf7a\x87\xa7h\xdfRr\xd9y\x7f\xfd\x06\x81\xa1f\x92!vf\xcfe\xe8q;\xb3n\x86:D\xa4-\x15\xdbD\xab5.V\xc7\xe9j\xae\x06}\\w\xaf\x06\xebx\xef\x98\" B\x16AYBU\xd6\x8c\xc0\xd3\x8e)6\xc4P\xa8\xb7d\xa7\xda\xa2{n\xf9\xfby\xc7\xcc\x1a\x94:%\xd1\x08I1\x83\x0c\x01\xe4@\xb9\x19\x0eAW\xb4\x07\xd7 \xae\xec\xba\xff\xeb\x88HCb\x85\x11\xf3\xd0\xd8\xea\x9e\\a\xe0~\xbb{X\xd8\xc9%\xe9R\x9f\x91;\x95\xd3Vm\xb9+Z\xe6\x0c\xe7\xe0Y9\x03?:\xe77\x9c\xa0)\xcc\x06\xe9\x95:\xb8J;\xb9_FA\xaa2+\xef\x8f\x98y\x83\x17(\x9bv\x10\xbf\x02\xf1\xb7J\xbc\x90\xd6C\xba\xc2n\xabv\xfa}\x19\x9b6\xad52\xc7q&\xbb:\x14f\x8e\x1d\x04\x86=\x03\x07\xe02\x18\x06G\x83\xa1\xe3\x80T\x14 \xcd\xa0\x0d\x92\x9d\x86\xa4\x88O\x1b\xd7\x1a\x00\xc9C\x1d\x12\xfdU~\x10\"\xd6\x07\xfd\x158\\\x0d\x03\xe4\xd0\xceq\x86\xfc(S\xda\x00\xf0GJ\xfd\xdf\x00\x00\x00\xff\xffPK\x07\x08\x89\xa0x\x84\xf5\x04\x00\x00\x05&\x00\x00PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00\x00\x00!(lm5&<\x05\x00\x000\x13\x00\x00\n\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x81\x00\x00\x00\x00authz.regoUT\x05\x00\x01\x80Cm8PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00\x00\x00!(\x89\xa0x\x84\xf5\x04\x00\x00\x05&\x00\x00\x0f\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x81}\x05\x00\x00authz_test.regoUT\x05\x00\x01\x80Cm8PK\x05\x06\x00\x00\x00\x00\x02\x00\x02\x00\x87\x00\x00\x00\xb8\n\x00\x00\x00\x00" fs.RegisterWithNamespace("rego", data) } diff --git a/authorize/evaluator/store.go b/authorize/evaluator/store.go index c31318e94..863a93e55 100644 --- a/authorize/evaluator/store.go +++ b/authorize/evaluator/store.go @@ -30,11 +30,6 @@ func (s *Store) ClearRecords(typeURL string) { s.delete(rawPath) } -// UpdateAdmins updates the admins in the store. -func (s *Store) UpdateAdmins(admins []string) { - s.write("/admins", admins) -} - // UpdateRoutePolicies updates the route policies in the store. func (s *Store) UpdateRoutePolicies(routePolicies []config.Policy) { s.write("/route_policies", routePolicies) diff --git a/authorize/evaluator/store_test.go b/authorize/evaluator/store_test.go index 3deaca855..e963b501e 100644 --- a/authorize/evaluator/store_test.go +++ b/authorize/evaluator/store_test.go @@ -18,18 +18,6 @@ func TestStore(t *testing.T) { defer clearTimeout() s := NewStore() - - t.Run("admins", func(t *testing.T) { - s.UpdateAdmins([]string{"admin1", "admin2"}) - v, err := storage.ReadOne(ctx, s.opaStore, storage.MustParsePath("/admins")) - assert.NoError(t, err) - assert.Equal(t, []interface{}{"admin1", "admin2"}, v) - - s.UpdateAdmins([]string{"admin3"}) - v, err = storage.ReadOne(ctx, s.opaStore, storage.MustParsePath("/admins")) - assert.NoError(t, err) - assert.Equal(t, []interface{}{"admin3"}, v) - }) t.Run("records", func(t *testing.T) { u := &user.User{ Version: "v1", diff --git a/config/options.go b/config/options.go index 3ed5c5758..c627fed01 100644 --- a/config/options.go +++ b/config/options.go @@ -156,10 +156,6 @@ type Options struct { // https://openid.net/specs/openid-connect-basic-1_0.html#RequestParameters RequestParams map[string]string `mapstructure:"idp_request_params" yaml:"idp_request_params,omitempty"` - // Administrators contains a set of emails with users who have super user - // (sudo) access including the ability to impersonate other users' access - Administrators []string `mapstructure:"administrators" yaml:"administrators,omitempty"` - // AuthorizeURL is the routable destination of the authorize service's // gRPC endpoint. NOTE: As many load balancers do not support // externally routed gRPC so this may be an internal location. @@ -866,9 +862,6 @@ func (o *Options) ApplySettings(settings *config.Settings) { if settings.RequestParams != nil && len(settings.RequestParams) > 0 { o.RequestParams = settings.RequestParams } - if len(settings.Administrators) > 0 { - o.Administrators = settings.Administrators - } if settings.AuthorizeServiceUrl != nil { o.AuthorizeURLString = settings.GetAuthorizeServiceUrl() } diff --git a/docs/docs/upgrading.md b/docs/docs/upgrading.md index 0c61e37a7..d44434578 100644 --- a/docs/docs/upgrading.md +++ b/docs/docs/upgrading.md @@ -13,6 +13,10 @@ description: >- With the v0.13.0 release, user impersonation has been removed. +### Administrators option removed + +The `administrators` configuration option has been removed. + # Since 0.11.0 ## New diff --git a/integration/control_plane_test.go b/integration/control_plane_test.go index fa89e05e4..0bbc6bad5 100644 --- a/integration/control_plane_test.go +++ b/integration/control_plane_test.go @@ -8,8 +8,6 @@ import ( "time" "github.com/stretchr/testify/assert" - - "github.com/pomerium/pomerium/integration/internal/flows" ) func TestDashboard(t *testing.T) { @@ -17,28 +15,6 @@ func TestDashboard(t *testing.T) { ctx, clearTimeout := context.WithTimeout(ctx, time.Second*30) defer clearTimeout() - t.Run("admin impersonate", func(t *testing.T) { - client := testcluster.NewHTTPClient() - - _, err := flows.Authenticate(ctx, client, mustParseURL("https://httpdetails.localhost.pomerium.io/by-user"), - flows.WithEmail("bob@dogs.test"), flows.WithGroups("user")) - if !assert.NoError(t, err) { - return - } - - req, err := http.NewRequestWithContext(ctx, "GET", "https://httpdetails.localhost.pomerium.io/.pomerium/admin/impersonate", nil) - if err != nil { - t.Fatal(err) - } - - res, err := client.Do(req) - if !assert.NoError(t, err, "unexpected http error") { - return - } - defer res.Body.Close() - - assertDeniedAccess(t, res) - }) t.Run("user dashboard", func(t *testing.T) { client := testcluster.NewHTTPClient() diff --git a/internal/controlplane/xds_listeners_test.go b/internal/controlplane/xds_listeners_test.go index 5d4b13ba3..6ff464616 100644 --- a/internal/controlplane/xds_listeners_test.go +++ b/internal/controlplane/xds_listeners_test.go @@ -138,24 +138,6 @@ func Test_buildMainHTTPConnectionManagerFilter(t *testing.T) { } } }, - { - "name": "pomerium-path-/.pomerium/admin", - "match": { - "path": "/.pomerium/admin" - }, - "route": { - "cluster": "pomerium-control-plane-http" - } - }, - { - "name": "pomerium-prefix-/.pomerium/admin/", - "match": { - "prefix": "/.pomerium/admin/" - }, - "route": { - "cluster": "pomerium-control-plane-http" - } - }, { "name": "pomerium-path-/.pomerium", "match": { @@ -276,24 +258,6 @@ func Test_buildMainHTTPConnectionManagerFilter(t *testing.T) { } } }, - { - "name": "pomerium-path-/.pomerium/admin", - "match": { - "path": "/.pomerium/admin" - }, - "route": { - "cluster": "pomerium-control-plane-http" - } - }, - { - "name": "pomerium-prefix-/.pomerium/admin/", - "match": { - "prefix": "/.pomerium/admin/" - }, - "route": { - "cluster": "pomerium-control-plane-http" - } - }, { "name": "pomerium-path-/.pomerium", "match": { diff --git a/internal/controlplane/xds_routes.go b/internal/controlplane/xds_routes.go index 9ca9740a9..f758685cb 100644 --- a/internal/controlplane/xds_routes.go +++ b/internal/controlplane/xds_routes.go @@ -67,17 +67,6 @@ func (srv *Server) buildPomeriumHTTPRoutes(options *config.Options, domain strin return nil, err } routes = append(routes, r) - r, err = srv.buildControlPlanePathRoute("/.pomerium/admin", true) - if err != nil { - return nil, err - } - routes = append(routes, r) - - r, err = srv.buildControlPlanePrefixRoute("/.pomerium/admin/", true) - if err != nil { - return nil, err - } - routes = append(routes, r) r, err = srv.buildControlPlanePathRoute("/.pomerium", false) if err != nil { return nil, err diff --git a/internal/controlplane/xds_routes_test.go b/internal/controlplane/xds_routes_test.go index 29f29fb41..fb75e64ce 100644 --- a/internal/controlplane/xds_routes_test.go +++ b/internal/controlplane/xds_routes_test.go @@ -90,8 +90,6 @@ func Test_buildPomeriumHTTPRoutes(t *testing.T) { `+routeString("path", "/.pomerium/jwt", true)+`, `+routeString("path", "/ping", false)+`, `+routeString("path", "/healthz", false)+`, - `+routeString("path", "/.pomerium/admin", true)+`, - `+routeString("prefix", "/.pomerium/admin/", true)+`, `+routeString("path", "/.pomerium", false)+`, `+routeString("prefix", "/.pomerium/", false)+`, `+routeString("path", "/.well-known/pomerium", false)+`, @@ -120,8 +118,6 @@ func Test_buildPomeriumHTTPRoutes(t *testing.T) { `+routeString("path", "/.pomerium/jwt", true)+`, `+routeString("path", "/ping", false)+`, `+routeString("path", "/healthz", false)+`, - `+routeString("path", "/.pomerium/admin", true)+`, - `+routeString("prefix", "/.pomerium/admin/", true)+`, `+routeString("path", "/.pomerium", false)+`, `+routeString("prefix", "/.pomerium/", false)+`, `+routeString("path", "/.well-known/pomerium", false)+`, @@ -150,8 +146,6 @@ func Test_buildPomeriumHTTPRoutes(t *testing.T) { `+routeString("path", "/.pomerium/jwt", true)+`, `+routeString("path", "/ping", false)+`, `+routeString("path", "/healthz", false)+`, - `+routeString("path", "/.pomerium/admin", true)+`, - `+routeString("prefix", "/.pomerium/admin/", true)+`, `+routeString("path", "/.pomerium", false)+`, `+routeString("prefix", "/.pomerium/", false)+`, `+routeString("path", "/.well-known/pomerium", false)+`, diff --git a/pkg/grpc/config/config.pb.go b/pkg/grpc/config/config.pb.go index 9540de1e6..f882a3731 100644 --- a/pkg/grpc/config/config.pb.go +++ b/pkg/grpc/config/config.pb.go @@ -679,7 +679,6 @@ type Settings struct { IdpRefreshDirectoryTimeout *durationpb.Duration `protobuf:"bytes,28,opt,name=idp_refresh_directory_timeout,json=idpRefreshDirectoryTimeout,proto3,oneof" json:"idp_refresh_directory_timeout,omitempty"` IdpRefreshDirectoryInterval *durationpb.Duration `protobuf:"bytes,29,opt,name=idp_refresh_directory_interval,json=idpRefreshDirectoryInterval,proto3,oneof" json:"idp_refresh_directory_interval,omitempty"` RequestParams map[string]string `protobuf:"bytes,30,rep,name=request_params,json=requestParams,proto3" json:"request_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Administrators []string `protobuf:"bytes,31,rep,name=administrators,proto3" json:"administrators,omitempty"` AuthorizeServiceUrl *string `protobuf:"bytes,32,opt,name=authorize_service_url,json=authorizeServiceUrl,proto3,oneof" json:"authorize_service_url,omitempty"` OverrideCertificateName *string `protobuf:"bytes,33,opt,name=override_certificate_name,json=overrideCertificateName,proto3,oneof" json:"override_certificate_name,omitempty"` CertificateAuthority *string `protobuf:"bytes,34,opt,name=certificate_authority,json=certificateAuthority,proto3,oneof" json:"certificate_authority,omitempty"` @@ -953,13 +952,6 @@ func (x *Settings) GetRequestParams() map[string]string { return nil } -func (x *Settings) GetAdministrators() []string { - if x != nil { - return x.Administrators - } - return nil -} - func (x *Settings) GetAuthorizeServiceUrl() string { if x != nil && x.AuthorizeServiceUrl != nil { return *x.AuthorizeServiceUrl @@ -1433,7 +1425,7 @@ var file_config_proto_rawDesc = []byte{ 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8d, 0x25, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xe5, 0x24, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, @@ -1533,207 +1525,205 @@ var file_config_proto_rawDesc = []byte{ 0x6d, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x37, 0x0a, 0x15, 0x61, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1b, 0x52, 0x13, 0x61, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x72, - 0x6c, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x19, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1c, 0x52, 0x17, 0x6f, 0x76, 0x65, 0x72, 0x72, - 0x69, 0x64, 0x65, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x15, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x22, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x1d, 0x52, 0x14, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, - 0x41, 0x0a, 0x1a, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x61, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x23, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x1e, 0x52, 0x18, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, - 0x79, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1f, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x69, - 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x15, 0x73, 0x69, 0x67, 0x6e, - 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, - 0x6d, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x20, 0x52, 0x13, 0x73, 0x69, 0x67, 0x6e, 0x69, - 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x88, 0x01, - 0x01, 0x12, 0x2c, 0x0a, 0x12, 0x6a, 0x77, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x5f, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x25, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6a, - 0x77, 0x74, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, - 0x49, 0x0a, 0x10, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, - 0x6f, 0x77, 0x6e, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x21, 0x52, 0x0f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, - 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x58, 0x0a, 0x18, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x22, 0x52, 0x16, 0x64, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x48, 0x23, 0x52, - 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x29, 0x20, 0x01, 0x28, 0x09, 0x48, 0x24, 0x52, 0x0f, - 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x88, - 0x01, 0x01, 0x12, 0x33, 0x0a, 0x13, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x01, 0x48, - 0x25, 0x52, 0x11, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x52, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, 0x21, 0x74, 0x72, 0x61, 0x63, 0x69, - 0x6e, 0x67, 0x5f, 0x6a, 0x61, 0x65, 0x67, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x2b, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x26, 0x52, 0x1e, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x4a, 0x61, 0x65, - 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x1d, 0x74, 0x72, 0x61, 0x63, 0x69, - 0x6e, 0x67, 0x5f, 0x6a, 0x61, 0x65, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x27, - 0x52, 0x1a, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x4a, 0x61, 0x65, 0x67, 0x65, 0x72, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x3b, 0x0a, 0x17, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x7a, 0x69, 0x70, 0x6b, 0x69, - 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x28, 0x52, 0x15, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5a, 0x69, 0x70, 0x6b, 0x69, - 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, - 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x2e, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x29, 0x52, 0x0b, 0x67, 0x72, 0x70, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x69, 0x6e, 0x73, - 0x65, 0x63, 0x75, 0x72, 0x65, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x08, 0x48, 0x2a, 0x52, 0x0c, 0x67, - 0x72, 0x70, 0x63, 0x49, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x5d, - 0x0a, 0x1e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x61, - 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x67, 0x65, - 0x18, 0x30, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x1a, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x78, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x67, 0x65, 0x12, 0x68, 0x0a, - 0x24, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x78, - 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x67, 0x65, 0x5f, - 0x67, 0x72, 0x61, 0x63, 0x65, 0x18, 0x31, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1f, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, - 0x67, 0x65, 0x47, 0x72, 0x61, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x10, 0x66, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x32, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x2b, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x41, 0x75, 0x74, 0x68, - 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x16, 0x64, 0x61, 0x74, 0x61, 0x62, 0x72, - 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, - 0x18, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x2c, 0x52, 0x14, 0x64, 0x61, 0x74, 0x61, 0x62, 0x72, - 0x6f, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x88, 0x01, - 0x01, 0x12, 0x20, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x18, 0x35, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x2d, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x61, - 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, - 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x36, 0x20, 0x01, 0x28, 0x09, 0x48, 0x2e, 0x52, 0x0c, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x46, 0x69, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x76, - 0x0a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, - 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x37, 0x20, 0x01, 0x28, 0x09, 0x48, 0x2f, - 0x52, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x6c, 0x65, 0x73, 0x73, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x65, - 0x72, 0x74, 0x18, 0x38, 0x20, 0x01, 0x28, 0x08, 0x48, 0x30, 0x52, 0x08, 0x61, 0x75, 0x74, 0x6f, - 0x63, 0x65, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x6f, 0x63, - 0x65, 0x72, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, - 0x39, 0x20, 0x01, 0x28, 0x08, 0x48, 0x31, 0x52, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x65, 0x72, - 0x74, 0x55, 0x73, 0x65, 0x53, 0x74, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x35, - 0x0a, 0x14, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x6d, 0x75, 0x73, 0x74, 0x5f, - 0x73, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x32, 0x52, 0x12, - 0x61, 0x75, 0x74, 0x6f, 0x63, 0x65, 0x72, 0x74, 0x4d, 0x75, 0x73, 0x74, 0x53, 0x74, 0x61, 0x70, - 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x65, 0x72, - 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x33, 0x52, 0x0b, 0x61, - 0x75, 0x74, 0x6f, 0x63, 0x65, 0x72, 0x74, 0x44, 0x69, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, - 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x78, 0x66, 0x66, 0x5f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, - 0x18, 0x3d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x34, 0x52, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x58, 0x66, - 0x66, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x1a, 0x81, 0x01, 0x0a, 0x0b, 0x43, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x65, - 0x72, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, - 0x65, 0x72, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x66, - 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x46, 0x69, - 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x42, 0x79, 0x74, 0x65, - 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x40, - 0x0a, 0x12, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, - 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x10, 0x0a, 0x0e, - 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0x0b, - 0x0a, 0x09, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x6e, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x14, 0x0a, 0x12, 0x5f, - 0x64, 0x6e, 0x73, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, - 0x79, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x42, 0x1b, 0x0a, 0x19, - 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x61, 0x75, - 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x62, - 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6f, 0x6f, - 0x6b, 0x69, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x6f, 0x6f, - 0x6b, 0x69, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, - 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x42, 0x10, 0x0a, 0x0e, - 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x42, 0x13, - 0x0a, 0x11, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6f, - 0x6e, 0x6c, 0x79, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x5f, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, 0x64, 0x70, 0x5f, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, 0x64, 0x70, 0x5f, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0x0f, 0x0a, - 0x0d, 0x5f, 0x69, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x42, 0x13, - 0x0a, 0x11, 0x5f, 0x69, 0x64, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, - 0x75, 0x72, 0x6c, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x64, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x20, 0x0a, 0x1e, 0x5f, - 0x69, 0x64, 0x70, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x64, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x21, 0x0a, - 0x1f, 0x5f, 0x69, 0x64, 0x70, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, - 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x6f, - 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x63, 0x65, 0x72, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x66, 0x69, 0x6c, - 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, - 0x79, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, - 0x79, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x42, 0x13, 0x0a, 0x11, 0x5f, - 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, - 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x70, 0x73, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x12, 0x0a, - 0x10, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x69, - 0x6e, 0x67, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x42, 0x24, - 0x0a, 0x22, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x61, 0x65, 0x67, 0x65, + 0x61, 0x6d, 0x73, 0x12, 0x37, 0x0a, 0x15, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x20, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x1b, 0x52, 0x13, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x19, + 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x1c, 0x52, 0x17, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, + 0x15, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1d, 0x52, 0x14, + 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x1a, 0x63, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1e, 0x52, 0x18, 0x63, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x69, + 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x1f, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, + 0x12, 0x37, 0x0a, 0x15, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x5f, + 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x20, 0x52, 0x13, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x41, 0x6c, 0x67, + 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x12, 0x6a, 0x77, 0x74, + 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, + 0x25, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6a, 0x77, 0x74, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x49, 0x0a, 0x10, 0x72, 0x65, 0x66, 0x72, 0x65, + 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x26, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x21, 0x52, 0x0f, + 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x58, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x70, + 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x27, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x22, 0x52, 0x16, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x28, 0x20, 0x01, 0x28, 0x09, 0x48, 0x23, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x74, 0x72, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x29, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x24, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x13, 0x74, 0x72, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, + 0x65, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x01, 0x48, 0x25, 0x52, 0x11, 0x74, 0x72, 0x61, 0x63, 0x69, + 0x6e, 0x67, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x4e, 0x0a, 0x21, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x61, 0x65, 0x67, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, - 0x5f, 0x6a, 0x61, 0x65, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x69, + 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x26, 0x52, 0x1e, 0x74, 0x72, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x4a, 0x61, 0x65, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x46, 0x0a, 0x1d, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x61, 0x65, 0x67, 0x65, + 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x18, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x27, 0x52, 0x1a, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, + 0x67, 0x4a, 0x61, 0x65, 0x67, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x7a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x69, 0x6e, 0x73, - 0x65, 0x63, 0x75, 0x72, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, - 0x64, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x5f, 0x63, 0x61, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, - 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x39, 0x0a, 0x37, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6c, 0x65, - 0x73, 0x73, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x65, 0x72, 0x74, 0x42, 0x17, - 0x0a, 0x15, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x5f, - 0x73, 0x74, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x61, 0x75, 0x74, 0x6f, - 0x63, 0x65, 0x72, 0x74, 0x5f, 0x6d, 0x75, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x70, 0x6c, 0x65, - 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x69, - 0x72, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x78, 0x66, 0x66, 0x5f, 0x61, - 0x70, 0x70, 0x65, 0x6e, 0x64, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6d, 0x65, 0x72, 0x69, 0x75, 0x6d, 0x2f, 0x70, 0x6f, 0x6d, - 0x65, 0x72, 0x69, 0x75, 0x6d, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x74, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x28, 0x52, 0x15, 0x74, 0x72, 0x61, 0x63, + 0x69, 0x6e, 0x67, 0x5a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x29, 0x52, 0x0b, 0x67, 0x72, + 0x70, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, + 0x67, 0x72, 0x70, 0x63, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x18, 0x2f, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x2a, 0x52, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x49, 0x6e, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x5d, 0x0a, 0x1e, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1a, 0x67, 0x72, 0x70, 0x63, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x41, 0x67, 0x65, 0x12, 0x68, 0x0a, 0x24, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x18, 0x31, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1f, + 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x67, 0x65, 0x47, 0x72, 0x61, 0x63, 0x65, 0x12, + 0x2d, 0x0a, 0x10, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, + 0x75, 0x72, 0x6c, 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x48, 0x2b, 0x52, 0x0e, 0x66, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x41, 0x75, 0x74, 0x68, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x39, + 0x0a, 0x16, 0x64, 0x61, 0x74, 0x61, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x2c, + 0x52, 0x14, 0x64, 0x61, 0x74, 0x61, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x18, 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, 0x2d, 0x52, 0x08, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0e, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x36, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x2e, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x46, + 0x69, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x76, 0x0a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6c, 0x65, 0x73, + 0x73, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x37, 0x20, 0x01, 0x28, 0x09, 0x48, 0x2f, 0x52, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6c, 0x65, 0x73, 0x73, 0x41, + 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1f, + 0x0a, 0x08, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x38, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x30, 0x52, 0x08, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x65, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x35, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x5f, + 0x73, 0x74, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x39, 0x20, 0x01, 0x28, 0x08, 0x48, 0x31, 0x52, + 0x12, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x65, 0x72, 0x74, 0x55, 0x73, 0x65, 0x53, 0x74, 0x61, 0x67, + 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x65, + 0x72, 0x74, 0x5f, 0x6d, 0x75, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x18, 0x3a, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x32, 0x52, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x65, 0x72, 0x74, + 0x4d, 0x75, 0x73, 0x74, 0x53, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, + 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x3b, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x33, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x65, 0x72, 0x74, 0x44, + 0x69, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x78, 0x66, + 0x66, 0x5f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x34, + 0x52, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x58, 0x66, 0x66, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x88, + 0x01, 0x01, 0x1a, 0x81, 0x01, 0x0a, 0x0b, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x65, 0x72, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x65, + 0x72, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, + 0x63, 0x65, 0x72, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x79, + 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6b, 0x65, + 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x40, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x64, 0x65, 0x62, + 0x75, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, + 0x65, 0x76, 0x65, 0x6c, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, + 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, + 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x6c, 0x6f, 0x6f, 0x6b, + 0x75, 0x70, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x68, 0x74, + 0x74, 0x70, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x61, + 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, + 0x69, 0x64, 0x6c, 0x65, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x72, + 0x6c, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x61, 0x74, 0x68, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x5f, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x5f, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, + 0x65, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x10, 0x0a, 0x0e, 0x5f, + 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x42, 0x10, 0x0a, + 0x0e, 0x5f, 0x69, 0x64, 0x70, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x42, + 0x14, 0x0a, 0x12, 0x5f, 0x69, 0x64, 0x70, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, + 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x69, 0x64, 0x70, 0x5f, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x69, 0x64, 0x70, 0x5f, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x16, 0x0a, 0x14, 0x5f, + 0x69, 0x64, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x69, 0x64, 0x70, 0x5f, 0x72, 0x65, 0x66, 0x72, + 0x65, 0x73, 0x68, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x69, 0x64, 0x70, 0x5f, 0x72, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, + 0x72, 0x6c, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, + 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x63, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x69, + 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x73, 0x69, + 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, + 0x74, 0x68, 0x6d, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, + 0x63, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x74, 0x72, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x42, 0x16, + 0x0a, 0x14, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x42, 0x24, 0x0a, 0x22, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x69, + 0x6e, 0x67, 0x5f, 0x6a, 0x61, 0x65, 0x67, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x20, 0x0a, 0x1e, + 0x5f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x61, 0x65, 0x67, 0x65, 0x72, 0x5f, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x1a, + 0x0a, 0x18, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x7a, 0x69, 0x70, 0x6b, 0x69, + 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x67, + 0x72, 0x70, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, + 0x67, 0x72, 0x70, 0x63, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x42, 0x13, 0x0a, + 0x11, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x75, + 0x72, 0x6c, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x72, 0x6f, 0x6b, 0x65, + 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x42, 0x11, 0x0a, 0x0f, 0x5f, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x39, + 0x0a, 0x37, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, + 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x61, 0x75, + 0x74, 0x6f, 0x63, 0x65, 0x72, 0x74, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x63, + 0x65, 0x72, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x42, + 0x17, 0x0a, 0x15, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x6d, 0x75, 0x73, + 0x74, 0x5f, 0x73, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x75, 0x74, + 0x6f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x6b, + 0x69, 0x70, 0x5f, 0x78, 0x66, 0x66, 0x5f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x42, 0x2e, 0x5a, + 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6d, 0x65, + 0x72, 0x69, 0x75, 0x6d, 0x2f, 0x70, 0x6f, 0x6d, 0x65, 0x72, 0x69, 0x75, 0x6d, 0x2f, 0x70, 0x6b, + 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pkg/grpc/config/config.proto b/pkg/grpc/config/config.proto index 4c4e01813..5d5be45d5 100644 --- a/pkg/grpc/config/config.proto +++ b/pkg/grpc/config/config.proto @@ -134,7 +134,6 @@ message Settings { optional google.protobuf.Duration idp_refresh_directory_timeout = 28; optional google.protobuf.Duration idp_refresh_directory_interval = 29; map request_params = 30; - repeated string administrators = 31; optional string authorize_service_url = 32; optional string override_certificate_name = 33; optional string certificate_authority = 34;