Skip to content

Commit ddecae8

Browse files
docs: Adding the missed documentation for the RBAC (#4515)
* Adding the missed documentation - * OIDC Token requirement or assumptions * Added `feast permissions check` cli command documentation. Signed-off-by: Lokesh Rangineni <19699092+lokeshrangineni@users.noreply.github.com> * Adding the missed documentation - * OIDC Token requirement or assumptions * Added `feast permissions check` cli command documentation. Signed-off-by: Lokesh Rangineni <19699092+lokeshrangineni@users.noreply.github.com> * Fixed code review comments. Signed-off-by: Lokesh Rangineni <19699092+lokeshrangineni@users.noreply.github.com> --------- Signed-off-by: Lokesh Rangineni <19699092+lokeshrangineni@users.noreply.github.com>
1 parent 6a6a369 commit ddecae8

File tree

2 files changed

+49
-3
lines changed

2 files changed

+49
-3
lines changed

docs/getting-started/components/authz_manager.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Authorization Manager
2-
An Authorization Manager is an instance of the `AuthManager` class that is plugged into one of the Feast servers to extract user details from the current request and inject them into the [permissions](../../getting-started/concepts/permissions.md) framework.
2+
An Authorization Manager is an instance of the `AuthManager` class that is plugged into one of the Feast servers to extract user details from the current request and inject them into the [permission](../../getting-started/concepts/permission.md) framework.
33

44
{% hint style="info" %}
55
**Note**: Feast does not provide authentication capabilities; it is the client's responsibility to manage the authentication token and pass it to
@@ -44,7 +44,10 @@ The server, in turn, uses the same OIDC server to validate the token and extract
4444

4545
Some assumptions are made in the OIDC server configuration:
4646
* The OIDC token refers to a client with roles matching the RBAC roles of the configured `Permission`s (*)
47-
* The roles are exposed in the access token passed to the server
47+
* The roles are exposed in the access token that is passed to the server
48+
* The JWT token is expected to have a verified signature and not be expired. The Feast OIDC token parser logic validates for `verify_signature` and `verify_exp` so make sure that the given OIDC provider is configured to meet these requirements.
49+
* The preferred_username should be part of the JWT token claim.
50+
4851

4952
(*) Please note that **the role match is case-sensitive**, e.g. the name of the role in the OIDC server and in the `Permission` configuration
5053
must be exactly the same.
@@ -57,7 +60,8 @@ For example, the access token for a client `app` of a user with `reader` role sh
5760
"roles": [
5861
"reader"
5962
]
60-
},
63+
}
64+
}
6165
}
6266
```
6367

docs/reference/feast-cli-commands.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,48 @@ tags:
224224
key2: value2
225225
226226
```
227+
### Permission check
228+
The `permissions check` command is used to identify resources that lack the appropriate permissions based on their type, name, or tags.
229+
230+
This command is particularly useful for administrators when roles, actions, or permissions have been modified or newly configured. By running this command, administrators can easily verify which resources and actions are not protected by any permission configuration, ensuring that proper security measures are in place.
231+
232+
```text
233+
> feast permissions check
234+
235+
236+
The following resources are not secured by any permission configuration:
237+
NAME TYPE
238+
driver Entity
239+
driver_hourly_stats_fresh FeatureView
240+
The following actions are not secured by any permission configuration (Note: this might not be a security concern, depending on the used APIs):
241+
NAME TYPE UNSECURED ACTIONS
242+
driver Entity CREATE
243+
DESCRIBE
244+
UPDATE
245+
DELETE
246+
READ_ONLINE
247+
READ_OFFLINE
248+
WRITE_ONLINE
249+
WRITE_OFFLINE
250+
driver_hourly_stats_fresh FeatureView CREATE
251+
DESCRIBE
252+
UPDATE
253+
DELETE
254+
READ_ONLINE
255+
READ_OFFLINE
256+
WRITE_ONLINE
257+
WRITE_OFFLINE
258+
259+
Based on the above results, the administrator can reassess the permissions configuration and make any necessary adjustments to meet their security requirements.
260+
261+
If no resources are accessible publicly, the permissions check command will return the following response:
262+
> feast permissions check
263+
The following resources are not secured by any permission configuration:
264+
NAME TYPE
265+
The following actions are not secured by any permission configuration (Note: this might not be a security concern, depending on the used APIs):
266+
NAME TYPE UNSECURED ACTIONS
267+
```
268+
227269

228270
### List of the configured roles
229271
List all the configured roles

0 commit comments

Comments
 (0)