@@ -6,7 +6,7 @@ resources:
6
6
address : 0.0.0.0
7
7
port_value : 80
8
8
filter_chains :
9
- - filters : &ref_2
9
+ - filters : &ref_1
10
10
- name : envoy.filters.network.http_connection_manager
11
11
typed_config :
12
12
'@type' : >-
@@ -107,8 +107,6 @@ resources:
107
107
'@type' : >-
108
108
type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua
109
109
source_codes :
110
- basic_auth :
111
- filename : /etc/envoy/basic_auth.lua
112
110
remove_apikey_query_parameter :
113
111
filename : /etc/envoy/remove_apikey_query_parameter.lua
114
112
- name : envoy.filters.http.router
@@ -118,6 +116,26 @@ resources:
118
116
dynamic_stats : false
119
117
local_reply_config :
120
118
mappers :
119
+ - filter :
120
+ and_filter :
121
+ filters :
122
+ - status_code_filter :
123
+ comparison :
124
+ value :
125
+ default_value : 403
126
+ runtime_key : unused
127
+ - header_filter :
128
+ header :
129
+ name : ' :path'
130
+ string_match :
131
+ prefix : /customer/v1/privileged/
132
+ status_code : 401
133
+ body :
134
+ inline_string : Unauthorized
135
+ headers_to_add :
136
+ - header :
137
+ key : WWW-Authenticate
138
+ value : Basic realm="Unknown"
121
139
- filter :
122
140
and_filter :
123
141
filters :
@@ -166,7 +184,7 @@ resources:
166
184
body :
167
185
inline_string : Healthy
168
186
typed_per_filter_config : &ref_0
169
- envoy.filters.http.rbac : &ref_1
187
+ envoy.filters.http.rbac :
170
188
'@type' : >-
171
189
type.googleapis.com/envoy.extensions.filters.http.rbac.v3.RBACPerRoute
172
190
- match :
@@ -255,15 +273,23 @@ resources:
255
273
cluster : admin_api
256
274
prefix_rewrite : /privileged/
257
275
typed_per_filter_config :
258
- envoy.filters.http.lua :
276
+ envoy.filters.http.rbac :
259
277
'@type' : >-
260
- type.googleapis.com/envoy.extensions.filters.http.lua.v3.LuaPerRoute
261
- name : basic_auth
262
- envoy.filters.http.rbac : *ref_1
263
- metadata :
264
- filter_metadata :
265
- envoy.filters.http.lua :
266
- credentials : c2VydmljZV9yb2xlOnNlcnZpY2Vfa2V5
278
+ type.googleapis.com/envoy.extensions.filters.http.rbac.v3.RBACPerRoute
279
+ rbac :
280
+ rules :
281
+ action : DENY
282
+ policies :
283
+ basic_auth :
284
+ permissions :
285
+ - any : true
286
+ principals :
287
+ - header :
288
+ name : authorization
289
+ invert_match : true
290
+ string_match :
291
+ exact : Basic c2VydmljZV9yb2xlOnNlcnZpY2Vfa2V5
292
+ treat_missing_header_as_empty : true
267
293
- match :
268
294
prefix : /metrics/aggregated
269
295
route :
@@ -293,7 +319,7 @@ resources:
293
319
address : 0.0.0.0
294
320
port_value : 443
295
321
filter_chains :
296
- - filters : *ref_2
322
+ - filters : *ref_1
297
323
transport_socket :
298
324
name : envoy.transport_sockets.tls
299
325
typed_config :
@@ -305,3 +331,4 @@ resources:
305
331
filename : /etc/kong/fullChain.pem
306
332
private_key :
307
333
filename : /etc/kong/privKey.pem
334
+
0 commit comments