{"level":"info","ts":"2026-07-09T19:26:34Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource reconciled","authconfig":"kuadrant-system/80eb8bcf524c4966abb57aa9a01d439fa843e1aad0aabb8fb727e85ab4dfaae0"} {"level":"info","ts":"2026-07-09T19:26:34Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource reconciled","authconfig":"kuadrant-system/bedbdf191e53cd073836639166afabfe9a0f52952281a41f0401fabd80e937dd"} {"level":"info","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"b6497ba3-9703-448e-86d5-0a8d09830292","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:49658","PortSpecifier":{"PortValue":49658}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.47:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"b6497ba3-9703-448e-86d5-0a8d09830292","method":"POST","path":"/maas-api/v1/api-keys","host":"e2e-shared-a-18e258.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"b6497ba3-9703-448e-86d5-0a8d09830292","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:49658","PortSpecifier":{"PortValue":49658}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.47:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625198,"nanos":146965100},"http":{"id":"b6497ba3-9703-448e-86d5-0a8d09830292","method":"POST","headers":{":authority":"e2e-shared-a-18e258.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.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-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.identity.kubernetesauth","msg":"calling kubernetes token review api","request id":"b6497ba3-9703-448e-86d5-0a8d09830292","tokenreview":{"name":""}} {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"b6497ba3-9703-448e-86d5-0a8d09830292","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":[]},"object":{"authenticated":true,"user":{"username":"system:serviceaccount:default:tester-regular-user","uid":"68f86d69-3a55-485b-aa0c-2e8f587d8f58","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"extra":{"authentication.kubernetes.io/credential-id":["JTI=1d414e6c-9c70-48d1-9bb7-8e8d714d8a31"]}},"audiences":["https://prod-eaas-bucket.s3.us-east-1.amazonaws.com/9c1c9b2fef32"]}} {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"b6497ba3-9703-448e-86d5-0a8d09830292","input":{"auth":{"identity":{"audiences":["https://prod-eaas-bucket.s3.us-east-1.amazonaws.com/9c1c9b2fef32"],"authenticated":true,"user":{"extra":{"authentication.kubernetes.io/credential-id":["JTI=1d414e6c-9c70-48d1-9bb7-8e8d714d8a31"]},"groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"uid":"68f86d69-3a55-485b-aa0c-2e8f587d8f58","username":"system:serviceaccount:default:tester-regular-user"}}},"context":{"context_extensions":{"host":"5d82fae9c38c1cef9f5c682f0ba0d3138641d5bdeb204ac04b81fa18c857d5d3"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.47:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"e2e-shared-a-18e258.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.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-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"b6497ba3-9703-448e-86d5-0a8d09830292","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-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"b6497ba3-9703-448e-86d5-0a8d09830292","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-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"b6497ba3-9703-448e-86d5-0a8d09830292","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258\":{\"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-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"b6497ba3-9703-448e-86d5-0a8d09830292","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"selected_subscription","Value":{}},{"Name":"groups","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"keyId","Value":{}},{"Name":"keyName","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"userid","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"b6497ba3-9703-448e-86d5-0a8d09830292","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"b6497ba3-9703-448e-86d5-0a8d09830292","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"info","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"b6497ba3-9703-448e-86d5-0a8d09830292","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"b6497ba3-9703-448e-86d5-0a8d09830292","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"7c451169-5184-4543-bc1c-34aa7d3a86ce","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:35886","PortSpecifier":{"PortValue":35886}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.48:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"7c451169-5184-4543-bc1c-34aa7d3a86ce","method":"POST","path":"/maas-api/v1/api-keys","host":"e2e-shared-b-2ac82b.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"7c451169-5184-4543-bc1c-34aa7d3a86ce","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:35886","PortSpecifier":{"PortValue":35886}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.48:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625198,"nanos":199324181},"http":{"id":"7c451169-5184-4543-bc1c-34aa7d3a86ce","method":"POST","headers":{":authority":"e2e-shared-b-2ac82b.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.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-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.identity.kubernetesauth","msg":"calling kubernetes token review api","request id":"7c451169-5184-4543-bc1c-34aa7d3a86ce","tokenreview":{"name":""}} {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"7c451169-5184-4543-bc1c-34aa7d3a86ce","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":[]},"object":{"authenticated":true,"user":{"username":"system:serviceaccount:default:tester-regular-user","uid":"68f86d69-3a55-485b-aa0c-2e8f587d8f58","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"extra":{"authentication.kubernetes.io/credential-id":["JTI=1d414e6c-9c70-48d1-9bb7-8e8d714d8a31"]}},"audiences":["https://prod-eaas-bucket.s3.us-east-1.amazonaws.com/9c1c9b2fef32"]}} {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"7c451169-5184-4543-bc1c-34aa7d3a86ce","input":{"auth":{"identity":{"audiences":["https://prod-eaas-bucket.s3.us-east-1.amazonaws.com/9c1c9b2fef32"],"authenticated":true,"user":{"extra":{"authentication.kubernetes.io/credential-id":["JTI=1d414e6c-9c70-48d1-9bb7-8e8d714d8a31"]},"groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"uid":"68f86d69-3a55-485b-aa0c-2e8f587d8f58","username":"system:serviceaccount:default:tester-regular-user"}}},"context":{"context_extensions":{"host":"c59295b2b47994f0595c0f15aafa075cdc9902aeda2ae8f8897df6982091ac3d"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.48:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"e2e-shared-b-2ac82b.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.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-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"7c451169-5184-4543-bc1c-34aa7d3a86ce","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-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"7c451169-5184-4543-bc1c-34aa7d3a86ce","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-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"7c451169-5184-4543-bc1c-34aa7d3a86ce","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"ai-tenant-e2e-shared-b-2ac82b/rate-test-model-2ac82b\":{\"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-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"7c451169-5184-4543-bc1c-34aa7d3a86ce","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"groups","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyId","Value":{}},{"Name":"keyName","Value":{}},{"Name":"userid","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"subscription_info","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"7c451169-5184-4543-bc1c-34aa7d3a86ce","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"7c451169-5184-4543-bc1c-34aa7d3a86ce","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":"system:serviceaccount:default:tester-regular-user"} {"level":"info","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"7c451169-5184-4543-bc1c-34aa7d3a86ce","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"7c451169-5184-4543-bc1c-34aa7d3a86ce","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"e0d591e1-4429-48fe-8a6e-910152851d2b","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:49666","PortSpecifier":{"PortValue":49666}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.47:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"e0d591e1-4429-48fe-8a6e-910152851d2b","method":"POST","path":"/ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258/v1/completions","host":"e2e-shared-a-18e258.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"e0d591e1-4429-48fe-8a6e-910152851d2b","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:49666","PortSpecifier":{"PortValue":49666}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.47:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625198,"nanos":247798283},"http":{"id":"e0d591e1-4429-48fe-8a6e-910152851d2b","method":"POST","headers":{":authority":"e2e-shared-a-18e258.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com",":method":"POST",":path":"/ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258/v1/completions",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"e0d591e1-4429-48fe-8a6e-910152851d2b","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-YuUwbTWx8cgJ2X8y_h3LdeHWK264tehIquMIXQPMMdkGZmgWRF5QQFhTPKDN"} {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"e0d591e1-4429-48fe-8a6e-910152851d2b","config":"apiKeyValidation","method":"POST","url":"https://maas-api-e2e-shared-a-18e258.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-YuUwbTWx8cgJ2X8y_h3LdeHWK264tehIquMIXQPMMdkGZmgWRF5QQFhTPKDN\"}"} {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"e0d591e1-4429-48fe-8a6e-910152851d2b","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api-e2e-shared-a-18e258.odh-ai-gateway-infra.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","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"keyId":"475d4151-58c5-4ed5-a835-2a0cd2d9a78a","keyName":"e2e-rate-a-8068a9","subscription":"e2e-rate-iso-a-8068a9","tenant":"e2e-shared-a-18e258","userId":"475d4151-58c5-4ed5-a835-2a0cd2d9a78a","username":"system:serviceaccount:default:tester-regular-user","valid":true}} {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"e0d591e1-4429-48fe-8a6e-910152851d2b","config":"subscription-info","method":"POST","url":"https://maas-api-e2e-shared-a-18e258.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/subscriptions/select","headers":{"Content-Type":["application/json"]},"body":"{\"groups\":[\"system:authenticated\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"],\"requestedModel\":\"ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258\",\"requestedSubscription\":\"e2e-rate-iso-a-8068a9\",\"username\":\"system:serviceaccount:default:tester-regular-user\"}"} {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"e0d591e1-4429-48fe-8a6e-910152851d2b","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-e2e-shared-a-18e258.odh-ai-gateway-infra.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":{"modelRefs":[{"name":"rate-test-model-18e258","source":"internal","token_rate_limits":[{"limit":3,"window":"1m"}]}],"name":"e2e-rate-iso-a-8068a9","namespace":"ai-tenant-e2e-shared-a-18e258","phase":"Active","ready":true}} {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"e0d591e1-4429-48fe-8a6e-910152851d2b","input":{"auth":{"identity":"Bearer **** deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"e0d591e1-4429-48fe-8a6e-910152851d2b","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-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"e0d591e1-4429-48fe-8a6e-910152851d2b","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-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"e0d591e1-4429-48fe-8a6e-910152851d2b","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258\":{\"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-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"e0d591e1-4429-48fe-8a6e-910152851d2b","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-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"e0d591e1-4429-48fe-8a6e-910152851d2b","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"e0d591e1-4429-48fe-8a6e-910152851d2b","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":"e2e-rate-iso-a-8068a9"} {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"e0d591e1-4429-48fe-8a6e-910152851d2b","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"e0d591e1-4429-48fe-8a6e-910152851d2b","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"selected_subscription","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"userid","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}}]},"Plain":null},"object":{"groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"groups_str":"system:authenticated,system:serviceaccounts,system:serviceaccounts:default,system:authenticated","keyId":"475d4151-58c5-4ed5-a835-2a0cd2d9a78a","keyName":"e2e-rate-a-8068a9","selected_subscription":"e2e-rate-iso-a-8068a9","selected_subscription_key":"ai-tenant-e2e-shared-a-18e258/e2e-rate-iso-a-8068a9@ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258","subscription_error":"","subscription_error_message":"","subscription_info":{"modelRefs":[{"name":"rate-test-model-18e258","source":"internal","token_rate_limits":[{"limit":3,"window":"1m"}]}],"name":"e2e-rate-iso-a-8068a9","namespace":"ai-tenant-e2e-shared-a-18e258","phase":"Active","ready":true},"userid":"system:serviceaccount:default:tester-regular-user"}} {"level":"info","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"e0d591e1-4429-48fe-8a6e-910152851d2b","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:26:38Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"e0d591e1-4429-48fe-8a6e-910152851d2b","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:26:39Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"2d69ea66-80ff-4b01-9ea6-f14299b232b6","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:49678","PortSpecifier":{"PortValue":49678}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.47:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"2d69ea66-80ff-4b01-9ea6-f14299b232b6","method":"POST","path":"/ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258/v1/completions","host":"e2e-shared-a-18e258.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:26:39Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"2d69ea66-80ff-4b01-9ea6-f14299b232b6","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:49678","PortSpecifier":{"PortValue":49678}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.47:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625199,"nanos":310003630},"http":{"id":"2d69ea66-80ff-4b01-9ea6-f14299b232b6","method":"POST","headers":{":authority":"e2e-shared-a-18e258.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com",":method":"POST",":path":"/ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258/v1/completions",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:26:39Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"2d69ea66-80ff-4b01-9ea6-f14299b232b6","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-YuUwbTWx8cgJ2X8y_h3LdeHWK264tehIquMIXQPMMdkGZmgWRF5QQFhTPKDN"} {"level":"debug","ts":"2026-07-09T19:26:39Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"2d69ea66-80ff-4b01-9ea6-f14299b232b6","config":"apiKeyValidation","method":"POST","url":"https://maas-api-e2e-shared-a-18e258.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-YuUwbTWx8cgJ2X8y_h3LdeHWK264tehIquMIXQPMMdkGZmgWRF5QQFhTPKDN\"}"} {"level":"debug","ts":"2026-07-09T19:26:39Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"2d69ea66-80ff-4b01-9ea6-f14299b232b6","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api-e2e-shared-a-18e258.odh-ai-gateway-infra.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","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"keyId":"475d4151-58c5-4ed5-a835-2a0cd2d9a78a","keyName":"e2e-rate-a-8068a9","subscription":"e2e-rate-iso-a-8068a9","tenant":"e2e-shared-a-18e258","userId":"475d4151-58c5-4ed5-a835-2a0cd2d9a78a","username":"system:serviceaccount:default:tester-regular-user","valid":true}} {"level":"debug","ts":"2026-07-09T19:26:39Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"2d69ea66-80ff-4b01-9ea6-f14299b232b6","config":"subscription-info","method":"POST","url":"https://maas-api-e2e-shared-a-18e258.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/subscriptions/select","headers":{"Content-Type":["application/json"]},"body":"{\"groups\":[\"system:authenticated\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"],\"requestedModel\":\"ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258\",\"requestedSubscription\":\"e2e-rate-iso-a-8068a9\",\"username\":\"system:serviceaccount:default:tester-regular-user\"}"} {"level":"debug","ts":"2026-07-09T19:26:39Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"2d69ea66-80ff-4b01-9ea6-f14299b232b6","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-e2e-shared-a-18e258.odh-ai-gateway-infra.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":{"modelRefs":[{"name":"rate-test-model-18e258","source":"internal","token_rate_limits":[{"limit":3,"window":"1m"}]}],"name":"e2e-rate-iso-a-8068a9","namespace":"ai-tenant-e2e-shared-a-18e258","phase":"Active","ready":true}} {"level":"debug","ts":"2026-07-09T19:26:39Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"2d69ea66-80ff-4b01-9ea6-f14299b232b6","input":{"auth":{"identity":"Bearer **** deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:26:39Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"2d69ea66-80ff-4b01-9ea6-f14299b232b6","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-09T19:26:39Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"2d69ea66-80ff-4b01-9ea6-f14299b232b6","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-09T19:26:39Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"2d69ea66-80ff-4b01-9ea6-f14299b232b6","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258\":{\"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-09T19:26:39Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"2d69ea66-80ff-4b01-9ea6-f14299b232b6","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-09T19:26:39Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"2d69ea66-80ff-4b01-9ea6-f14299b232b6","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:26:39Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"2d69ea66-80ff-4b01-9ea6-f14299b232b6","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:26:39Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"2d69ea66-80ff-4b01-9ea6-f14299b232b6","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":"e2e-rate-iso-a-8068a9"} {"level":"debug","ts":"2026-07-09T19:26:39Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"2d69ea66-80ff-4b01-9ea6-f14299b232b6","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"selected_subscription","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"userid","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}}]},"Plain":null},"object":{"groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"groups_str":"system:authenticated,system:serviceaccounts,system:serviceaccounts:default,system:authenticated","keyId":"475d4151-58c5-4ed5-a835-2a0cd2d9a78a","keyName":"e2e-rate-a-8068a9","selected_subscription":"e2e-rate-iso-a-8068a9","selected_subscription_key":"ai-tenant-e2e-shared-a-18e258/e2e-rate-iso-a-8068a9@ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258","subscription_error":"","subscription_error_message":"","subscription_info":{"modelRefs":[{"name":"rate-test-model-18e258","source":"internal","token_rate_limits":[{"limit":3,"window":"1m"}]}],"name":"e2e-rate-iso-a-8068a9","namespace":"ai-tenant-e2e-shared-a-18e258","phase":"Active","ready":true},"userid":"system:serviceaccount:default:tester-regular-user"}} {"level":"info","ts":"2026-07-09T19:26:39Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"2d69ea66-80ff-4b01-9ea6-f14299b232b6","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:26:39Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"2d69ea66-80ff-4b01-9ea6-f14299b232b6","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:26:40Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"c26a1bf7-5f48-418e-89eb-be29e09bcc35","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:49692","PortSpecifier":{"PortValue":49692}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.47:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"c26a1bf7-5f48-418e-89eb-be29e09bcc35","method":"POST","path":"/ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258/v1/completions","host":"e2e-shared-a-18e258.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:26:40Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"c26a1bf7-5f48-418e-89eb-be29e09bcc35","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:49692","PortSpecifier":{"PortValue":49692}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.47:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625200,"nanos":350120750},"http":{"id":"c26a1bf7-5f48-418e-89eb-be29e09bcc35","method":"POST","headers":{":authority":"e2e-shared-a-18e258.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com",":method":"POST",":path":"/ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258/v1/completions",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:26:40Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"c26a1bf7-5f48-418e-89eb-be29e09bcc35","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-YuUwbTWx8cgJ2X8y_h3LdeHWK264tehIquMIXQPMMdkGZmgWRF5QQFhTPKDN"} {"level":"debug","ts":"2026-07-09T19:26:40Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"c26a1bf7-5f48-418e-89eb-be29e09bcc35","config":"apiKeyValidation","method":"POST","url":"https://maas-api-e2e-shared-a-18e258.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-YuUwbTWx8cgJ2X8y_h3LdeHWK264tehIquMIXQPMMdkGZmgWRF5QQFhTPKDN\"}"} {"level":"debug","ts":"2026-07-09T19:26:40Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"c26a1bf7-5f48-418e-89eb-be29e09bcc35","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api-e2e-shared-a-18e258.odh-ai-gateway-infra.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","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"keyId":"475d4151-58c5-4ed5-a835-2a0cd2d9a78a","keyName":"e2e-rate-a-8068a9","subscription":"e2e-rate-iso-a-8068a9","tenant":"e2e-shared-a-18e258","userId":"475d4151-58c5-4ed5-a835-2a0cd2d9a78a","username":"system:serviceaccount:default:tester-regular-user","valid":true}} {"level":"debug","ts":"2026-07-09T19:26:40Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"c26a1bf7-5f48-418e-89eb-be29e09bcc35","config":"subscription-info","method":"POST","url":"https://maas-api-e2e-shared-a-18e258.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/subscriptions/select","headers":{"Content-Type":["application/json"]},"body":"{\"groups\":[\"system:authenticated\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"],\"requestedModel\":\"ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258\",\"requestedSubscription\":\"e2e-rate-iso-a-8068a9\",\"username\":\"system:serviceaccount:default:tester-regular-user\"}"} {"level":"debug","ts":"2026-07-09T19:26:40Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"c26a1bf7-5f48-418e-89eb-be29e09bcc35","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-e2e-shared-a-18e258.odh-ai-gateway-infra.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":{"modelRefs":[{"name":"rate-test-model-18e258","source":"internal","token_rate_limits":[{"limit":3,"window":"1m"}]}],"name":"e2e-rate-iso-a-8068a9","namespace":"ai-tenant-e2e-shared-a-18e258","phase":"Active","ready":true}} {"level":"debug","ts":"2026-07-09T19:26:40Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"c26a1bf7-5f48-418e-89eb-be29e09bcc35","input":{"auth":{"identity":"Bearer **** deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:26:40Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"c26a1bf7-5f48-418e-89eb-be29e09bcc35","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-09T19:26:40Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"c26a1bf7-5f48-418e-89eb-be29e09bcc35","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-09T19:26:40Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"c26a1bf7-5f48-418e-89eb-be29e09bcc35","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-09T19:26:40Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"c26a1bf7-5f48-418e-89eb-be29e09bcc35","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258\":{\"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-09T19:26:40Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"c26a1bf7-5f48-418e-89eb-be29e09bcc35","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":"e2e-rate-iso-a-8068a9"} {"level":"debug","ts":"2026-07-09T19:26:40Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"c26a1bf7-5f48-418e-89eb-be29e09bcc35","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:26:40Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"c26a1bf7-5f48-418e-89eb-be29e09bcc35","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:26:40Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"c26a1bf7-5f48-418e-89eb-be29e09bcc35","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"selected_subscription","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"userid","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}}]},"Plain":null},"object":{"groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"groups_str":"system:authenticated,system:serviceaccounts,system:serviceaccounts:default,system:authenticated","keyId":"475d4151-58c5-4ed5-a835-2a0cd2d9a78a","keyName":"e2e-rate-a-8068a9","selected_subscription":"e2e-rate-iso-a-8068a9","selected_subscription_key":"ai-tenant-e2e-shared-a-18e258/e2e-rate-iso-a-8068a9@ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258","subscription_error":"","subscription_error_message":"","subscription_info":{"modelRefs":[{"name":"rate-test-model-18e258","source":"internal","token_rate_limits":[{"limit":3,"window":"1m"}]}],"name":"e2e-rate-iso-a-8068a9","namespace":"ai-tenant-e2e-shared-a-18e258","phase":"Active","ready":true},"userid":"system:serviceaccount:default:tester-regular-user"}} {"level":"info","ts":"2026-07-09T19:26:40Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"c26a1bf7-5f48-418e-89eb-be29e09bcc35","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:26:40Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"c26a1bf7-5f48-418e-89eb-be29e09bcc35","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"5fd4d1f2-5c75-4a28-92d3-bfb403d2043b","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:45754","PortSpecifier":{"PortValue":45754}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.47:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"5fd4d1f2-5c75-4a28-92d3-bfb403d2043b","method":"POST","path":"/maas-api/v1/api-keys","host":"e2e-shared-a-18e258.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"5fd4d1f2-5c75-4a28-92d3-bfb403d2043b","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:45754","PortSpecifier":{"PortValue":45754}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.47:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625213,"nanos":337505424},"http":{"id":"5fd4d1f2-5c75-4a28-92d3-bfb403d2043b","method":"POST","headers":{":authority":"e2e-shared-a-18e258.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.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-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.identity.kubernetesauth","msg":"calling kubernetes token review api","request id":"5fd4d1f2-5c75-4a28-92d3-bfb403d2043b","tokenreview":{"name":""}} {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"5fd4d1f2-5c75-4a28-92d3-bfb403d2043b","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":[]},"object":{"authenticated":true,"user":{"username":"system:serviceaccount:default:tester-regular-user","uid":"68f86d69-3a55-485b-aa0c-2e8f587d8f58","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"extra":{"authentication.kubernetes.io/credential-id":["JTI=1d414e6c-9c70-48d1-9bb7-8e8d714d8a31"]}},"audiences":["https://prod-eaas-bucket.s3.us-east-1.amazonaws.com/9c1c9b2fef32"]}} {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"5fd4d1f2-5c75-4a28-92d3-bfb403d2043b","input":{"auth":{"identity":{"audiences":["https://prod-eaas-bucket.s3.us-east-1.amazonaws.com/9c1c9b2fef32"],"authenticated":true,"user":{"extra":{"authentication.kubernetes.io/credential-id":["JTI=1d414e6c-9c70-48d1-9bb7-8e8d714d8a31"]},"groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"uid":"68f86d69-3a55-485b-aa0c-2e8f587d8f58","username":"system:serviceaccount:default:tester-regular-user"}}},"context":{"context_extensions":{"host":"5d82fae9c38c1cef9f5c682f0ba0d3138641d5bdeb204ac04b81fa18c857d5d3"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.47:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"e2e-shared-a-18e258.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.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-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"5fd4d1f2-5c75-4a28-92d3-bfb403d2043b","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-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"5fd4d1f2-5c75-4a28-92d3-bfb403d2043b","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-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"5fd4d1f2-5c75-4a28-92d3-bfb403d2043b","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258\":{\"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-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"5fd4d1f2-5c75-4a28-92d3-bfb403d2043b","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"selected_subscription","Value":{}},{"Name":"groups","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"keyId","Value":{}},{"Name":"keyName","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"userid","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"5fd4d1f2-5c75-4a28-92d3-bfb403d2043b","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"5fd4d1f2-5c75-4a28-92d3-bfb403d2043b","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"info","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"5fd4d1f2-5c75-4a28-92d3-bfb403d2043b","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"5fd4d1f2-5c75-4a28-92d3-bfb403d2043b","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"918ae256-9390-4449-8049-6d0c093e0e6b","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:36756","PortSpecifier":{"PortValue":36756}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.48:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"918ae256-9390-4449-8049-6d0c093e0e6b","method":"POST","path":"/maas-api/v1/api-keys","host":"e2e-shared-b-2ac82b.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"918ae256-9390-4449-8049-6d0c093e0e6b","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:36756","PortSpecifier":{"PortValue":36756}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.48:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625213,"nanos":372667862},"http":{"id":"918ae256-9390-4449-8049-6d0c093e0e6b","method":"POST","headers":{":authority":"e2e-shared-b-2ac82b.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.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-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.identity.kubernetesauth","msg":"calling kubernetes token review api","request id":"918ae256-9390-4449-8049-6d0c093e0e6b","tokenreview":{"name":""}} {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"918ae256-9390-4449-8049-6d0c093e0e6b","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":[]},"object":{"authenticated":true,"user":{"username":"system:serviceaccount:default:tester-regular-user","uid":"68f86d69-3a55-485b-aa0c-2e8f587d8f58","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"extra":{"authentication.kubernetes.io/credential-id":["JTI=1d414e6c-9c70-48d1-9bb7-8e8d714d8a31"]}},"audiences":["https://prod-eaas-bucket.s3.us-east-1.amazonaws.com/9c1c9b2fef32"]}} {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"918ae256-9390-4449-8049-6d0c093e0e6b","input":{"auth":{"identity":{"audiences":["https://prod-eaas-bucket.s3.us-east-1.amazonaws.com/9c1c9b2fef32"],"authenticated":true,"user":{"extra":{"authentication.kubernetes.io/credential-id":["JTI=1d414e6c-9c70-48d1-9bb7-8e8d714d8a31"]},"groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"uid":"68f86d69-3a55-485b-aa0c-2e8f587d8f58","username":"system:serviceaccount:default:tester-regular-user"}}},"context":{"context_extensions":{"host":"c59295b2b47994f0595c0f15aafa075cdc9902aeda2ae8f8897df6982091ac3d"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.132.0.48:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"e2e-shared-b-2ac82b.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.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-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"918ae256-9390-4449-8049-6d0c093e0e6b","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-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"918ae256-9390-4449-8049-6d0c093e0e6b","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-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"918ae256-9390-4449-8049-6d0c093e0e6b","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"ai-tenant-e2e-shared-b-2ac82b/rate-test-model-2ac82b\":{\"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-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"918ae256-9390-4449-8049-6d0c093e0e6b","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"groups","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyId","Value":{}},{"Name":"keyName","Value":{}},{"Name":"userid","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"subscription_info","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"918ae256-9390-4449-8049-6d0c093e0e6b","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"918ae256-9390-4449-8049-6d0c093e0e6b","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":"system:serviceaccount:default:tester-regular-user"} {"level":"info","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"918ae256-9390-4449-8049-6d0c093e0e6b","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"918ae256-9390-4449-8049-6d0c093e0e6b","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"98659912-5ece-45c4-9427-0bde924f5392","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:45764","PortSpecifier":{"PortValue":45764}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.47:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"98659912-5ece-45c4-9427-0bde924f5392","method":"POST","path":"/ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258/v1/completions","host":"e2e-shared-a-18e258.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"98659912-5ece-45c4-9427-0bde924f5392","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:45764","PortSpecifier":{"PortValue":45764}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.47:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625213,"nanos":407229532},"http":{"id":"98659912-5ece-45c4-9427-0bde924f5392","method":"POST","headers":{":authority":"e2e-shared-a-18e258.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com",":method":"POST",":path":"/ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258/v1/completions",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"98659912-5ece-45c4-9427-0bde924f5392","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-1O9FOu2XpY4QFwcbD_XvqM9ermAHwjg06m2jLgoZjUBvgsNTwZ4K9GmTq0UUM"} {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"98659912-5ece-45c4-9427-0bde924f5392","config":"apiKeyValidation","method":"POST","url":"https://maas-api-e2e-shared-a-18e258.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-1O9FOu2XpY4QFwcbD_XvqM9ermAHwjg06m2jLgoZjUBvgsNTwZ4K9GmTq0UUM\"}"} {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"98659912-5ece-45c4-9427-0bde924f5392","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api-e2e-shared-a-18e258.odh-ai-gateway-infra.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","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"keyId":"0406eb85-abdd-42d9-b28c-a5eb096f066e","keyName":"e2e-rate-a-70d2d4","subscription":"e2e-rate-iso-a-70d2d4","tenant":"e2e-shared-a-18e258","userId":"0406eb85-abdd-42d9-b28c-a5eb096f066e","username":"system:serviceaccount:default:tester-regular-user","valid":true}} {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"98659912-5ece-45c4-9427-0bde924f5392","config":"subscription-info","method":"POST","url":"https://maas-api-e2e-shared-a-18e258.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/subscriptions/select","headers":{"Content-Type":["application/json"]},"body":"{\"groups\":[\"system:authenticated\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"],\"requestedModel\":\"ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258\",\"requestedSubscription\":\"e2e-rate-iso-a-70d2d4\",\"username\":\"system:serviceaccount:default:tester-regular-user\"}"} {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"98659912-5ece-45c4-9427-0bde924f5392","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-e2e-shared-a-18e258.odh-ai-gateway-infra.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":{"modelRefs":[{"name":"rate-test-model-18e258","source":"internal","token_rate_limits":[{"limit":3,"window":"1m"}]}],"name":"e2e-rate-iso-a-70d2d4","namespace":"ai-tenant-e2e-shared-a-18e258","phase":"Active","ready":true}} {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"98659912-5ece-45c4-9427-0bde924f5392","input":{"auth":{"identity":"Bearer **** deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"98659912-5ece-45c4-9427-0bde924f5392","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-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"98659912-5ece-45c4-9427-0bde924f5392","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-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"98659912-5ece-45c4-9427-0bde924f5392","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-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"98659912-5ece-45c4-9427-0bde924f5392","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258\":{\"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-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"98659912-5ece-45c4-9427-0bde924f5392","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"98659912-5ece-45c4-9427-0bde924f5392","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":"e2e-rate-iso-a-70d2d4"} {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"98659912-5ece-45c4-9427-0bde924f5392","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"98659912-5ece-45c4-9427-0bde924f5392","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"selected_subscription","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"userid","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}}]},"Plain":null},"object":{"groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"groups_str":"system:authenticated,system:serviceaccounts,system:serviceaccounts:default,system:authenticated","keyId":"0406eb85-abdd-42d9-b28c-a5eb096f066e","keyName":"e2e-rate-a-70d2d4","selected_subscription":"e2e-rate-iso-a-70d2d4","selected_subscription_key":"ai-tenant-e2e-shared-a-18e258/e2e-rate-iso-a-70d2d4@ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258","subscription_error":"","subscription_error_message":"","subscription_info":{"modelRefs":[{"name":"rate-test-model-18e258","source":"internal","token_rate_limits":[{"limit":3,"window":"1m"}]}],"name":"e2e-rate-iso-a-70d2d4","namespace":"ai-tenant-e2e-shared-a-18e258","phase":"Active","ready":true},"userid":"system:serviceaccount:default:tester-regular-user"}} {"level":"info","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"98659912-5ece-45c4-9427-0bde924f5392","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:26:53Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"98659912-5ece-45c4-9427-0bde924f5392","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:26:54Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"bac7f343-9e71-41db-9a57-df4b313ed569","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:45766","PortSpecifier":{"PortValue":45766}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.47:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"bac7f343-9e71-41db-9a57-df4b313ed569","method":"POST","path":"/ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258/v1/completions","host":"e2e-shared-a-18e258.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:26:54Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"bac7f343-9e71-41db-9a57-df4b313ed569","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:45766","PortSpecifier":{"PortValue":45766}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.47:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625214,"nanos":448644980},"http":{"id":"bac7f343-9e71-41db-9a57-df4b313ed569","method":"POST","headers":{":authority":"e2e-shared-a-18e258.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com",":method":"POST",":path":"/ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258/v1/completions",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:26:54Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"bac7f343-9e71-41db-9a57-df4b313ed569","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-1O9FOu2XpY4QFwcbD_XvqM9ermAHwjg06m2jLgoZjUBvgsNTwZ4K9GmTq0UUM"} {"level":"debug","ts":"2026-07-09T19:26:54Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"bac7f343-9e71-41db-9a57-df4b313ed569","config":"apiKeyValidation","method":"POST","url":"https://maas-api-e2e-shared-a-18e258.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-1O9FOu2XpY4QFwcbD_XvqM9ermAHwjg06m2jLgoZjUBvgsNTwZ4K9GmTq0UUM\"}"} {"level":"debug","ts":"2026-07-09T19:26:54Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"bac7f343-9e71-41db-9a57-df4b313ed569","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api-e2e-shared-a-18e258.odh-ai-gateway-infra.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","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"keyId":"0406eb85-abdd-42d9-b28c-a5eb096f066e","keyName":"e2e-rate-a-70d2d4","subscription":"e2e-rate-iso-a-70d2d4","tenant":"e2e-shared-a-18e258","userId":"0406eb85-abdd-42d9-b28c-a5eb096f066e","username":"system:serviceaccount:default:tester-regular-user","valid":true}} {"level":"debug","ts":"2026-07-09T19:26:54Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"bac7f343-9e71-41db-9a57-df4b313ed569","config":"subscription-info","method":"POST","url":"https://maas-api-e2e-shared-a-18e258.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/subscriptions/select","headers":{"Content-Type":["application/json"]},"body":"{\"groups\":[\"system:authenticated\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"],\"requestedModel\":\"ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258\",\"requestedSubscription\":\"e2e-rate-iso-a-70d2d4\",\"username\":\"system:serviceaccount:default:tester-regular-user\"}"} {"level":"debug","ts":"2026-07-09T19:26:54Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"bac7f343-9e71-41db-9a57-df4b313ed569","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-e2e-shared-a-18e258.odh-ai-gateway-infra.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":{"modelRefs":[{"name":"rate-test-model-18e258","source":"internal","token_rate_limits":[{"limit":3,"window":"1m"}]}],"name":"e2e-rate-iso-a-70d2d4","namespace":"ai-tenant-e2e-shared-a-18e258","phase":"Active","ready":true}} {"level":"debug","ts":"2026-07-09T19:26:54Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"bac7f343-9e71-41db-9a57-df4b313ed569","input":{"auth":{"identity":"Bearer **** deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:26:54Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"bac7f343-9e71-41db-9a57-df4b313ed569","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-09T19:26:54Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"bac7f343-9e71-41db-9a57-df4b313ed569","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-09T19:26:54Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"bac7f343-9e71-41db-9a57-df4b313ed569","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-09T19:26:54Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"bac7f343-9e71-41db-9a57-df4b313ed569","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258\":{\"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-09T19:26:54Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"bac7f343-9e71-41db-9a57-df4b313ed569","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:26:54Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"bac7f343-9e71-41db-9a57-df4b313ed569","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":"e2e-rate-iso-a-70d2d4"} {"level":"debug","ts":"2026-07-09T19:26:54Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"bac7f343-9e71-41db-9a57-df4b313ed569","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:26:54Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"bac7f343-9e71-41db-9a57-df4b313ed569","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"selected_subscription","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"userid","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}}]},"Plain":null},"object":{"groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"groups_str":"system:authenticated,system:serviceaccounts,system:serviceaccounts:default,system:authenticated","keyId":"0406eb85-abdd-42d9-b28c-a5eb096f066e","keyName":"e2e-rate-a-70d2d4","selected_subscription":"e2e-rate-iso-a-70d2d4","selected_subscription_key":"ai-tenant-e2e-shared-a-18e258/e2e-rate-iso-a-70d2d4@ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258","subscription_error":"","subscription_error_message":"","subscription_info":{"modelRefs":[{"name":"rate-test-model-18e258","source":"internal","token_rate_limits":[{"limit":3,"window":"1m"}]}],"name":"e2e-rate-iso-a-70d2d4","namespace":"ai-tenant-e2e-shared-a-18e258","phase":"Active","ready":true},"userid":"system:serviceaccount:default:tester-regular-user"}} {"level":"info","ts":"2026-07-09T19:26:54Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"bac7f343-9e71-41db-9a57-df4b313ed569","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:26:54Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"bac7f343-9e71-41db-9a57-df4b313ed569","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"8905f4c6-928b-4e88-86b4-a2fea98179af","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:38994","PortSpecifier":{"PortValue":38994}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.47:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"8905f4c6-928b-4e88-86b4-a2fea98179af","method":"POST","path":"/ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258/v1/completions","host":"e2e-shared-a-18e258.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"8905f4c6-928b-4e88-86b4-a2fea98179af","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:38994","PortSpecifier":{"PortValue":38994}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.47:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625215,"nanos":490505704},"http":{"id":"8905f4c6-928b-4e88-86b4-a2fea98179af","method":"POST","headers":{":authority":"e2e-shared-a-18e258.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com",":method":"POST",":path":"/ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258/v1/completions",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"8905f4c6-928b-4e88-86b4-a2fea98179af","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-1O9FOu2XpY4QFwcbD_XvqM9ermAHwjg06m2jLgoZjUBvgsNTwZ4K9GmTq0UUM"} {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"8905f4c6-928b-4e88-86b4-a2fea98179af","config":"apiKeyValidation","method":"POST","url":"https://maas-api-e2e-shared-a-18e258.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-1O9FOu2XpY4QFwcbD_XvqM9ermAHwjg06m2jLgoZjUBvgsNTwZ4K9GmTq0UUM\"}"} {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"8905f4c6-928b-4e88-86b4-a2fea98179af","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api-e2e-shared-a-18e258.odh-ai-gateway-infra.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","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"keyId":"0406eb85-abdd-42d9-b28c-a5eb096f066e","keyName":"e2e-rate-a-70d2d4","subscription":"e2e-rate-iso-a-70d2d4","tenant":"e2e-shared-a-18e258","userId":"0406eb85-abdd-42d9-b28c-a5eb096f066e","username":"system:serviceaccount:default:tester-regular-user","valid":true}} {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"8905f4c6-928b-4e88-86b4-a2fea98179af","config":"subscription-info","method":"POST","url":"https://maas-api-e2e-shared-a-18e258.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/subscriptions/select","headers":{"Content-Type":["application/json"]},"body":"{\"groups\":[\"system:authenticated\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"],\"requestedModel\":\"ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258\",\"requestedSubscription\":\"e2e-rate-iso-a-70d2d4\",\"username\":\"system:serviceaccount:default:tester-regular-user\"}"} {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"8905f4c6-928b-4e88-86b4-a2fea98179af","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-e2e-shared-a-18e258.odh-ai-gateway-infra.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":{"modelRefs":[{"name":"rate-test-model-18e258","source":"internal","token_rate_limits":[{"limit":3,"window":"1m"}]}],"name":"e2e-rate-iso-a-70d2d4","namespace":"ai-tenant-e2e-shared-a-18e258","phase":"Active","ready":true}} {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"8905f4c6-928b-4e88-86b4-a2fea98179af","input":{"auth":{"identity":"Bearer **** deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"8905f4c6-928b-4e88-86b4-a2fea98179af","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-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"8905f4c6-928b-4e88-86b4-a2fea98179af","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-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"8905f4c6-928b-4e88-86b4-a2fea98179af","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-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"8905f4c6-928b-4e88-86b4-a2fea98179af","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258\":{\"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-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"8905f4c6-928b-4e88-86b4-a2fea98179af","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"8905f4c6-928b-4e88-86b4-a2fea98179af","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"8905f4c6-928b-4e88-86b4-a2fea98179af","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":"e2e-rate-iso-a-70d2d4"} {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"8905f4c6-928b-4e88-86b4-a2fea98179af","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"selected_subscription","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"userid","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyId","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}}]},"Plain":null},"object":{"groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"groups_str":"system:authenticated,system:serviceaccounts,system:serviceaccounts:default,system:authenticated","keyId":"0406eb85-abdd-42d9-b28c-a5eb096f066e","keyName":"e2e-rate-a-70d2d4","selected_subscription":"e2e-rate-iso-a-70d2d4","selected_subscription_key":"ai-tenant-e2e-shared-a-18e258/e2e-rate-iso-a-70d2d4@ai-tenant-e2e-shared-a-18e258/rate-test-model-18e258","subscription_error":"","subscription_error_message":"","subscription_info":{"modelRefs":[{"name":"rate-test-model-18e258","source":"internal","token_rate_limits":[{"limit":3,"window":"1m"}]}],"name":"e2e-rate-iso-a-70d2d4","namespace":"ai-tenant-e2e-shared-a-18e258","phase":"Active","ready":true},"userid":"system:serviceaccount:default:tester-regular-user"}} {"level":"info","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"8905f4c6-928b-4e88-86b4-a2fea98179af","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"8905f4c6-928b-4e88-86b4-a2fea98179af","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"cb6e6408-c471-424f-9136-d771b005adea","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:41158","PortSpecifier":{"PortValue":41158}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.48:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"cb6e6408-c471-424f-9136-d771b005adea","method":"POST","path":"/ai-tenant-e2e-shared-b-2ac82b/rate-test-model-2ac82b/v1/completions","host":"e2e-shared-b-2ac82b.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"cb6e6408-c471-424f-9136-d771b005adea","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:41158","PortSpecifier":{"PortValue":41158}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.132.0.48:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625215,"nanos":528684022},"http":{"id":"cb6e6408-c471-424f-9136-d771b005adea","method":"POST","headers":{":authority":"e2e-shared-b-2ac82b.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com",":method":"POST",":path":"/ai-tenant-e2e-shared-b-2ac82b/rate-test-model-2ac82b/v1/completions",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"cb6e6408-c471-424f-9136-d771b005adea","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-17G9G62NEMlmGAeeT_5lnG8AKvr5kgLAszHKiXxhfaMMSPWyRdmWBmZglp0uP"} {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"cb6e6408-c471-424f-9136-d771b005adea","config":"apiKeyValidation","method":"POST","url":"https://maas-api-e2e-shared-b-2ac82b.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-17G9G62NEMlmGAeeT_5lnG8AKvr5kgLAszHKiXxhfaMMSPWyRdmWBmZglp0uP\"}"} {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"cb6e6408-c471-424f-9136-d771b005adea","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api-e2e-shared-b-2ac82b.odh-ai-gateway-infra.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","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"keyId":"398bc43a-d08f-478d-b883-133a19329eb8","keyName":"e2e-rate-b-70d2d4","subscription":"e2e-rate-iso-b-70d2d4","tenant":"e2e-shared-b-2ac82b","userId":"398bc43a-d08f-478d-b883-133a19329eb8","username":"system:serviceaccount:default:tester-regular-user","valid":true}} {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"cb6e6408-c471-424f-9136-d771b005adea","config":"subscription-info","method":"POST","url":"https://maas-api-e2e-shared-b-2ac82b.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/subscriptions/select","headers":{"Content-Type":["application/json"]},"body":"{\"groups\":[\"system:authenticated\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"],\"requestedModel\":\"ai-tenant-e2e-shared-b-2ac82b/rate-test-model-2ac82b\",\"requestedSubscription\":\"e2e-rate-iso-b-70d2d4\",\"username\":\"system:serviceaccount:default:tester-regular-user\"}"} {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"cb6e6408-c471-424f-9136-d771b005adea","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-e2e-shared-b-2ac82b.odh-ai-gateway-infra.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":{"modelRefs":[{"name":"rate-test-model-2ac82b","source":"internal","token_rate_limits":[{"limit":100,"window":"1m"}]}],"name":"e2e-rate-iso-b-70d2d4","namespace":"ai-tenant-e2e-shared-b-2ac82b","phase":"Active","ready":true}} {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"cb6e6408-c471-424f-9136-d771b005adea","input":{"auth":{"identity":"Bearer **** deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"cb6e6408-c471-424f-9136-d771b005adea","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-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"cb6e6408-c471-424f-9136-d771b005adea","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-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"cb6e6408-c471-424f-9136-d771b005adea","config":{"Name":"require-group-membership","Priority":0,"Conditions":{"Left":null,"Right":null},"Metrics":false,"Cache":{},"OPA":{"Rego":"\nmodel_access := {\"ai-tenant-e2e-shared-b-2ac82b/rate-test-model-2ac82b\":{\"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-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"cb6e6408-c471-424f-9136-d771b005adea","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-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"cb6e6408-c471-424f-9136-d771b005adea","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"cb6e6408-c471-424f-9136-d771b005adea","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":"e2e-rate-iso-b-70d2d4"} {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"cb6e6408-c471-424f-9136-d771b005adea","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"cb6e6408-c471-424f-9136-d771b005adea","config":{"Name":"identity","Priority":0,"Conditions":{"Left":null,"Right":null},"Wrapper":"envoyDynamicMetadata","WrapperKey":"identity","Metrics":true,"Cache":null,"Wristband":null,"DynamicJSON":{"Properties":[{"Name":"selected_subscription","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"keyId","Value":{}},{"Name":"keyName","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"userid","Value":{}},{"Name":"groups","Value":{}},{"Name":"groups_str","Value":{}}]},"Plain":null},"object":{"groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"groups_str":"system:authenticated,system:serviceaccounts,system:serviceaccounts:default,system:authenticated","keyId":"398bc43a-d08f-478d-b883-133a19329eb8","keyName":"e2e-rate-b-70d2d4","selected_subscription":"e2e-rate-iso-b-70d2d4","selected_subscription_key":"ai-tenant-e2e-shared-b-2ac82b/e2e-rate-iso-b-70d2d4@ai-tenant-e2e-shared-b-2ac82b/rate-test-model-2ac82b","subscription_error":"","subscription_error_message":"","subscription_info":{"modelRefs":[{"name":"rate-test-model-2ac82b","source":"internal","token_rate_limits":[{"limit":100,"window":"1m"}]}],"name":"e2e-rate-iso-b-70d2d4","namespace":"ai-tenant-e2e-shared-b-2ac82b","phase":"Active","ready":true},"userid":"system:serviceaccount:default:tester-regular-user"}} {"level":"info","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"cb6e6408-c471-424f-9136-d771b005adea","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:26:55Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"cb6e6408-c471-424f-9136-d771b005adea","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"2fe41803-024d-4169-ba38-aeb20439b7d5","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:51064","PortSpecifier":{"PortValue":51064}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"2fe41803-024d-4169-ba38-aeb20439b7d5","method":"POST","path":"/maas-api/v1/api-keys","host":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"2fe41803-024d-4169-ba38-aeb20439b7d5","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:51064","PortSpecifier":{"PortValue":51064}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625223,"nanos":61457063},"http":{"id":"2fe41803-024d-4169-ba38-aeb20439b7d5","method":"POST","headers":{":authority":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.identity.kubernetesauth","msg":"calling kubernetes token review api","request id":"2fe41803-024d-4169-ba38-aeb20439b7d5","tokenreview":{"name":""}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"2fe41803-024d-4169-ba38-aeb20439b7d5","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":[]},"object":{"authenticated":true,"user":{"username":"system:serviceaccount:default:tester-regular-user","uid":"68f86d69-3a55-485b-aa0c-2e8f587d8f58","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"extra":{"authentication.kubernetes.io/credential-id":["JTI=1d414e6c-9c70-48d1-9bb7-8e8d714d8a31"]}},"audiences":["https://prod-eaas-bucket.s3.us-east-1.amazonaws.com/9c1c9b2fef32"]}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"2fe41803-024d-4169-ba38-aeb20439b7d5","input":{"auth":{"identity":{"audiences":["https://prod-eaas-bucket.s3.us-east-1.amazonaws.com/9c1c9b2fef32"],"authenticated":true,"user":{"extra":{"authentication.kubernetes.io/credential-id":["JTI=1d414e6c-9c70-48d1-9bb7-8e8d714d8a31"]},"groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"uid":"68f86d69-3a55-485b-aa0c-2e8f587d8f58","username":"system:serviceaccount:default:tester-regular-user"}}},"context":{"context_extensions":{"host":"b64d1d3a1a41de71c5b05aa58c2da5025409dfbb29fbaa63fe6a7b8fb71bf42e"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.134.0.34:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"2fe41803-024d-4169-ba38-aeb20439b7d5","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"2fe41803-024d-4169-ba38-aeb20439b7d5","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"2fe41803-024d-4169-ba38-aeb20439b7d5","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"2fe41803-024d-4169-ba38-aeb20439b7d5","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":"userid","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyName","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"2fe41803-024d-4169-ba38-aeb20439b7d5","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"2fe41803-024d-4169-ba38-aeb20439b7d5","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":"system:serviceaccount:default:tester-regular-user"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"2fe41803-024d-4169-ba38-aeb20439b7d5","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"2fe41803-024d-4169-ba38-aeb20439b7d5","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"6dc60a11-6a21-43be-bc35-c93a0b4fee1a","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:51080","PortSpecifier":{"PortValue":51080}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"6dc60a11-6a21-43be-bc35-c93a0b4fee1a","method":"POST","path":"/maas-api/v1/api-keys","host":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"6dc60a11-6a21-43be-bc35-c93a0b4fee1a","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:51080","PortSpecifier":{"PortValue":51080}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625223,"nanos":113371279},"http":{"id":"6dc60a11-6a21-43be-bc35-c93a0b4fee1a","method":"POST","headers":{":authority":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.identity.kubernetesauth","msg":"calling kubernetes token review api","request id":"6dc60a11-6a21-43be-bc35-c93a0b4fee1a","tokenreview":{"name":""}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"6dc60a11-6a21-43be-bc35-c93a0b4fee1a","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":[]},"object":{"authenticated":true,"user":{"username":"system:serviceaccount:default:tester-regular-user","uid":"68f86d69-3a55-485b-aa0c-2e8f587d8f58","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"extra":{"authentication.kubernetes.io/credential-id":["JTI=1d414e6c-9c70-48d1-9bb7-8e8d714d8a31"]}},"audiences":["https://prod-eaas-bucket.s3.us-east-1.amazonaws.com/9c1c9b2fef32"]}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"6dc60a11-6a21-43be-bc35-c93a0b4fee1a","input":{"auth":{"identity":{"audiences":["https://prod-eaas-bucket.s3.us-east-1.amazonaws.com/9c1c9b2fef32"],"authenticated":true,"user":{"extra":{"authentication.kubernetes.io/credential-id":["JTI=1d414e6c-9c70-48d1-9bb7-8e8d714d8a31"]},"groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"uid":"68f86d69-3a55-485b-aa0c-2e8f587d8f58","username":"system:serviceaccount:default:tester-regular-user"}}},"context":{"context_extensions":{"host":"b64d1d3a1a41de71c5b05aa58c2da5025409dfbb29fbaa63fe6a7b8fb71bf42e"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.134.0.34:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"6dc60a11-6a21-43be-bc35-c93a0b4fee1a","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"6dc60a11-6a21-43be-bc35-c93a0b4fee1a","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"6dc60a11-6a21-43be-bc35-c93a0b4fee1a","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"6dc60a11-6a21-43be-bc35-c93a0b4fee1a","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":"userid","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyName","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"6dc60a11-6a21-43be-bc35-c93a0b4fee1a","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"6dc60a11-6a21-43be-bc35-c93a0b4fee1a","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"6dc60a11-6a21-43be-bc35-c93a0b4fee1a","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"6dc60a11-6a21-43be-bc35-c93a0b4fee1a","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"b0537746-d764-9482-98e8-f34ebfa4454d","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:51082","PortSpecifier":{"PortValue":51082}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"b0537746-d764-9482-98e8-f34ebfa4454d","method":"POST","path":"/maas-api/v1/api-keys","host":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"b0537746-d764-9482-98e8-f34ebfa4454d","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:51082","PortSpecifier":{"PortValue":51082}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625223,"nanos":151208994},"http":{"id":"b0537746-d764-9482-98e8-f34ebfa4454d","method":"POST","headers":{":authority":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.identity.kubernetesauth","msg":"calling kubernetes token review api","request id":"b0537746-d764-9482-98e8-f34ebfa4454d","tokenreview":{"name":""}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"b0537746-d764-9482-98e8-f34ebfa4454d","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":[]},"object":{"authenticated":true,"user":{"username":"system:serviceaccount:default:tester-regular-user","uid":"68f86d69-3a55-485b-aa0c-2e8f587d8f58","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"extra":{"authentication.kubernetes.io/credential-id":["JTI=1d414e6c-9c70-48d1-9bb7-8e8d714d8a31"]}},"audiences":["https://prod-eaas-bucket.s3.us-east-1.amazonaws.com/9c1c9b2fef32"]}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"b0537746-d764-9482-98e8-f34ebfa4454d","input":{"auth":{"identity":{"audiences":["https://prod-eaas-bucket.s3.us-east-1.amazonaws.com/9c1c9b2fef32"],"authenticated":true,"user":{"extra":{"authentication.kubernetes.io/credential-id":["JTI=1d414e6c-9c70-48d1-9bb7-8e8d714d8a31"]},"groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"uid":"68f86d69-3a55-485b-aa0c-2e8f587d8f58","username":"system:serviceaccount:default:tester-regular-user"}}},"context":{"context_extensions":{"host":"b64d1d3a1a41de71c5b05aa58c2da5025409dfbb29fbaa63fe6a7b8fb71bf42e"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.134.0.34:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"b0537746-d764-9482-98e8-f34ebfa4454d","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"b0537746-d764-9482-98e8-f34ebfa4454d","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"b0537746-d764-9482-98e8-f34ebfa4454d","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"b0537746-d764-9482-98e8-f34ebfa4454d","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":"userid","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyName","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"b0537746-d764-9482-98e8-f34ebfa4454d","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"b0537746-d764-9482-98e8-f34ebfa4454d","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"b0537746-d764-9482-98e8-f34ebfa4454d","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"b0537746-d764-9482-98e8-f34ebfa4454d","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"70cd99e7-b46c-4a7d-b959-ae73c1030290","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:51090","PortSpecifier":{"PortValue":51090}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"70cd99e7-b46c-4a7d-b959-ae73c1030290","method":"POST","path":"/maas-api/v1/api-keys","host":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"70cd99e7-b46c-4a7d-b959-ae73c1030290","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:51090","PortSpecifier":{"PortValue":51090}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625223,"nanos":184923903},"http":{"id":"70cd99e7-b46c-4a7d-b959-ae73c1030290","method":"POST","headers":{":authority":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.identity.kubernetesauth","msg":"calling kubernetes token review api","request id":"70cd99e7-b46c-4a7d-b959-ae73c1030290","tokenreview":{"name":""}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"70cd99e7-b46c-4a7d-b959-ae73c1030290","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":[]},"object":{"authenticated":true,"user":{"username":"system:serviceaccount:default:tester-regular-user","uid":"68f86d69-3a55-485b-aa0c-2e8f587d8f58","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"extra":{"authentication.kubernetes.io/credential-id":["JTI=1d414e6c-9c70-48d1-9bb7-8e8d714d8a31"]}},"audiences":["https://prod-eaas-bucket.s3.us-east-1.amazonaws.com/9c1c9b2fef32"]}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"70cd99e7-b46c-4a7d-b959-ae73c1030290","input":{"auth":{"identity":{"audiences":["https://prod-eaas-bucket.s3.us-east-1.amazonaws.com/9c1c9b2fef32"],"authenticated":true,"user":{"extra":{"authentication.kubernetes.io/credential-id":["JTI=1d414e6c-9c70-48d1-9bb7-8e8d714d8a31"]},"groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"uid":"68f86d69-3a55-485b-aa0c-2e8f587d8f58","username":"system:serviceaccount:default:tester-regular-user"}}},"context":{"context_extensions":{"host":"b64d1d3a1a41de71c5b05aa58c2da5025409dfbb29fbaa63fe6a7b8fb71bf42e"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.134.0.34:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"70cd99e7-b46c-4a7d-b959-ae73c1030290","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"70cd99e7-b46c-4a7d-b959-ae73c1030290","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"70cd99e7-b46c-4a7d-b959-ae73c1030290","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"70cd99e7-b46c-4a7d-b959-ae73c1030290","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":"userid","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyName","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"70cd99e7-b46c-4a7d-b959-ae73c1030290","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"70cd99e7-b46c-4a7d-b959-ae73c1030290","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"70cd99e7-b46c-4a7d-b959-ae73c1030290","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"70cd99e7-b46c-4a7d-b959-ae73c1030290","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"a6481bc4-7057-43e8-b6a7-5443f6029822","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:51096","PortSpecifier":{"PortValue":51096}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"a6481bc4-7057-43e8-b6a7-5443f6029822","method":"GET","path":"/maas-api/v1/models","host":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"a6481bc4-7057-43e8-b6a7-5443f6029822","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:51096","PortSpecifier":{"PortValue":51096}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625223,"nanos":217100689},"http":{"id":"a6481bc4-7057-43e8-b6a7-5443f6029822","method":"GET","headers":{":authority":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com",":method":"GET",":path":"/maas-api/v1/models",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"a6481bc4-7057-43e8-b6a7-5443f6029822","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-vmOyZwC8BGQYedwy_vTS9WLu1SaNOxqcDML4U6jfucxgNI9MGLT4fNcErFqk"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"a6481bc4-7057-43e8-b6a7-5443f6029822","config":"apiKeyValidation","method":"POST","url":"https://maas-api.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-vmOyZwC8BGQYedwy_vTS9WLu1SaNOxqcDML4U6jfucxgNI9MGLT4fNcErFqk\"}"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"a6481bc4-7057-43e8-b6a7-5443f6029822","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.odh-ai-gateway-infra.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","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"keyId":"0efbc7b6-2963-47c9-ade7-8b41d29e5a7e","keyName":"e2e-revoketest-a-0","subscription":"e2e-revoke-sub-a","tenant":"models-as-a-service","userId":"0efbc7b6-2963-47c9-ade7-8b41d29e5a7e","username":"system:serviceaccount:default:tester-regular-user","valid":true}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"a6481bc4-7057-43e8-b6a7-5443f6029822","input":{"auth":{"identity":"Bearer **** deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"a6481bc4-7057-43e8-b6a7-5443f6029822","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"a6481bc4-7057-43e8-b6a7-5443f6029822","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"a6481bc4-7057-43e8-b6a7-5443f6029822","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"a6481bc4-7057-43e8-b6a7-5443f6029822","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"a6481bc4-7057-43e8-b6a7-5443f6029822","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"a6481bc4-7057-43e8-b6a7-5443f6029822","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":"e2e-revoke-sub-a"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"a6481bc4-7057-43e8-b6a7-5443f6029822","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":"userid","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyName","Value":{}}]},"Plain":null},"reason":"no such key: subscription-info"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"a6481bc4-7057-43e8-b6a7-5443f6029822","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"a6481bc4-7057-43e8-b6a7-5443f6029822","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"653dee54-a7ca-469a-9299-d62fd450eb73","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.33:57776","PortSpecifier":{"PortValue":57776}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"653dee54-a7ca-469a-9299-d62fd450eb73","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-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"653dee54-a7ca-469a-9299-d62fd450eb73","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.33:57776","PortSpecifier":{"PortValue":57776}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625223,"nanos":241180912},"http":{"id":"653dee54-a7ca-469a-9299-d62fd450eb73","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"653dee54-a7ca-469a-9299-d62fd450eb73","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-vmOyZwC8BGQYedwy_vTS9WLu1SaNOxqcDML4U6jfucxgNI9MGLT4fNcErFqk"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"653dee54-a7ca-469a-9299-d62fd450eb73","config":"apiKeyValidation","method":"POST","url":"https://maas-api.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-vmOyZwC8BGQYedwy_vTS9WLu1SaNOxqcDML4U6jfucxgNI9MGLT4fNcErFqk\"}"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"653dee54-a7ca-469a-9299-d62fd450eb73","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.odh-ai-gateway-infra.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","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"keyId":"0efbc7b6-2963-47c9-ade7-8b41d29e5a7e","keyName":"e2e-revoketest-a-0","subscription":"e2e-revoke-sub-a","tenant":"models-as-a-service","userId":"0efbc7b6-2963-47c9-ade7-8b41d29e5a7e","username":"system:serviceaccount:default:tester-regular-user","valid":true}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"653dee54-a7ca-469a-9299-d62fd450eb73","config":"subscription-info","method":"POST","url":"https://maas-api.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/subscriptions/select","headers":{"Content-Type":["application/json"]},"body":"{\"groups\":[\"system:authenticated\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"],\"requestedModel\":\"llm/facebook-opt-125m-simulated\",\"requestedSubscription\":\"e2e-revoke-sub-a\",\"username\":\"system:serviceaccount:default:tester-regular-user\"}"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"653dee54-a7ca-469a-9299-d62fd450eb73","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.odh-ai-gateway-infra.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":{"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":"e2e-revoke-sub-a","namespace":"models-as-a-service","phase":"Active","ready":true}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"653dee54-a7ca-469a-9299-d62fd450eb73","input":{"auth":{"identity":"Bearer **** 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":"e2e-revoke-sub-a","namespace":"models-as-a-service","phase":"Active","ready":true}}},"context":{"context_extensions":{"host":"4375a0165d777c3dbcac3b90772aafb3ba82b742e01878423b9fb1e122337433"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.134.0.34: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-vmOyZwC8BGQYedwy_vTS9WLu1SaNOxqcDML4U6jfucxgNI9MGLT4fNcErFqk","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.33","x-envoy-peer-metadata":"ChoKCkNMVVNURVJfSUQSDBoKS3ViZXJuZXRlcwqLAQoGTEFCRUxTEoABKn4KSwofc2VydmljZS5pc3Rpby5pby9jYW5vbmljYWwtbmFtZRIoGiZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAovCiNzZXJ2aWNlLmlzdGlvLmlvL2Nhbm9uaWNhbC1yZXZpc2lvbhIIGgZsYXRlc3QKQAoETkFNRRI4GjZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdC01NjY1NGRjZjcteGJubmwKIAoJTkFNRVNQQUNFEhMaEW9wZW5zaGlmdC1pbmdyZXNzCnQKBU9XTkVSEmsaaWt1YmVybmV0ZXM6Ly9hcGlzL2FwcHMvdjEvbmFtZXNwYWNlcy9vcGVuc2hpZnQtaW5ncmVzcy9kZXBsb3ltZW50cy9tYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAo5Cg1XT1JLTE9BRF9OQU1FEigaJm1hYXMtZGVmYXVsdC1nYXRld2F5LW9wZW5zaGlmdC1kZWZhdWx0","x-envoy-peer-metadata-id":"router~10.134.0.34~maas-default-gateway-openshift-default-56654dcf7-xbnnl.openshift-ingress~openshift-ingress.svc.cluster.local","x-forwarded-for":"10.133.0.33","x-forwarded-proto":"https","x-maas-subscription":"e2e-revoke-sub-a","x-request-id":"653dee54-a7ca-469a-9299-d62fd450eb73"},"host":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local","id":"653dee54-a7ca-469a-9299-d62fd450eb73","method":"GET","path":"/llm/facebook-opt-125m-simulated/v1/models","protocol":"HTTP/1.1","scheme":"https","time":{"nanos":241180912,"seconds":1783625223},"url_path":"/llm/facebook-opt-125m-simulated/v1/models","user_agent":"Go-http-client/1.1"},"source":{"address":"10.133.0.33:57776","port":57776}}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"653dee54-a7ca-469a-9299-d62fd450eb73","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"653dee54-a7ca-469a-9299-d62fd450eb73","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"653dee54-a7ca-469a-9299-d62fd450eb73","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"653dee54-a7ca-469a-9299-d62fd450eb73","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"653dee54-a7ca-469a-9299-d62fd450eb73","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"653dee54-a7ca-469a-9299-d62fd450eb73","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":"e2e-revoke-sub-a"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"653dee54-a7ca-469a-9299-d62fd450eb73","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"653dee54-a7ca-469a-9299-d62fd450eb73","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":"keyId","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"userid","Value":{}}]},"Plain":null},"object":{"groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"groups_str":"system:authenticated,system:serviceaccounts,system:serviceaccounts:default,system:authenticated","keyId":"0efbc7b6-2963-47c9-ade7-8b41d29e5a7e","keyName":"e2e-revoketest-a-0","selected_subscription":"e2e-revoke-sub-a","selected_subscription_key":"models-as-a-service/e2e-revoke-sub-a@llm/facebook-opt-125m-simulated","subscription_error":"","subscription_error_message":"","subscription_info":{"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":"e2e-revoke-sub-a","namespace":"models-as-a-service","phase":"Active","ready":true},"userid":"system:serviceaccount:default:tester-regular-user"}} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"653dee54-a7ca-469a-9299-d62fd450eb73","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"653dee54-a7ca-469a-9299-d62fd450eb73","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"b2e63aa7-5cd1-483e-9b88-a92997d14564","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:51102","PortSpecifier":{"PortValue":51102}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"b2e63aa7-5cd1-483e-9b88-a92997d14564","method":"GET","path":"/maas-api/v1/models","host":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"b2e63aa7-5cd1-483e-9b88-a92997d14564","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:51102","PortSpecifier":{"PortValue":51102}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625223,"nanos":279809665},"http":{"id":"b2e63aa7-5cd1-483e-9b88-a92997d14564","method":"GET","headers":{":authority":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com",":method":"GET",":path":"/maas-api/v1/models",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"b2e63aa7-5cd1-483e-9b88-a92997d14564","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-1Of5st9cfWQohrtkG_4jABTmBARee5vBCKEXojJFmD85nrxsV24uLOmqhSMEJ"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"b2e63aa7-5cd1-483e-9b88-a92997d14564","config":"apiKeyValidation","method":"POST","url":"https://maas-api.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-1Of5st9cfWQohrtkG_4jABTmBARee5vBCKEXojJFmD85nrxsV24uLOmqhSMEJ\"}"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"b2e63aa7-5cd1-483e-9b88-a92997d14564","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.odh-ai-gateway-infra.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","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"keyId":"a7c02495-8267-426e-b668-5ed4cd793c4c","keyName":"e2e-revoketest-a-1","subscription":"e2e-revoke-sub-a","tenant":"models-as-a-service","userId":"a7c02495-8267-426e-b668-5ed4cd793c4c","username":"system:serviceaccount:default:tester-regular-user","valid":true}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"b2e63aa7-5cd1-483e-9b88-a92997d14564","input":{"auth":{"identity":"Bearer **** deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"b2e63aa7-5cd1-483e-9b88-a92997d14564","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"b2e63aa7-5cd1-483e-9b88-a92997d14564","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"b2e63aa7-5cd1-483e-9b88-a92997d14564","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"b2e63aa7-5cd1-483e-9b88-a92997d14564","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":"e2e-revoke-sub-a"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"b2e63aa7-5cd1-483e-9b88-a92997d14564","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"b2e63aa7-5cd1-483e-9b88-a92997d14564","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"b2e63aa7-5cd1-483e-9b88-a92997d14564","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":"userid","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyName","Value":{}}]},"Plain":null},"reason":"no such key: subscription-info"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"b2e63aa7-5cd1-483e-9b88-a92997d14564","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"b2e63aa7-5cd1-483e-9b88-a92997d14564","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"0166fb9d-93c2-4dde-b886-a8dadac2f2f1","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.33:57776","PortSpecifier":{"PortValue":57776}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"0166fb9d-93c2-4dde-b886-a8dadac2f2f1","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-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"0166fb9d-93c2-4dde-b886-a8dadac2f2f1","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.33:57776","PortSpecifier":{"PortValue":57776}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625223,"nanos":287090830},"http":{"id":"0166fb9d-93c2-4dde-b886-a8dadac2f2f1","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"0166fb9d-93c2-4dde-b886-a8dadac2f2f1","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-1Of5st9cfWQohrtkG_4jABTmBARee5vBCKEXojJFmD85nrxsV24uLOmqhSMEJ"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"0166fb9d-93c2-4dde-b886-a8dadac2f2f1","config":"apiKeyValidation","method":"POST","url":"https://maas-api.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-1Of5st9cfWQohrtkG_4jABTmBARee5vBCKEXojJFmD85nrxsV24uLOmqhSMEJ\"}"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"0166fb9d-93c2-4dde-b886-a8dadac2f2f1","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.odh-ai-gateway-infra.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","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"keyId":"a7c02495-8267-426e-b668-5ed4cd793c4c","keyName":"e2e-revoketest-a-1","subscription":"e2e-revoke-sub-a","tenant":"models-as-a-service","userId":"a7c02495-8267-426e-b668-5ed4cd793c4c","username":"system:serviceaccount:default:tester-regular-user","valid":true}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"0166fb9d-93c2-4dde-b886-a8dadac2f2f1","config":"subscription-info","method":"POST","url":"https://maas-api.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/subscriptions/select","headers":{"Content-Type":["application/json"]},"body":"{\"groups\":[\"system:authenticated\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"],\"requestedModel\":\"llm/facebook-opt-125m-simulated\",\"requestedSubscription\":\"e2e-revoke-sub-a\",\"username\":\"system:serviceaccount:default:tester-regular-user\"}"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"0166fb9d-93c2-4dde-b886-a8dadac2f2f1","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.odh-ai-gateway-infra.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":{"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":"e2e-revoke-sub-a","namespace":"models-as-a-service","phase":"Active","ready":true}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"0166fb9d-93c2-4dde-b886-a8dadac2f2f1","input":{"auth":{"identity":"Bearer **** 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":"e2e-revoke-sub-a","namespace":"models-as-a-service","phase":"Active","ready":true}}},"context":{"context_extensions":{"host":"4375a0165d777c3dbcac3b90772aafb3ba82b742e01878423b9fb1e122337433"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.134.0.34: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-1Of5st9cfWQohrtkG_4jABTmBARee5vBCKEXojJFmD85nrxsV24uLOmqhSMEJ","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.33","x-envoy-peer-metadata":"ChoKCkNMVVNURVJfSUQSDBoKS3ViZXJuZXRlcwqLAQoGTEFCRUxTEoABKn4KSwofc2VydmljZS5pc3Rpby5pby9jYW5vbmljYWwtbmFtZRIoGiZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAovCiNzZXJ2aWNlLmlzdGlvLmlvL2Nhbm9uaWNhbC1yZXZpc2lvbhIIGgZsYXRlc3QKQAoETkFNRRI4GjZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdC01NjY1NGRjZjcteGJubmwKIAoJTkFNRVNQQUNFEhMaEW9wZW5zaGlmdC1pbmdyZXNzCnQKBU9XTkVSEmsaaWt1YmVybmV0ZXM6Ly9hcGlzL2FwcHMvdjEvbmFtZXNwYWNlcy9vcGVuc2hpZnQtaW5ncmVzcy9kZXBsb3ltZW50cy9tYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAo5Cg1XT1JLTE9BRF9OQU1FEigaJm1hYXMtZGVmYXVsdC1nYXRld2F5LW9wZW5zaGlmdC1kZWZhdWx0","x-envoy-peer-metadata-id":"router~10.134.0.34~maas-default-gateway-openshift-default-56654dcf7-xbnnl.openshift-ingress~openshift-ingress.svc.cluster.local","x-forwarded-for":"10.133.0.33","x-forwarded-proto":"https","x-maas-subscription":"e2e-revoke-sub-a","x-request-id":"0166fb9d-93c2-4dde-b886-a8dadac2f2f1"},"host":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local","id":"0166fb9d-93c2-4dde-b886-a8dadac2f2f1","method":"GET","path":"/llm/facebook-opt-125m-simulated/v1/models","protocol":"HTTP/1.1","scheme":"https","time":{"nanos":287090830,"seconds":1783625223},"url_path":"/llm/facebook-opt-125m-simulated/v1/models","user_agent":"Go-http-client/1.1"},"source":{"address":"10.133.0.33:57776","port":57776}}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"0166fb9d-93c2-4dde-b886-a8dadac2f2f1","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"0166fb9d-93c2-4dde-b886-a8dadac2f2f1","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"0166fb9d-93c2-4dde-b886-a8dadac2f2f1","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"0166fb9d-93c2-4dde-b886-a8dadac2f2f1","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"0166fb9d-93c2-4dde-b886-a8dadac2f2f1","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"0166fb9d-93c2-4dde-b886-a8dadac2f2f1","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"0166fb9d-93c2-4dde-b886-a8dadac2f2f1","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":"e2e-revoke-sub-a"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"0166fb9d-93c2-4dde-b886-a8dadac2f2f1","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":"keyId","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"userid","Value":{}}]},"Plain":null},"object":{"groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"groups_str":"system:authenticated,system:serviceaccounts,system:serviceaccounts:default,system:authenticated","keyId":"a7c02495-8267-426e-b668-5ed4cd793c4c","keyName":"e2e-revoketest-a-1","selected_subscription":"e2e-revoke-sub-a","selected_subscription_key":"models-as-a-service/e2e-revoke-sub-a@llm/facebook-opt-125m-simulated","subscription_error":"","subscription_error_message":"","subscription_info":{"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":"e2e-revoke-sub-a","namespace":"models-as-a-service","phase":"Active","ready":true},"userid":"system:serviceaccount:default:tester-regular-user"}} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"0166fb9d-93c2-4dde-b886-a8dadac2f2f1","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"0166fb9d-93c2-4dde-b886-a8dadac2f2f1","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"e1399136-579f-4c17-9f1f-8bce3b39f3e1","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:51118","PortSpecifier":{"PortValue":51118}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"e1399136-579f-4c17-9f1f-8bce3b39f3e1","method":"GET","path":"/maas-api/v1/models","host":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"e1399136-579f-4c17-9f1f-8bce3b39f3e1","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:51118","PortSpecifier":{"PortValue":51118}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625223,"nanos":324957898},"http":{"id":"e1399136-579f-4c17-9f1f-8bce3b39f3e1","method":"GET","headers":{":authority":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com",":method":"GET",":path":"/maas-api/v1/models",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"e1399136-579f-4c17-9f1f-8bce3b39f3e1","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-1Enide55D04mQbKdu_HRmhnD6CULuugAzzfUHlWU2eHskvqH0l6fCWdPe7Kcx"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"e1399136-579f-4c17-9f1f-8bce3b39f3e1","config":"apiKeyValidation","method":"POST","url":"https://maas-api.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-1Enide55D04mQbKdu_HRmhnD6CULuugAzzfUHlWU2eHskvqH0l6fCWdPe7Kcx\"}"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"e1399136-579f-4c17-9f1f-8bce3b39f3e1","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.odh-ai-gateway-infra.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","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"keyId":"3b4babf3-f594-4027-95bf-79ca2128c185","keyName":"e2e-revoketest-b-0","subscription":"e2e-revoke-sub-b","tenant":"models-as-a-service","userId":"3b4babf3-f594-4027-95bf-79ca2128c185","username":"system:serviceaccount:default:tester-regular-user","valid":true}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"e1399136-579f-4c17-9f1f-8bce3b39f3e1","input":{"auth":{"identity":"Bearer **** deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"e1399136-579f-4c17-9f1f-8bce3b39f3e1","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"e1399136-579f-4c17-9f1f-8bce3b39f3e1","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"e1399136-579f-4c17-9f1f-8bce3b39f3e1","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"e1399136-579f-4c17-9f1f-8bce3b39f3e1","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"e1399136-579f-4c17-9f1f-8bce3b39f3e1","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":"e2e-revoke-sub-b"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"e1399136-579f-4c17-9f1f-8bce3b39f3e1","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"e1399136-579f-4c17-9f1f-8bce3b39f3e1","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":"userid","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyName","Value":{}}]},"Plain":null},"reason":"no such key: subscription-info"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"e1399136-579f-4c17-9f1f-8bce3b39f3e1","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"e1399136-579f-4c17-9f1f-8bce3b39f3e1","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"a36285f2-125e-4305-b6a6-e0c16aed1452","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.33:57776","PortSpecifier":{"PortValue":57776}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"a36285f2-125e-4305-b6a6-e0c16aed1452","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-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"a36285f2-125e-4305-b6a6-e0c16aed1452","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.33:57776","PortSpecifier":{"PortValue":57776}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625223,"nanos":332423362},"http":{"id":"a36285f2-125e-4305-b6a6-e0c16aed1452","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"a36285f2-125e-4305-b6a6-e0c16aed1452","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-1Enide55D04mQbKdu_HRmhnD6CULuugAzzfUHlWU2eHskvqH0l6fCWdPe7Kcx"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"a36285f2-125e-4305-b6a6-e0c16aed1452","config":"apiKeyValidation","method":"POST","url":"https://maas-api.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-1Enide55D04mQbKdu_HRmhnD6CULuugAzzfUHlWU2eHskvqH0l6fCWdPe7Kcx\"}"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"a36285f2-125e-4305-b6a6-e0c16aed1452","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.odh-ai-gateway-infra.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","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"keyId":"3b4babf3-f594-4027-95bf-79ca2128c185","keyName":"e2e-revoketest-b-0","subscription":"e2e-revoke-sub-b","tenant":"models-as-a-service","userId":"3b4babf3-f594-4027-95bf-79ca2128c185","username":"system:serviceaccount:default:tester-regular-user","valid":true}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"a36285f2-125e-4305-b6a6-e0c16aed1452","config":"subscription-info","method":"POST","url":"https://maas-api.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/subscriptions/select","headers":{"Content-Type":["application/json"]},"body":"{\"groups\":[\"system:authenticated\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"],\"requestedModel\":\"llm/facebook-opt-125m-simulated\",\"requestedSubscription\":\"e2e-revoke-sub-b\",\"username\":\"system:serviceaccount:default:tester-regular-user\"}"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"a36285f2-125e-4305-b6a6-e0c16aed1452","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.odh-ai-gateway-infra.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":{"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":"e2e-revoke-sub-b","namespace":"models-as-a-service","phase":"Active","ready":true}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"a36285f2-125e-4305-b6a6-e0c16aed1452","input":{"auth":{"identity":"Bearer **** 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":"e2e-revoke-sub-b","namespace":"models-as-a-service","phase":"Active","ready":true}}},"context":{"context_extensions":{"host":"4375a0165d777c3dbcac3b90772aafb3ba82b742e01878423b9fb1e122337433"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.134.0.34: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-1Enide55D04mQbKdu_HRmhnD6CULuugAzzfUHlWU2eHskvqH0l6fCWdPe7Kcx","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.33","x-envoy-peer-metadata":"ChoKCkNMVVNURVJfSUQSDBoKS3ViZXJuZXRlcwqLAQoGTEFCRUxTEoABKn4KSwofc2VydmljZS5pc3Rpby5pby9jYW5vbmljYWwtbmFtZRIoGiZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAovCiNzZXJ2aWNlLmlzdGlvLmlvL2Nhbm9uaWNhbC1yZXZpc2lvbhIIGgZsYXRlc3QKQAoETkFNRRI4GjZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdC01NjY1NGRjZjcteGJubmwKIAoJTkFNRVNQQUNFEhMaEW9wZW5zaGlmdC1pbmdyZXNzCnQKBU9XTkVSEmsaaWt1YmVybmV0ZXM6Ly9hcGlzL2FwcHMvdjEvbmFtZXNwYWNlcy9vcGVuc2hpZnQtaW5ncmVzcy9kZXBsb3ltZW50cy9tYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAo5Cg1XT1JLTE9BRF9OQU1FEigaJm1hYXMtZGVmYXVsdC1nYXRld2F5LW9wZW5zaGlmdC1kZWZhdWx0","x-envoy-peer-metadata-id":"router~10.134.0.34~maas-default-gateway-openshift-default-56654dcf7-xbnnl.openshift-ingress~openshift-ingress.svc.cluster.local","x-forwarded-for":"10.133.0.33","x-forwarded-proto":"https","x-maas-subscription":"e2e-revoke-sub-b","x-request-id":"a36285f2-125e-4305-b6a6-e0c16aed1452"},"host":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local","id":"a36285f2-125e-4305-b6a6-e0c16aed1452","method":"GET","path":"/llm/facebook-opt-125m-simulated/v1/models","protocol":"HTTP/1.1","scheme":"https","time":{"nanos":332423362,"seconds":1783625223},"url_path":"/llm/facebook-opt-125m-simulated/v1/models","user_agent":"Go-http-client/1.1"},"source":{"address":"10.133.0.33:57776","port":57776}}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"a36285f2-125e-4305-b6a6-e0c16aed1452","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"a36285f2-125e-4305-b6a6-e0c16aed1452","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"a36285f2-125e-4305-b6a6-e0c16aed1452","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"a36285f2-125e-4305-b6a6-e0c16aed1452","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"a36285f2-125e-4305-b6a6-e0c16aed1452","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"a36285f2-125e-4305-b6a6-e0c16aed1452","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":"e2e-revoke-sub-b"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"a36285f2-125e-4305-b6a6-e0c16aed1452","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"a36285f2-125e-4305-b6a6-e0c16aed1452","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":"keyId","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"userid","Value":{}}]},"Plain":null},"object":{"groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"groups_str":"system:authenticated,system:serviceaccounts,system:serviceaccounts:default,system:authenticated","keyId":"3b4babf3-f594-4027-95bf-79ca2128c185","keyName":"e2e-revoketest-b-0","selected_subscription":"e2e-revoke-sub-b","selected_subscription_key":"models-as-a-service/e2e-revoke-sub-b@llm/facebook-opt-125m-simulated","subscription_error":"","subscription_error_message":"","subscription_info":{"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":"e2e-revoke-sub-b","namespace":"models-as-a-service","phase":"Active","ready":true},"userid":"system:serviceaccount:default:tester-regular-user"}} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"a36285f2-125e-4305-b6a6-e0c16aed1452","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"a36285f2-125e-4305-b6a6-e0c16aed1452","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"45fb03f7-b52a-4841-8a7d-f0aaf67ad168","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:51128","PortSpecifier":{"PortValue":51128}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"45fb03f7-b52a-4841-8a7d-f0aaf67ad168","method":"GET","path":"/maas-api/v1/models","host":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"45fb03f7-b52a-4841-8a7d-f0aaf67ad168","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:51128","PortSpecifier":{"PortValue":51128}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625223,"nanos":365561635},"http":{"id":"45fb03f7-b52a-4841-8a7d-f0aaf67ad168","method":"GET","headers":{":authority":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com",":method":"GET",":path":"/maas-api/v1/models",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"45fb03f7-b52a-4841-8a7d-f0aaf67ad168","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-10akDH5KWJgUa6kRu_i3H8R5PdugUeyxG20Hwrh0F0CsV21Eg3l8vvAkgTZs5"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"45fb03f7-b52a-4841-8a7d-f0aaf67ad168","config":"apiKeyValidation","method":"POST","url":"https://maas-api.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-10akDH5KWJgUa6kRu_i3H8R5PdugUeyxG20Hwrh0F0CsV21Eg3l8vvAkgTZs5\"}"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"45fb03f7-b52a-4841-8a7d-f0aaf67ad168","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.odh-ai-gateway-infra.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","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"keyId":"ceaede67-477b-445f-9458-2de981fdc6e9","keyName":"e2e-revoketest-b-1","subscription":"e2e-revoke-sub-b","tenant":"models-as-a-service","userId":"ceaede67-477b-445f-9458-2de981fdc6e9","username":"system:serviceaccount:default:tester-regular-user","valid":true}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"45fb03f7-b52a-4841-8a7d-f0aaf67ad168","input":{"auth":{"identity":"Bearer **** deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"45fb03f7-b52a-4841-8a7d-f0aaf67ad168","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"45fb03f7-b52a-4841-8a7d-f0aaf67ad168","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"45fb03f7-b52a-4841-8a7d-f0aaf67ad168","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"45fb03f7-b52a-4841-8a7d-f0aaf67ad168","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"45fb03f7-b52a-4841-8a7d-f0aaf67ad168","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":"e2e-revoke-sub-b"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"45fb03f7-b52a-4841-8a7d-f0aaf67ad168","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"45fb03f7-b52a-4841-8a7d-f0aaf67ad168","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":"userid","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyName","Value":{}}]},"Plain":null},"reason":"no such key: subscription-info"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"45fb03f7-b52a-4841-8a7d-f0aaf67ad168","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"45fb03f7-b52a-4841-8a7d-f0aaf67ad168","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"64b1bb3f-6196-4007-83c3-d868a6aae785","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.33:57776","PortSpecifier":{"PortValue":57776}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"64b1bb3f-6196-4007-83c3-d868a6aae785","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-09T19:27:03Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"64b1bb3f-6196-4007-83c3-d868a6aae785","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.33:57776","PortSpecifier":{"PortValue":57776}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625223,"nanos":372399152},"http":{"id":"64b1bb3f-6196-4007-83c3-d868a6aae785","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"64b1bb3f-6196-4007-83c3-d868a6aae785","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-10akDH5KWJgUa6kRu_i3H8R5PdugUeyxG20Hwrh0F0CsV21Eg3l8vvAkgTZs5"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"64b1bb3f-6196-4007-83c3-d868a6aae785","config":"apiKeyValidation","method":"POST","url":"https://maas-api.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-10akDH5KWJgUa6kRu_i3H8R5PdugUeyxG20Hwrh0F0CsV21Eg3l8vvAkgTZs5\"}"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"64b1bb3f-6196-4007-83c3-d868a6aae785","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.odh-ai-gateway-infra.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","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"keyId":"ceaede67-477b-445f-9458-2de981fdc6e9","keyName":"e2e-revoketest-b-1","subscription":"e2e-revoke-sub-b","tenant":"models-as-a-service","userId":"ceaede67-477b-445f-9458-2de981fdc6e9","username":"system:serviceaccount:default:tester-regular-user","valid":true}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"64b1bb3f-6196-4007-83c3-d868a6aae785","config":"subscription-info","method":"POST","url":"https://maas-api.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/subscriptions/select","headers":{"Content-Type":["application/json"]},"body":"{\"groups\":[\"system:authenticated\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"],\"requestedModel\":\"llm/facebook-opt-125m-simulated\",\"requestedSubscription\":\"e2e-revoke-sub-b\",\"username\":\"system:serviceaccount:default:tester-regular-user\"}"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"64b1bb3f-6196-4007-83c3-d868a6aae785","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.odh-ai-gateway-infra.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":{"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":"e2e-revoke-sub-b","namespace":"models-as-a-service","phase":"Active","ready":true}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"64b1bb3f-6196-4007-83c3-d868a6aae785","input":{"auth":{"identity":"Bearer **** 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":"e2e-revoke-sub-b","namespace":"models-as-a-service","phase":"Active","ready":true}}},"context":{"context_extensions":{"host":"4375a0165d777c3dbcac3b90772aafb3ba82b742e01878423b9fb1e122337433"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.134.0.34: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-10akDH5KWJgUa6kRu_i3H8R5PdugUeyxG20Hwrh0F0CsV21Eg3l8vvAkgTZs5","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.33","x-envoy-peer-metadata":"ChoKCkNMVVNURVJfSUQSDBoKS3ViZXJuZXRlcwqLAQoGTEFCRUxTEoABKn4KSwofc2VydmljZS5pc3Rpby5pby9jYW5vbmljYWwtbmFtZRIoGiZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAovCiNzZXJ2aWNlLmlzdGlvLmlvL2Nhbm9uaWNhbC1yZXZpc2lvbhIIGgZsYXRlc3QKQAoETkFNRRI4GjZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdC01NjY1NGRjZjcteGJubmwKIAoJTkFNRVNQQUNFEhMaEW9wZW5zaGlmdC1pbmdyZXNzCnQKBU9XTkVSEmsaaWt1YmVybmV0ZXM6Ly9hcGlzL2FwcHMvdjEvbmFtZXNwYWNlcy9vcGVuc2hpZnQtaW5ncmVzcy9kZXBsb3ltZW50cy9tYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAo5Cg1XT1JLTE9BRF9OQU1FEigaJm1hYXMtZGVmYXVsdC1nYXRld2F5LW9wZW5zaGlmdC1kZWZhdWx0","x-envoy-peer-metadata-id":"router~10.134.0.34~maas-default-gateway-openshift-default-56654dcf7-xbnnl.openshift-ingress~openshift-ingress.svc.cluster.local","x-forwarded-for":"10.133.0.33","x-forwarded-proto":"https","x-maas-subscription":"e2e-revoke-sub-b","x-request-id":"64b1bb3f-6196-4007-83c3-d868a6aae785"},"host":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local","id":"64b1bb3f-6196-4007-83c3-d868a6aae785","method":"GET","path":"/llm/facebook-opt-125m-simulated/v1/models","protocol":"HTTP/1.1","scheme":"https","time":{"nanos":372399152,"seconds":1783625223},"url_path":"/llm/facebook-opt-125m-simulated/v1/models","user_agent":"Go-http-client/1.1"},"source":{"address":"10.133.0.33:57776","port":57776}}} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"64b1bb3f-6196-4007-83c3-d868a6aae785","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"64b1bb3f-6196-4007-83c3-d868a6aae785","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"64b1bb3f-6196-4007-83c3-d868a6aae785","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"64b1bb3f-6196-4007-83c3-d868a6aae785","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-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"64b1bb3f-6196-4007-83c3-d868a6aae785","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"64b1bb3f-6196-4007-83c3-d868a6aae785","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":"e2e-revoke-sub-b"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"64b1bb3f-6196-4007-83c3-d868a6aae785","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"64b1bb3f-6196-4007-83c3-d868a6aae785","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":"keyId","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"userid","Value":{}}]},"Plain":null},"object":{"groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"groups_str":"system:authenticated,system:serviceaccounts,system:serviceaccounts:default,system:authenticated","keyId":"ceaede67-477b-445f-9458-2de981fdc6e9","keyName":"e2e-revoketest-b-1","selected_subscription":"e2e-revoke-sub-b","selected_subscription_key":"models-as-a-service/e2e-revoke-sub-b@llm/facebook-opt-125m-simulated","subscription_error":"","subscription_error_message":"","subscription_info":{"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":"e2e-revoke-sub-b","namespace":"models-as-a-service","phase":"Active","ready":true},"userid":"system:serviceaccount:default:tester-regular-user"}} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"64b1bb3f-6196-4007-83c3-d868a6aae785","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:27:03Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"64b1bb3f-6196-4007-83c3-d868a6aae785","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/3b2b19e700f6e2c67b77791df9f3cb415834af2415bcef33be6e4bc6af1752c3"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/8daf890a916f9037ceeff6d789d9c50e6a4ad3e85559ede3b84759a042e54235"} {"level":"info","ts":"2026-07-09T19:27:03Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/bcb839a63b50f9fe4114114f81d7f5c170e4676d3d393014e82f866caf07b04a"} {"level":"info","ts":"2026-07-09T19:27:04Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/9f6307bf9061be45693cfdda7f95cd9d8e144cfdb063663316df4a968b01d815"} {"level":"info","ts":"2026-07-09T19:27:04Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/00f6abd473149c06d47f2e0c06e21e0bbcdb23d48bf5d417d284e5ab9bf4ffcf"} {"level":"info","ts":"2026-07-09T19:27:04Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/5fbde55cc065b8f9bec8734b92e2b3876feb749049e42d0dc836bdd62f73f876"} {"level":"info","ts":"2026-07-09T19:27:04Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/209eab7411dd7f0bd2f202df6b08cfaf762b8dc4ace400cfc829475bdf64c6c2"} {"level":"info","ts":"2026-07-09T19:27:04Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/d987dddf46b6d51af6e0648ad562cce66ac7a78040e0eda6a6c0611158427ccc"} {"level":"info","ts":"2026-07-09T19:27:04Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/321ee7293cc75ee7855aa0ed2b3bd740aad68862e7680830ba9ea55263f7ce73"} {"level":"info","ts":"2026-07-09T19:27:04Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/bedbdf191e53cd073836639166afabfe9a0f52952281a41f0401fabd80e937dd"} {"level":"info","ts":"2026-07-09T19:27:04Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/ccc1dccbb026dc6aaa2c9dfba4fd200548e27ee26333b0ca93b852327bd61da9"} {"level":"info","ts":"2026-07-09T19:27:04Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/0222da53d627c72408aca0a7fc774bbf64f3abb5d85e0e042b9c6a4f8ebb40b2"} {"level":"info","ts":"2026-07-09T19:27:04Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/382bd4249cd97a55bd13978bf9fe9a168ada9d48c98fbd969c7903524c120aca"} {"level":"info","ts":"2026-07-09T19:27:04Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/99984e4fda9bbff4b2838b970df8afb51937a4540c0c295c1291c0e697270089"} {"level":"info","ts":"2026-07-09T19:27:04Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/0b48a9fc1a627bae5fec4a99268586a48a9caaee810ab3279c4d9d68c673b222"} {"level":"info","ts":"2026-07-09T19:27:04Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/490f13d10c682a200090668a13be99281a6f7e9800d6a22b3adacfa19463f99e"} {"level":"info","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"115363fc-da2c-48fe-a0da-881cd295e8f5","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:60374","PortSpecifier":{"PortValue":60374}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"115363fc-da2c-48fe-a0da-881cd295e8f5","method":"GET","path":"/maas-api/v1/models","host":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"115363fc-da2c-48fe-a0da-881cd295e8f5","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:60374","PortSpecifier":{"PortValue":60374}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625227,"nanos":631636949},"http":{"id":"115363fc-da2c-48fe-a0da-881cd295e8f5","method":"GET","headers":{":authority":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com",":method":"GET",":path":"/maas-api/v1/models",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"115363fc-da2c-48fe-a0da-881cd295e8f5","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-vmOyZwC8BGQYedwy_vTS9WLu1SaNOxqcDML4U6jfucxgNI9MGLT4fNcErFqk"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"115363fc-da2c-48fe-a0da-881cd295e8f5","config":"apiKeyValidation","method":"POST","url":"https://maas-api.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-vmOyZwC8BGQYedwy_vTS9WLu1SaNOxqcDML4U6jfucxgNI9MGLT4fNcErFqk\"}"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"115363fc-da2c-48fe-a0da-881cd295e8f5","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.odh-ai-gateway-infra.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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"115363fc-da2c-48fe-a0da-881cd295e8f5","input":{"auth":{"identity":"Bearer **** revoked or expired","tenant":"","valid":false}}},"context":{"context_extensions":{"host":"b64d1d3a1a41de71c5b05aa58c2da5025409dfbb29fbaa63fe6a7b8fb71bf42e"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.134.0.34:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"115363fc-da2c-48fe-a0da-881cd295e8f5","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access denied","request id":"115363fc-da2c-48fe-a0da-881cd295e8f5","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-09T19:27:07Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"115363fc-da2c-48fe-a0da-881cd295e8f5","authorized":false,"response":"PERMISSION_DENIED","object":{"code":7,"status":403,"message":"Unauthorized"}} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"115363fc-da2c-48fe-a0da-881cd295e8f5","authorized":false,"response":"PERMISSION_DENIED","object":{"code":7,"status":403,"message":"Unauthorized","headers":[{"x-ext-auth-reason":""},{"content-type":"application/json"}],"body":"{\"error\": {\"type\": \"permission_error\", \"message\": \"API key is invalid or has been revoked\"}}"}} {"level":"info","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"2d2a4bd0-8e6f-4ca6-835c-2b600283a1a0","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:60386","PortSpecifier":{"PortValue":60386}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"2d2a4bd0-8e6f-4ca6-835c-2b600283a1a0","method":"GET","path":"/maas-api/v1/models","host":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"2d2a4bd0-8e6f-4ca6-835c-2b600283a1a0","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:60386","PortSpecifier":{"PortValue":60386}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625227,"nanos":664291991},"http":{"id":"2d2a4bd0-8e6f-4ca6-835c-2b600283a1a0","method":"GET","headers":{":authority":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com",":method":"GET",":path":"/maas-api/v1/models",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"2d2a4bd0-8e6f-4ca6-835c-2b600283a1a0","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-1Of5st9cfWQohrtkG_4jABTmBARee5vBCKEXojJFmD85nrxsV24uLOmqhSMEJ"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"2d2a4bd0-8e6f-4ca6-835c-2b600283a1a0","config":"apiKeyValidation","method":"POST","url":"https://maas-api.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-1Of5st9cfWQohrtkG_4jABTmBARee5vBCKEXojJFmD85nrxsV24uLOmqhSMEJ\"}"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"2d2a4bd0-8e6f-4ca6-835c-2b600283a1a0","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.odh-ai-gateway-infra.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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"2d2a4bd0-8e6f-4ca6-835c-2b600283a1a0","input":{"auth":{"identity":"Bearer **** revoked or expired","tenant":"","valid":false}}},"context":{"context_extensions":{"host":"b64d1d3a1a41de71c5b05aa58c2da5025409dfbb29fbaa63fe6a7b8fb71bf42e"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.134.0.34:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"2d2a4bd0-8e6f-4ca6-835c-2b600283a1a0","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access denied","request id":"2d2a4bd0-8e6f-4ca6-835c-2b600283a1a0","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-09T19:27:07Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"2d2a4bd0-8e6f-4ca6-835c-2b600283a1a0","authorized":false,"response":"PERMISSION_DENIED","object":{"code":7,"status":403,"message":"Unauthorized"}} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"2d2a4bd0-8e6f-4ca6-835c-2b600283a1a0","authorized":false,"response":"PERMISSION_DENIED","object":{"code":7,"status":403,"message":"Unauthorized","headers":[{"x-ext-auth-reason":""},{"content-type":"application/json"}],"body":"{\"error\": {\"type\": \"permission_error\", \"message\": \"API key is invalid or has been revoked\"}}"}} {"level":"info","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"b463bea1-51c2-4b17-a1fb-a638e43afb10","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:60394","PortSpecifier":{"PortValue":60394}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"b463bea1-51c2-4b17-a1fb-a638e43afb10","method":"GET","path":"/maas-api/v1/models","host":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"b463bea1-51c2-4b17-a1fb-a638e43afb10","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:60394","PortSpecifier":{"PortValue":60394}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625227,"nanos":689539239},"http":{"id":"b463bea1-51c2-4b17-a1fb-a638e43afb10","method":"GET","headers":{":authority":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com",":method":"GET",":path":"/maas-api/v1/models",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"b463bea1-51c2-4b17-a1fb-a638e43afb10","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-1Enide55D04mQbKdu_HRmhnD6CULuugAzzfUHlWU2eHskvqH0l6fCWdPe7Kcx"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"b463bea1-51c2-4b17-a1fb-a638e43afb10","config":"apiKeyValidation","method":"POST","url":"https://maas-api.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-1Enide55D04mQbKdu_HRmhnD6CULuugAzzfUHlWU2eHskvqH0l6fCWdPe7Kcx\"}"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"b463bea1-51c2-4b17-a1fb-a638e43afb10","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.odh-ai-gateway-infra.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","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"keyId":"3b4babf3-f594-4027-95bf-79ca2128c185","keyName":"e2e-revoketest-b-0","subscription":"e2e-revoke-sub-b","tenant":"models-as-a-service","userId":"3b4babf3-f594-4027-95bf-79ca2128c185","username":"system:serviceaccount:default:tester-regular-user","valid":true}} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"b463bea1-51c2-4b17-a1fb-a638e43afb10","input":{"auth":{"identity":"Bearer **** deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"b463bea1-51c2-4b17-a1fb-a638e43afb10","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"b463bea1-51c2-4b17-a1fb-a638e43afb10","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"b463bea1-51c2-4b17-a1fb-a638e43afb10","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"b463bea1-51c2-4b17-a1fb-a638e43afb10","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"b463bea1-51c2-4b17-a1fb-a638e43afb10","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":"userid","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyName","Value":{}}]},"Plain":null},"reason":"no such key: subscription-info"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"b463bea1-51c2-4b17-a1fb-a638e43afb10","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":"e2e-revoke-sub-b"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"b463bea1-51c2-4b17-a1fb-a638e43afb10","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"info","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"b463bea1-51c2-4b17-a1fb-a638e43afb10","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"b463bea1-51c2-4b17-a1fb-a638e43afb10","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"ee47b0da-ad1e-440a-92e7-74bbbb09b62c","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.33:57776","PortSpecifier":{"PortValue":57776}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"ee47b0da-ad1e-440a-92e7-74bbbb09b62c","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-09T19:27:07Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"ee47b0da-ad1e-440a-92e7-74bbbb09b62c","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.33:57776","PortSpecifier":{"PortValue":57776}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625227,"nanos":696697940},"http":{"id":"ee47b0da-ad1e-440a-92e7-74bbbb09b62c","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"ee47b0da-ad1e-440a-92e7-74bbbb09b62c","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-1Enide55D04mQbKdu_HRmhnD6CULuugAzzfUHlWU2eHskvqH0l6fCWdPe7Kcx"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"ee47b0da-ad1e-440a-92e7-74bbbb09b62c","config":"apiKeyValidation","method":"POST","url":"https://maas-api.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-1Enide55D04mQbKdu_HRmhnD6CULuugAzzfUHlWU2eHskvqH0l6fCWdPe7Kcx\"}"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"ee47b0da-ad1e-440a-92e7-74bbbb09b62c","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.odh-ai-gateway-infra.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","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"keyId":"3b4babf3-f594-4027-95bf-79ca2128c185","keyName":"e2e-revoketest-b-0","subscription":"e2e-revoke-sub-b","tenant":"models-as-a-service","userId":"3b4babf3-f594-4027-95bf-79ca2128c185","username":"system:serviceaccount:default:tester-regular-user","valid":true}} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"ee47b0da-ad1e-440a-92e7-74bbbb09b62c","config":"subscription-info","method":"POST","url":"https://maas-api.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/subscriptions/select","headers":{"Content-Type":["application/json"]},"body":"{\"groups\":[\"system:authenticated\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"],\"requestedModel\":\"llm/facebook-opt-125m-simulated\",\"requestedSubscription\":\"e2e-revoke-sub-b\",\"username\":\"system:serviceaccount:default:tester-regular-user\"}"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"ee47b0da-ad1e-440a-92e7-74bbbb09b62c","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.odh-ai-gateway-infra.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":{"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":"e2e-revoke-sub-b","namespace":"models-as-a-service","phase":"Active","ready":true}} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"ee47b0da-ad1e-440a-92e7-74bbbb09b62c","input":{"auth":{"identity":"Bearer **** 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":"e2e-revoke-sub-b","namespace":"models-as-a-service","phase":"Active","ready":true}}},"context":{"context_extensions":{"host":"4375a0165d777c3dbcac3b90772aafb3ba82b742e01878423b9fb1e122337433"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.134.0.34: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-1Enide55D04mQbKdu_HRmhnD6CULuugAzzfUHlWU2eHskvqH0l6fCWdPe7Kcx","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.33","x-envoy-peer-metadata":"ChoKCkNMVVNURVJfSUQSDBoKS3ViZXJuZXRlcwqLAQoGTEFCRUxTEoABKn4KSwofc2VydmljZS5pc3Rpby5pby9jYW5vbmljYWwtbmFtZRIoGiZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAovCiNzZXJ2aWNlLmlzdGlvLmlvL2Nhbm9uaWNhbC1yZXZpc2lvbhIIGgZsYXRlc3QKQAoETkFNRRI4GjZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdC01NjY1NGRjZjcteGJubmwKIAoJTkFNRVNQQUNFEhMaEW9wZW5zaGlmdC1pbmdyZXNzCnQKBU9XTkVSEmsaaWt1YmVybmV0ZXM6Ly9hcGlzL2FwcHMvdjEvbmFtZXNwYWNlcy9vcGVuc2hpZnQtaW5ncmVzcy9kZXBsb3ltZW50cy9tYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAo5Cg1XT1JLTE9BRF9OQU1FEigaJm1hYXMtZGVmYXVsdC1nYXRld2F5LW9wZW5zaGlmdC1kZWZhdWx0","x-envoy-peer-metadata-id":"router~10.134.0.34~maas-default-gateway-openshift-default-56654dcf7-xbnnl.openshift-ingress~openshift-ingress.svc.cluster.local","x-forwarded-for":"10.133.0.33","x-forwarded-proto":"https","x-maas-subscription":"e2e-revoke-sub-b","x-request-id":"ee47b0da-ad1e-440a-92e7-74bbbb09b62c"},"host":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local","id":"ee47b0da-ad1e-440a-92e7-74bbbb09b62c","method":"GET","path":"/llm/facebook-opt-125m-simulated/v1/models","protocol":"HTTP/1.1","scheme":"https","time":{"nanos":696697940,"seconds":1783625227},"url_path":"/llm/facebook-opt-125m-simulated/v1/models","user_agent":"Go-http-client/1.1"},"source":{"address":"10.133.0.33:57776","port":57776}}} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"ee47b0da-ad1e-440a-92e7-74bbbb09b62c","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"ee47b0da-ad1e-440a-92e7-74bbbb09b62c","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"ee47b0da-ad1e-440a-92e7-74bbbb09b62c","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"ee47b0da-ad1e-440a-92e7-74bbbb09b62c","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"ee47b0da-ad1e-440a-92e7-74bbbb09b62c","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"ee47b0da-ad1e-440a-92e7-74bbbb09b62c","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":"e2e-revoke-sub-b"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"ee47b0da-ad1e-440a-92e7-74bbbb09b62c","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"ee47b0da-ad1e-440a-92e7-74bbbb09b62c","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":"keyId","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"userid","Value":{}}]},"Plain":null},"object":{"groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"groups_str":"system:authenticated,system:serviceaccounts,system:serviceaccounts:default,system:authenticated","keyId":"3b4babf3-f594-4027-95bf-79ca2128c185","keyName":"e2e-revoketest-b-0","selected_subscription":"e2e-revoke-sub-b","selected_subscription_key":"models-as-a-service/e2e-revoke-sub-b@llm/facebook-opt-125m-simulated","subscription_error":"","subscription_error_message":"","subscription_info":{"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":"e2e-revoke-sub-b","namespace":"models-as-a-service","phase":"Active","ready":true},"userid":"system:serviceaccount:default:tester-regular-user"}} {"level":"info","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"ee47b0da-ad1e-440a-92e7-74bbbb09b62c","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"ee47b0da-ad1e-440a-92e7-74bbbb09b62c","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"7f375888-b1f5-4323-ae0d-bd5458181386","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:60396","PortSpecifier":{"PortValue":60396}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"7f375888-b1f5-4323-ae0d-bd5458181386","method":"GET","path":"/maas-api/v1/models","host":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"7f375888-b1f5-4323-ae0d-bd5458181386","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:60396","PortSpecifier":{"PortValue":60396}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625227,"nanos":731512271},"http":{"id":"7f375888-b1f5-4323-ae0d-bd5458181386","method":"GET","headers":{":authority":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com",":method":"GET",":path":"/maas-api/v1/models",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"7f375888-b1f5-4323-ae0d-bd5458181386","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-10akDH5KWJgUa6kRu_i3H8R5PdugUeyxG20Hwrh0F0CsV21Eg3l8vvAkgTZs5"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"7f375888-b1f5-4323-ae0d-bd5458181386","config":"apiKeyValidation","method":"POST","url":"https://maas-api.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-10akDH5KWJgUa6kRu_i3H8R5PdugUeyxG20Hwrh0F0CsV21Eg3l8vvAkgTZs5\"}"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"7f375888-b1f5-4323-ae0d-bd5458181386","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.odh-ai-gateway-infra.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","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"keyId":"ceaede67-477b-445f-9458-2de981fdc6e9","keyName":"e2e-revoketest-b-1","subscription":"e2e-revoke-sub-b","tenant":"models-as-a-service","userId":"ceaede67-477b-445f-9458-2de981fdc6e9","username":"system:serviceaccount:default:tester-regular-user","valid":true}} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"7f375888-b1f5-4323-ae0d-bd5458181386","input":{"auth":{"identity":"Bearer **** deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"7f375888-b1f5-4323-ae0d-bd5458181386","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"7f375888-b1f5-4323-ae0d-bd5458181386","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"7f375888-b1f5-4323-ae0d-bd5458181386","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"7f375888-b1f5-4323-ae0d-bd5458181386","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"7f375888-b1f5-4323-ae0d-bd5458181386","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":"e2e-revoke-sub-b"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"7f375888-b1f5-4323-ae0d-bd5458181386","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"7f375888-b1f5-4323-ae0d-bd5458181386","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":"userid","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyName","Value":{}}]},"Plain":null},"reason":"no such key: subscription-info"} {"level":"info","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"7f375888-b1f5-4323-ae0d-bd5458181386","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"7f375888-b1f5-4323-ae0d-bd5458181386","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"5667cdee-c20f-4ecc-aa55-109af4ac5ef7","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.33:57776","PortSpecifier":{"PortValue":57776}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"5667cdee-c20f-4ecc-aa55-109af4ac5ef7","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-09T19:27:07Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"5667cdee-c20f-4ecc-aa55-109af4ac5ef7","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.133.0.33:57776","PortSpecifier":{"PortValue":57776}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625227,"nanos":739587914},"http":{"id":"5667cdee-c20f-4ecc-aa55-109af4ac5ef7","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"5667cdee-c20f-4ecc-aa55-109af4ac5ef7","config":{"Name":"api-keys","Priority":0,"Conditions":{"Left":{"Selector":"request.headers.authorization","Operator":5,"Value":"^Bearer **** sk-oai-10akDH5KWJgUa6kRu_i3H8R5PdugUeyxG20Hwrh0F0CsV21Eg3l8vvAkgTZs5"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"5667cdee-c20f-4ecc-aa55-109af4ac5ef7","config":"apiKeyValidation","method":"POST","url":"https://maas-api.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/api-keys/validate","headers":{"Content-Type":["application/json"]},"body":"{\"key\":\"sk-oai-10akDH5KWJgUa6kRu_i3H8R5PdugUeyxG20Hwrh0F0CsV21Eg3l8vvAkgTZs5\"}"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"5667cdee-c20f-4ecc-aa55-109af4ac5ef7","config":{"Name":"apiKeyValidation","Priority":0,"Conditions":{"Left":{},"Right":{"Left":null,"Right":null}},"Metrics":false,"Cache":{},"UserInfo":null,"UMA":null,"GenericHTTP":{"Endpoint":"https://maas-api.odh-ai-gateway-infra.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","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"keyId":"ceaede67-477b-445f-9458-2de981fdc6e9","keyName":"e2e-revoketest-b-1","subscription":"e2e-revoke-sub-b","tenant":"models-as-a-service","userId":"ceaede67-477b-445f-9458-2de981fdc6e9","username":"system:serviceaccount:default:tester-regular-user","valid":true}} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.metadata.http","msg":"sending request","request id":"5667cdee-c20f-4ecc-aa55-109af4ac5ef7","config":"subscription-info","method":"POST","url":"https://maas-api.odh-ai-gateway-infra.svc.cluster.local:8443/internal/v1/subscriptions/select","headers":{"Content-Type":["application/json"]},"body":"{\"groups\":[\"system:authenticated\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"],\"requestedModel\":\"llm/facebook-opt-125m-simulated\",\"requestedSubscription\":\"e2e-revoke-sub-b\",\"username\":\"system:serviceaccount:default:tester-regular-user\"}"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.metadata","msg":"fetched auth metadata","request id":"5667cdee-c20f-4ecc-aa55-109af4ac5ef7","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.odh-ai-gateway-infra.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":{"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":"e2e-revoke-sub-b","namespace":"models-as-a-service","phase":"Active","ready":true}} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"5667cdee-c20f-4ecc-aa55-109af4ac5ef7","input":{"auth":{"identity":"Bearer **** 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":"e2e-revoke-sub-b","namespace":"models-as-a-service","phase":"Active","ready":true}}},"context":{"context_extensions":{"host":"4375a0165d777c3dbcac3b90772aafb3ba82b742e01878423b9fb1e122337433"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.134.0.34: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-10akDH5KWJgUa6kRu_i3H8R5PdugUeyxG20Hwrh0F0CsV21Eg3l8vvAkgTZs5","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.33","x-envoy-peer-metadata":"ChoKCkNMVVNURVJfSUQSDBoKS3ViZXJuZXRlcwqLAQoGTEFCRUxTEoABKn4KSwofc2VydmljZS5pc3Rpby5pby9jYW5vbmljYWwtbmFtZRIoGiZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAovCiNzZXJ2aWNlLmlzdGlvLmlvL2Nhbm9uaWNhbC1yZXZpc2lvbhIIGgZsYXRlc3QKQAoETkFNRRI4GjZtYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdC01NjY1NGRjZjcteGJubmwKIAoJTkFNRVNQQUNFEhMaEW9wZW5zaGlmdC1pbmdyZXNzCnQKBU9XTkVSEmsaaWt1YmVybmV0ZXM6Ly9hcGlzL2FwcHMvdjEvbmFtZXNwYWNlcy9vcGVuc2hpZnQtaW5ncmVzcy9kZXBsb3ltZW50cy9tYWFzLWRlZmF1bHQtZ2F0ZXdheS1vcGVuc2hpZnQtZGVmYXVsdAo5Cg1XT1JLTE9BRF9OQU1FEigaJm1hYXMtZGVmYXVsdC1nYXRld2F5LW9wZW5zaGlmdC1kZWZhdWx0","x-envoy-peer-metadata-id":"router~10.134.0.34~maas-default-gateway-openshift-default-56654dcf7-xbnnl.openshift-ingress~openshift-ingress.svc.cluster.local","x-forwarded-for":"10.133.0.33","x-forwarded-proto":"https","x-maas-subscription":"e2e-revoke-sub-b","x-request-id":"5667cdee-c20f-4ecc-aa55-109af4ac5ef7"},"host":"maas-default-gateway-openshift-default.openshift-ingress.svc.cluster.local","id":"5667cdee-c20f-4ecc-aa55-109af4ac5ef7","method":"GET","path":"/llm/facebook-opt-125m-simulated/v1/models","protocol":"HTTP/1.1","scheme":"https","time":{"nanos":739587914,"seconds":1783625227},"url_path":"/llm/facebook-opt-125m-simulated/v1/models","user_agent":"Go-http-client/1.1"},"source":{"address":"10.133.0.33:57776","port":57776}}} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"5667cdee-c20f-4ecc-aa55-109af4ac5ef7","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"5667cdee-c20f-4ecc-aa55-109af4ac5ef7","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"5667cdee-c20f-4ecc-aa55-109af4ac5ef7","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"5667cdee-c20f-4ecc-aa55-109af4ac5ef7","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"5667cdee-c20f-4ecc-aa55-109af4ac5ef7","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":"system:serviceaccount:default:tester-regular-user"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"5667cdee-c20f-4ecc-aa55-109af4ac5ef7","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"5667cdee-c20f-4ecc-aa55-109af4ac5ef7","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":"e2e-revoke-sub-b"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"5667cdee-c20f-4ecc-aa55-109af4ac5ef7","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":"keyId","Value":{}},{"Name":"keyName","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"userid","Value":{}}]},"Plain":null},"object":{"groups":["system:authenticated","system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"groups_str":"system:authenticated,system:serviceaccounts,system:serviceaccounts:default,system:authenticated","keyId":"ceaede67-477b-445f-9458-2de981fdc6e9","keyName":"e2e-revoketest-b-1","selected_subscription":"e2e-revoke-sub-b","selected_subscription_key":"models-as-a-service/e2e-revoke-sub-b@llm/facebook-opt-125m-simulated","subscription_error":"","subscription_error_message":"","subscription_info":{"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":"e2e-revoke-sub-b","namespace":"models-as-a-service","phase":"Active","ready":true},"userid":"system:serviceaccount:default:tester-regular-user"}} {"level":"info","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"5667cdee-c20f-4ecc-aa55-109af4ac5ef7","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"5667cdee-c20f-4ecc-aa55-109af4ac5ef7","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"14d13bd3-2bb0-4674-af4a-e1c83743f37b","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:60410","PortSpecifier":{"PortValue":60410}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"14d13bd3-2bb0-4674-af4a-e1c83743f37b","method":"DELETE","path":"/maas-api/v1/api-keys/3b4babf3-f594-4027-95bf-79ca2128c185","host":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"14d13bd3-2bb0-4674-af4a-e1c83743f37b","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:60410","PortSpecifier":{"PortValue":60410}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625227,"nanos":777316414},"http":{"id":"14d13bd3-2bb0-4674-af4a-e1c83743f37b","method":"DELETE","headers":{":authority":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com",":method":"DELETE",":path":"/maas-api/v1/api-keys/3b4babf3-f594-4027-95bf-79ca2128c185",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.identity.kubernetesauth","msg":"calling kubernetes token review api","request id":"14d13bd3-2bb0-4674-af4a-e1c83743f37b","tokenreview":{"name":""}} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"14d13bd3-2bb0-4674-af4a-e1c83743f37b","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":[]},"object":{"authenticated":true,"user":{"username":"system:serviceaccount:default:tester-regular-user","uid":"68f86d69-3a55-485b-aa0c-2e8f587d8f58","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"extra":{"authentication.kubernetes.io/credential-id":["JTI=1d414e6c-9c70-48d1-9bb7-8e8d714d8a31"]}},"audiences":["https://prod-eaas-bucket.s3.us-east-1.amazonaws.com/9c1c9b2fef32"]}} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"14d13bd3-2bb0-4674-af4a-e1c83743f37b","input":{"auth":{"identity":{"audiences":["https://prod-eaas-bucket.s3.us-east-1.amazonaws.com/9c1c9b2fef32"],"authenticated":true,"user":{"extra":{"authentication.kubernetes.io/credential-id":["JTI=1d414e6c-9c70-48d1-9bb7-8e8d714d8a31"]},"groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"uid":"68f86d69-3a55-485b-aa0c-2e8f587d8f58","username":"system:serviceaccount:default:tester-regular-user"}}},"context":{"context_extensions":{"host":"b64d1d3a1a41de71c5b05aa58c2da5025409dfbb29fbaa63fe6a7b8fb71bf42e"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.134.0.34:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com",":method":"DELETE",":path":"/maas-api/v1/api-keys/3b4babf3-f594-4027-95bf-79ca2128c185",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"14d13bd3-2bb0-4674-af4a-e1c83743f37b","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"14d13bd3-2bb0-4674-af4a-e1c83743f37b","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"14d13bd3-2bb0-4674-af4a-e1c83743f37b","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"14d13bd3-2bb0-4674-af4a-e1c83743f37b","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":"userid","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyName","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"14d13bd3-2bb0-4674-af4a-e1c83743f37b","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"14d13bd3-2bb0-4674-af4a-e1c83743f37b","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":"system:serviceaccount:default:tester-regular-user"} {"level":"info","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"14d13bd3-2bb0-4674-af4a-e1c83743f37b","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"14d13bd3-2bb0-4674-af4a-e1c83743f37b","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"4f1c7cf2-e39c-4d57-a982-16f0d2fadc69","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:60412","PortSpecifier":{"PortValue":60412}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"http":{"id":"4f1c7cf2-e39c-4d57-a982-16f0d2fadc69","method":"DELETE","path":"/maas-api/v1/api-keys/ceaede67-477b-445f-9458-2de981fdc6e9","host":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com","scheme":"https"}}}} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"incoming authorization request","request id":"4f1c7cf2-e39c-4d57-a982-16f0d2fadc69","object":{"source":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.10:60412","PortSpecifier":{"PortValue":60412}}}}},"destination":{"address":{"Address":{"SocketAddress":{"address":"10.134.0.34:443","PortSpecifier":{"PortValue":443}}}}},"request":{"time":{"seconds":1783625227,"nanos":809859087},"http":{"id":"4f1c7cf2-e39c-4d57-a982-16f0d2fadc69","method":"DELETE","headers":{":authority":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com",":method":"DELETE",":path":"/maas-api/v1/api-keys/ceaede67-477b-445f-9458-2de981fdc6e9",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.identity.kubernetesauth","msg":"calling kubernetes token review api","request id":"4f1c7cf2-e39c-4d57-a982-16f0d2fadc69","tokenreview":{"name":""}} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.identity","msg":"identity validated","request id":"4f1c7cf2-e39c-4d57-a982-16f0d2fadc69","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":[]},"object":{"authenticated":true,"user":{"username":"system:serviceaccount:default:tester-regular-user","uid":"68f86d69-3a55-485b-aa0c-2e8f587d8f58","groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"extra":{"authentication.kubernetes.io/credential-id":["JTI=1d414e6c-9c70-48d1-9bb7-8e8d714d8a31"]}},"audiences":["https://prod-eaas-bucket.s3.us-east-1.amazonaws.com/9c1c9b2fef32"]}} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"evaluating for input","request id":"4f1c7cf2-e39c-4d57-a982-16f0d2fadc69","input":{"auth":{"identity":{"audiences":["https://prod-eaas-bucket.s3.us-east-1.amazonaws.com/9c1c9b2fef32"],"authenticated":true,"user":{"extra":{"authentication.kubernetes.io/credential-id":["JTI=1d414e6c-9c70-48d1-9bb7-8e8d714d8a31"]},"groups":["system:serviceaccounts","system:serviceaccounts:default","system:authenticated"],"uid":"68f86d69-3a55-485b-aa0c-2e8f587d8f58","username":"system:serviceaccount:default:tester-regular-user"}}},"context":{"context_extensions":{"host":"b64d1d3a1a41de71c5b05aa58c2da5025409dfbb29fbaa63fe6a7b8fb71bf42e"},"destination":{"address":{"Address":{"SocketAddress":{"PortSpecifier":{"PortValue":443},"address":"10.134.0.34:443"}}}},"metadata_context":{},"request":{"http":{"headers":{":authority":"maas.apps.3d5d7b0e-3201-4424-b4a5-9c1c9b2fef32.prod.konfluxeaas.com",":method":"DELETE",":path":"/maas-api/v1/api-keys/ceaede67-477b-445f-9458-2de981fdc6e9",":scheme":"https","accept":"*/*","accept-encoding":"gzip, deflate","authorization":"Bearer **** deflate","authorization":"Bearer **** {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"4f1c7cf2-e39c-4d57-a982-16f0d2fadc69","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"4f1c7cf2-e39c-4d57-a982-16f0d2fadc69","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.authorization","msg":"access granted","request id":"4f1c7cf2-e39c-4d57-a982-16f0d2fadc69","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-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.response","msg":"cannot build dynamic response","request id":"4f1c7cf2-e39c-4d57-a982-16f0d2fadc69","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":"userid","Value":{}},{"Name":"groups_str","Value":{}},{"Name":"selected_subscription","Value":{}},{"Name":"selected_subscription_key","Value":{}},{"Name":"subscription_error","Value":{}},{"Name":"subscription_error_message","Value":{}},{"Name":"subscription_info","Value":{}},{"Name":"groups","Value":{}},{"Name":"keyName","Value":{}}]},"Plain":null},"reason":"no such key: metadata"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"4f1c7cf2-e39c-4d57-a982-16f0d2fadc69","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\",\"system:serviceaccounts\",\"system:serviceaccounts:default\",\"system:authenticated\"]"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth.authpipeline.response","msg":"dynamic response built","request id":"4f1c7cf2-e39c-4d57-a982-16f0d2fadc69","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":"system:serviceaccount:default:tester-regular-user"} {"level":"info","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"4f1c7cf2-e39c-4d57-a982-16f0d2fadc69","authorized":true,"response":"OK"} {"level":"debug","ts":"2026-07-09T19:27:07Z","logger":"authorino.service.auth","msg":"outgoing authorization response","request id":"4f1c7cf2-e39c-4d57-a982-16f0d2fadc69","authorized":true,"response":"OK"} {"level":"info","ts":"2026-07-09T19:27:42Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/5d82fae9c38c1cef9f5c682f0ba0d3138641d5bdeb204ac04b81fa18c857d5d3"} {"level":"info","ts":"2026-07-09T19:27:43Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/705f23753fa2e1a7650d5ba1bce552e61dc8e8a0daae251008639604d171d273"} {"level":"info","ts":"2026-07-09T19:27:43Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/0b0d6e58dd846d5ae86f924d7163b9a5e68688c8dd019d546e8015b4274f14b7"} {"level":"info","ts":"2026-07-09T19:27:43Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/2563c8137e921bd2097d8a5a63179b4ac2edae9aa561397bd87fcf5935959410"} {"level":"info","ts":"2026-07-09T19:27:48Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/94c9f2da0a8e92f3ee29b6d9a0605e9dbcd7595a0e600abcb021ee857fda17db"} {"level":"info","ts":"2026-07-09T19:27:48Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/0bf3246f15038d9992c9ebd913820123627353299feb9a2751e4bb84d864b137"} {"level":"info","ts":"2026-07-09T19:27:48Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/80eb8bcf524c4966abb57aa9a01d439fa843e1aad0aabb8fb727e85ab4dfaae0"} {"level":"info","ts":"2026-07-09T19:27:49Z","logger":"authorino.controller-runtime.manager.controller.authconfig","msg":"resource de-indexed","authconfig":"kuadrant-system/c59295b2b47994f0595c0f15aafa075cdc9902aeda2ae8f8897df6982091ac3d"}