@@ -67,13 +67,16 @@ the server's defaults for that request. Because this can reconfigure any pipelin
6767component (fetcher, parser, timeouts, ...), it is off by default. When `false`, a
6868request carrying either field is rejected with `PERMISSION_DENIED`.
6969
70- |`allowComponentModifications`
71- |When `true`, callers may add, modify, or delete fetchers and pipes iterators at
72- runtime (`SaveFetcher`, `DeleteFetcher`, `SavePipesIterator`,
73- `DeletePipesIterator`). Because this changes what the server can reach for all
74- subsequent requests (for example, adding a fetcher that escapes a configured base
75- path), it is off by default. When `false`, those RPCs are rejected with
76- `PERMISSION_DENIED`.
70+ |`allowComponentManagement`
71+ |When `true`, callers may manage fetchers and pipes iterators at runtime: add,
72+ modify, or delete them (`SaveFetcher`, `DeleteFetcher`, `SavePipesIterator`,
73+ `DeletePipesIterator`), and read their stored configuration back (`GetFetcher`,
74+ `ListFetchers`, `GetPipesIterator`). It is off by default for two reasons:
75+ mutations change what the server can reach for all subsequent requests (for
76+ example, adding a fetcher that escapes a configured base path), and the stored
77+ configs returned by the read RPCs may contain secrets (passwords, access keys,
78+ tokens). When `false`, the mutating RPCs are rejected with `PERMISSION_DENIED`,
79+ and the read RPCs return only component identity (id and class), never the config.
7780|===
7881
7982Enable these only for trusted callers over a secured channel:
@@ -83,7 +86,7 @@ Enable these only for trusted callers over a secured channel:
8386{
8487 "grpc": {
8588 "allowPerRequestConfig": true,
86- "allowComponentModifications ": true
89+ "allowComponentManagement ": true
8790 }
8891}
8992----
@@ -149,8 +152,9 @@ automatically. Two distinct controls are involved, and both matter:
149152Mesh mTLS authenticates *who opened the connection*; it does not authorize *what
150153that caller may do*, so an authenticated-but-untrusted pod can still invoke
151154whatever RPC surface is enabled — at minimum `FetchAndParse` against your
152- configured fetchers, and the runtime-mutation RPCs too if you have set
153- `allowComponentModifications`. Restricting reachability with a `NetworkPolicy` is
155+ configured fetchers, and the runtime component-management RPCs too (including the
156+ config reads that can expose stored secrets) if you have set
157+ `allowComponentManagement`. Restricting reachability with a `NetworkPolicy` is
154158therefore required, not optional — running in Kubernetes without one leaves
155159tika-grpc reachable by every pod in the cluster.
156160
0 commit comments