X-Map-Roles
is missing, can’t be decoded, or is a malformed JSON object.
The Tenant Culling filter is used on resources that need further specific tenant id information. The filter looks at all the tenants that Keystone returns for a user to creates and populates a list of them based on the specific roles that were used to grant access to the resource.
Name: tenant-culling
Default Configuration: No configuration
Released: v8.7.0.0
Bundle: repose-filter-bundle
No Configuration Schema
X-Map-Roles
- Identifies the tenant-to-role mapping for all of the user’s tenants and roles.
This header is a base 64 encoded JSON map of strings to array of strings (e.g., the base 64 encoding of {"someTenant": ["someRole", "sharedRole"], "otherTenant": ["otherRole", "sharedRole"]}
).
Roles without a tenant association will be mapped to the repose/domain/roles
key (e.g., {"repose/domain/roles": ["tenantlessRole"]}
).
X-Relevant-Roles
- The roles this user was granted access based on.
The following filters are used to populate the Required Request Headers:
Keystone v2 filter - Populates the X-Map-Roles
header needed to determine the appropriate tenant ids.
Simple RBAC filter / API Validator filter - Either one is required because they set the X-Relevant-Roles
header.
X-Tenant-Id
- The tenants that match the roles this request was authorized with.
X-Map-Roles
- The mapping will be updated to only contain those tenants that have a role that matched against relevant roles.
These headers prior values will be overwritten where existent. |