Ranger currently assumes that clients are tag unaware. It, for example, syncs tag information with Atlas. This has several issues:
- It assumes Ranger is the single source of truth connecting resource and tag information
- As the tagsync is not happening realtime (either due to Kafka delay or due to caching) security issues can pop up. E.g. copy a file with PII info to different location has a time window that Ranger is unaware of the tag.
If the client is tag aware it could supply the tags that it knows of as part of the request. This ensures immediate availability and propagation of tags.
A backward compatible implementation could be to use KEY_USER_TAGS with a delimiter as part of the RangerAccessResource request and have RangerTagEnricher pick up these tags