{"level":"debug","ts":"2026-07-06T14:56:24Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"482d1660-55ae-4793-9d93-d4000a2c517d","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"userid","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-06T14:56:24Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"482d1660-55ae-4793-9d93-d4000a2c517d","config":{"Name":"X-MaaS-Username-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"alice_lead"} {"level":"debug","ts":"2026-07-06T14:56:24Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"482d1660-55ae-4793-9d93-d4000a2c517d","config":{"Name":"X-MaaS-Group-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"info","ts":"2026-07-06T14:56:24Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"482d1660-55ae-4793-9d93-d4000a2c517d","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:56:24Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"482d1660-55ae-4793-9d93-d4000a2c517d","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:56:24Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"61bbca2f-e6d2-42fe-a344-7dbe1c3e103f","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43032","PortSpecifier":{"PortValue":43032}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"61bbca2f-e6d2-42fe-a344-7dbe1c3e103f","method":"POST","path":"/maas-api/v1/api-keys","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:56:24Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"61bbca2f-e6d2-42fe-a344-7dbe1c3e103f","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43032","PortSpecifier":{"PortValue":43032}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349784,"nanos":951581109},"http":{"id":"61bbca2f-e6d2-42fe-a344-7dbe1c3e103f","method":"POST","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:56:24Z","logger":"authorino.service.auth.authpipeline.identity","msg":"cannot validate identity","request id":"61bbca2f-e6d2-42fe-a344-7dbe1c3e103f","config":{"Name":"oidc-identities","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OAuth2":null,"JWTAuthentication":{"AuthCredentials":{"KeySelector":"Bearer","In":"authorization_header"}},"MTLS":null,"HMAC":null,"APIKey":null,"KubernetesAuth":null,"Plain":null,"Noop":null,"ExtendedProperties":[]},"reason":"failed to verify signature: failed to verify id token signature"} {"level":"debug","ts":"2026-07-06T14:56:24Z","logger":"authorino.service.auth.authpipeline.identity.kubernetesauth","msg":"calling kubernetes token review api","request id":"61bbca2f-e6d2-42fe-a344-7dbe1c3e103f","tokenreview":{"name":""}} {"level":"debug","ts":"2026-07-06T14:56:24Z","logger":"authorino.service.auth.authpipeline.identity","msg":"cannot validate identity","request id":"61bbca2f-e6d2-42fe-a344-7dbe1c3e103f","config":{"Name":"openshift-identities","Priority":2,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OAuth2":null,"JWTAuthentication":null,"MTLS":null,"HMAC":null,"APIKey":null,"KubernetesAuth":{"AuthCredentials":{"KeySelector":"Bearer","In":"authorization_header"}},"Plain":null,"Noop":null,"ExtendedProperties":[]},"reason":"not authenticated"} {"level":"info","ts":"2026-07-06T14:56:24Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"61bbca2f-e6d2-42fe-a344-7dbe1c3e103f","authorized":false,"response":"UNAUTHENTICATED","object":{"code":16,"status":401,"message":"Authentication required"}} {"level":"debug","ts":"2026-07-06T14:56:24Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"61bbca2f-e6d2-42fe-a344-7dbe1c3e103f","authorized":false,"response":"UNAUTHENTICATED","object":{"code":16,"status":401,"message":"Authentication required","headers":[{"WWW-Authenticate":"request.headers.authorization realm=\"api-keys\""},{"WWW-Authenticate":"Bearer **** realm=\"openshift-identities\""}]}} {"level":"info","ts":"2026-07-06T14:56:25Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"e77180b0-ca30-44a1-8a3b-4cb2fa660eae","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43036","PortSpecifier":{"PortValue":43036}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"e77180b0-ca30-44a1-8a3b-4cb2fa660eae","method":"POST","path":"/maas-api/v1/api-keys","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:56:25Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"e77180b0-ca30-44a1-8a3b-4cb2fa660eae","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43036","PortSpecifier":{"PortValue":43036}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349785,"nanos":6091734},"http":{"id":"e77180b0-ca30-44a1-8a3b-4cb2fa660eae","method":"POST","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer","content-length":"35","content-type":"application/json","forwarded":"for=52.71.36.72;host=maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com;proto=https","user-agent":"python-requests/2.32.5","x-envoy-decorator-operation":"maas-api.opendatahub.svc.cluster.local:8443/*","x-envoy-external-address":"10.133.0.12","x-envoy-peer-metadata":"ChoKCkNMVVNURVJfSUQSDBoKS3ViZXJuZXRlcwqLAQoGTEFCRUxTEoABKn4KSwofc2VydmljZS5pc3Rpby5pby9jYW5vbmljYWwtbmFtZRIoGiZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAovCiNzZXJ2aWNlLmlzdGlvLmlvL2Nhbm9uaWNhbC1yZXZpc2lvbhIIGgZsYXRlc3QKQAoETkFNRRI4GjZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdC01NjY1NGRjZjctcHNjNjIKIAoJTkFNRVNQQUNFEhMaEW9wZW5zaGlmdC1pbmdyZXNzCnQKBU9XTkVSEmsaaWt1YmVybmV0ZXM6Ly9hcGlzL2FwcHMvdjEvbmFtZXNwYWNlcy9vcGVuc2hpZnQtaW5ncmVzcy9kZXBsb3ltZW50cy9tYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAo5Cg1XT1JLTE9BRF9OQU1FEigaJm1hYXMtZGVmYXVsdC1nYXRld2F5LW9wZW5zaGlmdC1kZWZhdWx0","x-envoy-peer-metadata-id":"router~10.132.0.41~maas-default-gateway-openshift-default-56654dcf7-psc62.openshift-ingress~openshift-ingress.svc.cluster.local","x-forwarded-for":"52.71.36.72,10.133.0.12","x-forwarded-host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","x-forwarded-port":"443","x-forwarded-proto":"https","x-request-id":"e77180b0-ca30-44a1-8a3b-4cb2fa660eae"},"path":"/maas-api/v1/api-keys","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https","protocol":"HTTP/1.1"}},"context_extensions":{"host":"4b78668c68e506f3e4245c5d1f1af6820d0987e90bac1b37e2a03d21cc7ed38d"},"metadata_context":{}}} {"level":"debug","ts":"2026-07-06T14:56:25Z","logger":"authorino.service.auth.authpipeline.identity","msg":"cannot validate identity","request id":"e77180b0-ca30-44a1-8a3b-4cb2fa660eae","config":{"Name":"openshift-identities","Priority":2,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OAuth2":null,"JWTAuthentication":null,"MTLS":null,"HMAC":null,"APIKey":null,"KubernetesAuth":{"AuthCredentials":{"KeySelector":"Bearer","In":"authorization_header"}},"Plain":null,"Noop":null,"ExtendedProperties":[]},"reason":"credential not found"} {"level":"info","ts":"2026-07-06T14:56:25Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"e77180b0-ca30-44a1-8a3b-4cb2fa660eae","authorized":false,"response":"UNAUTHENTICATED","object":{"code":16,"status":401,"message":"Authentication required"}} {"level":"debug","ts":"2026-07-06T14:56:25Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"e77180b0-ca30-44a1-8a3b-4cb2fa660eae","authorized":false,"response":"UNAUTHENTICATED","object":{"code":16,"status":401,"message":"Authentication required","headers":[{"WWW-Authenticate":"request.headers.authorization realm=\"api-keys\""},{"WWW-Authenticate":"Bearer **** realm=\"openshift-identities\""}]}} {"level":"info","ts":"2026-07-06T14:56:25Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"ac095b82-e82a-4157-91e6-c210649da480","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43052","PortSpecifier":{"PortValue":43052}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"ac095b82-e82a-4157-91e6-c210649da480","method":"POST","path":"/maas-api/v1/api-keys","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:56:25Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"ac095b82-e82a-4157-91e6-c210649da480","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43052","PortSpecifier":{"PortValue":43052}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349785,"nanos":34084290},"http":{"id":"ac095b82-e82a-4157-91e6-c210649da480","method":"POST","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","content-length":"36","content-type":"application/json","forwarded":"for=52.71.36.72;host=maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com;proto=https","user-agent":"python-requests/2.32.5","x-envoy-decorator-operation":"maas-api.opendatahub.svc.cluster.local:8443/*","x-envoy-external-address":"10.133.0.12","x-envoy-peer-metadata":"ChoKCkNMVVNURVJfSUQSDBoKS3ViZXJuZXRlcwqLAQoGTEFCRUxTEoABKn4KSwofc2VydmljZS5pc3Rpby5pby9jYW5vbmljYWwtbmFtZRIoGiZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAovCiNzZXJ2aWNlLmlzdGlvLmlvL2Nhbm9uaWNhbC1yZXZpc2lvbhIIGgZsYXRlc3QKQAoETkFNRRI4GjZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdC01NjY1NGRjZjctcHNjNjIKIAoJTkFNRVNQQUNFEhMaEW9wZW5zaGlmdC1pbmdyZXNzCnQKBU9XTkVSEmsaaWt1YmVybmV0ZXM6Ly9hcGlzL2FwcHMvdjEvbmFtZXNwYWNlcy9vcGVuc2hpZnQtaW5ncmVzcy9kZXBsb3ltZW50cy9tYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAo5Cg1XT1JLTE9BRF9OQU1FEigaJm1hYXMtZGVmYXVsdC1nYXRld2F5LW9wZW5zaGlmdC1kZWZhdWx0","x-envoy-peer-metadata-id":"router~10.132.0.41~maas-default-gateway-openshift-default-56654dcf7-psc62.openshift-ingress~openshift-ingress.svc.cluster.local","x-forwarded-for":"52.71.36.72,10.133.0.12","x-forwarded-host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","x-forwarded-port":"443","x-forwarded-proto":"https","x-request-id":"ac095b82-e82a-4157-91e6-c210649da480"},"path":"/maas-api/v1/api-keys","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https","protocol":"HTTP/1.1"}},"context_extensions":{"host":"4b78668c68e506f3e4245c5d1f1af6820d0987e90bac1b37e2a03d21cc7ed38d"},"metadata_context":{}}} {"level":"info","ts":"2026-07-06T14:56:25Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"ac095b82-e82a-4157-91e6-c210649da480","authorized":false,"response":"UNAUTHENTICATED","object":{"code":16,"status":401,"message":"Authentication required"}} {"level":"debug","ts":"2026-07-06T14:56:25Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"ac095b82-e82a-4157-91e6-c210649da480","authorized":false,"response":"UNAUTHENTICATED","object":{"code":16,"status":401,"message":"Authentication required","headers":[{"WWW-Authenticate":"request.headers.authorization realm=\"api-keys\""},{"WWW-Authenticate":"Bearer **** realm=\"openshift-identities\""}]}} {"level":"info","ts":"2026-07-06T14:56:25Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"45e99beb-1442-49f8-b543-4375daca3bfc","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43066","PortSpecifier":{"PortValue":43066}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"45e99beb-1442-49f8-b543-4375daca3bfc","method":"POST","path":"/maas-api/v1/api-keys","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:56:25Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"45e99beb-1442-49f8-b543-4375daca3bfc","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43066","PortSpecifier":{"PortValue":43066}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349785,"nanos":124859089},"http":{"id":"45e99beb-1442-49f8-b543-4375daca3bfc","method":"POST","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:56:25Z","logger":"authorino.service.auth.authpipeline.identity","msg":"cannot validate identity","request id":"45e99beb-1442-49f8-b543-4375daca3bfc","config":{"Name":"oidc-identities","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OAuth2":null,"JWTAuthentication":{"AuthCredentials":{"KeySelector":"Bearer","In":"authorization_header"}},"MTLS":null,"HMAC":null,"APIKey":null,"KubernetesAuth":null,"Plain":null,"Noop":null,"ExtendedProperties":[]},"reason":"oidc: token is expired (Token Expiry: 2026-07-06 13:56:25 +0000 UTC)"} {"level":"debug","ts":"2026-07-06T14:56:25Z","logger":"authorino.service.auth.authpipeline.identity.kubernetesauth","msg":"calling kubernetes token review api","request id":"45e99beb-1442-49f8-b543-4375daca3bfc","tokenreview":{"name":""}} {"level":"debug","ts":"2026-07-06T14:56:25Z","logger":"authorino.service.auth.authpipeline.identity","msg":"cannot validate identity","request id":"45e99beb-1442-49f8-b543-4375daca3bfc","config":{"Name":"openshift-identities","Priority":2,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OAuth2":null,"JWTAuthentication":null,"MTLS":null,"HMAC":null,"APIKey":null,"KubernetesAuth":{"AuthCredentials":{"KeySelector":"Bearer","In":"authorization_header"}},"Plain":null,"Noop":null,"ExtendedProperties":[]},"reason":"not authenticated"} {"level":"info","ts":"2026-07-06T14:56:25Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"45e99beb-1442-49f8-b543-4375daca3bfc","authorized":false,"response":"UNAUTHENTICATED","object":{"code":16,"status":401,"message":"Authentication required"}} {"level":"debug","ts":"2026-07-06T14:56:25Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"45e99beb-1442-49f8-b543-4375daca3bfc","authorized":false,"response":"UNAUTHENTICATED","object":{"code":16,"status":401,"message":"Authentication required","headers":[{"WWW-Authenticate":"request.headers.authorization realm=\"api-keys\""},{"WWW-Authenticate":"Bearer **** realm=\"openshift-identities\""}]}} {"level":"info","ts":"2026-07-06T14:56:29Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/ae801755055697a955f8819cd877930de573a3580313ad2b573e753f38cbe2d0"} {"level":"info","ts":"2026-07-06T14:56:29Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/6f1cbf0c187959efbbfd6338e1e1e4fc5c00d0918b923c31b5d3c03c09536730"} {"level":"info","ts":"2026-07-06T14:56:29Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/2228ccaeaf152f4373414299ed4705c42e1c6fa0d67106b917e7df99f1adcd0d"} {"level":"info","ts":"2026-07-06T14:56:29Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/0b5b5dc96b96161935e35cce3fdf3c4504ec5d0b402c1b0c2b79a431de9e0357"} {"level":"info","ts":"2026-07-06T14:56:29Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/846b5baebbb40b91729d6e70e8fce58b3cffa9e06f4b3756179285529f0693b7"} {"level":"info","ts":"2026-07-06T14:56:29Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/73b613eef9b0321e343b97c614f6279696af1b2322a6e767f4e6d27ce45c4f51"} {"level":"info","ts":"2026-07-06T14:56:29Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/ca7a6dfa546b74290ac9a3c0f1cd9715df0231f347c81cc513370e93acecaf59"} {"level":"info","ts":"2026-07-06T14:56:29Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/8acec05a9886955ef9038690dcfcc941d94f793cd2eeb2432fa1bb8234d8688e"} {"level":"info","ts":"2026-07-06T14:56:34Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/a2f4234f64d458ece75724e2981e6473b6e36a6c894bd37361a8c7cba574167b"} {"level":"info","ts":"2026-07-06T14:56:34Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/2fa97db52b9112955e88669baf7f2b8e207c6692a35a06dec28ec6cf877896b6"} {"level":"info","ts":"2026-07-06T14:56:35Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/68c440bdf260def9552d4b80e807d4ae58efad0e2b7e24d55478daf996e24949"} {"level":"info","ts":"2026-07-06T14:56:35Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/b75915932c3caef88e81318f63a732474c18078ccd4bdcd938bbdbf0fcb70a8b"} {"level":"info","ts":"2026-07-06T14:56:35Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/b2f35e696dafbcca9c86a3105a9535d8d317bfa90a71be54b16dd90be9a42c14"} {"level":"info","ts":"2026-07-06T14:56:35Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/97a2d4cdbd9cb80b947adb6f4cbf50bdab045a7b4d776056c9bed6d06e6c66ff"} {"level":"info","ts":"2026-07-06T14:56:35Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/0bdc8c1ce17d19fe3e74d39b3ab1104dbf94b27ed49b33b91f38c6bca2f238a2"} {"level":"info","ts":"2026-07-06T14:56:35Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/79495ab14262d3ed7ca443a063d66ddaf6de321f80e453ea2a001a4dab1064bb"} {"level":"debug","ts":"2026-07-06T14:56:39Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/9903213c635804dd416e9f12956f0fa896195627091daaf593a30df64cf640c5","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:39Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/e50f5fdcb9fb7e124557afe69edae9a95d05da488eae1cc4b5c1c7c1220a826a","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:39Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/a124e7db3701742524b9534a4ba1eb68cc6d8f337ccc26c3f8f17b958cc795d0","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:39Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/bf72a6316f6ed79299511e58d068836cdc71dbca5e23944f783c9340ffa0aee1","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:40Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/1ef3f8313d73a7c14b76ea704cc3f23f015b2ab50034887cf570208a050e9863","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:40Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/888fdad5bc63ac36546012ce97b2af4b7b1a45ef243fd2eba72f12c306f06e3e","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:40Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/d3b195a61a7f24c6bf1fba40f9f2e2565facb6af92e959c1546ac398a9172618","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:40Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/707878bcd632125ecab845de29fc41570ff2eb882a04dea05a2e77c0ea6d31f9","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:40Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/98dd9311f361e75de96f77b800598c9f5c79c7fa539cfd493b5f7631f8efab90","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:40Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/47d4519f979dd8b06fb3b12ecf63e079887e8b64c789a1ff79b4c429f3a6aa2a","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:40Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/c098209e055107073c6ded1d63e221315c2239f3cf17a7d15056a7494c5714fb","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:40Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/9bbfc0b2e9e9acadd41342cd7c36a24afa8a5eef942d161782a6adae8411158a","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:40Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/3dd75e19cd66d310c30638e330078972afd6d2d96305f91055bc6a6f363fb8d3","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:40Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/3c0d47082320c9bb02d3788ab2b052c696af91abc2ae438437ae71a26936c7c2","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:40Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/331dc257e65f55f80700a586f7807093eda7b3d8e7d91215dc3c47731508480c","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:40Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/3d32277ea538e86091b57e14fc6f6582cbe1daa3e7e81223282a75b03a512083","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:41Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/cd452b3491b4064e772f38d1a288406bb3889f19efd54af26f6554f07046a8c0","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:41Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/c9f2cdb36f800bc8ef8831e6117ec4c6cc521d8cd63b718b7906225d0f25e59f","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:41Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/9f3df6834dcf2df14d188decd66432f3940127e3a8261065cd3a44bd9ed1db6d","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:41Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/4dc577fd60594d78a4a8bebe396f4b5a928f41bdc3f95c06d717cf1ddc3158b2","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:41Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/35d34d59676c333235d7c9f02273e0380bb39f27cfd30856fedc0f7c0e5f79aa","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:41Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/01918e70442d2cb18c94316131b0e0a241b4a5d12df5b1e1981a3bef420bbdb5","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:41Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/df733b2c652bfe2458c9e19932b1091e939c1a62178d6879462b3b4f73fca4bb","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:41Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/86cbb62fb4d82d4dc402b3281444539a5625c4bb4c86bbc4912c70e690a2e374","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:41Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/e38d76c6f386f12bc12190c87b39e6e77e182be454f85659a9197c301f2cd9be","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:41Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/3774b789b89cb794db9f2ae5a4e410c6a000c480af86f9e4466977b4dc7de25a","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:41Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/305bde7d554d0d2810b101d2b8d4e0e15521c2afbf16166555b8e9aa4ed39a3d","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:41Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/30c4b39450ec876cfb2b0e66cbea2a74b7bcfafcf83d80a94c503487492e5a48","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:41Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/ba8750633b915855593e941d13c912f4f6c6d6c6a659c241b67d178bbe85f188","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:41Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/a89b0896df0d8cd430f1c81b6eb292ddc044daed393537d009a6330718f58d4b","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:41Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/cc09b530b46a73b0d4ddb40e465580cff15db19d77e93e4903c9737647deeb1a","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:42Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/5fea747cb803a5ee3aeb620187bd9ec74ccccd10a92474ef528215a7ff146c8f","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:42Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/319a353672fc7601c875fa3f8b807adf60b64f093f022b2a1c3dfef3ac8cd4f4","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:42Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/4b78668c68e506f3e4245c5d1f1af6820d0987e90bac1b37e2a03d21cc7ed38d","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:42Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/e9607d3c9394ff787a7cb9306c470b1007979008e27c6d6c68281553a4653faa","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:42Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/311b1be286674fd5684c9ac59b318287dade9769cfe4aeebd8c88e2dc6b72418","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:42Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/4375a0165d777c3dbcac3b90772aafb3ba82b742e01878423b9fb1e122337433","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:42Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/630f18b14e5ce0234d4da773011770ac52ec305a1af3397f72696bf5262056bb","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:42Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/452d598a0ad1047944cd02d3654e6793847781ecc87763544a69e05020a86cf3","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:42Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/101d9a4d9b715268b3a3623fb114473501068b7352d534f324f4a3121b535746","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:42Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/a394737442ca47bfbcb906bcf34d05c5515587984942470db6d6858608ab543a","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:42Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/7371c34ce8e4df2309ee8f952c87f921947b289427b6e9ea579dcb9970fc1b86","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:42Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/b1f82c4ba6cc7617f9c0b90067f72f4a25fdc5de2564c14ccb90af534a2905f6","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:42Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/18e32965997cdd9967355c6fa5264ed12c0a215989d459ed88d7d6de02865f76","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:42Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/3dc75fc8307b952a3e873400cf417e90f2861e8a225abec4b22708deb7901db7","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:42Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/4325b2a5e55bf181d1f503f5c3cbce3259c00ca301216d4ea5bc6b962627f1bd","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:42Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/80f10756c0e833d16937036ed66f1daf5bef95559ef05a5e852766b97b9bdaef","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:42Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/d66f5b12bbb76f83ef1cb89313ae7356d9a4c974f276c1405eefa0cb8d66ceda","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:42Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/98b96558d098c10ea5cd4b877712861a71c554909b27785cf9b672cf28954a5a","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:43Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/edcceb5a2e0cf1edde0fc3ed43068ce5b123a6fdc41949959c2c3b7a5a48bf24","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"debug","ts":"2026-07-06T14:56:43Z","logger":"authorino.controller-runtime.manager.controller.authconfig.jwt","msg":"openid connect configuration updated","authconfig":"kuadrant-system/f9a2a1e13eaadb4f450e63a68a3d05ec02a537019380f832f5992d1c5cdee533","issuerUrl":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a"} {"level":"info","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"3962a53a-79b5-43a7-98d0-78349bc5dc5e","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43634","PortSpecifier":{"PortValue":43634}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"3962a53a-79b5-43a7-98d0-78349bc5dc5e","method":"POST","path":"/maas-api/v1/api-keys","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"3962a53a-79b5-43a7-98d0-78349bc5dc5e","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43634","PortSpecifier":{"PortValue":43634}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349850,"nanos":302788582},"http":{"id":"3962a53a-79b5-43a7-98d0-78349bc5dc5e","method":"POST","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth.authpipeline.identity","msg":"cannot validate identity","request id":"3962a53a-79b5-43a7-98d0-78349bc5dc5e","config":{"Name":"oidc-identities","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OAuth2":null,"JWTAuthentication":{"AuthCredentials":{"KeySelector":"Bearer","In":"authorization_header"}},"MTLS":null,"HMAC":null,"APIKey":null,"KubernetesAuth":null,"Plain":null,"Noop":null,"ExtendedProperties":[]},"reason":"oidc: token is expired (Token Expiry: 2026-07-06 14:57:25 +0000 UTC)"} {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth.authpipeline.identity.kubernetesauth","msg":"calling kubernetes token review api","request id":"3962a53a-79b5-43a7-98d0-78349bc5dc5e","tokenreview":{"name":""}} {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth.authpipeline.identity","msg":"cannot validate identity","request id":"3962a53a-79b5-43a7-98d0-78349bc5dc5e","config":{"Name":"openshift-identities","Priority":2,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OAuth2":null,"JWTAuthentication":null,"MTLS":null,"HMAC":null,"APIKey":null,"KubernetesAuth":{"AuthCredentials":{"KeySelector":"Bearer","In":"authorization_header"}},"Plain":null,"Noop":null,"ExtendedProperties":[]},"reason":"not authenticated"} {"level":"info","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"3962a53a-79b5-43a7-98d0-78349bc5dc5e","authorized":false,"response":"UNAUTHENTICATED","object":{"code":16,"status":401,"message":"Authentication required"}} {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"3962a53a-79b5-43a7-98d0-78349bc5dc5e","authorized":false,"response":"UNAUTHENTICATED","object":{"code":16,"status":401,"message":"Authentication required","headers":[{"WWW-Authenticate":"request.headers.authorization realm=\"api-keys\""},{"WWW-Authenticate":"Bearer **** realm=\"openshift-identities\""}]}} {"level":"info","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"d30f18a8-4b8b-4c2f-8444-2589327052a3","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43640","PortSpecifier":{"PortValue":43640}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"d30f18a8-4b8b-4c2f-8444-2589327052a3","method":"POST","path":"/maas-api/v1/api-keys","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"d30f18a8-4b8b-4c2f-8444-2589327052a3","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43640","PortSpecifier":{"PortValue":43640}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349850,"nanos":735750556},"http":{"id":"d30f18a8-4b8b-4c2f-8444-2589327052a3","method":"POST","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"d30f18a8-4b8b-4c2f-8444-2589327052a3","config":{"Name":"oidc-identities","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OAuth2":null,"JWTAuthentication":{"AuthCredentials":{"KeySelector":"Bearer","In":"authorization_header"}},"MTLS":null,"HMAC":null,"APIKey":null,"KubernetesAuth":null,"Plain":null,"Noop":null,"ExtendedProperties":[]},"object":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349910,"groups":["Site-Reliability"],"iat":1783349850,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:d492cdf5-2b11-40a1-15f5-3f42e250c7ad","preferred_username":"bob_sre","scope":"profile email","sid":"wxU10UkiZcZMGx_1zTLNpwKz","sub":"51a38a4c-b29d-429a-b256-ee4650b6a818","typ":"Bearer"}} {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"d30f18a8-4b8b-4c2f-8444-2589327052a3","input":{"auth":{"identity":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349910,"groups":["Site-Reliability"],"iat":1783349850,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:d492cdf5-2b11-40a1-15f5-3f42e250c7ad","preferred_username":"bob_sre","scope":"profile email","sid":"wxU10UkiZcZMGx_1zTLNpwKz","sub":"51a38a4c-b29d-429a-b256-ee4650b6a818","typ":"Bearer"}},"context":{"context_extensions":{"host":"4b78668c68e506f3e4245c5d1f1af6820d0987e90bac1b37e2a03d21cc7ed38d"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.41:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"d30f18a8-4b8b-4c2f-8444-2589327052a3","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"d30f18a8-4b8b-4c2f-8444-2589327052a3","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"d30f18a8-4b8b-4c2f-8444-2589327052a3","config":{"Name":"oidc-groups-safe","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OPA":{"Rego":"unsafe_group[g] {\n\tg := input.auth.identity.groups[_]\n\tnot regex.match(\"^[A-Za-z0-9:._/-]+$\", g)\n}\n\nallow {\n\tcount(unsafe_group) == 0\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"d30f18a8-4b8b-4c2f-8444-2589327052a3","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"d30f18a8-4b8b-4c2f-8444-2589327052a3","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"userid","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"d30f18a8-4b8b-4c2f-8444-2589327052a3","config":{"Name":"X-MaaS-Group-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Site-Reliability\"]"} {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"d30f18a8-4b8b-4c2f-8444-2589327052a3","config":{"Name":"X-MaaS-Username-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"bob_sre"} {"level":"info","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"d30f18a8-4b8b-4c2f-8444-2589327052a3","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"d30f18a8-4b8b-4c2f-8444-2589327052a3","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"f6fafc57-5599-465c-b2b9-fba2f1c4b0a7","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43652","PortSpecifier":{"PortValue":43652}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"f6fafc57-5599-465c-b2b9-fba2f1c4b0a7","method":"POST","path":"/maas-api/v1/api-keys","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"f6fafc57-5599-465c-b2b9-fba2f1c4b0a7","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43652","PortSpecifier":{"PortValue":43652}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349850,"nanos":975620976},"http":{"id":"f6fafc57-5599-465c-b2b9-fba2f1c4b0a7","method":"POST","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"f6fafc57-5599-465c-b2b9-fba2f1c4b0a7","config":{"Name":"oidc-identities","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OAuth2":null,"JWTAuthentication":{"AuthCredentials":{"KeySelector":"Bearer","In":"authorization_header"}},"MTLS":null,"HMAC":null,"APIKey":null,"KubernetesAuth":null,"Plain":null,"Noop":null,"ExtendedProperties":[]},"object":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349910,"groups":["Engineering","Project-Alpha"],"iat":1783349850,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:f019c41b-ebf2-cfba-8d14-32fd48eb2ba5","preferred_username":"alice_lead","scope":"profile email","sid":"ETMtAGtGyyDlqHCj1zkf7tML","sub":"8e4c6649-05e4-4b70-95ca-49ee7f461056","typ":"Bearer"}} {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"f6fafc57-5599-465c-b2b9-fba2f1c4b0a7","input":{"auth":{"identity":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349910,"groups":["Engineering","Project-Alpha"],"iat":1783349850,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:f019c41b-ebf2-cfba-8d14-32fd48eb2ba5","preferred_username":"alice_lead","scope":"profile email","sid":"ETMtAGtGyyDlqHCj1zkf7tML","sub":"8e4c6649-05e4-4b70-95ca-49ee7f461056","typ":"Bearer"}},"context":{"context_extensions":{"host":"4b78668c68e506f3e4245c5d1f1af6820d0987e90bac1b37e2a03d21cc7ed38d"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.41:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"f6fafc57-5599-465c-b2b9-fba2f1c4b0a7","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"f6fafc57-5599-465c-b2b9-fba2f1c4b0a7","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"f6fafc57-5599-465c-b2b9-fba2f1c4b0a7","config":{"Name":"oidc-groups-safe","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OPA":{"Rego":"unsafe_group[g] {\n\tg := input.auth.identity.groups[_]\n\tnot regex.match(\"^[A-Za-z0-9:._/-]+$\", g)\n}\n\nallow {\n\tcount(unsafe_group) == 0\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"f6fafc57-5599-465c-b2b9-fba2f1c4b0a7","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"f6fafc57-5599-465c-b2b9-fba2f1c4b0a7","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"userid","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"f6fafc57-5599-465c-b2b9-fba2f1c4b0a7","config":{"Name":"X-MaaS-Group-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"f6fafc57-5599-465c-b2b9-fba2f1c4b0a7","config":{"Name":"X-MaaS-Username-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"alice_lead"} {"level":"info","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"f6fafc57-5599-465c-b2b9-fba2f1c4b0a7","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:30Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"f6fafc57-5599-465c-b2b9-fba2f1c4b0a7","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"45d2fb6c-bf5e-46d6-bbce-046f46894dcc","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43658","PortSpecifier":{"PortValue":43658}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"45d2fb6c-bf5e-46d6-bbce-046f46894dcc","method":"GET","path":"/maas-api/v1/models","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"45d2fb6c-bf5e-46d6-bbce-046f46894dcc","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43658","PortSpecifier":{"PortValue":43658}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349851,"nanos":12582676},"http":{"id":"45d2fb6c-bf5e-46d6-bbce-046f46894dcc","method":"GET","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"GET",":path":"/maas-api/v1/models",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"45d2fb6c-bf5e-46d6-bbce-046f46894dcc","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-47rJhNfVJZr0vT9M_GuGJJsUzaUe8lXjFlTHQYHPCepbqjJ5XXm4LVKrQznn"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"45d2fb6c-bf5e-46d6-bbce-046f46894dcc","config":"apiKeyValidation","method":"POST","url":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-47rJhNfVJZr0vT9M_GuGJJsUzaUe8lXjFlTHQYHPCepbqjJ5XXm4LVKrQznn\"}"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"45d2fb6c-bf5e-46d6-bbce-046f46894dcc","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","DynamicEndpoint":null,"Method":"POST","Body":{},"Parameters":[],"Headers":[],"ContentType":"application/json","SharedSecret":"","OAuth2":null,"OAuth2TokenForceFetch":false,"AuthCredentials":null}},"object":{"groups":["system:authenticated","Engineering","Project-Alpha"],"keyId":"b5c983c1-d854-42a8-8b92-e1ddbe2119c6","keyName":"e2e-oidc-56f0b80e","subscription":"simulator-subscription","tenant":"models-as-a-service","userId":"b5c983c1-d854-42a8-8b92-e1ddbe2119c6","username":"alice_lead","valid":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"45d2fb6c-bf5e-46d6-bbce-046f46894dcc","input":{"auth":{"identity":"Bearer **** deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"45d2fb6c-bf5e-46d6-bbce-046f46894dcc","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"45d2fb6c-bf5e-46d6-bbce-046f46894dcc","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"45d2fb6c-bf5e-46d6-bbce-046f46894dcc","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"45d2fb6c-bf5e-46d6-bbce-046f46894dcc","config":{"Name":"X-MaaS-Username","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{"Static":null,"Pattern":"auth.metadata.apiKeyValidation.username"}}},"object":"alice_lead"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"45d2fb6c-bf5e-46d6-bbce-046f46894dcc","config":{"Name":"X-MaaS-Subscription","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Subscription","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"simulator-subscription"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"45d2fb6c-bf5e-46d6-bbce-046f46894dcc","config":{"Name":"X-MaaS-Group","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"45d2fb6c-bf5e-46d6-bbce-046f46894dcc","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"userid","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}}]},"Plain":null},"reason":"no such key: subscription-info"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"45d2fb6c-bf5e-46d6-bbce-046f46894dcc","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"45d2fb6c-bf5e-46d6-bbce-046f46894dcc","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"84b9c0dc-ee63-4660-a4fd-7309872d5fc4","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.28:53752","PortSpecifier":{"PortValue":53752}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"84b9c0dc-ee63-4660-a4fd-7309872d5fc4","method":"GET","path":"/llm/facebook-opt-125m-simulated/v1/models","host":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"84b9c0dc-ee63-4660-a4fd-7309872d5fc4","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.28:53752","PortSpecifier":{"PortValue":53752}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349851,"nanos":39995728},"http":{"id":"84b9c0dc-ee63-4660-a4fd-7309872d5fc4","method":"GET","headers":{":authority":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local",":method":"GET",":path":"/llm/facebook-opt-125m-simulated/v1/models",":scheme":"https","accept-encoding":"gzip","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"84b9c0dc-ee63-4660-a4fd-7309872d5fc4","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-47rJhNfVJZr0vT9M_GuGJJsUzaUe8lXjFlTHQYHPCepbqjJ5XXm4LVKrQznn"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"84b9c0dc-ee63-4660-a4fd-7309872d5fc4","config":"apiKeyValidation","method":"POST","url":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-47rJhNfVJZr0vT9M_GuGJJsUzaUe8lXjFlTHQYHPCepbqjJ5XXm4LVKrQznn\"}"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"84b9c0dc-ee63-4660-a4fd-7309872d5fc4","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","DynamicEndpoint":null,"Method":"POST","Body":{},"Parameters":[],"Headers":[],"ContentType":"application/json","SharedSecret":"","OAuth2":null,"OAuth2TokenForceFetch":false,"AuthCredentials":null}},"object":{"groups":["system:authenticated","Engineering","Project-Alpha"],"keyId":"b5c983c1-d854-42a8-8b92-e1ddbe2119c6","keyName":"e2e-oidc-56f0b80e","subscription":"simulator-subscription","tenant":"models-as-a-service","userId":"b5c983c1-d854-42a8-8b92-e1ddbe2119c6","username":"alice_lead","valid":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"84b9c0dc-ee63-4660-a4fd-7309872d5fc4","config":"subscription-info","method":"POST","url":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/subscriptions/select","headers":{"Content-Type":["application/json"]},"body":"{\"groups\":[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"],\"requestedModel\":\"llm/facebook-opt-125m-simulated\",\"requestedSubscription\":\"simulator-subscription\",\"username\":\"alice_lead\"}"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"84b9c0dc-ee63-4660-a4fd-7309872d5fc4","config":{"Name":"subscription-info","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/subscriptions/select","DynamicEndpoint":null,"Method":"POST","Body":{},"Parameters":[],"Headers":[],"ContentType":"application/json","SharedSecret":"","OAuth2":null,"OAuth2TokenForceFetch":false,"AuthCredentials":null}},"object":{"description":"Free-tier subscription with 100 tokens/min rate limit","displayName":"Simulator Subscription (Free)","modelRefs":[{"description":"A simulated OPT-125M model for free-tier testing","display_name":"Facebook OPT 125M (Simulated)","name":"facebook-opt-125m-simulated","source":"internal","token_rate_limits":[{"limit":100,"window":"1m"}]}],"name":"simulator-subscription","namespace":"models-as-a-service","phase":"Active","priority":10,"ready":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"84b9c0dc-ee63-4660-a4fd-7309872d5fc4","input":{"auth":{"identity":"Bearer **** subscription with 100 tokens/min rate limit","displayName":"Simulator Subscription (Free)","modelRefs":[{"description":"A simulated OPT-125M model for free-tier testing","display_name":"Facebook OPT 125M (Simulated)","name":"facebook-opt-125m-simulated","source":"internal","token_rate_limits":[{"limit":100,"window":"1m"}]}],"name":"simulator-subscription","namespace":"models-as-a-service","phase":"Active","priority":10,"ready":true}}},"context":{"context_extensions":{"host":"4375a0165d777c3dbcac3b90772aafb3ba82b742e01878423b9fb1e122337433"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.41:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local",":method":"GET",":path":"/llm/facebook-opt-125m-simulated/v1/models",":scheme":"https","accept-encoding":"gzip","authorization":"Bearer **** sk-oai-47rJhNfVJZr0vT9M_GuGJJsUzaUe8lXjFlTHQYHPCepbqjJ5XXm4LVKrQznn","user-agent":"Go-http-client/1.1","x-envoy-decorator-operation":"facebook-opt-125m-simulated-kserve-workload-svc.llm.svc.cluster.local:8000/*","x-envoy-external-address":"10.133.0.28","x-envoy-peer-metadata":"ChoKCkNMVVNURVJfSUQSDBoKS3ViZXJuZXRlcwqLAQoGTEFCRUxTEoABKn4KSwofc2VydmljZS5pc3Rpby5pby9jYW5vbmljYWwtbmFtZRIoGiZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAovCiNzZXJ2aWNlLmlzdGlvLmlvL2Nhbm9uaWNhbC1yZXZpc2lvbhIIGgZsYXRlc3QKQAoETkFNRRI4GjZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdC01NjY1NGRjZjctcHNjNjIKIAoJTkFNRVNQQUNFEhMaEW9wZW5zaGlmdC1pbmdyZXNzCnQKBU9XTkVSEmsaaWt1YmVybmV0ZXM6Ly9hcGlzL2FwcHMvdjEvbmFtZXNwYWNlcy9vcGVuc2hpZnQtaW5ncmVzcy9kZXBsb3ltZW50cy9tYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAo5Cg1XT1JLTE9BRF9OQU1FEigaJm1hYXMtZGVmYXVsdC1nYXRld2F5LW9wZW5zaGlmdC1kZWZhdWx0","x-envoy-peer-metadata-id":"router~10.132.0.41~maas-default-gateway-openshift-default-56654dcf7-psc62.openshift-ingress~openshift-ingress.svc.cluster.local","x-forwarded-for":"10.133.0.28","x-forwarded-proto":"https","x-maas-subscription":"simulator-subscription","x-request-id":"84b9c0dc-ee63-4660-a4fd-7309872d5fc4"},"host":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local","id":"84b9c0dc-ee63-4660-a4fd-7309872d5fc4","method":"GET","path":"/llm/facebook-opt-125m-simulated/v1/models","protocol":"HTTP/1.1","scheme":"https","time":{"nanos":39995728,"seconds":1783349851},"url_path":"/llm/facebook-opt-125m-simulated/v1/models","user_agent":"Go-http-client/1.1"},"source":{"address":"10.133.0.28:53752","port":53752}}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"84b9c0dc-ee63-4660-a4fd-7309872d5fc4","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"84b9c0dc-ee63-4660-a4fd-7309872d5fc4","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"84b9c0dc-ee63-4660-a4fd-7309872d5fc4","config":{"Name":"subscription-valid","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n\tobject.get(input.auth.metadata[\"subscription-info\"], \"name\", \"\") != \"\"\n\tobject.get(input.auth.metadata[\"subscription-info\"], \"error\", \"\") == \"\"\n\tphase := object.get(input.auth.metadata[\"subscription-info\"], \"phase\", \"\")\n\tany([phase == \"Active\", phase == \"Degraded\"])\n\tobject.get(input.auth.metadata[\"subscription-info\"], \"deletionTimestamp\", \"\") == \"\"\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"84b9c0dc-ee63-4660-a4fd-7309872d5fc4","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"84b9c0dc-ee63-4660-a4fd-7309872d5fc4","config":{"Name":"X-MaaS-Subscription","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Subscription","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"simulator-subscription"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"84b9c0dc-ee63-4660-a4fd-7309872d5fc4","config":{"Name":"X-MaaS-Group","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"84b9c0dc-ee63-4660-a4fd-7309872d5fc4","config":{"Name":"X-MaaS-Username","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{"Static":null,"Pattern":"auth.metadata.apiKeyValidation.username"}}},"object":"alice_lead"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"84b9c0dc-ee63-4660-a4fd-7309872d5fc4","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"keyId","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"userid","Value":{}}]},"Plain":null},"object":{"groups":["system:authenticated","Engineering","Project-Alpha"],"groups_str":"system:authenticated,Engineering,Project-Alpha","keyId":"b5c983c1-d854-42a8-8b92-e1ddbe2119c6","keyName":"e2e-oidc-56f0b80e","selected_subscription":"simulator-subscription","selected_subscription_key":"models-as-a-service/simulator-subscription@llm/facebook-opt-125m-simulated","subscription_error":"","subscription_error_message":"","subscription_info":{"description":"Free-tier subscription with 100 tokens/min rate limit","displayName":"Simulator Subscription (Free)","modelRefs":[{"description":"A simulated OPT-125M model for free-tier testing","display_name":"Facebook OPT 125M (Simulated)","name":"facebook-opt-125m-simulated","source":"internal","token_rate_limits":[{"limit":100,"window":"1m"}]}],"name":"simulator-subscription","namespace":"models-as-a-service","phase":"Active","priority":10,"ready":true},"userid":"alice_lead"}} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"84b9c0dc-ee63-4660-a4fd-7309872d5fc4","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"84b9c0dc-ee63-4660-a4fd-7309872d5fc4","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"f46f37f6-fc95-4d1e-8e72-ce92dffdc4f5","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43670","PortSpecifier":{"PortValue":43670}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"f46f37f6-fc95-4d1e-8e72-ce92dffdc4f5","method":"POST","path":"/llm/facebook-opt-125m-simulated/v1/chat/completions","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"f46f37f6-fc95-4d1e-8e72-ce92dffdc4f5","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43670","PortSpecifier":{"PortValue":43670}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349851,"nanos":78358366},"http":{"id":"f46f37f6-fc95-4d1e-8e72-ce92dffdc4f5","method":"POST","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/llm/facebook-opt-125m-simulated/v1/chat/completions",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"f46f37f6-fc95-4d1e-8e72-ce92dffdc4f5","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-47rJhNfVJZr0vT9M_GuGJJsUzaUe8lXjFlTHQYHPCepbqjJ5XXm4LVKrQznn"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"f46f37f6-fc95-4d1e-8e72-ce92dffdc4f5","config":"apiKeyValidation","method":"POST","url":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-47rJhNfVJZr0vT9M_GuGJJsUzaUe8lXjFlTHQYHPCepbqjJ5XXm4LVKrQznn\"}"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"f46f37f6-fc95-4d1e-8e72-ce92dffdc4f5","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","DynamicEndpoint":null,"Method":"POST","Body":{},"Parameters":[],"Headers":[],"ContentType":"application/json","SharedSecret":"","OAuth2":null,"OAuth2TokenForceFetch":false,"AuthCredentials":null}},"object":{"groups":["system:authenticated","Engineering","Project-Alpha"],"keyId":"b5c983c1-d854-42a8-8b92-e1ddbe2119c6","keyName":"e2e-oidc-56f0b80e","subscription":"simulator-subscription","tenant":"models-as-a-service","userId":"b5c983c1-d854-42a8-8b92-e1ddbe2119c6","username":"alice_lead","valid":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"f46f37f6-fc95-4d1e-8e72-ce92dffdc4f5","config":"subscription-info","method":"POST","url":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/subscriptions/select","headers":{"Content-Type":["application/json"]},"body":"{\"groups\":[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"],\"requestedModel\":\"llm/facebook-opt-125m-simulated\",\"requestedSubscription\":\"simulator-subscription\",\"username\":\"alice_lead\"}"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"f46f37f6-fc95-4d1e-8e72-ce92dffdc4f5","config":{"Name":"subscription-info","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/subscriptions/select","DynamicEndpoint":null,"Method":"POST","Body":{},"Parameters":[],"Headers":[],"ContentType":"application/json","SharedSecret":"","OAuth2":null,"OAuth2TokenForceFetch":false,"AuthCredentials":null}},"object":{"description":"Free-tier subscription with 100 tokens/min rate limit","displayName":"Simulator Subscription (Free)","modelRefs":[{"description":"A simulated OPT-125M model for free-tier testing","display_name":"Facebook OPT 125M (Simulated)","name":"facebook-opt-125m-simulated","source":"internal","token_rate_limits":[{"limit":100,"window":"1m"}]}],"name":"simulator-subscription","namespace":"models-as-a-service","phase":"Active","priority":10,"ready":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"f46f37f6-fc95-4d1e-8e72-ce92dffdc4f5","input":{"auth":{"identity":"Bearer **** subscription with 100 tokens/min rate limit","displayName":"Simulator Subscription (Free)","modelRefs":[{"description":"A simulated OPT-125M model for free-tier testing","display_name":"Facebook OPT 125M (Simulated)","name":"facebook-opt-125m-simulated","source":"internal","token_rate_limits":[{"limit":100,"window":"1m"}]}],"name":"simulator-subscription","namespace":"models-as-a-service","phase":"Active","priority":10,"ready":true}}},"context":{"context_extensions":{"host":"311b1be286674fd5684c9ac59b318287dade9769cfe4aeebd8c88e2dc6b72418"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.41:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/llm/facebook-opt-125m-simulated/v1/chat/completions",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"f46f37f6-fc95-4d1e-8e72-ce92dffdc4f5","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"f46f37f6-fc95-4d1e-8e72-ce92dffdc4f5","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"f46f37f6-fc95-4d1e-8e72-ce92dffdc4f5","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"f46f37f6-fc95-4d1e-8e72-ce92dffdc4f5","config":{"Name":"subscription-valid","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n\tobject.get(input.auth.metadata[\"subscription-info\"], \"name\", \"\") != \"\"\n\tobject.get(input.auth.metadata[\"subscription-info\"], \"error\", \"\") == \"\"\n\tphase := object.get(input.auth.metadata[\"subscription-info\"], \"phase\", \"\")\n\tany([phase == \"Active\", phase == \"Degraded\"])\n\tobject.get(input.auth.metadata[\"subscription-info\"], \"deletionTimestamp\", \"\") == \"\"\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"f46f37f6-fc95-4d1e-8e72-ce92dffdc4f5","config":{"Name":"X-MaaS-Username","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{"Static":null,"Pattern":"auth.metadata.apiKeyValidation.username"}}},"object":"alice_lead"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"f46f37f6-fc95-4d1e-8e72-ce92dffdc4f5","config":{"Name":"X-MaaS-Subscription","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Subscription","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"simulator-subscription"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"f46f37f6-fc95-4d1e-8e72-ce92dffdc4f5","config":{"Name":"X-MaaS-Group","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"f46f37f6-fc95-4d1e-8e72-ce92dffdc4f5","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"groups_str","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"userid","Value":{}},{"Name":"groups","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyId","Value":{}},{"Name":"subscription_info","Value":{}}]},"Plain":null},"object":{"groups":["system:authenticated","Engineering","Project-Alpha"],"groups_str":"system:authenticated,Engineering,Project-Alpha","keyId":"b5c983c1-d854-42a8-8b92-e1ddbe2119c6","keyName":"e2e-oidc-56f0b80e","selected_subscription":"simulator-subscription","selected_subscription_key":"models-as-a-service/simulator-subscription@llm/facebook-opt-125m-simulated","subscription_error":"","subscription_error_message":"","subscription_info":{"description":"Free-tier subscription with 100 tokens/min rate limit","displayName":"Simulator Subscription (Free)","modelRefs":[{"description":"A simulated OPT-125M model for free-tier testing","display_name":"Facebook OPT 125M (Simulated)","name":"facebook-opt-125m-simulated","source":"internal","token_rate_limits":[{"limit":100,"window":"1m"}]}],"name":"simulator-subscription","namespace":"models-as-a-service","phase":"Active","priority":10,"ready":true},"userid":"alice_lead"}} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"f46f37f6-fc95-4d1e-8e72-ce92dffdc4f5","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"f46f37f6-fc95-4d1e-8e72-ce92dffdc4f5","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"28fcb2a4-ec13-455a-b685-a12b5efb479a","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43674","PortSpecifier":{"PortValue":43674}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"28fcb2a4-ec13-455a-b685-a12b5efb479a","method":"POST","path":"/maas-api/v1/api-keys","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"28fcb2a4-ec13-455a-b685-a12b5efb479a","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43674","PortSpecifier":{"PortValue":43674}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349851,"nanos":182495961},"http":{"id":"28fcb2a4-ec13-455a-b685-a12b5efb479a","method":"POST","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"28fcb2a4-ec13-455a-b685-a12b5efb479a","config":{"Name":"oidc-identities","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OAuth2":null,"JWTAuthentication":{"AuthCredentials":{"KeySelector":"Bearer","In":"authorization_header"}},"MTLS":null,"HMAC":null,"APIKey":null,"KubernetesAuth":null,"Plain":null,"Noop":null,"ExtendedProperties":[]},"object":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349911,"groups":["Engineering","Project-Alpha"],"iat":1783349851,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:38575cec-f4b2-fd49-26de-1c3ac1d68214","preferred_username":"alice_lead","scope":"profile email","sid":"W0KVHmlUHYxLnm4ocobVlfQ9","sub":"8e4c6649-05e4-4b70-95ca-49ee7f461056","typ":"Bearer"}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"28fcb2a4-ec13-455a-b685-a12b5efb479a","input":{"auth":{"identity":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349911,"groups":["Engineering","Project-Alpha"],"iat":1783349851,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:38575cec-f4b2-fd49-26de-1c3ac1d68214","preferred_username":"alice_lead","scope":"profile email","sid":"W0KVHmlUHYxLnm4ocobVlfQ9","sub":"8e4c6649-05e4-4b70-95ca-49ee7f461056","typ":"Bearer"}},"context":{"context_extensions":{"host":"4b78668c68e506f3e4245c5d1f1af6820d0987e90bac1b37e2a03d21cc7ed38d"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.41:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"28fcb2a4-ec13-455a-b685-a12b5efb479a","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"28fcb2a4-ec13-455a-b685-a12b5efb479a","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"28fcb2a4-ec13-455a-b685-a12b5efb479a","config":{"Name":"oidc-groups-safe","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OPA":{"Rego":"unsafe_group[g] {\n\tg := input.auth.identity.groups[_]\n\tnot regex.match(\"^[A-Za-z0-9:._/-]+$\", g)\n}\n\nallow {\n\tcount(unsafe_group) == 0\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"28fcb2a4-ec13-455a-b685-a12b5efb479a","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"28fcb2a4-ec13-455a-b685-a12b5efb479a","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"userid","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"28fcb2a4-ec13-455a-b685-a12b5efb479a","config":{"Name":"X-MaaS-Username-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"alice_lead"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"28fcb2a4-ec13-455a-b685-a12b5efb479a","config":{"Name":"X-MaaS-Group-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"28fcb2a4-ec13-455a-b685-a12b5efb479a","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"28fcb2a4-ec13-455a-b685-a12b5efb479a","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"860a0840-716a-445a-9d33-20bd09db3706","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43680","PortSpecifier":{"PortValue":43680}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"860a0840-716a-445a-9d33-20bd09db3706","method":"DELETE","path":"/maas-api/v1/api-keys/9f579326-b44d-464e-9c8c-f676a7177569","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"860a0840-716a-445a-9d33-20bd09db3706","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43680","PortSpecifier":{"PortValue":43680}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349851,"nanos":218561638},"http":{"id":"860a0840-716a-445a-9d33-20bd09db3706","method":"DELETE","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"DELETE",":path":"/maas-api/v1/api-keys/9f579326-b44d-464e-9c8c-f676a7177569",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"860a0840-716a-445a-9d33-20bd09db3706","config":{"Name":"oidc-identities","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OAuth2":null,"JWTAuthentication":{"AuthCredentials":{"KeySelector":"Bearer","In":"authorization_header"}},"MTLS":null,"HMAC":null,"APIKey":null,"KubernetesAuth":null,"Plain":null,"Noop":null,"ExtendedProperties":[]},"object":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349911,"groups":["Engineering","Project-Alpha"],"iat":1783349851,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:38575cec-f4b2-fd49-26de-1c3ac1d68214","preferred_username":"alice_lead","scope":"profile email","sid":"W0KVHmlUHYxLnm4ocobVlfQ9","sub":"8e4c6649-05e4-4b70-95ca-49ee7f461056","typ":"Bearer"}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"860a0840-716a-445a-9d33-20bd09db3706","input":{"auth":{"identity":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349911,"groups":["Engineering","Project-Alpha"],"iat":1783349851,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:38575cec-f4b2-fd49-26de-1c3ac1d68214","preferred_username":"alice_lead","scope":"profile email","sid":"W0KVHmlUHYxLnm4ocobVlfQ9","sub":"8e4c6649-05e4-4b70-95ca-49ee7f461056","typ":"Bearer"}},"context":{"context_extensions":{"host":"4b78668c68e506f3e4245c5d1f1af6820d0987e90bac1b37e2a03d21cc7ed38d"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.41:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"DELETE",":path":"/maas-api/v1/api-keys/9f579326-b44d-464e-9c8c-f676a7177569",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"860a0840-716a-445a-9d33-20bd09db3706","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"860a0840-716a-445a-9d33-20bd09db3706","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"860a0840-716a-445a-9d33-20bd09db3706","config":{"Name":"oidc-groups-safe","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OPA":{"Rego":"unsafe_group[g] {\n\tg := input.auth.identity.groups[_]\n\tnot regex.match(\"^[A-Za-z0-9:._/-]+$\", g)\n}\n\nallow {\n\tcount(unsafe_group) == 0\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"860a0840-716a-445a-9d33-20bd09db3706","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"860a0840-716a-445a-9d33-20bd09db3706","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"userid","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"860a0840-716a-445a-9d33-20bd09db3706","config":{"Name":"X-MaaS-Group-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"860a0840-716a-445a-9d33-20bd09db3706","config":{"Name":"X-MaaS-Username-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"alice_lead"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"860a0840-716a-445a-9d33-20bd09db3706","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"860a0840-716a-445a-9d33-20bd09db3706","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"bf601884-64dc-40fd-894e-03ad6c9356fe","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43692","PortSpecifier":{"PortValue":43692}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"bf601884-64dc-40fd-894e-03ad6c9356fe","method":"GET","path":"/maas-api/v1/models","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"bf601884-64dc-40fd-894e-03ad6c9356fe","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43692","PortSpecifier":{"PortValue":43692}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349851,"nanos":260382175},"http":{"id":"bf601884-64dc-40fd-894e-03ad6c9356fe","method":"GET","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"GET",":path":"/maas-api/v1/models",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"bf601884-64dc-40fd-894e-03ad6c9356fe","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-18EfNpt53641WAl7H_ZCpSTqRKQ5pNELYtNwgWxb8pt2nWtop2LNKj5jZjjlX"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"bf601884-64dc-40fd-894e-03ad6c9356fe","config":"apiKeyValidation","method":"POST","url":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-18EfNpt53641WAl7H_ZCpSTqRKQ5pNELYtNwgWxb8pt2nWtop2LNKj5jZjjlX\"}"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"bf601884-64dc-40fd-894e-03ad6c9356fe","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","DynamicEndpoint":null,"Method":"POST","Body":{},"Parameters":[],"Headers":[],"ContentType":"application/json","SharedSecret":"","OAuth2":null,"OAuth2TokenForceFetch":false,"AuthCredentials":null}},"object":{"reason":"key revoked or expired","tenant":"","valid":false}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"bf601884-64dc-40fd-894e-03ad6c9356fe","input":{"auth":{"identity":"Bearer **** revoked or expired","tenant":"","valid":false}}},"context":{"context_extensions":{"host":"4b78668c68e506f3e4245c5d1f1af6820d0987e90bac1b37e2a03d21cc7ed38d"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.41:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"GET",":path":"/maas-api/v1/models",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"bf601884-64dc-40fd-894e-03ad6c9356fe","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access denied","request id":"bf601884-64dc-40fd-894e-03ad6c9356fe","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"reason":"Unauthorized"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"bf601884-64dc-40fd-894e-03ad6c9356fe","authorized":false,"response":"PERMISSION_DENIED","object":{"code":7,"status":403,"message":"Unauthorized"}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"bf601884-64dc-40fd-894e-03ad6c9356fe","authorized":false,"response":"PERMISSION_DENIED","object":{"code":7,"status":403,"message":"Unauthorized","headers":[{"content-type":"text/plain"},{"x-ext-auth-reason":""}]}} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"61bd8c1c-db36-4746-82f9-90eb4e3372b5","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43704","PortSpecifier":{"PortValue":43704}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"61bd8c1c-db36-4746-82f9-90eb4e3372b5","method":"GET","path":"/maas-api/v1/models","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"61bd8c1c-db36-4746-82f9-90eb4e3372b5","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43704","PortSpecifier":{"PortValue":43704}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349851,"nanos":289437536},"http":{"id":"61bd8c1c-db36-4746-82f9-90eb4e3372b5","method":"GET","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"GET",":path":"/maas-api/v1/models",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"61bd8c1c-db36-4746-82f9-90eb4e3372b5","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-18EfNpt53641WAl7H_ZCpSTqRKQ5pNELYtNwgWxb8pt2nWtop2LNKj5jZjjlX"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"61bd8c1c-db36-4746-82f9-90eb4e3372b5","config":"apiKeyValidation","method":"POST","url":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-18EfNpt53641WAl7H_ZCpSTqRKQ5pNELYtNwgWxb8pt2nWtop2LNKj5jZjjlX\"}"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"61bd8c1c-db36-4746-82f9-90eb4e3372b5","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","DynamicEndpoint":null,"Method":"POST","Body":{},"Parameters":[],"Headers":[],"ContentType":"application/json","SharedSecret":"","OAuth2":null,"OAuth2TokenForceFetch":false,"AuthCredentials":null}},"object":{"reason":"key revoked or expired","tenant":"","valid":false}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"61bd8c1c-db36-4746-82f9-90eb4e3372b5","input":{"auth":{"identity":"Bearer **** revoked or expired","tenant":"","valid":false}}},"context":{"context_extensions":{"host":"4b78668c68e506f3e4245c5d1f1af6820d0987e90bac1b37e2a03d21cc7ed38d"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.41:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"GET",":path":"/maas-api/v1/models",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"61bd8c1c-db36-4746-82f9-90eb4e3372b5","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access denied","request id":"61bd8c1c-db36-4746-82f9-90eb4e3372b5","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"reason":"Unauthorized"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"61bd8c1c-db36-4746-82f9-90eb4e3372b5","authorized":false,"response":"PERMISSION_DENIED","object":{"code":7,"status":403,"message":"Unauthorized"}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"61bd8c1c-db36-4746-82f9-90eb4e3372b5","authorized":false,"response":"PERMISSION_DENIED","object":{"code":7,"status":403,"message":"Unauthorized","headers":[{"content-type":"text/plain"},{"x-ext-auth-reason":""}]}} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"e8ab1026-14e0-4951-bd66-c51e45cf228b","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43720","PortSpecifier":{"PortValue":43720}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"e8ab1026-14e0-4951-bd66-c51e45cf228b","method":"POST","path":"/maas-api/v1/api-keys","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"e8ab1026-14e0-4951-bd66-c51e45cf228b","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43720","PortSpecifier":{"PortValue":43720}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349851,"nanos":421030090},"http":{"id":"e8ab1026-14e0-4951-bd66-c51e45cf228b","method":"POST","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.identity","msg":"cannot validate identity","request id":"e8ab1026-14e0-4951-bd66-c51e45cf228b","config":{"Name":"oidc-identities","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OAuth2":null,"JWTAuthentication":{"AuthCredentials":{"KeySelector":"Bearer","In":"authorization_header"}},"MTLS":null,"HMAC":null,"APIKey":null,"KubernetesAuth":null,"Plain":null,"Noop":null,"ExtendedProperties":[]},"reason":"failed to verify signature: failed to verify id token signature"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.identity.kubernetesauth","msg":"calling kubernetes token review api","request id":"e8ab1026-14e0-4951-bd66-c51e45cf228b","tokenreview":{"name":""}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.identity","msg":"cannot validate identity","request id":"e8ab1026-14e0-4951-bd66-c51e45cf228b","config":{"Name":"openshift-identities","Priority":2,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OAuth2":null,"JWTAuthentication":null,"MTLS":null,"HMAC":null,"APIKey":null,"KubernetesAuth":{"AuthCredentials":{"KeySelector":"Bearer","In":"authorization_header"}},"Plain":null,"Noop":null,"ExtendedProperties":[]},"reason":"not authenticated"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"e8ab1026-14e0-4951-bd66-c51e45cf228b","authorized":false,"response":"UNAUTHENTICATED","object":{"code":16,"status":401,"message":"Authentication required"}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"e8ab1026-14e0-4951-bd66-c51e45cf228b","authorized":false,"response":"UNAUTHENTICATED","object":{"code":16,"status":401,"message":"Authentication required","headers":[{"WWW-Authenticate":"request.headers.authorization realm=\"api-keys\""},{"WWW-Authenticate":"Bearer **** realm=\"openshift-identities\""}]}} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"dd7292f4-4c8b-408c-980d-8437a115ad7a","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43722","PortSpecifier":{"PortValue":43722}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"dd7292f4-4c8b-408c-980d-8437a115ad7a","method":"POST","path":"/maas-api/v1/api-keys","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"dd7292f4-4c8b-408c-980d-8437a115ad7a","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43722","PortSpecifier":{"PortValue":43722}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349851,"nanos":597987685},"http":{"id":"dd7292f4-4c8b-408c-980d-8437a115ad7a","method":"POST","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"dd7292f4-4c8b-408c-980d-8437a115ad7a","config":{"Name":"oidc-identities","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OAuth2":null,"JWTAuthentication":{"AuthCredentials":{"KeySelector":"Bearer","In":"authorization_header"}},"MTLS":null,"HMAC":null,"APIKey":null,"KubernetesAuth":null,"Plain":null,"Noop":null,"ExtendedProperties":[]},"object":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349911,"groups":["Engineering","Project-Alpha"],"iat":1783349851,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:68d22cc5-a129-c7ca-ac6b-83a575d6995b","preferred_username":"alice_lead","scope":"profile email","sid":"DtyLZu0x4X1XNynNa0G79JJh","sub":"8e4c6649-05e4-4b70-95ca-49ee7f461056","typ":"Bearer"}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"dd7292f4-4c8b-408c-980d-8437a115ad7a","input":{"auth":{"identity":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349911,"groups":["Engineering","Project-Alpha"],"iat":1783349851,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:68d22cc5-a129-c7ca-ac6b-83a575d6995b","preferred_username":"alice_lead","scope":"profile email","sid":"DtyLZu0x4X1XNynNa0G79JJh","sub":"8e4c6649-05e4-4b70-95ca-49ee7f461056","typ":"Bearer"}},"context":{"context_extensions":{"host":"4b78668c68e506f3e4245c5d1f1af6820d0987e90bac1b37e2a03d21cc7ed38d"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.41:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"dd7292f4-4c8b-408c-980d-8437a115ad7a","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"dd7292f4-4c8b-408c-980d-8437a115ad7a","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"dd7292f4-4c8b-408c-980d-8437a115ad7a","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"dd7292f4-4c8b-408c-980d-8437a115ad7a","config":{"Name":"oidc-groups-safe","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OPA":{"Rego":"unsafe_group[g] {\n\tg := input.auth.identity.groups[_]\n\tnot regex.match(\"^[A-Za-z0-9:._/-]+$\", g)\n}\n\nallow {\n\tcount(unsafe_group) == 0\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"dd7292f4-4c8b-408c-980d-8437a115ad7a","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"userid","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"dd7292f4-4c8b-408c-980d-8437a115ad7a","config":{"Name":"X-MaaS-Username-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"alice_lead"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"dd7292f4-4c8b-408c-980d-8437a115ad7a","config":{"Name":"X-MaaS-Group-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"dd7292f4-4c8b-408c-980d-8437a115ad7a","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"dd7292f4-4c8b-408c-980d-8437a115ad7a","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"9db22e7a-6275-4f36-9abe-505947ff1ccb","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43726","PortSpecifier":{"PortValue":43726}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"9db22e7a-6275-4f36-9abe-505947ff1ccb","method":"POST","path":"/maas-api/v1/api-keys","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"9db22e7a-6275-4f36-9abe-505947ff1ccb","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43726","PortSpecifier":{"PortValue":43726}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349851,"nanos":633326967},"http":{"id":"9db22e7a-6275-4f36-9abe-505947ff1ccb","method":"POST","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"9db22e7a-6275-4f36-9abe-505947ff1ccb","config":{"Name":"oidc-identities","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OAuth2":null,"JWTAuthentication":{"AuthCredentials":{"KeySelector":"Bearer","In":"authorization_header"}},"MTLS":null,"HMAC":null,"APIKey":null,"KubernetesAuth":null,"Plain":null,"Noop":null,"ExtendedProperties":[]},"object":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349911,"groups":["Site-Reliability"],"iat":1783349851,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:c817f333-2aab-df7a-71bb-3effbce955d1","preferred_username":"bob_sre","scope":"profile email","sid":"0QFztgmC3fosuIqM6pQWWEfU","sub":"51a38a4c-b29d-429a-b256-ee4650b6a818","typ":"Bearer"}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"9db22e7a-6275-4f36-9abe-505947ff1ccb","input":{"auth":{"identity":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349911,"groups":["Site-Reliability"],"iat":1783349851,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:c817f333-2aab-df7a-71bb-3effbce955d1","preferred_username":"bob_sre","scope":"profile email","sid":"0QFztgmC3fosuIqM6pQWWEfU","sub":"51a38a4c-b29d-429a-b256-ee4650b6a818","typ":"Bearer"}},"context":{"context_extensions":{"host":"4b78668c68e506f3e4245c5d1f1af6820d0987e90bac1b37e2a03d21cc7ed38d"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.41:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"9db22e7a-6275-4f36-9abe-505947ff1ccb","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"9db22e7a-6275-4f36-9abe-505947ff1ccb","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"9db22e7a-6275-4f36-9abe-505947ff1ccb","config":{"Name":"oidc-groups-safe","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OPA":{"Rego":"unsafe_group[g] {\n\tg := input.auth.identity.groups[_]\n\tnot regex.match(\"^[A-Za-z0-9:._/-]+$\", g)\n}\n\nallow {\n\tcount(unsafe_group) == 0\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"9db22e7a-6275-4f36-9abe-505947ff1ccb","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"9db22e7a-6275-4f36-9abe-505947ff1ccb","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"userid","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"9db22e7a-6275-4f36-9abe-505947ff1ccb","config":{"Name":"X-MaaS-Group-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Site-Reliability\"]"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"9db22e7a-6275-4f36-9abe-505947ff1ccb","config":{"Name":"X-MaaS-Username-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"bob_sre"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"9db22e7a-6275-4f36-9abe-505947ff1ccb","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"9db22e7a-6275-4f36-9abe-505947ff1ccb","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"0c804f26-b28a-4e20-bb2b-07a757610f82","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43740","PortSpecifier":{"PortValue":43740}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"0c804f26-b28a-4e20-bb2b-07a757610f82","method":"POST","path":"/maas-api/v1/api-keys","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"0c804f26-b28a-4e20-bb2b-07a757610f82","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43740","PortSpecifier":{"PortValue":43740}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349851,"nanos":731117512},"http":{"id":"0c804f26-b28a-4e20-bb2b-07a757610f82","method":"POST","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"0c804f26-b28a-4e20-bb2b-07a757610f82","config":{"Name":"oidc-identities","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OAuth2":null,"JWTAuthentication":{"AuthCredentials":{"KeySelector":"Bearer","In":"authorization_header"}},"MTLS":null,"HMAC":null,"APIKey":null,"KubernetesAuth":null,"Plain":null,"Noop":null,"ExtendedProperties":[]},"object":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349911,"groups":["Engineering","Project-Alpha"],"iat":1783349851,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:5bd3a8ef-6f10-2168-a90b-8de177c4ff16","preferred_username":"alice_lead","scope":"profile email","sid":"F6a0n_8fJnJB4xxd_cfxi-Wl","sub":"8e4c6649-05e4-4b70-95ca-49ee7f461056","typ":"Bearer"}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"0c804f26-b28a-4e20-bb2b-07a757610f82","input":{"auth":{"identity":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349911,"groups":["Engineering","Project-Alpha"],"iat":1783349851,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:5bd3a8ef-6f10-2168-a90b-8de177c4ff16","preferred_username":"alice_lead","scope":"profile email","sid":"F6a0n_8fJnJB4xxd_cfxi-Wl","sub":"8e4c6649-05e4-4b70-95ca-49ee7f461056","typ":"Bearer"}},"context":{"context_extensions":{"host":"4b78668c68e506f3e4245c5d1f1af6820d0987e90bac1b37e2a03d21cc7ed38d"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.41:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"0c804f26-b28a-4e20-bb2b-07a757610f82","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"0c804f26-b28a-4e20-bb2b-07a757610f82","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"0c804f26-b28a-4e20-bb2b-07a757610f82","config":{"Name":"oidc-groups-safe","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OPA":{"Rego":"unsafe_group[g] {\n\tg := input.auth.identity.groups[_]\n\tnot regex.match(\"^[A-Za-z0-9:._/-]+$\", g)\n}\n\nallow {\n\tcount(unsafe_group) == 0\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"0c804f26-b28a-4e20-bb2b-07a757610f82","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"0c804f26-b28a-4e20-bb2b-07a757610f82","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"userid","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"0c804f26-b28a-4e20-bb2b-07a757610f82","config":{"Name":"X-MaaS-Group-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"0c804f26-b28a-4e20-bb2b-07a757610f82","config":{"Name":"X-MaaS-Username-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"alice_lead"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"0c804f26-b28a-4e20-bb2b-07a757610f82","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"0c804f26-b28a-4e20-bb2b-07a757610f82","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"65af43e6-b2be-440e-839b-f379a1472a9f","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43752","PortSpecifier":{"PortValue":43752}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"65af43e6-b2be-440e-839b-f379a1472a9f","method":"DELETE","path":"/maas-api/v1/api-keys/ca74ca39-9e0d-4ac6-8a1f-227abe909246","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"65af43e6-b2be-440e-839b-f379a1472a9f","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43752","PortSpecifier":{"PortValue":43752}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349851,"nanos":767173497},"http":{"id":"65af43e6-b2be-440e-839b-f379a1472a9f","method":"DELETE","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"DELETE",":path":"/maas-api/v1/api-keys/ca74ca39-9e0d-4ac6-8a1f-227abe909246",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"65af43e6-b2be-440e-839b-f379a1472a9f","config":{"Name":"oidc-identities","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OAuth2":null,"JWTAuthentication":{"AuthCredentials":{"KeySelector":"Bearer","In":"authorization_header"}},"MTLS":null,"HMAC":null,"APIKey":null,"KubernetesAuth":null,"Plain":null,"Noop":null,"ExtendedProperties":[]},"object":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349911,"groups":["Engineering","Project-Alpha"],"iat":1783349851,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:5bd3a8ef-6f10-2168-a90b-8de177c4ff16","preferred_username":"alice_lead","scope":"profile email","sid":"F6a0n_8fJnJB4xxd_cfxi-Wl","sub":"8e4c6649-05e4-4b70-95ca-49ee7f461056","typ":"Bearer"}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"65af43e6-b2be-440e-839b-f379a1472a9f","input":{"auth":{"identity":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349911,"groups":["Engineering","Project-Alpha"],"iat":1783349851,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:5bd3a8ef-6f10-2168-a90b-8de177c4ff16","preferred_username":"alice_lead","scope":"profile email","sid":"F6a0n_8fJnJB4xxd_cfxi-Wl","sub":"8e4c6649-05e4-4b70-95ca-49ee7f461056","typ":"Bearer"}},"context":{"context_extensions":{"host":"4b78668c68e506f3e4245c5d1f1af6820d0987e90bac1b37e2a03d21cc7ed38d"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.41:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"DELETE",":path":"/maas-api/v1/api-keys/ca74ca39-9e0d-4ac6-8a1f-227abe909246",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"65af43e6-b2be-440e-839b-f379a1472a9f","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"65af43e6-b2be-440e-839b-f379a1472a9f","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"65af43e6-b2be-440e-839b-f379a1472a9f","config":{"Name":"oidc-groups-safe","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OPA":{"Rego":"unsafe_group[g] {\n\tg := input.auth.identity.groups[_]\n\tnot regex.match(\"^[A-Za-z0-9:._/-]+$\", g)\n}\n\nallow {\n\tcount(unsafe_group) == 0\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"65af43e6-b2be-440e-839b-f379a1472a9f","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"65af43e6-b2be-440e-839b-f379a1472a9f","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"userid","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"65af43e6-b2be-440e-839b-f379a1472a9f","config":{"Name":"X-MaaS-Username-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"alice_lead"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"65af43e6-b2be-440e-839b-f379a1472a9f","config":{"Name":"X-MaaS-Group-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"65af43e6-b2be-440e-839b-f379a1472a9f","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"65af43e6-b2be-440e-839b-f379a1472a9f","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"258d755a-5868-429a-97ea-b16b4be9f090","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43756","PortSpecifier":{"PortValue":43756}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"258d755a-5868-429a-97ea-b16b4be9f090","method":"DELETE","path":"/maas-api/v1/api-keys/ca74ca39-9e0d-4ac6-8a1f-227abe909246","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"258d755a-5868-429a-97ea-b16b4be9f090","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43756","PortSpecifier":{"PortValue":43756}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349851,"nanos":798120636},"http":{"id":"258d755a-5868-429a-97ea-b16b4be9f090","method":"DELETE","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"DELETE",":path":"/maas-api/v1/api-keys/ca74ca39-9e0d-4ac6-8a1f-227abe909246",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"258d755a-5868-429a-97ea-b16b4be9f090","config":{"Name":"oidc-identities","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OAuth2":null,"JWTAuthentication":{"AuthCredentials":{"KeySelector":"Bearer","In":"authorization_header"}},"MTLS":null,"HMAC":null,"APIKey":null,"KubernetesAuth":null,"Plain":null,"Noop":null,"ExtendedProperties":[]},"object":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349911,"groups":["Engineering","Project-Alpha"],"iat":1783349851,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:5bd3a8ef-6f10-2168-a90b-8de177c4ff16","preferred_username":"alice_lead","scope":"profile email","sid":"F6a0n_8fJnJB4xxd_cfxi-Wl","sub":"8e4c6649-05e4-4b70-95ca-49ee7f461056","typ":"Bearer"}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"258d755a-5868-429a-97ea-b16b4be9f090","input":{"auth":{"identity":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349911,"groups":["Engineering","Project-Alpha"],"iat":1783349851,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:5bd3a8ef-6f10-2168-a90b-8de177c4ff16","preferred_username":"alice_lead","scope":"profile email","sid":"F6a0n_8fJnJB4xxd_cfxi-Wl","sub":"8e4c6649-05e4-4b70-95ca-49ee7f461056","typ":"Bearer"}},"context":{"context_extensions":{"host":"4b78668c68e506f3e4245c5d1f1af6820d0987e90bac1b37e2a03d21cc7ed38d"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.41:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"DELETE",":path":"/maas-api/v1/api-keys/ca74ca39-9e0d-4ac6-8a1f-227abe909246",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"258d755a-5868-429a-97ea-b16b4be9f090","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"258d755a-5868-429a-97ea-b16b4be9f090","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"258d755a-5868-429a-97ea-b16b4be9f090","config":{"Name":"oidc-groups-safe","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OPA":{"Rego":"unsafe_group[g] {\n\tg := input.auth.identity.groups[_]\n\tnot regex.match(\"^[A-Za-z0-9:._/-]+$\", g)\n}\n\nallow {\n\tcount(unsafe_group) == 0\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"258d755a-5868-429a-97ea-b16b4be9f090","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"258d755a-5868-429a-97ea-b16b4be9f090","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"userid","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"258d755a-5868-429a-97ea-b16b4be9f090","config":{"Name":"X-MaaS-Username-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"alice_lead"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"258d755a-5868-429a-97ea-b16b4be9f090","config":{"Name":"X-MaaS-Group-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"258d755a-5868-429a-97ea-b16b4be9f090","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"258d755a-5868-429a-97ea-b16b4be9f090","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"a7231968-73fb-4830-b19c-d29995ef6d53","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43764","PortSpecifier":{"PortValue":43764}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"a7231968-73fb-4830-b19c-d29995ef6d53","method":"POST","path":"/maas-api/v1/api-keys","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"a7231968-73fb-4830-b19c-d29995ef6d53","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43764","PortSpecifier":{"PortValue":43764}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349851,"nanos":894976069},"http":{"id":"a7231968-73fb-4830-b19c-d29995ef6d53","method":"POST","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"a7231968-73fb-4830-b19c-d29995ef6d53","config":{"Name":"oidc-identities","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OAuth2":null,"JWTAuthentication":{"AuthCredentials":{"KeySelector":"Bearer","In":"authorization_header"}},"MTLS":null,"HMAC":null,"APIKey":null,"KubernetesAuth":null,"Plain":null,"Noop":null,"ExtendedProperties":[]},"object":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349911,"groups":["Engineering","Project-Alpha"],"iat":1783349851,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:d0dc29b1-7c55-f48c-ea9f-4fd0d33ea703","preferred_username":"alice_lead","scope":"profile email","sid":"wUQ_MfHXPjrPfGHTadxHb4zt","sub":"8e4c6649-05e4-4b70-95ca-49ee7f461056","typ":"Bearer"}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"a7231968-73fb-4830-b19c-d29995ef6d53","input":{"auth":{"identity":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349911,"groups":["Engineering","Project-Alpha"],"iat":1783349851,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:d0dc29b1-7c55-f48c-ea9f-4fd0d33ea703","preferred_username":"alice_lead","scope":"profile email","sid":"wUQ_MfHXPjrPfGHTadxHb4zt","sub":"8e4c6649-05e4-4b70-95ca-49ee7f461056","typ":"Bearer"}},"context":{"context_extensions":{"host":"4b78668c68e506f3e4245c5d1f1af6820d0987e90bac1b37e2a03d21cc7ed38d"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.41:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"a7231968-73fb-4830-b19c-d29995ef6d53","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"a7231968-73fb-4830-b19c-d29995ef6d53","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"a7231968-73fb-4830-b19c-d29995ef6d53","config":{"Name":"oidc-groups-safe","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OPA":{"Rego":"unsafe_group[g] {\n\tg := input.auth.identity.groups[_]\n\tnot regex.match(\"^[A-Za-z0-9:._/-]+$\", g)\n}\n\nallow {\n\tcount(unsafe_group) == 0\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"a7231968-73fb-4830-b19c-d29995ef6d53","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"a7231968-73fb-4830-b19c-d29995ef6d53","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"userid","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"a7231968-73fb-4830-b19c-d29995ef6d53","config":{"Name":"X-MaaS-Group-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"a7231968-73fb-4830-b19c-d29995ef6d53","config":{"Name":"X-MaaS-Username-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"alice_lead"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"a7231968-73fb-4830-b19c-d29995ef6d53","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"a7231968-73fb-4830-b19c-d29995ef6d53","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"79461fed-302a-4e28-a827-3a7cef348264","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43770","PortSpecifier":{"PortValue":43770}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"79461fed-302a-4e28-a827-3a7cef348264","method":"GET","path":"/maas-api/v1/models","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"79461fed-302a-4e28-a827-3a7cef348264","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43770","PortSpecifier":{"PortValue":43770}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349851,"nanos":925883352},"http":{"id":"79461fed-302a-4e28-a827-3a7cef348264","method":"GET","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"GET",":path":"/maas-api/v1/models",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"79461fed-302a-4e28-a827-3a7cef348264","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-3rnJqu8q5K44zPxt_sS62yYnG28uZA6STzxu8HuWuydN8ntZaqb5rWMlQE9e"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"79461fed-302a-4e28-a827-3a7cef348264","config":"apiKeyValidation","method":"POST","url":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-3rnJqu8q5K44zPxt_sS62yYnG28uZA6STzxu8HuWuydN8ntZaqb5rWMlQE9e\"}"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"79461fed-302a-4e28-a827-3a7cef348264","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","DynamicEndpoint":null,"Method":"POST","Body":{},"Parameters":[],"Headers":[],"ContentType":"application/json","SharedSecret":"","OAuth2":null,"OAuth2TokenForceFetch":false,"AuthCredentials":null}},"object":{"groups":["system:authenticated","Engineering","Project-Alpha"],"keyId":"c1e39053-02c7-430a-bfaf-ea8fbe89360c","keyName":"e2e-oidc-8b8042d7","subscription":"simulator-subscription","tenant":"models-as-a-service","userId":"c1e39053-02c7-430a-bfaf-ea8fbe89360c","username":"alice_lead","valid":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"79461fed-302a-4e28-a827-3a7cef348264","input":{"auth":{"identity":"Bearer **** deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"79461fed-302a-4e28-a827-3a7cef348264","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"79461fed-302a-4e28-a827-3a7cef348264","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"79461fed-302a-4e28-a827-3a7cef348264","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"79461fed-302a-4e28-a827-3a7cef348264","config":{"Name":"X-MaaS-Group","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"79461fed-302a-4e28-a827-3a7cef348264","config":{"Name":"X-MaaS-Subscription","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Subscription","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"simulator-subscription"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"79461fed-302a-4e28-a827-3a7cef348264","config":{"Name":"X-MaaS-Username","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{"Static":null,"Pattern":"auth.metadata.apiKeyValidation.username"}}},"object":"alice_lead"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"79461fed-302a-4e28-a827-3a7cef348264","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"userid","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}}]},"Plain":null},"reason":"no such key: subscription-info"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"79461fed-302a-4e28-a827-3a7cef348264","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"79461fed-302a-4e28-a827-3a7cef348264","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"f87c3c85-f0b2-4f43-a69b-383d73d61918","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.28:53752","PortSpecifier":{"PortValue":53752}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"f87c3c85-f0b2-4f43-a69b-383d73d61918","method":"GET","path":"/llm/facebook-opt-125m-simulated/v1/models","host":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"f87c3c85-f0b2-4f43-a69b-383d73d61918","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.28:53752","PortSpecifier":{"PortValue":53752}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349851,"nanos":933790607},"http":{"id":"f87c3c85-f0b2-4f43-a69b-383d73d61918","method":"GET","headers":{":authority":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local",":method":"GET",":path":"/llm/facebook-opt-125m-simulated/v1/models",":scheme":"https","accept-encoding":"gzip","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"f87c3c85-f0b2-4f43-a69b-383d73d61918","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-3rnJqu8q5K44zPxt_sS62yYnG28uZA6STzxu8HuWuydN8ntZaqb5rWMlQE9e"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"f87c3c85-f0b2-4f43-a69b-383d73d61918","config":"apiKeyValidation","method":"POST","url":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-3rnJqu8q5K44zPxt_sS62yYnG28uZA6STzxu8HuWuydN8ntZaqb5rWMlQE9e\"}"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"f87c3c85-f0b2-4f43-a69b-383d73d61918","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","DynamicEndpoint":null,"Method":"POST","Body":{},"Parameters":[],"Headers":[],"ContentType":"application/json","SharedSecret":"","OAuth2":null,"OAuth2TokenForceFetch":false,"AuthCredentials":null}},"object":{"groups":["system:authenticated","Engineering","Project-Alpha"],"keyId":"c1e39053-02c7-430a-bfaf-ea8fbe89360c","keyName":"e2e-oidc-8b8042d7","subscription":"simulator-subscription","tenant":"models-as-a-service","userId":"c1e39053-02c7-430a-bfaf-ea8fbe89360c","username":"alice_lead","valid":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"f87c3c85-f0b2-4f43-a69b-383d73d61918","config":"subscription-info","method":"POST","url":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/subscriptions/select","headers":{"Content-Type":["application/json"]},"body":"{\"groups\":[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"],\"requestedModel\":\"llm/facebook-opt-125m-simulated\",\"requestedSubscription\":\"simulator-subscription\",\"username\":\"alice_lead\"}"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"f87c3c85-f0b2-4f43-a69b-383d73d61918","config":{"Name":"subscription-info","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/subscriptions/select","DynamicEndpoint":null,"Method":"POST","Body":{},"Parameters":[],"Headers":[],"ContentType":"application/json","SharedSecret":"","OAuth2":null,"OAuth2TokenForceFetch":false,"AuthCredentials":null}},"object":{"description":"Free-tier subscription with 100 tokens/min rate limit","displayName":"Simulator Subscription (Free)","modelRefs":[{"description":"A simulated OPT-125M model for free-tier testing","display_name":"Facebook OPT 125M (Simulated)","name":"facebook-opt-125m-simulated","source":"internal","token_rate_limits":[{"limit":100,"window":"1m"}]}],"name":"simulator-subscription","namespace":"models-as-a-service","phase":"Active","priority":10,"ready":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"f87c3c85-f0b2-4f43-a69b-383d73d61918","input":{"auth":{"identity":"Bearer **** subscription with 100 tokens/min rate limit","displayName":"Simulator Subscription (Free)","modelRefs":[{"description":"A simulated OPT-125M model for free-tier testing","display_name":"Facebook OPT 125M (Simulated)","name":"facebook-opt-125m-simulated","source":"internal","token_rate_limits":[{"limit":100,"window":"1m"}]}],"name":"simulator-subscription","namespace":"models-as-a-service","phase":"Active","priority":10,"ready":true}}},"context":{"context_extensions":{"host":"4375a0165d777c3dbcac3b90772aafb3ba82b742e01878423b9fb1e122337433"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.41:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local",":method":"GET",":path":"/llm/facebook-opt-125m-simulated/v1/models",":scheme":"https","accept-encoding":"gzip","authorization":"Bearer **** sk-oai-3rnJqu8q5K44zPxt_sS62yYnG28uZA6STzxu8HuWuydN8ntZaqb5rWMlQE9e","user-agent":"Go-http-client/1.1","x-envoy-decorator-operation":"facebook-opt-125m-simulated-kserve-workload-svc.llm.svc.cluster.local:8000/*","x-envoy-external-address":"10.133.0.28","x-envoy-peer-metadata":"ChoKCkNMVVNURVJfSUQSDBoKS3ViZXJuZXRlcwqLAQoGTEFCRUxTEoABKn4KSwofc2VydmljZS5pc3Rpby5pby9jYW5vbmljYWwtbmFtZRIoGiZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAovCiNzZXJ2aWNlLmlzdGlvLmlvL2Nhbm9uaWNhbC1yZXZpc2lvbhIIGgZsYXRlc3QKQAoETkFNRRI4GjZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdC01NjY1NGRjZjctcHNjNjIKIAoJTkFNRVNQQUNFEhMaEW9wZW5zaGlmdC1pbmdyZXNzCnQKBU9XTkVSEmsaaWt1YmVybmV0ZXM6Ly9hcGlzL2FwcHMvdjEvbmFtZXNwYWNlcy9vcGVuc2hpZnQtaW5ncmVzcy9kZXBsb3ltZW50cy9tYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAo5Cg1XT1JLTE9BRF9OQU1FEigaJm1hYXMtZGVmYXVsdC1nYXRld2F5LW9wZW5zaGlmdC1kZWZhdWx0","x-envoy-peer-metadata-id":"router~10.132.0.41~maas-default-gateway-openshift-default-56654dcf7-psc62.openshift-ingress~openshift-ingress.svc.cluster.local","x-forwarded-for":"10.133.0.28","x-forwarded-proto":"https","x-maas-subscription":"simulator-subscription","x-request-id":"f87c3c85-f0b2-4f43-a69b-383d73d61918"},"host":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local","id":"f87c3c85-f0b2-4f43-a69b-383d73d61918","method":"GET","path":"/llm/facebook-opt-125m-simulated/v1/models","protocol":"HTTP/1.1","scheme":"https","time":{"nanos":933790607,"seconds":1783349851},"url_path":"/llm/facebook-opt-125m-simulated/v1/models","user_agent":"Go-http-client/1.1"},"source":{"address":"10.133.0.28:53752","port":53752}}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"f87c3c85-f0b2-4f43-a69b-383d73d61918","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"f87c3c85-f0b2-4f43-a69b-383d73d61918","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"f87c3c85-f0b2-4f43-a69b-383d73d61918","config":{"Name":"subscription-valid","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n\tobject.get(input.auth.metadata[\"subscription-info\"], \"name\", \"\") != \"\"\n\tobject.get(input.auth.metadata[\"subscription-info\"], \"error\", \"\") == \"\"\n\tphase := object.get(input.auth.metadata[\"subscription-info\"], \"phase\", \"\")\n\tany([phase == \"Active\", phase == \"Degraded\"])\n\tobject.get(input.auth.metadata[\"subscription-info\"], \"deletionTimestamp\", \"\") == \"\"\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"f87c3c85-f0b2-4f43-a69b-383d73d61918","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"f87c3c85-f0b2-4f43-a69b-383d73d61918","config":{"Name":"X-MaaS-Username","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{"Static":null,"Pattern":"auth.metadata.apiKeyValidation.username"}}},"object":"alice_lead"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"f87c3c85-f0b2-4f43-a69b-383d73d61918","config":{"Name":"X-MaaS-Subscription","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Subscription","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"simulator-subscription"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"f87c3c85-f0b2-4f43-a69b-383d73d61918","config":{"Name":"X-MaaS-Group","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"f87c3c85-f0b2-4f43-a69b-383d73d61918","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"keyId","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"userid","Value":{}}]},"Plain":null},"object":{"groups":["system:authenticated","Engineering","Project-Alpha"],"groups_str":"system:authenticated,Engineering,Project-Alpha","keyId":"c1e39053-02c7-430a-bfaf-ea8fbe89360c","keyName":"e2e-oidc-8b8042d7","selected_subscription":"simulator-subscription","selected_subscription_key":"models-as-a-service/simulator-subscription@llm/facebook-opt-125m-simulated","subscription_error":"","subscription_error_message":"","subscription_info":{"description":"Free-tier subscription with 100 tokens/min rate limit","displayName":"Simulator Subscription (Free)","modelRefs":[{"description":"A simulated OPT-125M model for free-tier testing","display_name":"Facebook OPT 125M (Simulated)","name":"facebook-opt-125m-simulated","source":"internal","token_rate_limits":[{"limit":100,"window":"1m"}]}],"name":"simulator-subscription","namespace":"models-as-a-service","phase":"Active","priority":10,"ready":true},"userid":"alice_lead"}} {"level":"info","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"f87c3c85-f0b2-4f43-a69b-383d73d61918","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:31Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"f87c3c85-f0b2-4f43-a69b-383d73d61918","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"9fa50c54-3222-4cb9-ae91-ab4463b6f71c","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43776","PortSpecifier":{"PortValue":43776}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"9fa50c54-3222-4cb9-ae91-ab4463b6f71c","method":"POST","path":"/maas-api/v1/api-keys","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"9fa50c54-3222-4cb9-ae91-ab4463b6f71c","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43776","PortSpecifier":{"PortValue":43776}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349852,"nanos":32727177},"http":{"id":"9fa50c54-3222-4cb9-ae91-ab4463b6f71c","method":"POST","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"9fa50c54-3222-4cb9-ae91-ab4463b6f71c","config":{"Name":"oidc-identities","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OAuth2":null,"JWTAuthentication":{"AuthCredentials":{"KeySelector":"Bearer","In":"authorization_header"}},"MTLS":null,"HMAC":null,"APIKey":null,"KubernetesAuth":null,"Plain":null,"Noop":null,"ExtendedProperties":[]},"object":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349912,"groups":["Engineering","Project-Alpha"],"iat":1783349852,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:f0c1a36d-7410-4d1a-8df3-7485b53980be","preferred_username":"alice_lead","scope":"profile email","sid":"-mm7d7Spg-ZZIjsNIkeRAfeq","sub":"8e4c6649-05e4-4b70-95ca-49ee7f461056","typ":"Bearer"}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"9fa50c54-3222-4cb9-ae91-ab4463b6f71c","input":{"auth":{"identity":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349912,"groups":["Engineering","Project-Alpha"],"iat":1783349852,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:f0c1a36d-7410-4d1a-8df3-7485b53980be","preferred_username":"alice_lead","scope":"profile email","sid":"-mm7d7Spg-ZZIjsNIkeRAfeq","sub":"8e4c6649-05e4-4b70-95ca-49ee7f461056","typ":"Bearer"}},"context":{"context_extensions":{"host":"4b78668c68e506f3e4245c5d1f1af6820d0987e90bac1b37e2a03d21cc7ed38d"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.41:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"9fa50c54-3222-4cb9-ae91-ab4463b6f71c","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"9fa50c54-3222-4cb9-ae91-ab4463b6f71c","config":{"Name":"oidc-groups-safe","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OPA":{"Rego":"unsafe_group[g] {\n\tg := input.auth.identity.groups[_]\n\tnot regex.match(\"^[A-Za-z0-9:._/-]+$\", g)\n}\n\nallow {\n\tcount(unsafe_group) == 0\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"9fa50c54-3222-4cb9-ae91-ab4463b6f71c","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"9fa50c54-3222-4cb9-ae91-ab4463b6f71c","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"9fa50c54-3222-4cb9-ae91-ab4463b6f71c","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"userid","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"9fa50c54-3222-4cb9-ae91-ab4463b6f71c","config":{"Name":"X-MaaS-Username-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"alice_lead"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"9fa50c54-3222-4cb9-ae91-ab4463b6f71c","config":{"Name":"X-MaaS-Group-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"info","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"9fa50c54-3222-4cb9-ae91-ab4463b6f71c","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"9fa50c54-3222-4cb9-ae91-ab4463b6f71c","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"561288ab-574d-40b7-a415-00ebdcba3fc6","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43778","PortSpecifier":{"PortValue":43778}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"561288ab-574d-40b7-a415-00ebdcba3fc6","method":"GET","path":"/maas-api/v1/models","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"561288ab-574d-40b7-a415-00ebdcba3fc6","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43778","PortSpecifier":{"PortValue":43778}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349852,"nanos":67870546},"http":{"id":"561288ab-574d-40b7-a415-00ebdcba3fc6","method":"GET","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"GET",":path":"/maas-api/v1/models",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"561288ab-574d-40b7-a415-00ebdcba3fc6","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-1SX7NI0MlIh3R2im3_PwxBlA05vgwedaBsccoC17ZVwDWDBIhpf1huYVNWmhP"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"561288ab-574d-40b7-a415-00ebdcba3fc6","config":"apiKeyValidation","method":"POST","url":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-1SX7NI0MlIh3R2im3_PwxBlA05vgwedaBsccoC17ZVwDWDBIhpf1huYVNWmhP\"}"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"561288ab-574d-40b7-a415-00ebdcba3fc6","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","DynamicEndpoint":null,"Method":"POST","Body":{},"Parameters":[],"Headers":[],"ContentType":"application/json","SharedSecret":"","OAuth2":null,"OAuth2TokenForceFetch":false,"AuthCredentials":null}},"object":{"groups":["system:authenticated","Engineering","Project-Alpha"],"keyId":"bd1a59dc-23e6-47a6-a43c-56d146a31978","keyName":"e2e-oidc-20f80511","subscription":"simulator-subscription","tenant":"models-as-a-service","userId":"bd1a59dc-23e6-47a6-a43c-56d146a31978","username":"alice_lead","valid":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"561288ab-574d-40b7-a415-00ebdcba3fc6","input":{"auth":{"identity":"Bearer **** deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"561288ab-574d-40b7-a415-00ebdcba3fc6","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"561288ab-574d-40b7-a415-00ebdcba3fc6","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"561288ab-574d-40b7-a415-00ebdcba3fc6","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"561288ab-574d-40b7-a415-00ebdcba3fc6","config":{"Name":"X-MaaS-Group","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"561288ab-574d-40b7-a415-00ebdcba3fc6","config":{"Name":"X-MaaS-Username","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{"Static":null,"Pattern":"auth.metadata.apiKeyValidation.username"}}},"object":"alice_lead"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"561288ab-574d-40b7-a415-00ebdcba3fc6","config":{"Name":"X-MaaS-Subscription","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Subscription","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"simulator-subscription"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"561288ab-574d-40b7-a415-00ebdcba3fc6","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"userid","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}}]},"Plain":null},"reason":"no such key: subscription-info"} {"level":"info","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"561288ab-574d-40b7-a415-00ebdcba3fc6","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"561288ab-574d-40b7-a415-00ebdcba3fc6","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"51e71706-36ec-4baf-b221-67b1aaff087d","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43780","PortSpecifier":{"PortValue":43780}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"51e71706-36ec-4baf-b221-67b1aaff087d","method":"GET","path":"/maas-api/v1/models","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"51e71706-36ec-4baf-b221-67b1aaff087d","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43780","PortSpecifier":{"PortValue":43780}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349852,"nanos":99980065},"http":{"id":"51e71706-36ec-4baf-b221-67b1aaff087d","method":"GET","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"GET",":path":"/maas-api/v1/models",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"51e71706-36ec-4baf-b221-67b1aaff087d","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-1SX7NI0MlIh3R2im3_PwxBlA05vgwedaBsccoC17ZVwDWDBIhpf1huYVNWmhP"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"51e71706-36ec-4baf-b221-67b1aaff087d","config":"apiKeyValidation","method":"POST","url":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-1SX7NI0MlIh3R2im3_PwxBlA05vgwedaBsccoC17ZVwDWDBIhpf1huYVNWmhP\"}"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"51e71706-36ec-4baf-b221-67b1aaff087d","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","DynamicEndpoint":null,"Method":"POST","Body":{},"Parameters":[],"Headers":[],"ContentType":"application/json","SharedSecret":"","OAuth2":null,"OAuth2TokenForceFetch":false,"AuthCredentials":null}},"object":{"groups":["system:authenticated","Engineering","Project-Alpha"],"keyId":"bd1a59dc-23e6-47a6-a43c-56d146a31978","keyName":"e2e-oidc-20f80511","subscription":"simulator-subscription","tenant":"models-as-a-service","userId":"bd1a59dc-23e6-47a6-a43c-56d146a31978","username":"alice_lead","valid":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"51e71706-36ec-4baf-b221-67b1aaff087d","input":{"auth":{"identity":"Bearer **** deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"51e71706-36ec-4baf-b221-67b1aaff087d","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"51e71706-36ec-4baf-b221-67b1aaff087d","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"51e71706-36ec-4baf-b221-67b1aaff087d","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"51e71706-36ec-4baf-b221-67b1aaff087d","config":{"Name":"X-MaaS-Username","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{"Static":null,"Pattern":"auth.metadata.apiKeyValidation.username"}}},"object":"alice_lead"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"51e71706-36ec-4baf-b221-67b1aaff087d","config":{"Name":"X-MaaS-Group","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"51e71706-36ec-4baf-b221-67b1aaff087d","config":{"Name":"X-MaaS-Subscription","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Subscription","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"simulator-subscription"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"51e71706-36ec-4baf-b221-67b1aaff087d","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"userid","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}}]},"Plain":null},"reason":"no such key: subscription-info"} {"level":"info","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"51e71706-36ec-4baf-b221-67b1aaff087d","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"51e71706-36ec-4baf-b221-67b1aaff087d","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"23322862-0ff9-43c2-8ccc-085306efa9e0","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.28:53752","PortSpecifier":{"PortValue":53752}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"23322862-0ff9-43c2-8ccc-085306efa9e0","method":"GET","path":"/llm/facebook-opt-125m-simulated/v1/models","host":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"23322862-0ff9-43c2-8ccc-085306efa9e0","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.28:53752","PortSpecifier":{"PortValue":53752}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349852,"nanos":108215815},"http":{"id":"23322862-0ff9-43c2-8ccc-085306efa9e0","method":"GET","headers":{":authority":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local",":method":"GET",":path":"/llm/facebook-opt-125m-simulated/v1/models",":scheme":"https","accept-encoding":"gzip","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"23322862-0ff9-43c2-8ccc-085306efa9e0","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-1SX7NI0MlIh3R2im3_PwxBlA05vgwedaBsccoC17ZVwDWDBIhpf1huYVNWmhP"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"23322862-0ff9-43c2-8ccc-085306efa9e0","config":"apiKeyValidation","method":"POST","url":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-1SX7NI0MlIh3R2im3_PwxBlA05vgwedaBsccoC17ZVwDWDBIhpf1huYVNWmhP\"}"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"23322862-0ff9-43c2-8ccc-085306efa9e0","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","DynamicEndpoint":null,"Method":"POST","Body":{},"Parameters":[],"Headers":[],"ContentType":"application/json","SharedSecret":"","OAuth2":null,"OAuth2TokenForceFetch":false,"AuthCredentials":null}},"object":{"groups":["system:authenticated","Engineering","Project-Alpha"],"keyId":"bd1a59dc-23e6-47a6-a43c-56d146a31978","keyName":"e2e-oidc-20f80511","subscription":"simulator-subscription","tenant":"models-as-a-service","userId":"bd1a59dc-23e6-47a6-a43c-56d146a31978","username":"alice_lead","valid":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"23322862-0ff9-43c2-8ccc-085306efa9e0","config":"subscription-info","method":"POST","url":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/subscriptions/select","headers":{"Content-Type":["application/json"]},"body":"{\"groups\":[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"],\"requestedModel\":\"llm/facebook-opt-125m-simulated\",\"requestedSubscription\":\"simulator-subscription\",\"username\":\"alice_lead\"}"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"23322862-0ff9-43c2-8ccc-085306efa9e0","config":{"Name":"subscription-info","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/subscriptions/select","DynamicEndpoint":null,"Method":"POST","Body":{},"Parameters":[],"Headers":[],"ContentType":"application/json","SharedSecret":"","OAuth2":null,"OAuth2TokenForceFetch":false,"AuthCredentials":null}},"object":{"description":"Free-tier subscription with 100 tokens/min rate limit","displayName":"Simulator Subscription (Free)","modelRefs":[{"description":"A simulated OPT-125M model for free-tier testing","display_name":"Facebook OPT 125M (Simulated)","name":"facebook-opt-125m-simulated","source":"internal","token_rate_limits":[{"limit":100,"window":"1m"}]}],"name":"simulator-subscription","namespace":"models-as-a-service","phase":"Active","priority":10,"ready":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"23322862-0ff9-43c2-8ccc-085306efa9e0","input":{"auth":{"identity":"Bearer **** subscription with 100 tokens/min rate limit","displayName":"Simulator Subscription (Free)","modelRefs":[{"description":"A simulated OPT-125M model for free-tier testing","display_name":"Facebook OPT 125M (Simulated)","name":"facebook-opt-125m-simulated","source":"internal","token_rate_limits":[{"limit":100,"window":"1m"}]}],"name":"simulator-subscription","namespace":"models-as-a-service","phase":"Active","priority":10,"ready":true}}},"context":{"context_extensions":{"host":"4375a0165d777c3dbcac3b90772aafb3ba82b742e01878423b9fb1e122337433"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.41:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local",":method":"GET",":path":"/llm/facebook-opt-125m-simulated/v1/models",":scheme":"https","accept-encoding":"gzip","authorization":"Bearer **** sk-oai-1SX7NI0MlIh3R2im3_PwxBlA05vgwedaBsccoC17ZVwDWDBIhpf1huYVNWmhP","user-agent":"Go-http-client/1.1","x-envoy-decorator-operation":"facebook-opt-125m-simulated-kserve-workload-svc.llm.svc.cluster.local:8000/*","x-envoy-external-address":"10.133.0.28","x-envoy-peer-metadata":"ChoKCkNMVVNURVJfSUQSDBoKS3ViZXJuZXRlcwqLAQoGTEFCRUxTEoABKn4KSwofc2VydmljZS5pc3Rpby5pby9jYW5vbmljYWwtbmFtZRIoGiZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAovCiNzZXJ2aWNlLmlzdGlvLmlvL2Nhbm9uaWNhbC1yZXZpc2lvbhIIGgZsYXRlc3QKQAoETkFNRRI4GjZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdC01NjY1NGRjZjctcHNjNjIKIAoJTkFNRVNQQUNFEhMaEW9wZW5zaGlmdC1pbmdyZXNzCnQKBU9XTkVSEmsaaWt1YmVybmV0ZXM6Ly9hcGlzL2FwcHMvdjEvbmFtZXNwYWNlcy9vcGVuc2hpZnQtaW5ncmVzcy9kZXBsb3ltZW50cy9tYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAo5Cg1XT1JLTE9BRF9OQU1FEigaJm1hYXMtZGVmYXVsdC1nYXRld2F5LW9wZW5zaGlmdC1kZWZhdWx0","x-envoy-peer-metadata-id":"router~10.132.0.41~maas-default-gateway-openshift-default-56654dcf7-psc62.openshift-ingress~openshift-ingress.svc.cluster.local","x-forwarded-for":"10.133.0.28","x-forwarded-proto":"https","x-maas-subscription":"simulator-subscription","x-request-id":"23322862-0ff9-43c2-8ccc-085306efa9e0"},"host":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local","id":"23322862-0ff9-43c2-8ccc-085306efa9e0","method":"GET","path":"/llm/facebook-opt-125m-simulated/v1/models","protocol":"HTTP/1.1","scheme":"https","time":{"nanos":108215815,"seconds":1783349852},"url_path":"/llm/facebook-opt-125m-simulated/v1/models","user_agent":"Go-http-client/1.1"},"source":{"address":"10.133.0.28:53752","port":53752}}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"23322862-0ff9-43c2-8ccc-085306efa9e0","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"23322862-0ff9-43c2-8ccc-085306efa9e0","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"23322862-0ff9-43c2-8ccc-085306efa9e0","config":{"Name":"subscription-valid","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n\tobject.get(input.auth.metadata[\"subscription-info\"], \"name\", \"\") != \"\"\n\tobject.get(input.auth.metadata[\"subscription-info\"], \"error\", \"\") == \"\"\n\tphase := object.get(input.auth.metadata[\"subscription-info\"], \"phase\", \"\")\n\tany([phase == \"Active\", phase == \"Degraded\"])\n\tobject.get(input.auth.metadata[\"subscription-info\"], \"deletionTimestamp\", \"\") == \"\"\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"23322862-0ff9-43c2-8ccc-085306efa9e0","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"23322862-0ff9-43c2-8ccc-085306efa9e0","config":{"Name":"X-MaaS-Subscription","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Subscription","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"simulator-subscription"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"23322862-0ff9-43c2-8ccc-085306efa9e0","config":{"Name":"X-MaaS-Group","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"23322862-0ff9-43c2-8ccc-085306efa9e0","config":{"Name":"X-MaaS-Username","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{"Static":null,"Pattern":"auth.metadata.apiKeyValidation.username"}}},"object":"alice_lead"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"23322862-0ff9-43c2-8ccc-085306efa9e0","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"keyId","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"userid","Value":{}}]},"Plain":null},"object":{"groups":["system:authenticated","Engineering","Project-Alpha"],"groups_str":"system:authenticated,Engineering,Project-Alpha","keyId":"bd1a59dc-23e6-47a6-a43c-56d146a31978","keyName":"e2e-oidc-20f80511","selected_subscription":"simulator-subscription","selected_subscription_key":"models-as-a-service/simulator-subscription@llm/facebook-opt-125m-simulated","subscription_error":"","subscription_error_message":"","subscription_info":{"description":"Free-tier subscription with 100 tokens/min rate limit","displayName":"Simulator Subscription (Free)","modelRefs":[{"description":"A simulated OPT-125M model for free-tier testing","display_name":"Facebook OPT 125M (Simulated)","name":"facebook-opt-125m-simulated","source":"internal","token_rate_limits":[{"limit":100,"window":"1m"}]}],"name":"simulator-subscription","namespace":"models-as-a-service","phase":"Active","priority":10,"ready":true},"userid":"alice_lead"}} {"level":"info","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"23322862-0ff9-43c2-8ccc-085306efa9e0","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"23322862-0ff9-43c2-8ccc-085306efa9e0","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"6fb5073a-8525-4b7e-8944-06b8e93cd956","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43786","PortSpecifier":{"PortValue":43786}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"6fb5073a-8525-4b7e-8944-06b8e93cd956","method":"POST","path":"/maas-api/v1/api-keys","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"6fb5073a-8525-4b7e-8944-06b8e93cd956","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43786","PortSpecifier":{"PortValue":43786}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349852,"nanos":221162802},"http":{"id":"6fb5073a-8525-4b7e-8944-06b8e93cd956","method":"POST","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"6fb5073a-8525-4b7e-8944-06b8e93cd956","config":{"Name":"oidc-identities","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OAuth2":null,"JWTAuthentication":{"AuthCredentials":{"KeySelector":"Bearer","In":"authorization_header"}},"MTLS":null,"HMAC":null,"APIKey":null,"KubernetesAuth":null,"Plain":null,"Noop":null,"ExtendedProperties":[]},"object":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349912,"groups":["Engineering","Project-Alpha"],"iat":1783349852,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:d4b474e3-d682-721e-1e61-b2c462d2017a","preferred_username":"alice_lead","scope":"profile email","sid":"3BgRrDt4OTct1_WrpOx12ANL","sub":"8e4c6649-05e4-4b70-95ca-49ee7f461056","typ":"Bearer"}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"6fb5073a-8525-4b7e-8944-06b8e93cd956","input":{"auth":{"identity":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349912,"groups":["Engineering","Project-Alpha"],"iat":1783349852,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:d4b474e3-d682-721e-1e61-b2c462d2017a","preferred_username":"alice_lead","scope":"profile email","sid":"3BgRrDt4OTct1_WrpOx12ANL","sub":"8e4c6649-05e4-4b70-95ca-49ee7f461056","typ":"Bearer"}},"context":{"context_extensions":{"host":"4b78668c68e506f3e4245c5d1f1af6820d0987e90bac1b37e2a03d21cc7ed38d"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.41:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"6fb5073a-8525-4b7e-8944-06b8e93cd956","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"6fb5073a-8525-4b7e-8944-06b8e93cd956","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"6fb5073a-8525-4b7e-8944-06b8e93cd956","config":{"Name":"oidc-groups-safe","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OPA":{"Rego":"unsafe_group[g] {\n\tg := input.auth.identity.groups[_]\n\tnot regex.match(\"^[A-Za-z0-9:._/-]+$\", g)\n}\n\nallow {\n\tcount(unsafe_group) == 0\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"6fb5073a-8525-4b7e-8944-06b8e93cd956","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"6fb5073a-8525-4b7e-8944-06b8e93cd956","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"userid","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"6fb5073a-8525-4b7e-8944-06b8e93cd956","config":{"Name":"X-MaaS-Group-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"6fb5073a-8525-4b7e-8944-06b8e93cd956","config":{"Name":"X-MaaS-Username-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"alice_lead"} {"level":"info","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"6fb5073a-8525-4b7e-8944-06b8e93cd956","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"6fb5073a-8525-4b7e-8944-06b8e93cd956","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"5d3fbb4a-5050-49b8-abba-30c7f9934415","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43796","PortSpecifier":{"PortValue":43796}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"5d3fbb4a-5050-49b8-abba-30c7f9934415","method":"GET","path":"/maas-api/v1/models","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"5d3fbb4a-5050-49b8-abba-30c7f9934415","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43796","PortSpecifier":{"PortValue":43796}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349852,"nanos":255167083},"http":{"id":"5d3fbb4a-5050-49b8-abba-30c7f9934415","method":"GET","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"GET",":path":"/maas-api/v1/models",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"5d3fbb4a-5050-49b8-abba-30c7f9934415","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-N5RTMkkw13f5vBnP_SI6TLehs8On91h4mG1HfLHqgbyqAFu9bmSG7qhlhm8c"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"5d3fbb4a-5050-49b8-abba-30c7f9934415","config":"apiKeyValidation","method":"POST","url":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-N5RTMkkw13f5vBnP_SI6TLehs8On91h4mG1HfLHqgbyqAFu9bmSG7qhlhm8c\"}"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"5d3fbb4a-5050-49b8-abba-30c7f9934415","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","DynamicEndpoint":null,"Method":"POST","Body":{},"Parameters":[],"Headers":[],"ContentType":"application/json","SharedSecret":"","OAuth2":null,"OAuth2TokenForceFetch":false,"AuthCredentials":null}},"object":{"groups":["system:authenticated","Engineering","Project-Alpha"],"keyId":"208202e5-011a-4ea2-91d4-2b708115ab89","keyName":"e2e-oidc-7e104888","subscription":"simulator-subscription","tenant":"models-as-a-service","userId":"208202e5-011a-4ea2-91d4-2b708115ab89","username":"alice_lead","valid":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"5d3fbb4a-5050-49b8-abba-30c7f9934415","input":{"auth":{"identity":"Bearer **** deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"5d3fbb4a-5050-49b8-abba-30c7f9934415","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"5d3fbb4a-5050-49b8-abba-30c7f9934415","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"5d3fbb4a-5050-49b8-abba-30c7f9934415","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"5d3fbb4a-5050-49b8-abba-30c7f9934415","config":{"Name":"X-MaaS-Username","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{"Static":null,"Pattern":"auth.metadata.apiKeyValidation.username"}}},"object":"alice_lead"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"5d3fbb4a-5050-49b8-abba-30c7f9934415","config":{"Name":"X-MaaS-Subscription","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Subscription","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"simulator-subscription"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"5d3fbb4a-5050-49b8-abba-30c7f9934415","config":{"Name":"X-MaaS-Group","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"5d3fbb4a-5050-49b8-abba-30c7f9934415","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"userid","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}}]},"Plain":null},"reason":"no such key: subscription-info"} {"level":"info","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"5d3fbb4a-5050-49b8-abba-30c7f9934415","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"5d3fbb4a-5050-49b8-abba-30c7f9934415","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"c7f03acd-76a3-4e9d-812f-73783852fdc0","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.28:53752","PortSpecifier":{"PortValue":53752}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"c7f03acd-76a3-4e9d-812f-73783852fdc0","method":"GET","path":"/llm/facebook-opt-125m-simulated/v1/models","host":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"c7f03acd-76a3-4e9d-812f-73783852fdc0","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.28:53752","PortSpecifier":{"PortValue":53752}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349852,"nanos":262779057},"http":{"id":"c7f03acd-76a3-4e9d-812f-73783852fdc0","method":"GET","headers":{":authority":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local",":method":"GET",":path":"/llm/facebook-opt-125m-simulated/v1/models",":scheme":"https","accept-encoding":"gzip","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"c7f03acd-76a3-4e9d-812f-73783852fdc0","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-N5RTMkkw13f5vBnP_SI6TLehs8On91h4mG1HfLHqgbyqAFu9bmSG7qhlhm8c"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"c7f03acd-76a3-4e9d-812f-73783852fdc0","config":"apiKeyValidation","method":"POST","url":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-N5RTMkkw13f5vBnP_SI6TLehs8On91h4mG1HfLHqgbyqAFu9bmSG7qhlhm8c\"}"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"c7f03acd-76a3-4e9d-812f-73783852fdc0","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","DynamicEndpoint":null,"Method":"POST","Body":{},"Parameters":[],"Headers":[],"ContentType":"application/json","SharedSecret":"","OAuth2":null,"OAuth2TokenForceFetch":false,"AuthCredentials":null}},"object":{"groups":["system:authenticated","Engineering","Project-Alpha"],"keyId":"208202e5-011a-4ea2-91d4-2b708115ab89","keyName":"e2e-oidc-7e104888","subscription":"simulator-subscription","tenant":"models-as-a-service","userId":"208202e5-011a-4ea2-91d4-2b708115ab89","username":"alice_lead","valid":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"c7f03acd-76a3-4e9d-812f-73783852fdc0","config":"subscription-info","method":"POST","url":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/subscriptions/select","headers":{"Content-Type":["application/json"]},"body":"{\"groups\":[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"],\"requestedModel\":\"llm/facebook-opt-125m-simulated\",\"requestedSubscription\":\"simulator-subscription\",\"username\":\"alice_lead\"}"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"c7f03acd-76a3-4e9d-812f-73783852fdc0","config":{"Name":"subscription-info","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/subscriptions/select","DynamicEndpoint":null,"Method":"POST","Body":{},"Parameters":[],"Headers":[],"ContentType":"application/json","SharedSecret":"","OAuth2":null,"OAuth2TokenForceFetch":false,"AuthCredentials":null}},"object":{"description":"Free-tier subscription with 100 tokens/min rate limit","displayName":"Simulator Subscription (Free)","modelRefs":[{"description":"A simulated OPT-125M model for free-tier testing","display_name":"Facebook OPT 125M (Simulated)","name":"facebook-opt-125m-simulated","source":"internal","token_rate_limits":[{"limit":100,"window":"1m"}]}],"name":"simulator-subscription","namespace":"models-as-a-service","phase":"Active","priority":10,"ready":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"c7f03acd-76a3-4e9d-812f-73783852fdc0","input":{"auth":{"identity":"Bearer **** subscription with 100 tokens/min rate limit","displayName":"Simulator Subscription (Free)","modelRefs":[{"description":"A simulated OPT-125M model for free-tier testing","display_name":"Facebook OPT 125M (Simulated)","name":"facebook-opt-125m-simulated","source":"internal","token_rate_limits":[{"limit":100,"window":"1m"}]}],"name":"simulator-subscription","namespace":"models-as-a-service","phase":"Active","priority":10,"ready":true}}},"context":{"context_extensions":{"host":"4375a0165d777c3dbcac3b90772aafb3ba82b742e01878423b9fb1e122337433"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.41:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local",":method":"GET",":path":"/llm/facebook-opt-125m-simulated/v1/models",":scheme":"https","accept-encoding":"gzip","authorization":"Bearer **** sk-oai-N5RTMkkw13f5vBnP_SI6TLehs8On91h4mG1HfLHqgbyqAFu9bmSG7qhlhm8c","user-agent":"Go-http-client/1.1","x-envoy-decorator-operation":"facebook-opt-125m-simulated-kserve-workload-svc.llm.svc.cluster.local:8000/*","x-envoy-external-address":"10.133.0.28","x-envoy-peer-metadata":"ChoKCkNMVVNURVJfSUQSDBoKS3ViZXJuZXRlcwqLAQoGTEFCRUxTEoABKn4KSwofc2VydmljZS5pc3Rpby5pby9jYW5vbmljYWwtbmFtZRIoGiZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAovCiNzZXJ2aWNlLmlzdGlvLmlvL2Nhbm9uaWNhbC1yZXZpc2lvbhIIGgZsYXRlc3QKQAoETkFNRRI4GjZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdC01NjY1NGRjZjctcHNjNjIKIAoJTkFNRVNQQUNFEhMaEW9wZW5zaGlmdC1pbmdyZXNzCnQKBU9XTkVSEmsaaWt1YmVybmV0ZXM6Ly9hcGlzL2FwcHMvdjEvbmFtZXNwYWNlcy9vcGVuc2hpZnQtaW5ncmVzcy9kZXBsb3ltZW50cy9tYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAo5Cg1XT1JLTE9BRF9OQU1FEigaJm1hYXMtZGVmYXVsdC1nYXRld2F5LW9wZW5zaGlmdC1kZWZhdWx0","x-envoy-peer-metadata-id":"router~10.132.0.41~maas-default-gateway-openshift-default-56654dcf7-psc62.openshift-ingress~openshift-ingress.svc.cluster.local","x-forwarded-for":"10.133.0.28","x-forwarded-proto":"https","x-maas-subscription":"simulator-subscription","x-request-id":"c7f03acd-76a3-4e9d-812f-73783852fdc0"},"host":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local","id":"c7f03acd-76a3-4e9d-812f-73783852fdc0","method":"GET","path":"/llm/facebook-opt-125m-simulated/v1/models","protocol":"HTTP/1.1","scheme":"https","time":{"nanos":262779057,"seconds":1783349852},"url_path":"/llm/facebook-opt-125m-simulated/v1/models","user_agent":"Go-http-client/1.1"},"source":{"address":"10.133.0.28:53752","port":53752}}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"c7f03acd-76a3-4e9d-812f-73783852fdc0","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"c7f03acd-76a3-4e9d-812f-73783852fdc0","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"c7f03acd-76a3-4e9d-812f-73783852fdc0","config":{"Name":"subscription-valid","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n\tobject.get(input.auth.metadata[\"subscription-info\"], \"name\", \"\") != \"\"\n\tobject.get(input.auth.metadata[\"subscription-info\"], \"error\", \"\") == \"\"\n\tphase := object.get(input.auth.metadata[\"subscription-info\"], \"phase\", \"\")\n\tany([phase == \"Active\", phase == \"Degraded\"])\n\tobject.get(input.auth.metadata[\"subscription-info\"], \"deletionTimestamp\", \"\") == \"\"\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"c7f03acd-76a3-4e9d-812f-73783852fdc0","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"c7f03acd-76a3-4e9d-812f-73783852fdc0","config":{"Name":"X-MaaS-Username","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{"Static":null,"Pattern":"auth.metadata.apiKeyValidation.username"}}},"object":"alice_lead"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"c7f03acd-76a3-4e9d-812f-73783852fdc0","config":{"Name":"X-MaaS-Subscription","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Subscription","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"simulator-subscription"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"c7f03acd-76a3-4e9d-812f-73783852fdc0","config":{"Name":"X-MaaS-Group","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"c7f03acd-76a3-4e9d-812f-73783852fdc0","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"keyId","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"userid","Value":{}}]},"Plain":null},"object":{"groups":["system:authenticated","Engineering","Project-Alpha"],"groups_str":"system:authenticated,Engineering,Project-Alpha","keyId":"208202e5-011a-4ea2-91d4-2b708115ab89","keyName":"e2e-oidc-7e104888","selected_subscription":"simulator-subscription","selected_subscription_key":"models-as-a-service/simulator-subscription@llm/facebook-opt-125m-simulated","subscription_error":"","subscription_error_message":"","subscription_info":{"description":"Free-tier subscription with 100 tokens/min rate limit","displayName":"Simulator Subscription (Free)","modelRefs":[{"description":"A simulated OPT-125M model for free-tier testing","display_name":"Facebook OPT 125M (Simulated)","name":"facebook-opt-125m-simulated","source":"internal","token_rate_limits":[{"limit":100,"window":"1m"}]}],"name":"simulator-subscription","namespace":"models-as-a-service","phase":"Active","priority":10,"ready":true},"userid":"alice_lead"}} {"level":"info","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"c7f03acd-76a3-4e9d-812f-73783852fdc0","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"c7f03acd-76a3-4e9d-812f-73783852fdc0","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"1fd83851-2563-47a0-9487-2ff8d40b794a","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43810","PortSpecifier":{"PortValue":43810}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"1fd83851-2563-47a0-9487-2ff8d40b794a","method":"GET","path":"/maas-api/v1/models","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"1fd83851-2563-47a0-9487-2ff8d40b794a","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43810","PortSpecifier":{"PortValue":43810}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349852,"nanos":295188374},"http":{"id":"1fd83851-2563-47a0-9487-2ff8d40b794a","method":"GET","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"GET",":path":"/maas-api/v1/models",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"1fd83851-2563-47a0-9487-2ff8d40b794a","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-N5RTMkkw13f5vBnP_SI6TLehs8On91h4mG1HfLHqgbyqAFu9bmSG7qhlhm8c"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"1fd83851-2563-47a0-9487-2ff8d40b794a","config":"apiKeyValidation","method":"POST","url":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-N5RTMkkw13f5vBnP_SI6TLehs8On91h4mG1HfLHqgbyqAFu9bmSG7qhlhm8c\"}"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"1fd83851-2563-47a0-9487-2ff8d40b794a","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","DynamicEndpoint":null,"Method":"POST","Body":{},"Parameters":[],"Headers":[],"ContentType":"application/json","SharedSecret":"","OAuth2":null,"OAuth2TokenForceFetch":false,"AuthCredentials":null}},"object":{"groups":["system:authenticated","Engineering","Project-Alpha"],"keyId":"208202e5-011a-4ea2-91d4-2b708115ab89","keyName":"e2e-oidc-7e104888","subscription":"simulator-subscription","tenant":"models-as-a-service","userId":"208202e5-011a-4ea2-91d4-2b708115ab89","username":"alice_lead","valid":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"1fd83851-2563-47a0-9487-2ff8d40b794a","input":{"auth":{"identity":"Bearer **** deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"1fd83851-2563-47a0-9487-2ff8d40b794a","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"1fd83851-2563-47a0-9487-2ff8d40b794a","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"1fd83851-2563-47a0-9487-2ff8d40b794a","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"1fd83851-2563-47a0-9487-2ff8d40b794a","config":{"Name":"X-MaaS-Group","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"1fd83851-2563-47a0-9487-2ff8d40b794a","config":{"Name":"X-MaaS-Username","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{"Static":null,"Pattern":"auth.metadata.apiKeyValidation.username"}}},"object":"alice_lead"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"1fd83851-2563-47a0-9487-2ff8d40b794a","config":{"Name":"X-MaaS-Subscription","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Subscription","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"simulator-subscription"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"1fd83851-2563-47a0-9487-2ff8d40b794a","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"userid","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}}]},"Plain":null},"reason":"no such key: subscription-info"} {"level":"info","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"1fd83851-2563-47a0-9487-2ff8d40b794a","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"1fd83851-2563-47a0-9487-2ff8d40b794a","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"6ec486f7-e3a5-437a-942d-0f9858b086ef","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.28:53752","PortSpecifier":{"PortValue":53752}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"6ec486f7-e3a5-437a-942d-0f9858b086ef","method":"GET","path":"/llm/facebook-opt-125m-simulated/v1/models","host":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"6ec486f7-e3a5-437a-942d-0f9858b086ef","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.28:53752","PortSpecifier":{"PortValue":53752}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349852,"nanos":302327829},"http":{"id":"6ec486f7-e3a5-437a-942d-0f9858b086ef","method":"GET","headers":{":authority":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local",":method":"GET",":path":"/llm/facebook-opt-125m-simulated/v1/models",":scheme":"https","accept-encoding":"gzip","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"6ec486f7-e3a5-437a-942d-0f9858b086ef","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-N5RTMkkw13f5vBnP_SI6TLehs8On91h4mG1HfLHqgbyqAFu9bmSG7qhlhm8c"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"6ec486f7-e3a5-437a-942d-0f9858b086ef","config":"apiKeyValidation","method":"POST","url":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-N5RTMkkw13f5vBnP_SI6TLehs8On91h4mG1HfLHqgbyqAFu9bmSG7qhlhm8c\"}"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"6ec486f7-e3a5-437a-942d-0f9858b086ef","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/api-keys/validate","DynamicEndpoint":null,"Method":"POST","Body":{},"Parameters":[],"Headers":[],"ContentType":"application/json","SharedSecret":"","OAuth2":null,"OAuth2TokenForceFetch":false,"AuthCredentials":null}},"object":{"groups":["system:authenticated","Engineering","Project-Alpha"],"keyId":"208202e5-011a-4ea2-91d4-2b708115ab89","keyName":"e2e-oidc-7e104888","subscription":"simulator-subscription","tenant":"models-as-a-service","userId":"208202e5-011a-4ea2-91d4-2b708115ab89","username":"alice_lead","valid":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"6ec486f7-e3a5-437a-942d-0f9858b086ef","config":"subscription-info","method":"POST","url":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/subscriptions/select","headers":{"Content-Type":["application/json"]},"body":"{\"groups\":[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"],\"requestedModel\":\"llm/facebook-opt-125m-simulated\",\"requestedSubscription\":\"simulator-subscription\",\"username\":\"alice_lead\"}"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"6ec486f7-e3a5-437a-942d-0f9858b086ef","config":{"Name":"subscription-info","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.opendatahub.svc.cluster.local:8443/internal/v1/subscriptions/select","DynamicEndpoint":null,"Method":"POST","Body":{},"Parameters":[],"Headers":[],"ContentType":"application/json","SharedSecret":"","OAuth2":null,"OAuth2TokenForceFetch":false,"AuthCredentials":null}},"object":{"description":"Free-tier subscription with 100 tokens/min rate limit","displayName":"Simulator Subscription (Free)","modelRefs":[{"description":"A simulated OPT-125M model for free-tier testing","display_name":"Facebook OPT 125M (Simulated)","name":"facebook-opt-125m-simulated","source":"internal","token_rate_limits":[{"limit":100,"window":"1m"}]}],"name":"simulator-subscription","namespace":"models-as-a-service","phase":"Active","priority":10,"ready":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"6ec486f7-e3a5-437a-942d-0f9858b086ef","input":{"auth":{"identity":"Bearer **** subscription with 100 tokens/min rate limit","displayName":"Simulator Subscription (Free)","modelRefs":[{"description":"A simulated OPT-125M model for free-tier testing","display_name":"Facebook OPT 125M (Simulated)","name":"facebook-opt-125m-simulated","source":"internal","token_rate_limits":[{"limit":100,"window":"1m"}]}],"name":"simulator-subscription","namespace":"models-as-a-service","phase":"Active","priority":10,"ready":true}}},"context":{"context_extensions":{"host":"4375a0165d777c3dbcac3b90772aafb3ba82b742e01878423b9fb1e122337433"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.41:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local",":method":"GET",":path":"/llm/facebook-opt-125m-simulated/v1/models",":scheme":"https","accept-encoding":"gzip","authorization":"Bearer **** sk-oai-N5RTMkkw13f5vBnP_SI6TLehs8On91h4mG1HfLHqgbyqAFu9bmSG7qhlhm8c","user-agent":"Go-http-client/1.1","x-envoy-decorator-operation":"facebook-opt-125m-simulated-kserve-workload-svc.llm.svc.cluster.local:8000/*","x-envoy-external-address":"10.133.0.28","x-envoy-peer-metadata":"ChoKCkNMVVNURVJfSUQSDBoKS3ViZXJuZXRlcwqLAQoGTEFCRUxTEoABKn4KSwofc2VydmljZS5pc3Rpby5pby9jYW5vbmljYWwtbmFtZRIoGiZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAovCiNzZXJ2aWNlLmlzdGlvLmlvL2Nhbm9uaWNhbC1yZXZpc2lvbhIIGgZsYXRlc3QKQAoETkFNRRI4GjZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdC01NjY1NGRjZjctcHNjNjIKIAoJTkFNRVNQQUNFEhMaEW9wZW5zaGlmdC1pbmdyZXNzCnQKBU9XTkVSEmsaaWt1YmVybmV0ZXM6Ly9hcGlzL2FwcHMvdjEvbmFtZXNwYWNlcy9vcGVuc2hpZnQtaW5ncmVzcy9kZXBsb3ltZW50cy9tYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAo5Cg1XT1JLTE9BRF9OQU1FEigaJm1hYXMtZGVmYXVsdC1nYXRld2F5LW9wZW5zaGlmdC1kZWZhdWx0","x-envoy-peer-metadata-id":"router~10.132.0.41~maas-default-gateway-openshift-default-56654dcf7-psc62.openshift-ingress~openshift-ingress.svc.cluster.local","x-forwarded-for":"10.133.0.28","x-forwarded-proto":"https","x-maas-subscription":"simulator-subscription","x-request-id":"6ec486f7-e3a5-437a-942d-0f9858b086ef"},"host":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local","id":"6ec486f7-e3a5-437a-942d-0f9858b086ef","method":"GET","path":"/llm/facebook-opt-125m-simulated/v1/models","protocol":"HTTP/1.1","scheme":"https","time":{"nanos":302327829,"seconds":1783349852},"url_path":"/llm/facebook-opt-125m-simulated/v1/models","user_agent":"Go-http-client/1.1"},"source":{"address":"10.133.0.28:53752","port":53752}}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"6ec486f7-e3a5-437a-942d-0f9858b086ef","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"6ec486f7-e3a5-437a-942d-0f9858b086ef","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"6ec486f7-e3a5-437a-942d-0f9858b086ef","config":{"Name":"subscription-valid","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n\tobject.get(input.auth.metadata[\"subscription-info\"], \"name\", \"\") != \"\"\n\tobject.get(input.auth.metadata[\"subscription-info\"], \"error\", \"\") == \"\"\n\tphase := object.get(input.auth.metadata[\"subscription-info\"], \"phase\", \"\")\n\tany([phase == \"Active\", phase == \"Degraded\"])\n\tobject.get(input.auth.metadata[\"subscription-info\"], \"deletionTimestamp\", \"\") == \"\"\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"6ec486f7-e3a5-437a-942d-0f9858b086ef","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"6ec486f7-e3a5-437a-942d-0f9858b086ef","config":{"Name":"X-MaaS-Group","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"6ec486f7-e3a5-437a-942d-0f9858b086ef","config":{"Name":"X-MaaS-Username","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{"Static":null,"Pattern":"auth.metadata.apiKeyValidation.username"}}},"object":"alice_lead"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"6ec486f7-e3a5-437a-942d-0f9858b086ef","config":{"Name":"X-MaaS-Subscription","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Subscription","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"simulator-subscription"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"6ec486f7-e3a5-437a-942d-0f9858b086ef","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"keyId","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"userid","Value":{}}]},"Plain":null},"object":{"groups":["system:authenticated","Engineering","Project-Alpha"],"groups_str":"system:authenticated,Engineering,Project-Alpha","keyId":"208202e5-011a-4ea2-91d4-2b708115ab89","keyName":"e2e-oidc-7e104888","selected_subscription":"simulator-subscription","selected_subscription_key":"models-as-a-service/simulator-subscription@llm/facebook-opt-125m-simulated","subscription_error":"","subscription_error_message":"","subscription_info":{"description":"Free-tier subscription with 100 tokens/min rate limit","displayName":"Simulator Subscription (Free)","modelRefs":[{"description":"A simulated OPT-125M model for free-tier testing","display_name":"Facebook OPT 125M (Simulated)","name":"facebook-opt-125m-simulated","source":"internal","token_rate_limits":[{"limit":100,"window":"1m"}]}],"name":"simulator-subscription","namespace":"models-as-a-service","phase":"Active","priority":10,"ready":true},"userid":"alice_lead"}} {"level":"info","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"6ec486f7-e3a5-437a-942d-0f9858b086ef","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"6ec486f7-e3a5-437a-942d-0f9858b086ef","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"dc0dc3e3-c9c8-40d5-b9e9-307f65e527b8","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43816","PortSpecifier":{"PortValue":43816}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"dc0dc3e3-c9c8-40d5-b9e9-307f65e527b8","method":"POST","path":"/maas-api/v1/api-keys","host":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"dc0dc3e3-c9c8-40d5-b9e9-307f65e527b8","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.12:43816","PortSpecifier":{"PortValue":43816}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.41:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783349852,"nanos":408178664},"http":{"id":"dc0dc3e3-c9c8-40d5-b9e9-307f65e527b8","method":"POST","headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"dc0dc3e3-c9c8-40d5-b9e9-307f65e527b8","config":{"Name":"oidc-identities","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OAuth2":null,"JWTAuthentication":{"AuthCredentials":{"KeySelector":"Bearer","In":"authorization_header"}},"MTLS":null,"HMAC":null,"APIKey":null,"KubernetesAuth":null,"Plain":null,"Noop":null,"ExtendedProperties":[]},"object":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349912,"groups":["Engineering","Project-Alpha"],"iat":1783349852,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:a7c30658-d0f1-657a-d6e6-7472782288ea","preferred_username":"alice_lead","scope":"profile email","sid":"mLvYGefXugpD6RBEL6GBaikK","sub":"8e4c6649-05e4-4b70-95ca-49ee7f461056","typ":"Bearer"}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"dc0dc3e3-c9c8-40d5-b9e9-307f65e527b8","input":{"auth":{"identity":{"acr":"1","allowed-origins":["*"],"azp":"test-client","email_verified":true,"exp":1783349912,"groups":["Engineering","Project-Alpha"],"iat":1783349852,"iss":"https://keycloak.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com/realms/tenant-a","jti":"onrtro:a7c30658-d0f1-657a-d6e6-7472782288ea","preferred_username":"alice_lead","scope":"profile email","sid":"mLvYGefXugpD6RBEL6GBaikK","sub":"8e4c6649-05e4-4b70-95ca-49ee7f461056","typ":"Bearer"}},"context":{"context_extensions":{"host":"4b78668c68e506f3e4245c5d1f1af6820d0987e90bac1b37e2a03d21cc7ed38d"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.41:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.fffb7158-a6ae-415e-9559-ae33bf6ef293.prod.konfluxeaas.com",":method":"POST",":path":"/maas-api/v1/api-keys",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"dc0dc3e3-c9c8-40d5-b9e9-307f65e527b8","config":{"Name":"tenant-gateway-isolation","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":null,"OPA":{"Rego":"# Tenant hostname isolation stub.\n# Replace with a real maas-api call to validate that the API key's tenant\n# matches the gateway hostname (prevents Coke key on Pepsi gateway).\nallow { true }","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"dc0dc3e3-c9c8-40d5-b9e9-307f65e527b8","config":{"Name":"auth-valid","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"allow {\n object.get(input.auth.metadata, \"apiKeyValidation\", {})\n input.auth.metadata.apiKeyValidation.valid == true\n}\nallow {\n not input.auth.metadata.apiKeyValidation\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"dc0dc3e3-c9c8-40d5-b9e9-307f65e527b8","config":{"Name":"oidc-groups-safe","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":null,"OPA":{"Rego":"unsafe_group[g] {\n\tg := input.auth.identity.groups[_]\n\tnot regex.match(\"^[A-Za-z0-9:._/-]+$\", g)\n}\n\nallow {\n\tcount(unsafe_group) == 0\n}","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"dc0dc3e3-c9c8-40d5-b9e9-307f65e527b8","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"llm/facebook-opt-125m-simulated\":{\"users\":null,\"groups\":[\"system:authenticated\"]}}\n\nrequest_path := object.get(input.context.request.http, \"path\", \"\")\nrequest_headers := object.get(input.context.request.http, \"headers\", {})\n\npath_parts := [p | p := split(request_path, \"/\")[_]; p != \"\"]\n\npath_model_identity := sprintf(\"%s/%s\", [path_parts[0], path_parts[1]]) {\n\tcount(path_parts) >= 2\n\tpath_parts[0] != \"v1\"\n\tpath_parts[0] != \"maas-api\"\n}\n\nraw_header_model_identity := object.get(request_headers, \"x-gateway-model-name\", \"\")\n\nheader_model_identity := sprintf(\"%s/%s\", [split(raw_header_model_identity, \"/\")[1], split(raw_header_model_identity, \"/\")[3]]) {\n\tstartswith(raw_header_model_identity, \"publishers/\")\n} else := raw_header_model_identity\n\nmodel_identity := path_model_identity {\n\tpath_model_identity != \"\"\n} else := header_model_identity {\n\theader_model_identity != \"\"\n} else := \"\"\n\nusername := input.auth.metadata.apiKeyValidation.username\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.username != \"\" }\nelse := input.auth.identity.preferred_username\n\t{ object.get(input.auth, \"identity\", {}).preferred_username != \"\" }\nelse := input.auth.identity.sub\n\t{ object.get(input.auth, \"identity\", {}).sub != \"\" }\nelse := input.auth.identity.user.username\n\t{ object.get(input.auth, \"identity\", {}).user.username != \"\" }\nelse := \"\"\n\ngroups := input.auth.metadata.apiKeyValidation.groups\n\t{ object.get(input.auth, \"metadata\", {}).apiKeyValidation.groups != [] }\nelse := input.auth.identity.groups\n\t{ object.get(input.auth, \"identity\", {}).groups != [] }\nelse := input.auth.identity.user.groups\n\t{ object.get(input.auth, \"identity\", {}).user.groups != [] }\nelse := []\n\nmodel_rules := object.get(model_access, model_identity, null)\n\n# Management endpoints (e.g. /v1/models, /maas-api/v1/api-keys) carry no model context.\n# Allow them here; subscription and rate-limit checks are gated by model-route conditions.\nallow {\n\tmodel_identity == \"\"\n}\n\n# Inference path: deny by default when no MaaSAuthPolicy covers this model.\n# Allow only when the caller's username or a group is explicitly listed.\nallow {\n\tmodel_rules != null\n\tmodel_rules.users[_] == username\n}\n\nallow {\n\tmodel_rules != null\n\tg := groups[_]\n\tmodel_rules.groups[_] == g\n}\n","ExternalSource":null,"AllValues":false},"JSON":null,"KubernetesAuthz":null,"Authzed":null},"object":{"allow":true}} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"dc0dc3e3-c9c8-40d5-b9e9-307f65e527b8","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"userid","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"dc0dc3e3-c9c8-40d5-b9e9-307f65e527b8","config":{"Name":"X-MaaS-Username-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Username","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"alice_lead"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"dc0dc3e3-c9c8-40d5-b9e9-307f65e527b8","config":{"Name":"X-MaaS-Group-Token","Priority":1,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Wrapper":"httpHeader","WrapperKey":"X-MaaS-Group","Metrics":false,"Cache":null,"Wristband":null,"DynamicJSON":null,"Plain":{"Value":{}}},"object":"[\"system:authenticated\",\"Engineering\",\"Project-Alpha\"]"} {"level":"info","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"dc0dc3e3-c9c8-40d5-b9e9-307f65e527b8","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-06T14:57:32Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"dc0dc3e3-c9c8-40d5-b9e9-307f65e527b8","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-06T14:57:37Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/da528c84d4084cd3c5dc1749befcc8aebfd87a004419c024fcad65283bd9e0f5"} {"level":"info","ts":"2026-07-06T14:57:37Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/e9b186efe4da14ae6872ea622f82a2517f31dd0ba04f512c6779b03ecd9ba60c"} {"level":"info","ts":"2026-07-06T14:57:50Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/ec8af9930b132d0e01f6d58a21a21167779824fcc14f11116380be74dd7513f0"} {"level":"info","ts":"2026-07-06T14:57:50Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/55edebb801e4312f44065a40b71fcdddada70776ed02b87befdb0217b1bfa695"}