You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- to: group="", kind=(Secret|ConfigMap), name=<target-name>
872
-
- If no valid grant is found, the filter status should update the status to `Accepted=False` with `reason=RefNotPermitted` and a clear message. We should avoid rendering any NGINX configuration in this scenario.
873
-
874
-
Example: Grant BasicAuth in app-ns to read a Secret in security-ns
875
-
```yaml
876
-
apiVersion: gateway.networking.k8s.io/v1
877
-
kind: ReferenceGrant
878
-
metadata:
879
-
name: allow-basic-auth-secret
880
-
namespace: security-ns # target namespace where the Secret lives
881
-
spec:
882
-
from:
883
-
- group: gateway.nginx.org
884
-
kind: AuthenticationFilter
885
-
namespace: app-ns
886
-
to:
887
-
- group: "" # core API group
888
-
kind: Secret
889
-
name: basic-auth-users
890
-
```
891
-
892
-
AuthenticationFilter referencing the cross-namespace Secret
893
-
```yaml
894
-
apiVersion: gateway.nginx.org/v1alpha1
895
-
kind: AuthenticationFilter
896
-
metadata:
897
-
name: basic-auth
898
-
namespace: app-ns
899
-
spec:
900
-
type: Basic
901
-
basic:
902
-
secretRef:
903
-
namespace: security-ns
904
-
name: basic-auth-users
905
-
realm: "Restricted"
906
-
```
907
-
908
868
### Remote JWKS
909
869
910
870
Proxy cache TTL should be configurable and set to a reasonable default, reducing periods of stale cached JWKs.
@@ -981,7 +941,7 @@ document that behavior.
981
941
982
942
## Stretch Goals
983
943
984
-
### Cross namespace acess
944
+
### Cross namespace access
985
945
986
946
When referencing secrets for Basic Auth and JWT Auth, the initial implementation will use `LocalObjectReference`.
987
947
@@ -1001,6 +961,42 @@ type NamespacedSecretKeyReference struct {
1001
961
}
1002
962
```
1003
963
964
+
For initial implementaion, both Basic Auth and Local JWKS should will only have access to Secrets in the same namespace.
965
+
966
+
Example: Grant BasicAuth in app-ns to read a Secret in security-ns
967
+
```yaml
968
+
apiVersion: gateway.networking.k8s.io/v1
969
+
kind: ReferenceGrant
970
+
metadata:
971
+
name: allow-basic-auth-secret
972
+
namespace: security-ns # target namespace where the Secret lives
973
+
spec:
974
+
from:
975
+
- group: gateway.nginx.org
976
+
kind: AuthenticationFilter
977
+
namespace: app-ns
978
+
to:
979
+
- group: ""# core API group
980
+
kind: Secret
981
+
name: basic-auth-users
982
+
```
983
+
984
+
AuthenticationFilter referencing the cross-namespace Secret
985
+
```yaml
986
+
apiVersion: gateway.nginx.org/v1alpha1
987
+
kind: AuthenticationFilter
988
+
metadata:
989
+
name: basic-auth
990
+
namespace: app-ns
991
+
spec:
992
+
type: Basic
993
+
basic:
994
+
secretRef:
995
+
namespace: security-ns
996
+
name: basic-auth-users
997
+
realm: "Restricted"
998
+
```
999
+
1004
1000
### Additional Fields for JWT
1005
1001
1006
1002
`require`, `tokenSource` and `propagation` are some additional fields that may be incldued in future updates to the API.
0 commit comments