Skip to content

Commit f6c71ed

Browse files
committed
Documentation : Transport action type strings.
1 parent f1c7de0 commit f6c71ed

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

docs/internal/GeneralArchitectureGuide.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,15 @@ The actions themselves sometimes dispatch downstream actions to other nodes in t
125125
[TransportService#registerRequestHandler]. [HandledTransportAction] is a common parent class that registers an action with the
126126
`TransportService`.
127127

128+
> [!NOTE]
129+
> TransportActions' [ActionType] naming conventions encode semantic information about the role, scope, plugins, modules and behaviours.
130+
> [ActionType] instances are mapped to permission privileges via the [ClusterPrivilegeResolver]. Security interceptors enforce access
131+
> control by invoking RBACEngine.checkPrivileges().
132+
>
133+
> Indices-level [ActionType] strings generally follows the pattern: `indices:[data|admin|monitor]/[read|write|get]/[index|bulk|update]`.
134+
> Cluster-level [ActionType] strings are prefixed by `cluster:` are often followed by a domain-specific such as `autoscaling`, `logstash`, `ingest`,
135+
> `xpack`.
136+
128137
> [!NOTE]
129138
> The name [TransportAction] can be misleading, as it suggests they are all invoke-able and invoked via the TCP transport. In fact,
130139
> a majority of transport actions are only ever invoked locally via the [NodeClient]. The two key features of a `TransportAction` are:
@@ -193,6 +202,9 @@ capabilities.
193202
[TaskManager]:https://github.com/elastic/elasticsearch/blob/main/server/src/main/java/org/elasticsearch/tasks/TaskManager.java
194203
[InboundHandler]:https://github.com/elastic/elasticsearch/blob/main/server/src/main/java/org/elasticsearch/transport/InboundHandler.java
195204
[NamedRegistry]:https://github.com/elastic/elasticsearch/blob/main/server/src/main/java/org/elasticsearch/common/NamedRegistry.java
205+
[IndexPrivilege]:https://github.com/elastic/elasticsearch/blob/main/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/privilege/IndexPrivilege.java
206+
[ClusterPrivilegeResolver]:https://github.com/elastic/elasticsearch/blob/main/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/privilege/ClusterPrivilegeResolver.java
207+
196208

197209
## Serializations
198210

0 commit comments

Comments
 (0)